linux系統(tǒng)的使用離不開linux命令行,先對常用的linux命令行做個總結(jié)記錄。目前,個人比較常用的命令行有如下25個:

現(xiàn)對各常用命令進行簡單介紹,各命令的詳細使用方法可以通過help cmd或者cmd --help來獲取。

- cd <------>改變工作目錄
常用語法:
cd path :進入path指定的工作目錄中;
cd - :返回path跳轉(zhuǎn)前的目錄;
cd ~:回到用戶目錄下
cd .. :返回當前目錄的上一級目錄;
cd ../.. :返回當前目錄的上級的上級目錄(以此類推);
example:

- chmod <------>改變文件或目錄的文件權(quán)限
常用語法為:(abc指具體權(quán)限)
chmod abc file :對file文件進行權(quán)限變更
chmod -R abc file :對目前目錄下的所有檔案與子目錄進行相同的權(quán)限變更
常用的權(quán)限有以下幾種:

- file <------>分析文件的類型
常用語法:
file file-name:輸出文件名稱和對應的文件類型
file -b file-name :輸出文件類型
example:

- ls <------->顯示文件的各種類型的信息
常用語法:
ls :顯示當前目錄下的所有非隱藏文件
ls -a :顯示當前目錄下所有文件,包括隱藏文件
ls -l :顯示當前目錄下所有非隱藏文件及其詳細信息
example:

- mkdir <------->創(chuàng)建目錄
常用語法:
mkdir dir-name:創(chuàng)建dir-name目錄,為空。
mkdir -p dir-name1/dir-name2 :創(chuàng)建多級目錄
mkdir -m abc dir-name3 :創(chuàng)建dir-name3目錄,并設(shè)置其權(quán)限為abc



- mv <--------> 移動或重命名文件或目錄
常用語法:
mv -i file1 file2 : 將file1重命名為file2,如果file2已存在,詢問是否覆蓋;
mv file1 file2 : 將file1重命名為file2,如果file2已存在,直接覆蓋;
mv flie1 dir1 : 將當前目錄下的file1移動到dir1目錄下;
mv dir1 dir2 :如果dir2存在,將dir1目錄移動到dir2目錄下,作為dir2的子目錄;如果不存在,將dir1改名為dir2
example:




- rm <------>刪除文件或目錄
常用語法:
rm file:刪除file文件
rm -r dir : 刪除dir目錄
example:

- rmdir <------>刪除空目錄
常用語法:
rmdir dir : 刪除dir空目錄
example:

- cp <------>復制文件;復制目錄
常用語法:
cp file1 file2:將file1復制成file2,若file2已存在,則覆蓋
cp -u file1 file2 : 只有當file1的文件日期比file2新時,才會復制
cp -i file1 file2:將file1復制成file2,若file2已存在,則詢問是否覆蓋
cp -r dir1 dir2 :將dir1及其子目錄復制到dir2(迭代復制)
cp file1 dir2:將file1復制到dir2中,dir2/file1時間與file1時間不一致;
cp -a file1 dir2:將file1復制到dir2中,dir2/file1時間與file1時間一致;
example:


- find <------>在目錄樹中搜索文件
常用語法:
find path -name file1:在path目錄及其子目錄中查找name為file1的文件;path中,“.”表示當前目錄,“/”表示根目錄。
find path -name file1 | xargs cmd :在path目錄及其子目錄中查找name為file1的文件,并執(zhí)行cmd命令
example:

- ln <------>創(chuàng)建文件的一個新鏈接
這里有兩點要注意:
第一,ln命令會保持每一處鏈接文件的同步性,也就是說,不論你改動了哪一處,其它的文件都會發(fā)生相同的變化;
第二,ln的鏈接又軟鏈接和硬鏈接兩種,軟鏈接只會在你選定的位置上生成一個文件的鏡像,不會占用磁盤空間;
硬鏈接會在你選定的位置上生成一個和源文件大小相同的文件,無論是軟鏈接還是硬鏈接,文件都保持同步變化。
用ls -l命令去察看,就可以看到顯示的link的路徑了。
常用語法:
ln -s src dst: 創(chuàng)建軟鏈接,創(chuàng)建dst鏈接指向src文件
ln src dst: 創(chuàng)建硬鏈接,創(chuàng)建dst鏈接指向src文件
example:

- cat <------>組合文件,將標準輸入復制到標準輸出
常用語法:
cat file:將file內(nèi)容顯示到標出輸出
cat file1 file2 :將file1和file2內(nèi)容組合輸出
example:

- man <------>顯示Unix聯(lián)機參考手冊的頁面
常用語法:
man func:顯示func的參數(shù)手冊,一般常用函數(shù)均能用man獲取
- df <------>顯示文件系統(tǒng)已使用/可使用的磁盤空間
常用語法:
df:顯示文件系統(tǒng)已使用/可使用的磁盤空間
df -h:以可讀形式顯示文件系統(tǒng)已使用/可使用的磁盤空間
example:

- ps <------>顯示進程信息
常用語法:
ps a : 顯示現(xiàn)行終端機下的所有程序,包括其他用戶的程序
ps -A : 顯示所有進程
ps -e : 此參數(shù)的效果和指定"A"參數(shù)相同
ps -o : 用戶自定義格式;
example:

其中,pid:進程ID(Process ID);pri:進程優(yōu)先級編號(Priority);cmd:正在執(zhí)行的命令行命令;%mem:進程的內(nèi)存占用率
--sort=pid,表示以pid降序排列。
- top<------>顯示使用最多CPU的進程的數(shù)據(jù)
常用語法:
top:顯示系統(tǒng)當前的進程和其他狀況

前五行信息解釋:
第一行:任務隊列信息
16:20:52 當前時間
up 1:21 系統(tǒng)運行時間,格式為時:分
2 user 當前登錄用戶數(shù)
load average: 0.01, 0.02, 0.05 系統(tǒng)負載,即任務隊列的平均長度。三個數(shù)值分別為 1分鐘、5分鐘、15分鐘前到現(xiàn)在的平均值。
第二行:進程信息。
total 進程總數(shù)
running 正在運行的進程數(shù)
sleeping 睡眠的進程數(shù)
stopped 停止的進程數(shù)
zombie 僵尸進程數(shù)
第三行:CPU的信息。當有多個CPU時,這些內(nèi)容可能會超過兩行。
%Cpu(s):
1.2 us 用戶空間占用CPU百分比
0.8 sy 內(nèi)核空間占用CPU百分比
0.0 ni 用戶進程空間內(nèi)改變過優(yōu)先級的進程占用CPU百分比
97.5 id 空閑CPU百分比
0.3 wa 等待輸入輸出的CPU時間百分比
0.0hi:硬件CPU中斷占用百分比
0.0si:軟中斷占用百分比
0.0st:虛擬機占用百分比
第四、五行:內(nèi)存信息。
KiB Mem:
1000024 total 物理內(nèi)存總量
917496 used 使用的物理內(nèi)存總量
82528 free 空閑內(nèi)存總量
92196 buffers 用作內(nèi)核緩存的內(nèi)存量
KiB Swap:
1045500 total 交換區(qū)總量
8076 used 使用的交換區(qū)總量
1037424 free 空閑交換區(qū)總量
218724 cached 緩沖的交換區(qū)總量,內(nèi)存中的內(nèi)容被換出到交換區(qū),而后又被換入到內(nèi)存,但使用過的交換區(qū)尚未被覆蓋,該數(shù)值即為這些內(nèi)容已存在于內(nèi)存中的交換區(qū)的大小,相應的內(nèi)存再次被換出時可不必再對交換區(qū)寫入。
另,可通過f健進行用戶自定義顯示,按f健后,顯示如下:

通過方向鍵操作:up/down進行上下移動,Right選中,left釋放;通過d刪除要顯示的項,空格鍵添加要顯示的項,q退出。
- kill <------>終止進程;給進程發(fā)送信號
常用語法:
kill pid :終止進程號為pid的進程
kill -9 pid :強制終止進程
- grep <------>選擇包含指定模式的行
常用語法:
grep str file :在file中搜索str字符串
grep str file1 file2 :在file1和file2中搜索str字符串(以此類推)
grep str * :當前目錄下搜索str字符串(遇到子目錄會提示,但不會進入目錄搜索),另外,*可以為任意路徑,如a/b/c/*;
grep -r str * :強制要求當前目錄下所有文件中搜索,包括子目錄;
grep -d skip str * :在當前目錄下搜索,跳過子目錄
example:

- dmesg <------>顯示啟動信息
常用語法:
dmesg:打印內(nèi)核log信息
dmesg -c:打印內(nèi)核log信息,并清除緩存
dmesg | tail -n num :打印內(nèi)核log信息(尾部向上的num行)
dmesg | head -n num :打印內(nèi)核log信息(頭部開始的num行)
- reboot <------>重新啟動計算機
常用語法:
reboot :重啟,需要root權(quán)限
- shutdown <------>關(guān)閉計算機
常用語法:
shutdown :關(guān)機,需要root權(quán)限
- echo <------>將參數(shù)寫到標準輸出
常用語法:
echo parm:將parm參數(shù)寫到標準輸出上;
echo parm > file: 將parm參數(shù)寫到file文件中

- env<------>顯示環(huán)境變量
常用語法:
env :顯示環(huán)境變量,任意目錄下輸入均可
example:

- export<------>將shell變量輸出到環(huán)境中
常用語法:
export s1=s2 : 設(shè)置環(huán)境變量s1,其內(nèi)容為s2.
example:

- fdisk<------>操作磁盤--添加、刪除、轉(zhuǎn)換分區(qū)等
常用語法:
fdisk -l: 顯示硬盤信息
example:
