面試百度時,面試官問我,如何統計一個文本文件的行數,可以使用一種腳本語言。汗,我告訴他,用for循環,一行行地去讀吧。然后聽見面試官很小心的咕噥了一句,wc這種常用命令也不知道呀。:(
本文只是列出了各個命令的簡要功能,欲知詳情,man吧!
ls 顯示目錄中的文件名
ps 查看當前進程快照
kill 向進程發送一個信號,如殺死進程
more 顯示文本文件,但一次只顯示一屏
sort 按行對文本文件進行排序
chmod 改變文件的模式,如可執行+x
echo 輸出變量的值
read 將用戶的輸入賦給變量
env 在一個被改變了的環境中運行程序
test 檢測文件的類型,比較值。例如檢測文件是否存在,字符串比較等
touch 檢測文件是否存在,如果不存在就創建它
rm 刪除一個文件或者目錄
wc 顯示文本文件的行數、字數信息
cp 復制文件或目錄,常用參數-r, -u
mkdir 創建目錄
ln 在文件之間創建鏈接
內部命令:
break 跳出當前循環
continue 跳出本次循環,繼續下一次循環
:空命令,相當于true的別名
. 用來執行shell中的命令,類型與#include
eval 允許你對參數求值,有點像一個而外的$,他給出一個變量值的值
exec 將當前的shell替換一個不同的程序,其之后的代碼不會執行
exit n 退出碼 n
export 將作為它參數的變量到處到子shell中,作為子進程的環境變量
expr 將參數當作表達式來求值,如簡單的數學運算
`` 對反引號內的代碼當作命令執行,求的結果賦給變量
return 是函數返回
set 為shell設置參數變量 set $(date),將當前date作為參數
shift 所有參數變量左移1個位置$3變為$2
trap 用于接收到指定信號后將要采取的行動,如INT CTRL+C。即可以設定Ctrl+C后,程序如何響應。
unset 從環境中刪除變量或函數
find 查找文件 find [path] [option] [test] [action]
option包括find深度,是否find mount的文件夾等,test包括name, mtime,action例如print,exec
編程相關命令:
strings 打印文件中的可打印字符,如查看一個可執行文件中的可打印字符。
nm 列出對象文件(object files)的符號列表,如查看用gcc編譯出來的可執行文件的符號列表。
strip 刪除對象文件中的符號列表。這樣可以使得可執行文件有更小的體積。
strace 很強大的命令,顯示所有由用戶空間程序發出的系統調用。用于調試。