linux常用命令

 

  1. apropos whatis  顯示和word相關的命令
  2. man -t man | ps2pdf - > man.pdf 生成一個PDF格式的幫助文件 
  3. which command   顯示命令的完整路徑名 
  4. time command    計算命令運行的時間 
  5. time cat    開始計時. Ctrl-d停止。參見sw 
  6. nice info   運行一個低優先級命令(這裏是info) 
  7. renice 19 -p $$ 使腳本運行於低優先級。用於非交互任務。 
  8. cd -    回到前一目錄
  9. cd  回到用戶目錄 
  10. (cd dir && command) 進入目錄dir,執行命令command然後回到當前目錄 
  11. pushd . 將當前目錄壓入棧,以後你可以使用popd回到此目錄 
  12. alias l='ls -l --color=auto'    單字符文件列表命令 
  13. ls -lrt 按日期顯示文件. 參見newest 
  14. ls /usr/bin | pr -T9 -W$COLUMNS 在當前終端寬度上打印9列輸出 
  15. find -name '*.[ch]' | xargs grep -E 'expr'  在當前目錄及其子目錄下所有.c和.h文件中尋找'expr'.  
  16. find -type f -print0 | xargs -r0 grep -F 'example'  在當前目錄及其子目錄中的常規文件中查找字符串'example' 
  17. find -maxdepth 1 -type f | xargs grep -F 'example'  在當前目錄下查找字符串'example' 
  18. find -maxdepth 1 -type d | while read dir; do echo $dir; echo cmd2; done    對每一個找到的文件執行多個命令(使用while循環) 
  19. find -type f ! -perm -444   尋找所有不可讀的文件(對網站有用) 
  20. find -type d ! -perm -111   尋找不可訪問的目錄(對網站有用) 
  21. locate -r 'file[^/]*\.txt'  使用locate 查找所有符合*file*.txt的文件 
  22. look reference  在(有序)字典中快速查找 
  23. grep --color reference /usr/share/dict/words    使字典中匹配的正則表達式高亮 
  24. gpg -c file 文件加密 
  25. gpg file.gpg    文件解密 
  26. tar -c dir/ | bzip2 > dir.tar.bz2   將目錄dir/壓縮打包 
  27. bzip2 -dc dir.tar.bz2 | tar -x  展開壓縮包 (對tar.gz文件使用gzip而不是bzip2) 
  28. tar -c dir/ | gzip | gpg -c | ssh user@remote 'dd of=dir.tar.gz.gpg'    目錄dir/壓縮打包並放到遠程機器上 
  29. find dir/ -name '*.txt' | tar -c --files-from=- | bzip2 > dir_txt.tar.bz2   將目錄dir/及其子目錄下所有.txt文件打包 
  30. find dir/ -name '*.txt' | xargs cp -a --target-directory=dir_txt/ --parents 將目錄dir/及其子目錄下所有.txt按照目錄結構拷貝到dir_txt/ 
  31. ( tar -c /dir/to/copy ) | ( cd /where/to/ && tar -x -p )    拷貝目錄copy/到目錄/where/to/並保持文件屬性 
  32. (cd /dir/to/copy && tar -c . ) | ( cd /where/to/ && tar -x -p ) 拷貝目錄copy/下的所有文件到目錄/where/to/並保持文件屬性 
  33. (tar -c /dir/to/copy ) | ssh -C user@remote 'cd /where/to/ && tar -x -p'    拷貝目錄copy/到遠程目錄/where/to/並保持文件屬性 
  34. dd bs=1M if=/dev/sda | gzip | ssh user@remote 'dd of=sda.gz'    將整個硬盤備份到遠程機器上 
  35. rsync -P rsync://rsync.server.com/path/to/file file 只獲取diffs.當下載有問題時可以作多次 
  36. rsync --bwlimit=1000 fromfile tofile    有速度限制的本地拷貝,對I/O有利 
  37. rsync -az -e ssh --delete ~/public_html/ remote.com:'~/public_html' 鏡像網站(使用壓縮和加密) 
  38. rsync -auz -e ssh remote:/dir/ . && rsync -auz -e ssh . remote:/dir/    同步當前目錄和遠程目錄 
  39. ssh $USER@$HOST command 在$Host主機上以$User用戶運行命令(默認命令爲Shell) 
  40. ssh -f -Y $USER@$HOSTNAME xeyes 在名爲$HOSTNAME的主機上以$USER用戶運行GUI命令 
  41. scp -p -r $USER@$HOST: file dir/    拷貝到$HOST主機$USER'用戶的目錄下 
  42. ssh -g -L 8080:localhost:80 root@$HOST  由本地主機的8080端口轉發到$HOST主機的80端口 
  43. ssh -R 1434:imap:143 root@$HOST 由主機的1434端口轉發到imap的143端口 
  44. (cd cmdline && wget -nd -pHEKk http://www.pixelbeat.org/cmdline.html)   在當前目錄中下載指定網頁及其相關的文件使其可完全瀏覽 
  45. wget -c http://www.example.com/large.file   繼續上次未完的下載 
  46. wget -r -nd -np -l1 -A '*.jpg' http://www.example.com/  批量下載文件到當前目錄中 
  47. wget ftp://remote/file[1-9].iso/    下載FTP站上的整個目錄 
  48. wget -q -O- http://www.pixelbeat.org/timeline.html | grep 'a href' | head   直接處理輸出 
  49. echo 'wget url' | at 01:00  在下午一點鐘下載指定文件到當前目錄 
  50. wget --limit-rate=20k url   限制下載速度(這裏限制到20KB/s) 
  51. wget -nv --spider --force-html -i bookmarks.html    檢查文件中的鏈接是否存在 
  52. wget --mirror http://www.example.com/   更新網站的本地拷貝(可以方便地用於cron) 
  53. ethtool eth0    顯示網卡eth0的狀態 
  54. ethtool --change eth0 autoneg off speed 100 duplex full 手動設制網卡速度 
  55. iwconfig eth1   顯示無線網卡eth1的狀態 
  56. iwconfig eth1 rate 1Mb/s fixed  手動設制無線網卡速度 
  57. iwlist scan 顯示無線網絡列表 
  58. ip link show    顯示interface列表 
  59. ip link set dev eth0 name wan   重命名eth0爲wan 
  60. ip link set dev eth0 up 啓動interface eth0(或關閉) 
  61. ip addr show    顯示網卡的IP地址 
  62. ip addr add 1.2.3.4/24 brd + dev eth0   添加ip和掩 (255.255.255.0) 
  63. ip route show   顯示路由列表 
  64. ip route add default via 1.2.3.254  設置默認網關1.2.3.254 
  65. tc qdisc add dev lo root handle 1:0 netem delay 20msec  增加20ms傳輸時間到loopback設備(調試用) 
  66. tc qdisc del dev lo root    移除上面添加的傳輸時間 
  67. host pixelbeat.org  查尋主機的DNS IP地址 
  68. hostname -i 查尋本地主機的IP地址(同等於host `hostname`) 
  69. whois pixelbeat.org 查尋某主機或莫IP地址的whois信息 
  70. netstat -tupl   列出系統中的internet服務 
  71. netstat -tup    列出活躍的連接 
  72. smbtree 尋找一個windows主機. 參見findsmb 
  73. nmblookup -A 1.2.3.4    尋找一個指定ip的windows (netbios)名 
  74. smbclient -L windows_box    顯示在windows主機或samba服務器上的所有共享 
  75. mount -t smbfs -o fmask=666,guest //windows_box/share /mnt/share    掛載一個windows共享 
  76. echo 'message' | smbclient -M windows_box   發送一個彈出信息到windows主機(XP sp2默認關閉此功能) 
  77. sed 's/string1/string2/g'   使用string2替換string1 
  78. sed 's/\(.*\)1/\12/g'   將任何以1結尾的字符串替換爲以2結尾的字符串 
  79. sed '/ *#/d; /^ *$/d'   刪除註釋和空白行 
  80. sed ':a; /\\$/N; s/\\\n//; ta'  連接結尾有\的行和其下一行 
  81. sed 's/[ \t]*$//'   刪除每行後的空白 
  82. sed 's/\([\\`\\"$\\\\]\)/\\\1/g'    將所有轉義字符之前加上\ 
  83. seq 10 | sed "s/^/      /; s/ *\(.\{7,\}\)/\1/" 向右排N(任意數)列 
  84. sed -n '1000p;1000q'    輸出第一千行 
  85. sed -n '10,20p;20q' 輸出第10-20行 
  86. sed -n 's/.*<title>\(.*\)<\/title>.*/\1/ip;T;q' 輸出HTML文件的<title></title>字段中的 內容 
  87. sort -t. -k1,1n -k2,2n -k3,3n -k4,4n    排序IPV4地址 
  88. echo 'Test' | tr '[:lower:]' '[:upper:]'    轉換成大寫 
  89. tr -dc '[:print:]' < /dev/urandom   過濾掉不能打印的字符 
  90. history | wc -l 計算指定單詞出現的次數 
  91. sort file1 file2 | uniq 兩個未排序文件的並集 
  92. sort file1 file2 | uniq -d  兩個未排序文件的交集 
  93. sort file1 file1 file2 | uniq -u    兩個未排序文件的差 集 
  94. sort file1 file2 | uniq -u  兩個未排序文件的對稱差集 
  95. join -t'\0' -a1 -a2 file1 file2 兩個有序文件的並集 
  96. join -t'\0' file1 file2 兩個有序文件的交集 
  97. join -t'\0' -v2 file1 file2 兩個有序文件的差集 
  98. join -t'\0' -v1 -v2 file1 file2 兩個有序文件的對稱差集 
  99. echo '(1 + sqrt(5))/2' | bc -l  方便的計算器(計算 φ) 
  100. echo 'pad=20min=64; (100*10^6)/((pad+min)*8)' | bc    更復雜地計算,這裏計算了最大的FastE包率 
  101. echo 'pad=20min=64; print (100E6)/((pad+min)*8)' | python Python處理數值的科學表示法 
  102. echo 'pad=20; plot [64:1518] (100*10**6)/((pad+x)*8)' | gnuplot -persist    顯示FastE包率相對於包大小的圖形 
  103. echo 'obase=16ibase=10; 64206' | bc   進制轉換(十進制到十六進制) 
  104. echo $((0x2dec))    進制轉換(十六進制到十進制)((shell數學擴展)) 
  105. units -t '100m/9.58s' 'miles/hour'  單位轉換(公尺到英尺) 
  106. units -t '500GB' 'GiB'  單位轉換(SI 到IEC 前綴) 
  107. units -t '1 googol' 定義查找 
  108. seq 100 | (tr '\n' +; echo 0) | bc  加N(任意數)列.  
  109. cal -3  顯示一日曆 
  110. cal 9 1752  顯示指定月,年的日曆 
  111. date -d fri 這個星期五是幾號. 參見day 
  112. date --date='25 Dec' +%A    今年的聖誕節是星期幾 
  113. date --date '1970-01-01 UTC 2147483647 seconds' 將一相對於1970-01-01 00:00的秒數轉換成時間 
  114. TZ=':America/Los_Angeles' date  顯示當前的美國西岸時間(使用tzselect尋找時區) 
  115. echo "mail -s 'get the train' [email protected] < /dev/null" | at 17:45  在指定的時間發送郵件 
  116. echo "DISPLAY=$DISPLAY xmessage cooker" | at "NOW + 30 minutes" 在給定的時間彈出對話框 
  117. printf "%'d\n" 1234 根據locale輸出正確的數字分隔 
  118. BLOCK_SIZE=\'1 ls -l    用ls命令作類適於locale()文件分組 
  119. echo "I live in `locale territory`" 從locale數據庫中展開信息 
  120. LANG=en_IE.utf8 locale int_prefix   查找指定地區的locale信息。參見ccodes 
  121. locale | cut -d= -f1 | xargs locale -kc | less  顯示在locale數據庫中的所有字段 
  122. recode -l | less    顯示所有有效的字符集及其別名 
  123. recode windows-1252.. file_to_change.txt    轉換Windows下的ansi文件到當前的字符集(自動進行回車換行符的轉換) 
  124. recode utf-8/CRLF.. file_to_change.txt  轉換Windows下的ansi文件到當前的字符集 
  125. recode iso-8859-15..utf8 file_to_change.txt 轉換Latin9(西歐)字符集文件到utf8 
  126. recode ../b64 < file.txt > file.b64 Base64編碼 
  127. recode /qp.. < file.txt > file.qp   Quoted-printable格式解碼 
  128. recode ..HTML < file.txt > file.html    將文本文件轉換成HTML 
  129. recode -lf windows-1252 | grep euro 在字符表中查找歐元符號 
  130. echo -n 0x80 | recode latin-9/x1..dump  顯示字符在latin-9中的字符映射 
  131. echo -n 0x20AC | recode ucs-2/x2..latin-9/x 顯示latin-9編碼 
  132. echo -n 0x20AC | recode ucs-2/x2..utf-8/x   顯示utf-8編碼 
  133. gzip < /dev/cdrom > cdrom.iso.gz    保存光盤拷貝 
  134. mkisofs -V LABEL -r dir | gzip > cdrom.iso.gz   建立目錄dir的光盤鏡像 
  135. mount -o loop cdrom.iso /mnt/dir    將光盤鏡像掛載到 /mnt/dir (只讀) 
  136. cdrecord -v dev=/dev/cdrom blank=fast   清空一張CDRW 
  137. gzip -dc cdrom.iso.gz | cdrecord -v dev=/dev/cdrom -    燒錄光盤鏡像 (使用 dev=ATAPI -scanbus 來確認該使用的 dev) 
  138. cdparanoia -B   在當前目錄下將光盤音軌轉錄成wav文件 
  139. cdrecord -v dev=/dev/cdrom -audio *.wav 將當前目錄下的wav文件燒成音樂光盤 (參見cdrdao) 
  140. oggenc --tracknum='track' track.cdda.wav -o 'track.ogg' 將wav文件轉換成ogg格式 
  141. ls -lSr 按文件大小降序顯示文件 
  142. du -s * | sort -k1,1rn | head   顯示當前目錄下佔用空間最大的一批文件. 參見dutop 
  143. df -h   顯示空餘的磁盤空間 
  144. df -i   顯示空餘的inode 
  145. fdisk -l    顯示磁盤分區大小和類型(在root下執行) 
  146. rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n 顯示所有在rpm發佈版上安裝的包,並以包字節大小爲序 
  147. dpkg-query -W -f='${Installed-Size;10}\t${Package}\n' | sort -k1,1n 顯示所有在deb發佈版上安裝的包,並以KB包大小爲序 
  148. dd bs=1 seek=2TB if=/dev/null of=ext3.test  建立一個大的測試文件(不佔用空間).  
  149. tail -f /var/log/messages   監視Messages日誌文件 
  150. strace -c ls >/dev/null 總結/剖析命令進行的系統調用 
  151. strace -f -e open ls >/dev/null 顯示命令進行的系統調用 
  152. ltrace -f -e getenv ls >/dev/null   顯示命令調用的庫函數 
  153. lsof -p $$  顯示當前進程打開的文件 
  154. lsof ~  顯示打開用戶目錄的進程 
  155. tcpdump not port 22 顯示除了ssh外的網絡交通.  
  156. ps -e -o pid,args --forest  以樹狀結構顯示進程 
  157. ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed '/^ 0.0 /d' 以CPU佔用率爲序顯示進程 
  158. ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS    以內存使用量爲序顯示進程. 參見ps_mem.py 
  159. ps -C firefox-bin -L -o pid,tid,pcpu,state  顯示指定進程的所有線程信息 
  160. ps -p 1,2   顯示指定進程ID的進程信息 
  161. last reboot 顯示系統重啓記錄 
  162. free -m 顯示(剩餘的)內存總量(-m以MB爲單位顯示) 
  163. watch -n.1 'cat /proc/interrupts'   監測文件/proc/interrupts的變化 
  164. uname -a    查看內核/操作系統/CPU信息 
  165. head -n1 /etc/issue 查看操作系統版本 
  166. cat /proc/partitions    顯示所有在系統中註冊的分區 
  167. grep MemTotal /proc/meminfo 顯示系統可見的內存總量 
  168. grep "model name" /proc/cpuinfo 顯示CPU信息 
  169. lspci -tv   顯示PCI信息 
  170. lsusb -tv   顯示USB信息 
  171. mount | column -t   顯示所有掛載的文件系統並對齊輸出 
  172. dmidecode -q | less 顯示SMBIOS/DMI 信息 
  173. smartctl -A /dev/sda | grep Power_On_Hours  系統開機的總體時間 
  174. hdparm -i /dev/sda  顯示關於磁盤sda的信息 
  175. hdparm -tT /dev/sda 檢測磁盤sda的讀取速度 
  176. badblocks -s /dev/sda   檢測磁盤sda上所有的壞扇區 
  177. readline    Line editor used by bash, python, bc, gnuplot, ... 
  178. screen  多窗口的虛擬終端, ... 
  179. mc  強大的文件管理器,可以瀏覽rpm, tar, ftp, ssh, ... 
  180. gnuplot 交互式並可進行腳本編程的畫圖工具 
  181. links   網頁瀏覽器 
  182. alias hd='od -Ax -tx1z -v'  方便的十六進制輸出。 (用法舉例: • hd /proc/self/cmdline | less) 
  183. alias realpath='readlink -f'    顯示符號鏈接指向的真實路徑((用法舉例: • realpath ~/../$USER) 
  184. set | grep $USER    在當前環境中查找 
  185. touch -c -t 0304050607 file 改變文件的時間標籤 (YYMMDDhhmm) 
  186. python -m SimpleHTTPServer  Serve current directory tree at http://$HOSTNAME:8000/ 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章