蜜果私塾:常用Linux命令合集
——基本操作篇
文:阿蜜果
日期:2011-7-26
轉(zhuǎn)載請注明出處:http://www.aygfsteel.com/amigoxie/archive/2011/07/26/355046.html
看到有朋友在技術(shù)博客上匯總自己常用的Linux命令,我常用的Linux命令都記在各個備忘錄中,不夠集中,今天順便做個合集吧!以便自己和他人更好的查看。
doc文件下載地址:http://www.aygfsteel.com/Files/amigoxie/蜜果私塾:常用Linux命令合集-20110726.rar
1.1 文件和目錄管理
1.1.1 創(chuàng)建文件:touch 文件名
touch 文件名:用于新建文本文件,若文件已存在時,更改最新時間,但內(nèi)容不變。
例如在所在目錄創(chuàng)建amigo.txt文件,命令為:

1.1.2 查看文件內(nèi)容并分屏:more 文件名
more 文件名:該命令用于顯示文件內(nèi)容,當(dāng)文件內(nèi)容很多時,進(jìn)行分屏顯示,按Enter鍵向下滾動,按“Ctrl+C”取消查看,例如分屏顯示amigo.txt文件的內(nèi)容:







1.1.3 查看文件內(nèi)容并不分屏顯示:cat 文件名
cat 文件名:該命令與“more 文件名”類似,但是它不會進(jìn)行分屏顯示。
1.1.4 創(chuàng)建目錄:mkdir 目錄名
該命令用于創(chuàng)建目錄,例如在當(dāng)前目錄創(chuàng)建amigodir目錄,命令如下:

如果創(chuàng)建的目錄已經(jīng)存在,錯誤信息參考如下:


1.1.5 更改文件名或目錄名:mv 原文件名或目錄名 新文件名或目錄名
Linux中沒有rename命令,使用mv(移動)命令進(jìn)行文件或目錄名的更改,例如將amigo.txt文件名更改為amigo1121.txt,命令參考如下:

又例如將amigodir目錄更名為amigo1121dir目錄,命令如下:

mv命令執(zhí)行后,只有新文件(目錄)名的文件(目錄)存在。
1.1.6 拷貝文件或目錄:cp 原文件或目錄 新文件或目錄
cp命令用于進(jìn)行文件或目錄的拷貝,例如將amigo1121.txt文件拷貝到amigo.txt文件(內(nèi)容也被拷貝)中,所用命令為:

將amigo1121dir目錄復(fù)制一份到amigodir目錄,若amigodir目錄不存在,創(chuàng)建新目錄,并將amigo1121dir目錄下的子文件也拷貝過去,命令參考如下:

1.1.7 刪除空目錄:rmdir 空目錄名
該命令只能刪除空目錄,若目錄下面有文件,會提示如下錯誤:


1.1.8 刪除目錄或文件:rm 名稱(目錄或文件名)
筆者一般使用命令:rm –rf 目錄或文件名,用于強制刪除后面所接名稱的目錄或文件名,例如強制刪除當(dāng)前目錄下amigo1121dir文件夾,所用命令為:

說明:操作該命令時一定要小心,筆者公司有位實習(xí)生就發(fā)生過這樣一個悲劇,在一臺重要機器的/home目錄下,她運行一個“rm -rf *”,將下面所有的東西都刪除了,哈哈!
1.1.9 顯示目錄內(nèi)容:ls 選項 [目錄名]
該命令用于顯示目錄內(nèi)容,有多個選項,常用的選項如下:
-a:列出目錄下的所有文件,包括以“.”開頭的隱含文件;
-k:以k字節(jié)的形式表示文件的大小;
-l:列出文件的詳細(xì)信息;
-s:在每個文件名后輸出該文件的大小。
筆者常用的命令為:ls –al [目錄名],例如顯示當(dāng)前目錄下所有文件和目錄:











若當(dāng)前目錄下文件眾多,想查看以amigo開頭的文件或目錄的詳細(xì)信息,可使用:








1.1.10 顯示當(dāng)前所在目錄:pwd
該命令用于顯示當(dāng)前所在的詳細(xì)路徑,參考運行結(jié)果:


1.1.11 改變當(dāng)前目錄:cd [目錄名]
該命令可以用于切換目錄,常用的有:
cd ..:切換到當(dāng)前目錄的上一級目錄,參考如下:








從上可以看出,運行“cd ..”命令后,目錄從/home/sn/amigo1121dir切換到了它的上級目錄:/home/sn目錄。
如下cd命令下不加任何東西,表示切換到該用戶的根目錄,例如在sn用戶下運行cd命令,切換到/home/sn目錄。
cd 目錄名:例如如上運行的:cd amigo1121dir,表示切換到當(dāng)前目錄的子目錄amigo1121dir。目錄名也可以詳細(xì)的名稱,例如:





1.1.12 更改文件或目錄權(quán)限:chmod 權(quán)限設(shè)定字符串 文件或目錄名
該命令用于更改文件或目錄的讀、寫和執(zhí)行權(quán)限,有關(guān)權(quán)限代號的部分,列表于下:
r:讀取權(quán)限,數(shù)字代號為"4"。
w:寫入權(quán)限,數(shù)字代號為"2"。
x:執(zhí)行或切換權(quán)限,數(shù)字代號為"1"。
-:不具任何權(quán)限,數(shù)字代號為"0"。
一般設(shè)定權(quán)限為777(可讀、可寫和可執(zhí)行)或755(可讀、可執(zhí)行),
例如將當(dāng)前目錄下的amigo.txt文件的權(quán)限改成可讀、可寫、可執(zhí)行,參考命令如下:

如果要將某個目錄也改成可讀、可寫、可執(zhí)行,例如將amigo1121dir目錄的權(quán)限進(jìn)行修改,參考命令如下:

需要注意的是,如上命令只會改變所操作的目錄,若想將該目錄下的所有文件、子目錄都改成777的權(quán)限,比上加上“-R”,例如將amigo1121dir目錄下的所有文件或子目錄修改成777權(quán)限,所用命令為:

1.2 用戶和用戶組管理
1.2.1 創(chuàng)建用戶:useradd [-u UID] [-g initial_group] [-G other_group] [-d 用戶目錄]
添加Linux用戶一般使用root用戶來添加。Useradd命令不指定-d參數(shù)時,表示該用戶的home目錄為:/home/用戶名。
例如添加所屬組為mysql組的用戶名為amigo的用戶,所用命令參考如下:

1.2.2 設(shè)置用戶密碼:passwd 用戶名
使用passwd命令設(shè)置用戶的密碼,例如設(shè)置amigo用戶的密碼,可使用:




輸入一次密碼,按Enter,再輸入確認(rèn)密碼按Enter后完成設(shè)置。
若要設(shè)置root用戶的密碼,直接用“passwd”命令,后面不用加用戶名就可以。
1.2.3 刪除用戶:userdel [-r] [用戶帳號]
userdel可刪除用戶帳號與相關(guān)的文件。若不加參數(shù),則僅刪除用戶帳號,而不刪除相關(guān)文件。-f 刪除用戶登入目錄以及目錄中所有文件。
例如:刪除amigo1121用戶,但不刪除其所在的目錄(例如:/home/amigo1121目錄),參考命令為:

如果想刪除用戶的同時,將其用戶目錄刪除,例如刪除amigo用戶及其用戶目錄,參考命令為:

1.2.4 切換用戶:su - 用戶名
在某個用戶下面操作時,可以進(jìn)行用戶切換,例如在sn用戶下切換到amigo用戶,所用命令為:


輸入amigo用戶的密碼后按Enter成功進(jìn)行切換。若在root用戶下進(jìn)行用戶切換,只需要運行“su – 用戶名”,不用輸入密碼就能切換,因為root用戶具有最高權(quán)限。
1.2.5 設(shè)置用戶環(huán)境變量:.bash_profile
在Windows下點擊“我的電腦”->“屬性”->“高級”->“環(huán)境變量”,可以進(jìn)行用戶環(huán)境變量的設(shè)置,在Linux下用戶的環(huán)境變量在該用戶根目錄(例如:/home/amigo目錄)的.bash_profile文件中,可使用vi等文件編輯命令進(jìn)行設(shè)置。
該文件的初始內(nèi)容參考如下:











例如,若想在該用戶下配置MySQL數(shù)據(jù)庫的訪問,.bash_profile文件修改參考如下:



















需要注意的是,要使該文件生效,需要在編輯完.bash_profile文件后運行如下命令:
[amigo@minicc ~]$ source .bash_profile
若要使所設(shè)置的用戶環(huán)境變量在該用戶啟動的應(yīng)用程序生效,最好關(guān)閉該窗口,新開一個窗口,執(zhí)行該應(yīng)用程序的重啟操作。
1.2.6 創(chuàng)建工作組:groupadd 工作組名
若要創(chuàng)建test1121的工作組,參考命令如下:

1.2.7 刪除工作組:groupdel 工作組名
例如,刪除test1121的工作組,參考命令如下:

1.2.8 更改用戶所屬工作組:usermod -g 工作組名 用戶名
例如更改amigo用戶(創(chuàng)建時設(shè)置的工作組為mysql)的工作組為test1121,命令如下:

1.2.9 查看用戶的身份:id用戶名
查看用戶的身份可使用id命令,例如查看amigo用戶的身份,參考運行結(jié)果如下:


如果要查看root用戶的身份,可直接使用“id”命令,參考結(jié)果如下:



1.3 Linux系統(tǒng)管理
1.3.1 重啟Linux啟動:reboot
使用reboot命令相當(dāng)于Windows下的重新啟動。
1.3.2 關(guān)閉Linux系統(tǒng):shutdown -h now
使用該命令立即關(guān)閉所在的Linux系統(tǒng)。
1.3.3 查看各分區(qū)的使用情況:df -k或使用df -h
筆者一般使用df –k查看硬盤的使用情況,命令參考返回結(jié)果如下:










1.3.4 查看內(nèi)核/操作系統(tǒng)/CPU信息:uname -a
該命令的參考返回結(jié)果如下所示:



1.3.5 查看計算機名:hostname
該命令用于查看當(dāng)前計算機名,參考運行結(jié)果如下:


1.3.6 查看內(nèi)存使用量和交換區(qū)使用量:free –m
命令參考返回結(jié)果如下:





1.3.7 查看系統(tǒng)進(jìn)程信息:top
該命令在分析系統(tǒng)的進(jìn)程的CPU、內(nèi)存等的占有率時很有用,在做性能測試或性能分析時常被用到,命令參考實時運行結(jié)果如下:













前五行是系統(tǒng)整體的統(tǒng)計信息。第一行是任務(wù)隊列信息,第二、三行為進(jìn)程和CPU的信息。當(dāng)有多個CPU時,這些內(nèi)容可能會超過兩行。
最后兩行為內(nèi)存信息。內(nèi)容如下:
Mem:2059568k total 物理內(nèi)存總量,2021772k used 使用的物理內(nèi)存總量,37796k free 空閑內(nèi)存總量,108396k buffers 用作內(nèi)核緩存的內(nèi)存量。
Swap:2096472k total 交換區(qū)總量,963064k used 使用的交換區(qū)總量,1133408k free 空閑交換區(qū)總量,887800k cached 緩沖的交換區(qū)總量。
內(nèi)存中的內(nèi)容被換出到交換區(qū),而后又被換入到內(nèi)存,但使用過的交換區(qū)尚未被覆蓋,
該數(shù)值即為這些內(nèi)容已存在于內(nèi)存中的交換區(qū)的大小。相應(yīng)的內(nèi)存再次被換出時可不必再對交換區(qū)寫入。
接下來是進(jìn)程信息區(qū),統(tǒng)計信息區(qū)域的下方顯示了各個進(jìn)程的詳細(xì)信息。
1.3.8 實時查看服務(wù)器信息:vmstat 刷新間隔(單位:秒)
該命令常用來做Linux服務(wù)器監(jiān)控,用該命令可以收集服務(wù)器信息來展現(xiàn)服務(wù)器情況,直接運行“vmstat”命令收集的是當(dāng)前的情況,若想實時的一直查看服務(wù)器的狀況,可使用“vmstat 刷新間隔(單位:秒)”表示隔多少秒顯示一次實時運行結(jié)果,例如間隔3秒顯示vmstat的結(jié)果,參考命令如下:






1.3.9 查看進(jìn)程信息:ps [–u 用戶名]
這個命令很常用,一般與kill命令配合使用,用于首先查看所需要殺掉的進(jìn)程的id,接著使用kill命令將其殺掉。
例如,查看sn用戶下進(jìn)程的運行情況,命令參考返回結(jié)果如下:















第一列顯示的就是進(jìn)程的ID信息。
1.3.10 殺掉進(jìn)程:kill [-9] 進(jìn)程id
在有些應(yīng)用程序出現(xiàn)問題,無法停止進(jìn)程時,可使用kill命令將進(jìn)程殺掉,一般使用“kill -9 進(jìn)程ID”來進(jìn)行強制殺掉。例如想殺掉1.3.9中ID為13138的進(jìn)程,接著使用ps –u命令查看是否成功殺掉進(jìn)程,參考運行結(jié)果如下:















1.4 Linux網(wǎng)絡(luò)命令
1.4.1 查看IP設(shè)置信息:ifconfig
在root用戶下(默認(rèn)創(chuàng)建的其它用戶沒有執(zhí)行該命令的權(quán)限)運行ifconfig命令,可查看當(dāng)前Linux系統(tǒng)的IP、網(wǎng)關(guān)、子網(wǎng)掩碼等設(shè)置信息,參考返回結(jié)果如下:








1.4.2 設(shè)置Linux的IP
常用的修改Linux系統(tǒng)IP的方法有如下幾種:
(1)通過Linux圖形界面,點擊“網(wǎng)絡(luò)”修改IP,這個是在能接觸到圖形界面時最常用的方式,筆者比較常用;
(2)通過ifconfig命令,語法為(其中eth后的X表示網(wǎng)卡設(shè)備號,eth0表示網(wǎng)卡0):

例如,設(shè)置網(wǎng)卡0的IP地址為192.168.2.18,子網(wǎng)掩碼為255.255.2550,命令參考如下:

需要注意的是:該命令設(shè)置的IP在重啟后失效,所以筆者一般采用下面第三種方式。
(3)如果要修改網(wǎng)卡0的IP信息,直接改/etc/sysconfig/network-scripts/ifcfg-eth0(如果有網(wǎng)卡1,它的IP信息在ifcfg-eth1文件中,以此類推)文件,例如該文件的參考配置:








其中GATEWAY表示網(wǎng)關(guān)地址,NETMASK表示子網(wǎng)掩碼,IPADDR表示IP地址。
記住修改完成后需要重新啟動網(wǎng)絡(luò)才能生效,命令如下:

(4)通過setup可視命令,聽說比較好用,但筆者用得比較少。
筆者一般采用第1、3種方式。
1.4.3 FTP系列命令:ftp IP地址、bi、get、put、bye
ftp命令的功能是在本地機和遠(yuǎn)程機之間傳送文件。該命令的一般格式如下:、

例如,FTP到192.168.2.131機器,用戶名為acd,密碼:xxxxxx,參考命令如下:












FTP登錄進(jìn)去后,進(jìn)入acd用戶的home目錄(/home/acd),可使用在該用戶下能運行的所有Linux命令,例如cd、pwd、ls等命令:












FTP命令主要用于從FTP機器獲取文件(get命令),或?qū)⒛硞€文件放到FTP連接上機器的目錄上。在進(jìn)行文件傳輸前,一般要運行bi(或binary)命令,將文檔傳送類型配置為二進(jìn)制傳輸方式。
演示連接到FTP(192.168.2.132)后,瀏覽連接到的用戶的home目錄(/home/acd)下的文件,切換文檔傳送類型為二進(jìn)制方式(bi),接著將該目錄下的numinfo.txt文件取下來(使用命令:get 文件名,取下來文件放置的目錄為FTP命令執(zhí)行前所在的目錄,例如:/home/sn),而后將FTP命令執(zhí)行前所在的目錄(例如:/home/sn)下的amigo.txt文件通過put命令將其放到ftp機器的目錄下。最后使用bye命令斷開ftp連接,一連串ftp操作命令如下所示:













































1.5 其它常用命令
1.5.1 文件編輯命令:vi 文件名
Linux下有不少文本編輯命令,筆者最常用的是vi命令,例如,編輯所在目錄的amigo.txt文本文件,所用命令為:

運行該命令后,此時是命令狀態(tài),若要進(jìn)入編輯狀態(tài),按“i”鍵,接著像編輯文本文件一樣編輯該文件,若編輯完畢后,若想要保存或舍棄編輯的文件信息,都需要按“Esc”切換到命令狀態(tài),在命令狀態(tài)輸入“:wq”表示保存信息并退出。輸入“:q”或“:q!”取消保存文件信息。
在命令行狀態(tài)下,輸入“d”刪除一行,還有很多其它的命令,讀者可以在網(wǎng)上查詢該命令的詳細(xì)使用信息。
1.5.2 打包命令:tar cvzf tar包名.tar.gz 打包的目錄/
打包和解包命令很常用,因為單個傳輸文件比較慢,一般需要進(jìn)行打包,例如將amigo1121dir目錄打包成:amigo1121dir_bak.tar.gz,命令參考運行結(jié)果為:




1.5.3 解包命令:tar xvzf tar包名.tar.gz
若要將之前打包的amigo1121dir_bak.tar.gz解壓縮到當(dāng)前目錄下,可使用如下命
