คำสั่งยูนิกส์ Unix Command ผ่าน SSH Secure Shell เบื้องต้น
From TUMRAI [QuickNote]
Contents |
คำสั่งพื้นฐานยูนิกส์(Unix) สำหรับ designer
software
Is
- คำสั่งที่ใช้สำหรับแสดงแฟ้มข้อมูล มากจากคำว่า list รูป แบบคำสั่ง ls [option]
- option ที่มักใช้กันใน ls คือ
- -l จะแสดงผลลัพธ์แบบ Long Format ซึ่งจะแสดง Permission ของแฟ้มด้วย
- -a จะแสดงแฟ้มข้อมูลทั้งหมด
- -F จะแสดง / หลัง Directory และ * หลังแฟ้มข้อมูลที่ execute ได้
- ตัวอย่างการใช้งาน
- ls -l
- ls -al
- ls -F
Cd
- คำสั่ง Change Directory ของระบบ Unix,Linux
- รูบแบบการใช้งาน cd เคาะ space bar หนึ่งครั้งตามด้วย directory
- ตัวอย่าง
- cd etc [Enter] คือเข้าไปใน Directory etc
- cd ..[Enter] เข้าไป Directory ในระดับนอกกว่าก directory ปัจจุบัน 1ชั้น
cp
- คำสั่ง copy
- รูปแบบ cp ชื่อที่จะcopy Folder ที่ใหม่หรือชื่อใหม่ของ file
- ตัวอย่าง1 cp file.txt newfile.txt (กรณี copy เป็นชื่อใหม่ ให้ file อยู่ด้วยกันที่เดิม )
- ตัวอย่าง2 cp file.txt /home (กรณี copy ไปไว้ที่ใหม่ ต้องระบุที่ให้ไป)
- กรณีอื่นที่ใช้บ่อย 1 เช่น cp *.* somefolder ( copy ทุก file ไปไว้ folder ใหม่)
mkdir bk cp -r * bk
- copy ทั้ง folder ไปที่ใหม่ cp -r foldername somefolder
- http://www.computerhope.com/unix/ucp.htm
Pwd
- คำสั่งที่ใช้สำหรับแสดงว่าปัจจุบันอยู่ใน Directory อะไร ซึ่งจะแสดงออกมาเป็น path
- ตัวอย่างการใช้ เช่น เมื่อสั่ง pwd แล้ว enter
- ผลลัพท์ เช่น /home/demo/www/shop/content
File
- ใน UNIX บางไฟล์จะไม่มีนามสกุลเพื่อใช้ระบุประเภทของแฟ้มข้อมูล ดังนั้นการหาประเภทของแฟ้มข้อมูลจะดูจาก Context ภายในของแฟ้ม ซึ่งคำสั่ง file จะทำการอ่าน Content และบอกประเภทของแฟ้มข้อมูลนั้นๆ
- รูปแบบคำสั่ง file ตามด้วยชื่อ file
- ตัวอย่าง file somefilename
- ผลเช่น somefilename : HTML document text
Mv
- คำสั่งที่ใช้สำหรับการย้ายแฟ้มข้อมูลและ Directory รวมถึงการเปลี่ยนชื่อด้วย (ในทำนองเดียวกับ dos) มาจากคำว่า move
- รูปแบบคำสั่ง mv source target
- ตัวอย่างการย้ายไฟล์เดียว mv filename.tar backup (ย้าย filename.tar ไปที่ โฟล์เดอร์ backup)
- ตัวอย่างการย้าย mv *.tar backup (ย้ายทุกไฟล์ที่ นามสกุล tar ไปที่ โฟล์เดอร์ backup)
- ตัวอย่างการย้าย mv *.* /somedir/backup (ย้ายทุกไฟล์ทุก นามสกุล ในโฟล์เดอร์ปัจจุบันไปที่ โฟล์เดอร์ backup)
- ตัวอย่างการย้าย mv somedir/* des/backup (ย้ายทุกไฟล์ทุกโฟลเดอร์ใน somedir ไปที่ โฟล์เดอร์ des/backup)
- mv * ../ (ย้ายทุกสิ่งออกไปนอก directory ปัจจุบัน ออกไปหนึ่งชั้น )
- ตัวอย่างการเปลี่ยนชื่อ mv OldName.txt NewName.txt (เปลี่ยนจาก OldName.txt เป็น NewName.txt)
Mkdir
- คำสั่งที่ใช้สำหรับการสร้าง directory มาจากคำว่า make directory
- รูปแบบของคำสั่ง mkdir [option] [file]
- โดย option ที่มักใช้กันใน mkdir คือ
- -m จะทำการกำหนด Permissioin
- ตัวอย่าง
- mkdir home
- mkdir -m 777 newdirectory
Rm
- คำสั่งที่ใช้สำหรับลบแฟ้มข้อมูล (ในทำนองเดียวกับ del) มาจากคำว่า remove
- รูปแบบการใช้งาน rm [option]... [file]...โดย option ที่มักใช้กันใน rm คือ
- -r ทำการลบข้อมูลใน directory ย่อยทั่งหมด
- -i โปรแกรมจะถามยืนยันก่อนทำการลบ
- -f โปรแกรมจะลบข้อมูลทันที โดยไม่ถามยืนยันก่อน
- ตัวอย่าง
- rm -r test (ลบโฟล์เดอร์ test และหากมี โฟล์เดอร์อะไรอยู่ใน test ก็ลบให้เกลี้ยงไปพร้อมกัน)
- rm -r -f inshop (ลบโฟล์เดอร์ inshop และหากมี ไฟล์หรือโฟล์เดอร์อะไรอยู่ในนั้น ก็ลบให้เกลี้ยง และไม่ต้องถามกวนใจ)
- rm test.doc (ลบไฟล์ test.doc)
- rm *.txt ลบทุกไฟล์ที่เป็นนามสกุล txt
- rm data* ลบทุกไฟล์ที่ชื่อไฟล์เริ่มด้วยคำว่า data
- rm *data ลบทุกไฟล์ที่ชื่อไฟล์ลงท้ายด้วยคำว่า data
- rm *data* ลบทุกไฟล์ที่มีคำว่า data
- ลบ บางไฟล์ที่มีคำตามที่ระบุ
rm *x150* rm *x300* rm *300x* rm *197x* rm *x400* rm *x1024* rm *1024x* rm *x163* rm *163x* ls | wc -l
ค้นหาและลบ
find . -type f -name '*.phpx' -delete
Chown
- คำสั่ง Change Owner ของระบบ Unix,Linux (เป็นการเปลี่ยนเจ้าของไฟล์)
- รูบแบบการใช้งาน chown [ชื่อเจ้าของไฟล์] (ชื่อFile)
- ตัวอย่าง
- chown user1 filename คือเปลี่ยนเจ้าของไฟล์ชื่อ filename เป็น User1
- chown -R user1 Directory คือเปลี่ยนทั้งเจ้าของไฟล์และกลุ่มไปพร้อมกันทุกไฟล์ใน Sub Directory (Sub Folder)
- sudo chown -R www-data:www-data /path/to/WordPress/Installation
chgrp
- คำสั่ง Change Group ของระบบ Unix,Linux (เป็นการเปลี่ยนกลุ่มเจ้าของไฟล์)
- รูปแบบการใช้งาน chgrp [ชื่อกลุ่ม] (ชื่อ File หรือชื่อ Folder)
- ตัวอย่าง
- chgrp root /root/* เปลี่ยน Group ให้กับไฟล์ทุกไฟล์ในไดเรคทอรี่ /root ให้เป็น Group root
- chgrp -R root /root เปลี่ยน Group ให้กับไฟล์ทุกไฟล์ทุกไดเรคทอรี่ /root ให้เป็น Group root
Chmod
- คำสั่งกำหนดสิทธิในการเข้าถึงไฟล์
- รูบแบบการใช้งาน chmod [สิทธิ] (ชื่อFile หรือ Folder)
- สิทธิ เช่น 777, 755
- ตัวอย่างการใช้ เช่น chmod 777 uploads_folder
- -R สำหรับเปลี่ยนทั้ง folder และ sub folder
- เช่น chmod -R 777 uploads_folder
tar
ใช้สำหรับ รวมไฟล์ย่อยให้เป็นไฟล์ Packet คล้ายๆกับการ zip หลายๆไฟล์ให้เป็นไฟล์เดียวแต่ขนาดไฟล์ไม่ได้ลดลงอย่างการ zip โดยไฟล์ output ที่ได้จะตั้งชื่อเป็น filename.tar หรือการแตกไฟล์ packet จาก filename.tar ให้เป็นไฟล์ย่อยมักจะใช้คู่กับ gzip หรือ compress เพื่อทำการลดขนาด packet ให้เล็กลง
รูปแบบการใช้
- tar -option output input
- -option เช่น -cvf , -xvf
- output คือ ไฟล์.tar ที่จะเกิดขึ้น
- input คือ ไฟล์หรือกลุ่มไฟล์หรือ directory ที่จะรวมกัน
- ตัวอย่าง cvf (รวมไฟล์)
- tar -cvf Output_file.tar /home/myhome/*
- Option -cvf ใช้สำหรับการรวมไฟล์ย่อยไปสู่ไฟล์ .tar จากตัวอย่าง รวมไฟล์ทุกไฟล์ที่อยู่ใน /home/myhome/ เข้าสู่ไฟล์ชื่อ Output_file.tar
- tar -cvf Output_file.tar /home/myhome/*
- ตัวอย่าง -xvf (แตกไฟล์)
- tar -xvf filename.tar
- Option -xvf ใช้แตกไฟล์ .tar เป็นไฟล์ย่อยๆ โดยจะแตกลง ณ current directory
except
tar -cvf createthis.tar --exclude='*.tar' folder/*
.tgz
tar -xzpf x-cart.tgz
find
ค้นหา ไฟล์ที่ต้องการ
- find /var -name "*.MYD" -print
find . -name 'verify.php'
find -name "*607f706d*" -print
kill
ค้น Process ID ที่ต้องการ kill เช่น ใช้คำสั่ง top เพื่ดู Process ที่ใช้งานมากผิดปกติ เพื่อพบให้แก้ไขไฟล์นั้นตามความเหมาะสมแม้จะลบแต่ process จะยังทำงานอยู่ เมื่อได้ PID ของ Process หยุดด้วยคำสั่ง kill เช่น kill PID OR $ sudo kill PID
- kill 5623
หาข้อความในไฟล์
find / -type f -exec grep -H 'text-to-find-here' {} \; find /public_html/londonhouse/ -type f -exec grep -H '$ugefusag="create_";global $iforub; $iforub' {} \; find -type f -exec grep -H '$ugefusag="create_";global $iforub; $iforub' {} \;
นับ
- ls | wc -l นับจำนวน ไพล์ใน folder
ls | wc -l
- find . -type f | wc -l นับจำนวน ไพล์ใน folder และ sub
find . -type f | wc -l
- นับ file ใน folder หลายระดับชั้น แจงแยก folder
find -maxdepth 1 -type d | while read -r dir; do printf "%s:\t" "$dir"; find "$dir" | wc -l; done
find -maxdepth 3 -type d | while read -r dir; do printf "%s:\t" "$dir"; find "$dir" | wc -l; done
find . -type f -name '*.phpx'ค้นหาไฟล์และลบ
find . -type f -name '*.phpx' -delete
ปิดเครื่อง หรือ shutdown
- shutdown -h now
- init 0
- halt
- poweroff
คำสั่งที่ใช้ในการ Reboot เครื่อง
- reboot
- init 6
- shutdown -r now
reboot cpanel/whm in ssh
- /etc/init.d/cpanel restart
start stop restart
sudo service SERVICENAME restart sudo service mysql restart sudo service mysql stop; sudo service mysql start; sudo service mysql status sudo service serverpilot-agent restart
sudo service apache-sp restart sudo service apache-sp stop sudo service apache-sp start
sudo service nginx-sp restart sudo service nginx-sp stop sudo service nginx-sp start
view usage
top htop free -m cat /proc/meminfo vmstat -s
Disk Usage
- หาขนาดไฟล์ใน folder
แสดงเฉพาะในโฟล์เดอร์ปัจจุบัน
- du -sh *
แสดงทุกโฟล์เดอร์
- du -h
- du -sh
เรียงตามขนาด ใหญ่อยู่ท้าย
- du -sh * | sort -h
- http://www.cyberciti.biz/faq/checking-directory-size-in-linux-command/
ขนาดรวมทั้งหมด
df -h
ZIP
- ติดตั้ง sudo apt-get install zip unzip
- zip -r backup.zip data/*
- unzip backup.zip
grep
ค้นคำ grep -r "visitorTracker_isMob" Foldername
wget
wget เป็นโปรแกรมที่ใช้เพื่อดาวน์โหลดไฟล์จากเว็บไซต์โดยรันคำสั่ง wget ตามด้วย URL ที่ต้องการดาวน์โหลด
wget www.dllc.com/file.tar wget "www.dllc.com/file.tar"
ดาวน์โหลดครั้งแรกยังไม่ครบ ต้องการดาวน์โหลดต่อ ใช้ -c
wget -c www.dllc.com/file.tar
wget windows
DigitalOcean