所有命令按字母順序排列,只介紹最常用參數,相信等你看完之后,就有能力man更詳細的用法了
此前own也曾發表過幾篇文章,詳細的介紹了幾個命令比如ls,sudo,chmod等等,看不懂man的,請自行查找:)
直到前天群里有人問cd命令怎么用..暴寒~~想想也是,一定有很多在win下也沒接觸過命令的吧?于是決定寫點東東
apt-get:
debian系系統的軟件包管理程序(其圖形化前端就是大名鼎鼎的新立得了),會自動幫你搞定依賴關系
最常用參數:
update —-與你的軟件源(在/etc/apt/sources.list中列出)更新軟件包列表,換源后需要執行
upgrade —-根據update得到的源軟件庫與本地已經安裝的對比,(如果需要升級就)全部升級
install —-安裝軟件包(可以使用tab補全軟件包的名字,比較方便)
remove —-卸載軟件包
purge —-卸載軟件包,同時刪除該軟件的配置文件
source —-從源里下載軟件包的源碼到當前目錄(執行此命令的目錄)并解壓(除非指定–download-only參數)
該地址由/etc/apt/sources.list中的 deb-src 行指定
check —-用來(自動)修復(已裝)軟件包之間的依賴關系
clean —-清除/var/cache/apt/archives/包括其子目錄partial/下的所有軟件包緩存
autoclean —-比clean常用,我的理解是刪除低版本的緩存而保留高版本的(或者包括非當前源里的軟件包?)
aptitude:
此為PT同學補充,他的說法是aptitude比apt-get少個橫線,tab補全比較容易(=.=)~大概神牛都比較懶吧
不得不提下蛋蛋童鞋以前說過的ubuntu彩蛋:) <僅限于UBUNTU 8.04>
man apt —-最后會看到 “本apt有著超級牛力” or “this APT has a super-cow power”
man aptitude —-會看到 “這個aptitude沒有超級牛力”
看看aptitude的參數,你就會明白為什么aptitude會標稱”高級軟件包管理程序”了
最常用參數:
search —-在(你的源的)所有軟件包列表中搜索該軟件,search的表達式可以很復雜,具體看man
其余常用參數同apt-get
cat:
把(一個或多個)文件內容(連接)顯示到標準輸出
當文本文件很小,而且你只是想看下,并不打算用gedit或者vim之類編輯器編輯的時候,可以cat一下,我是用來配合grep使用
cd:
切換當前工作目錄
不同于其他命令,這是一個shell內置命令,所以沒有手冊頁可看…夠基礎,所以才會出現在本篇文章中(=.=)郁悶
最常用參數:
. —-切換到當前目錄(貌似沒有什么意義)(.這個目錄可以通過ls -a看到)
.. —-切換到上層目錄
~ —-回到家目錄(/home/你的登錄名/)
chmod:
改變文件的權限位
linux文件系統的權限位有兩種表示方法,要是詳細說下,非得累死老鼠不可=.=,所以只說8進制數表示:)
簡要介紹下:ls -l可以顯示出文件的權限,比如(-rwxr-xr–),代表了三種用戶的權限
第一個rwx,代表文件所有者的權限,即(讀,寫,執行),用二進制表示為111,代表八進制中的4+2+1=7
第二個r-x,代表文件所有者同一用戶組其他用戶的權限,即(讀, ,執行),用二進制表示為101,代表八進制中的5=4+0+1
第三個r–,代表其他用戶的權限,即(讀, , ),二進制表示為100,代表八進制的4=4+0+0
所以這個文件的權限位為754
這也就是chmod的用法,例如chmod 751 myfile #將該文件權限設定為rwxr-x–x
最常用參數:
-v —-列出當前正在執行的步驟
-R —-遞歸式,即改變非空目錄下的一切為指定權限
cp:
拷貝文件和目錄
最常用參數:
-b —-為每個已經存在的目的文件作個備份
-d —-遇到軟鏈接時不拷貝軟鏈接所指向的文件;拷貝時保留links屬性(鏈接數)
-p —-保留文件的訪問權限,所有者,和時間戳
-R和-r —-遞歸式拷貝(cp過程遇到非空目錄才有效),即拷貝目錄,子目錄,子目錄的子目錄…..
-a —-作用同-dpR
-s —-并不真的做拷貝,而只是為每個文件作軟鏈接(符號鏈接)
-u —-同下面 mv 的-u參數
head, tail
就像這兩個名字,一個顯示文件頭部,一個顯示尾部
最常用參數:
-n —-指定輸出的(頭部或尾部)行數, 當沒有此參數時,默認顯示10行
ifconfig:
配置網卡
最常用參數:
沒有參數 —-列出當前活動網卡的狀態
-a —-列出所有網卡的狀態
interface —-指定網卡名稱比如eth0
up —-喚醒該網卡
down —-關閉該網卡
arp,mtu,netmask addr,…等等很多參數 =.=
ln:
為文件建立鏈接
linux的鏈接分為兩種:硬鏈接和軟鏈接,ln默認建立硬鏈接(hard link),兩種的區別請自己搜索:)
最常用參數:
-s —-建立軟鏈接(符號鏈接,可以理解為win下的快捷方式)
-f —-如果要建立的鏈接名已經存在,則刪除之
ls:
顯示目錄內容
最常用參數:
-a —-顯示指定目錄所有文件,包括文件名以 . 開頭的文件
-l —-顯示文件詳細信息(包括文件類型,權限,修改時間,訪問時間,大小,文件名…)
-h —-將文件大小以方便閱讀的形式表示出來,配合 -l 參數使用,常有奇效
man:
閱讀參考手冊of~
題外話:HX說這是linux最最難學的命令,因為man你學好了,就沒有什么命令能難倒你了,=.=無敵了
man可以查的不僅僅是命令額(當然,因為man是無敵的嘛/ch)
最常用參數:
man 阿拉伯數字
阿拉伯數字1: 可執行程序(一般為用戶安裝的程序,如果提供了manpages的話)和shell命令
阿拉伯數字2: 系統調用(例如 open調用,socket調用,chmod調用 等等等等),先裝manpages-dev先
阿拉伯數字3: 庫函數調用(例如 man 3 printf),先裝manpages-dev先
…….
當你執行man ls 時, 和 man 1 ls結果是一樣的,因為ls在man手冊中只有一個入口
當你想看chmod調用的手冊頁時,就要特別指定 man 2 chmod了~~因為chmod不止有一個入口
在man的時候,可以通過j,k上下移動(和vi中類似),可以通過/查詢,通過n,N查找下個,上個匹配(和vi類似)
q退出(也和vi類似….)
比較有意思的一點:
由于man 本身是個命令,所以,連man都是可以man的 =.=
mkdir:
創建一個目錄
最常用參數:
-p —-如果給出的路徑中父目錄不存在,則同時創建父目錄
mount:
掛載文件系統(可理解為掛載一個分區)
最常用參數:
-t —-指定文件系統類型,比如iso9660(掛載iso鏡像為光盤,相當于虛擬光驅),ntfs,ext3,rfs等等
-l —-列出所有已經掛載的文件系統,支持卷標
-a —-掛載fstab中記錄的所有分區
-n —-掛載的時候不寫入/etc/mtab
-o —-相當常用的一個參數,指定掛載文件系統的”選項”,比如noatime,用來掛載BT專用分區很合適
mv:
移動或者更名文件,取決于目的目錄是否為當前目錄
最常用參數:
-b —-為每個已經存在的目的文件做個備份(防止覆蓋)
-f —-不提示是否覆蓋已經存在的目的文件
-i —-與-f參數相反
-u —-僅當源文件比目的文件更新或者目的文件不存在時候才移動
-v —-顯示移動文件的進度(個人總是推薦使用此參數,明白你在做什么)
ps,top:
列出當前命令的執行狀態,ps為靜態,top為動態(top時’q'退出)
ps:這個命令本人更常用些,推薦給你看看=.=
最常用參數(ps多用參數集合,而不是單個參數,并且配合grep使用)
-ef —-以標準語法列出當前所有進程狀態,例如ps -ef | grep eva #列出eva的進程狀態
aux —-以BSD語法列出………………………………..
-ejH —-列出進程樹
-eLf —-同時列出線程狀態
rm, rmdir:
rm:刪除文件或目錄,rmdir:刪除一個空目錄(此命令個人認為沒啥用,可以用rm -r替代)
rm最常用參數:
-f —-不提示不存在的文件,直接跳過
-i —-每個刪除動作都提示 (=.= 刪除多的話豈不是煩死)
-I —-刪除多個文件(多于3個時)或者遞歸式刪除(對于非空目錄)提示一次
-r和-R —-遞歸式刪除該目錄下的一切東東
-v —-顯示每個文件的刪除動作(個人總是推薦使用此參數,明白你在做什么)
sudo,su:
這大概是裝好系統之后第一個要用的命令吧?
sudo我們主要用來臨時提升權限,主要用以管理員(超級用戶)的權限來運行命令,當需要修改當前登錄用戶力所不能及的文件/目錄
時需要用sudo,或者su -c,當然sudo和su的作用范圍不僅僅如此
可以使用visudo來編輯/etc/sudoers文件來修改sudo更詳細的動作(比如記住密碼的時間戳長度),請謹慎修改!
sh:
在終端解釋執行
類似于’./’的形式,但PT給了不同點: ‘./’僅僅對當前目錄下有執行權限的程序才有效,’sh’則不管這套
想想也是哈, ‘./’僅僅是給出了一個文件的路徑(在當前目錄下)而已, 但這個文件能不能執行就不好說了
所以用sh總是正確的
shutdown:
關閉系統,如果停留在TTY,請改用halt, poweroff等命令
常用參數:
+m —-指定關機延遲的分鐘
-c —-取消一個等待關機的請求(關掉運行此命令的終端也可:))
now —-立即關機
hh:mm —-手動指定時間(以24小時計)
tar:
打包/解包
這個tar不多說了吧..到處都是tar.gz,tar.bz2的東東
和ps命令一樣,tar一般不用單個參數,而是多個參數的組合,記住參數x是解壓(extract),c是創建包(creat)即可
最常用參數:
-xvf —-詳細列出解包的步驟
-cvf —-詳細列出打包的步驟
-j —-用來說明這是個tar.bz2包,例如tar -xjvf myfile.tar.bz2
-t —-列出包中的文件列表
—–打包時常追加的參數:
-r —-追加到壓縮包中
-u —-只把比包中更新的文件追加進去
-h —-不把符號鏈接添加到包中,而是添加此符號鏈接指向的文件
附加說明:tar是個太強大的東東,常用的操作也就是打包解包,高級功能還是參閱man =.=
touch:
改變文件時間戳,默認包括修改時間和創建時間,默認修改為當前時間,默認如果文件不存在就新建(=.=是不是很羅嗦)
額“差不多就收集了這么多,感謝Ubuntu Linux群(46603737),分群(514034120)眾菜的幫助
本文的目的很明確,只方便菜鳥,不收錄高級命令
如果還有類似命令沒有提及的,在評論中補充即可:)