linux命令小全
1. shell是核心與使用者介面。主要有兩種①Bourne Shell(SH),它是UNIX最初使用的Shell。它有一種擴充套件Bourne Again Shell,簡稱Bash。②C Shell(CSH),語法與C語言相似,比如它有一個擴充套件是Tcsh。
2. 檢查當前系統執行的 :Shellecho $SHELL
3. su 和su - 的區別:前者只是切換身份,後者切換身份和環境
4. more:分屏顯示,只能向後翻
5. less:可以前後翻
6. grep "root" /etc/passwd :在/etc/passwd中尋找“root”字串
7. find / -name 'temp' -o -name 'install*':查詢更目錄下名稱為temp或和install*匹配的檔案
8. wc -clw f1:統計檔案f1的位元組數,行數,字數
9. cp -b -r f1 f2 :遞迴複製f1到f2,若存在同名f2,則覆蓋前先備份
10. history :檢視歷史命令記錄
11. wc <f1 :用wc命令統計f1檔案的相關資訊,f1作為wc命令的輸入(<,輸入重定向)
12. cat >f1:使用輸出重定向,建立檔案f1
13. cat >>f1:向f1中追加資訊
14. java test 2>error :執行java程式的錯誤資訊將輸入到error檔案中(2>錯誤資訊重定向)
15. /etc/passwd 使用者賬號檔案;/etc/shadow 使用者影子檔案(包含使用者的被加密後的密碼等)
16. useradd -d /newhome :新增使用者並指定家目錄
17. fdisk /dev/sda :管理硬碟sda的分割槽
18. mkfs -t ext4 /dev/sda1 給sda1分割槽建立ext4的檔案系統
19. ls -l顯示檔案詳細資訊,開頭‘-’表示普通檔案,‘d’表示目錄檔案,‘l’表示軟連線,‘c’表示裝置檔案,‘s’表示套接字檔案,‘p’表示管道檔案
20. /bin 存放基本二進位制檔案 ;/sbin存放root才能執行的二進位制檔案 ;/lib 存放系統最基本的動態連結共享庫檔案,類似windows的dll檔案;/etc存放配置檔案和指令碼檔案;/var存放不斷變化的檔案,如日誌;/tmp存放臨時檔案;/boot存放系統啟動所需檔案,如系統核心;/dev 存放外圍裝置 ;/root root的家目錄;/home 普通使用者的 家目錄;/mnt掛載其他分割槽的標準目錄 ;/proc存放核心和程序資訊的虛擬檔案目錄,內容在記憶體中,其中的核心引數一經修改立即生效;/usr一般檔案的存放目錄
21. ln -s test.txt test.txt.softlink 給test.txt建立個軟連線
22. ln test.txt test.txt.hard 給test.txt建立個硬連結
23. tar -cvf /usr/backup/home.jar /home :將整個home目錄下的檔案都打包成為/usr/backup/home.jar
24. tar -zcvf /usr/backup/home.jar.gz /home :打包之後並使用gzip壓縮
25. tar -jcvf /usr/backup/home.jar.bz2 /home:打包之後並使用bzip2壓縮
26. tar -zxvf /usr/backup/home.tar.gz 解壓縮
27. zip mypro.zip \*.c \*.txt :將\*.c和\*.tex壓縮成mypro.zip
28. zip -g mypro.zip data/\*.log:將data下的\*.log檔案進行壓縮並新增到mypro.zip中
29. unzip mypro.zip :解壓縮
30. gzip text :將text壓縮
31. gzip -d text.gz:將text.gz解壓縮
32. chmod u+rwx file1設定使用者擁有對file1的讀寫執行許可權
33. chmod 600 file1 :設定file1許可權為600,也就是檔案擁有者有讀寫權利
34. mount -t ext4 /dev/sdb1 /mnt/linux1 :將/dev/sdb1分割槽掛載到/mnt/linux1目錄
35. fdisk -l :檢視系統硬碟和硬碟分割槽情況
36. 永久掛載需要修改配置檔案/etc/fstab
37. umount /mnt/linux1或者umount /dev/sdb1:解除安裝檔案系統
38. 交換記憶體:分割槽型別的交換記憶體,檔案型別的交換記憶體
39. pvcreate /dev/sda6 :建立物理卷(之前需要將/dev/sda6分割槽型別修改為8e)
40. vgcreate -s 8M vg0 /dev/sda6 :建立卷組vg0,並且指定PE塊都8M(預設4M)
41. lvcreate -n lv0 -L 200M /dev/vg0 :建立邏輯卷
42. mkfs -t ext4 /dev/vg0/lv0 建立檔案系統
43. mount /dev/vg0/lv0 /data :掛載檔案系統
44. lvcreate -n lv0-snap -s -L 100M /dev/vg0/lv0 給邏輯卷建立快照
45. ls -a >text & : 將ls出的內容重定向到text檔案,並且在後臺執行(就是生成了一個子shell來執行這個命令)
46. cat f1 | grep "ile" |wc -l : 像使用了管道符的這種命令,會同時啟動三個shell程序,都是現在shell的子程序,互相稱為兄弟程序。
47. ps 引數小記: -a累出當前終端上所有程序(包括其他使用者的程序),-e列出系統中所有程序(包括其他使用者和系統程序),-u顯示面向使用者的格式(包括使用者名稱、cpu以及記憶體使用情況等),-r顯示正在執行的程序,-x顯示後臺程序,-f顯示程序的所有資訊 ,-o定製屬性(指定顯示某些屬性比如: ps -ao pid,pcpu 只顯示pid和CPU使用率)
48. jobs顯示所有作業
49. Ctrl + Z 掛起當前作業程序
50. Ctrl + C結束作業程序
51. bg + 作業號:將此作業轉到後臺執行
52. fg + 作業和 :將此作業轉到前臺執行
53. nice -3 vi 啟動vi並將其優先順序設定為3
54. renice 8 -p 8888:將pid為8888的程序優先順序設定為8
55. kill -9 PID :殺死此PID對應的程序(引數-2的話,相當於對前臺執行的程序使用Ctrl + Z)
56. top -d 5 :動態顯示系統資訊,5秒鐘重新整理一次
57. free -s 10 : 顯示記憶體、快取和交換分割槽的使用情況,10秒鐘重新整理一次
58. who:顯示當前登入的所有使用者
59. at -f job 8:00+2days :兩天後的上午八點執行job檔案中的作業
60. crontab -e :設定週期性任務,接61
61. 在編輯器中輸入\*/30 \* \* \* 1,3,5 /bin/ls /etc/passwd:星期1,3,5每過三十分鐘檢視一次passwd下的內容。定時檔案生成並儲存在/var/spool/cron ,名為root。
62. ls>/dev/null 2>&1:將ls的標準輸出定向到黑洞,錯誤輸出定向到標準輸出,而標準輸出已經定向到了黑洞,所以,所以資訊都入了黑洞。
63. netstat 引數小記:-a顯示所有連線的資訊;-i顯示已配置網路裝置的統計資訊;-c持續更新網路狀態,直到被終止;-r顯示核心路由表,-n以ip地址代替主機名稱,顯示網路連線情況;-t顯示TCP連線情況;-u顯示UDP連線情況
64. ping -c 12 www.baidu.com :ping十二次
65. ping -i 5 www.baidu.com : 每五秒種ping一次
66. traceroute www.baidu.com :顯示資料包到baidu的路徑