作為一個程序員或者測試開發(fā)人員,我們在進行項目部署和運維時,經常會用到一些linux命令,可是這些命令老是忘記,每次用到的時候都要去谷歌百度,很是麻煩!這不,為了自己使用方便,對常見的linux命令, SHELL, VIM, Linux性能調優(yōu)和linux kernel的總結,以便在用到時能夠快速地找到相關命令,同時有需要的朋友也可以參考搜藏該篇文章!文章對講到的每個命令都有詳細的參數解釋,并且給出一些常用例子,因此也非常適合用來學習!
成都創(chuàng)新互聯是一家集網站建設,景德鎮(zhèn)企業(yè)網站建設,景德鎮(zhèn)品牌網站建設,網站定制,景德鎮(zhèn)網站建設報價,網絡營銷,網絡優(yōu)化,景德鎮(zhèn)網站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網站。
shell(命令解釋器)自帶的命令稱為內部命令,其它的是外部命令
內部命令使用help幫助:help cd
外部命令使用help幫助:ls --help
type命令:用于區(qū)分是內部命令還是外部命令:
ls is aliased to `ls --color=auto' #外部命令
cd is a shell builtin #內部命令
pwd命令:顯示當前目錄
ls命令:查看目錄和文件名稱
ls -l 查看目錄各個字段含義
第一字段:首字母代表的是文件類型 ,其中"-"為普通文件、"d"為目錄文件、"c"為字符設備文件、"b"為塊設備文件、"p"為管道文件、"l"為鏈接文件、"s"為socket文件?!皉wx”分別代表擁有讀、寫和執(zhí)行權限,"-代表無對應權限。三個"rwx"依次代表文件所有者、文件所有者所在用戶組、其它用戶對文件擁有的權限。
第二字段:文件硬連接數量
第三字段:文件擁有者
第四字段:文件擁有者所在組
第五字段:文件大?。ㄒ宰止?jié)為單位)
第六字段:文件最后更改時間
第七字段:文件名(若為鏈接文件則追加顯示其鏈接的原文件的路徑)
ls命令其它參數含義:
-a顯示隱藏文件(.開頭的文件)
-r逆序排序
-t按照時間順序顯示
-R遞歸顯示
ls -lartR : 按照時間順序倒序顯示所有文件及其文件夾的文件
cd命令:更改當前的工作目錄
cd /path/... 絕對路徑
cd ./path/... 相對路徑(./可以省略)
cd ../path/... 相對路徑
mkdir -p 遞歸目錄:遞歸創(chuàng)建目錄
rmdir命令:刪除目錄
rmdir a/b/c/d/e/ #刪除空目錄
rm -r a/b/c/d/ #遞歸刪除目錄,但是系統(tǒng)會做多次詢問
rm -rf a/b/c/d/ #刪除目錄,不做任何詢問
cp命令:復制文件和目錄
-r 復制目錄
-p 保留用戶、權限、時間等文件屬性
mv命令:移動文件和重命名
mv *.log 目標目錄
通配符:
*匹配任何字符串
?匹配一個字符串
[xyz]任何一個字符串
[a-z]匹配一個范圍
cat命令:文本內容顯示到終端
head命令:查看文件開頭
head -3 文件名稱 #顯示文件開頭3行
tail命令:查看文件末尾
tail -3 文件名稱 #顯示文件末尾3行
tail常用參數-f,文件內容更新后,同步顯示更新的文件信息
tail -f 文件名稱
wc命令:統(tǒng)計文件內容信息
wc 文件名稱
useradd命令:新建用戶
useradd 用戶名
userdel命令:刪除用戶
userdel 用戶名 用戶所在的家目錄不會被刪除
userdel -r 用戶名 用戶相關的所有配置都會被刪除
passwd命令:修改用戶密碼
passwd 用戶名
usermod命令:修改用戶屬性
/etc/passwd文件:查看用戶文件
tail /etc/passwd
/etc/shadow文件:查看用戶密碼
tail /etc/shadow
groupadd命令:添加用戶組
groupadd 用戶組
groupdel命令:刪除用戶組
groupdel 用戶組
用戶切換
su 用戶名 切換用戶,但是用戶所在環(huán)境不變,即pwd路徑不會變化
su - 用戶名 切換用戶,同時會切換到用戶家目錄,即/home/用戶名
sudo命令:普通用戶需要執(zhí)行root用戶權限的解決方案。
以下是一些常用命令匯總;The following table provides a reminder of most of the commands that we have covered so far. If you include the three, as-yet-unmentioned, commands in the last column, then you will probably be able to achieve 95% of everything that you will ever want to do in Unix (remember, you can use the man command to find out more about top , ps , and kill ). The power comes from how you can use combinations of these commands.
-c 'cc-address' -b 'bcc-address'
'to-address' | Command to send email | | mail -s "Subject"
to-address Filename` | Command to send email with attachment |
File Permission commands
Hope this Linux reference guide helps you!
希望這些常用的命令和系統(tǒng)原理,以及l(fā)inux操作可以幫助大家提升linux命令和操作?。?!
cd .. 返回上一級目錄;
cd ../.. 返回上兩級目錄;
ls -F 查看目錄中的文件 ;
ls -l 顯示文件和目錄的詳細資料 ;
ls -a 顯示隱藏文件 ;
tree 顯示文件和目錄由根目錄開始的樹形結構(1) ;
lstree 顯示文件和目錄由根目錄開始的樹形結構(2) ;
find / -user user1 搜索屬于用戶 'user1' 的文件和目錄;
mv dir1 new_dir 重命名/移動 一個目錄
top 查看CPU、內存密集使用的動態(tài)數據
free 查看內存使用情況
進程號用 ps 查看
占用的內存情況 $pmap -d 5647
du 查看目錄或文件的大小
df 查看磁盤分區(qū)大小
find 命令的基本結構如下:
find 命令手冊 : man find
find 命令中的 -name 選項可以根據文件名稱進行檢索( 區(qū)分大小寫 )。如需要忽略文件名中的大小寫,可以使用 -iname 選項。
-name 和 -iname 兩個選項都支持 wildcards 。如:
例1:查找 /usr 目錄下所有文件名以 .txt 結尾的文件
例2:查找 /usr 目錄下所有文件名剛好為 4 個字符的文件
例3:查以大寫字母開頭的文件
例4:查以兩個小寫字母和兩個數字開頭的txt文件
類似的還有:
-lname -ilname
-path -ipath
-regx -iregx
有些時候,你需要在搜索時匹配某個文件或目錄的 完整路徑 ,而不僅僅是匹配文件名??梢允褂? -path 或 -ipath 選項。
例1:如查找 /usr 下所有文件名以 .txt 結尾的文件或目錄,且該文件的父目錄必須是 src ??梢允褂靡韵旅睿?/p>
例2:在當前目錄除aa之外的子目錄內搜索 txt文件
例3:在當前目錄,不再子目錄中,查找txt文件
如果只想搜索得到文件 或 目錄,即不想它們同時出現在結果中。可以使用 -type 選項指定文件類型。
-type 選項最常用的參數如下:
例:檢索 /usr 下所有文件名以 python 開頭的目錄
find 命令支持 -empty 選項用來檢索 為空 的文件或目錄??瘴募次募餂]有任何內容,空目錄即目錄中沒有任何文件或子目錄。
例:檢索用戶主目錄下所有的空目錄
find 命令也允許用戶對當前的匹配條件進行 “反義” (類似于 邏輯非 操作)。
如需要檢索 /usr 下所有文件名 不 以 .txt 為后綴的文件??梢允褂靡韵旅睿?/p>
也可以“翻轉”任何其他的篩選條件,如:檢索 /usr 下所有內容不為空的文件
為了檢索歸屬于特定用戶的文件或目錄,可以使用 -user 選項。
例:檢索根目錄下所有屬主為 starky 的文件
類似于 -user 選項, -group 選項則可以根據文件或目錄的 屬組 進行檢索。
有些時候,需要根據文件創(chuàng)建或修改的時間進行檢索。
Linux 系統(tǒng)中,與文件相關聯的時間參數有以下三種:
與此對應的是 find 命令中的 -mtime , -atime 和 -ctime 三個選項。
這三個選項的使用遵循以下示例中的規(guī)則:
檢索 /usr 下兩天前被修改過的文件
如果覺得 -mtime 等選項以 天 為單位時間有點長,還可以使用 -mmin , -amin , -cmin 三個選項。
查找比 aa.txt 新 的文件
查找比 aa.txt 舊 的文件
查找比aa.txt新,比bb.txt舊的文件
-size 選項允許用戶通過文件大小進行搜索(只適用于文件,目錄沒有大小……)。
表示文件大小的單位由以下字符組成:
另外,還可以使用 + 或 - 符號表示 大于 或 小于 當前條件。
檢索文件大小高于 1 GB 的文件
find 命令可以使用 -perm 選項以文件權限為依據進行搜索。
9.1使用符號形式
例1:如需要檢索 /usr 目錄下權限為 rwxr-xr-x 的文件,可以使用以下命令:
例2:搜索 /usr 目錄下所有權限為 r-xr-xr-x (即系統(tǒng)中的所有用戶都只有讀寫權限)的文件和目錄,可以使用以下命令:
很多時候,我們只想匹配文件權限的一個 子集 。比如,檢索可以直接被任何用戶執(zhí)行的文件,即只關心文件的執(zhí)行權限,而不用管其讀寫權限是什么。
上述的需求可以通過以下命令實現:
其中 a=x 前面的 / 符號即用來表示只匹配權限的某個子集(執(zhí)行權限),而不用關心其他權限的具體設置。
9.2使用數字形式
例如:搜索 /usr 目錄下權限為 644 (即 rwxr-xr-x )的文件
find 命令默認是以 遞歸 的方式檢索項目的,這有時候會導致得到的結果數量非常巨大??梢允褂? -maxdepth 限制 find 命令遞歸的層數。
例如:搜索時向下遞歸的層數最大為 3
在之前的例子中有出現多個搜索條件的 組合 以及對某個搜索條件的 反轉 。
實際上 find 命令支持 “and” 和 “or” 兩種邏輯運算,對應的命令選項分別是 -a 和 -o 。通過這兩個選項可以對搜索條件進行更復雜的組合。
此外還可以使用 小括號 對搜索條件進行 分組 。注意 find 命令中的小括號常需要用 單引號 包裹起來。因小括號在 Shell 中有特殊的含義。
如檢索 /usr 下文件名以 python 開頭且類型為目錄的文件
該命令等同于:
更復雜的組合形式如:
例4:在除dir0及子目錄以外的目錄下查找txt后綴文件
說明:-a 應該是and的縮寫,意思是邏輯運算符‘與’(); -o應該是or的縮寫,意思是邏輯運算符‘或’(||), -not 表示非.
命令行的意思是:如果目錄dir0存在(即-a左邊為真),則求-prune的值,-prune 返回真,‘與’邏輯表達式為真(即-path './dir0*' -a -prune 為真),find命令將在除這個目錄以外的目錄下查找txt后綴文件并打印出來;如果目錄dir0不存在(即-a左邊為假),則不求值-prune ,‘與’邏輯表達式為假,則在當前目錄下查找所有txt后綴文件。
-delete 選項可以用來刪除搜索到的文件和目錄。
例如:刪除 home 目錄下所有的空目錄:
-exec 選項可以對搜索到的結果執(zhí)行執(zhí)行該參數所給出的shell命令。形式為 command {} \; ,注意{}與\;之間有空格 。每當 find 命令檢索到一個符合條件的文件,會使用其完整路徑取代命令中的 {} ,然后執(zhí)行 -exec 后面的命令一次。
例1:如需要將 home 目錄下所有的 MP3 音頻文件復制到移動存儲設備(假設路徑是 /media/MyDrive ),可使用下面的命令:
其中的 大括號 ( {} )作為檢索到的文件的 占位符 ,而分號( ; )作為命令結束的標志。因為分號是 Shell 中有特殊含義的符號,所以需要使用單引號括起來或前面加上轉義符 \ 。
例2:查看當前目錄下的所有普通文件,并在 - exec 選項中使用 ls -l 命令將它們列出
例3:在多個文件中檢索某個指定的字符串。如在用戶主目錄下的所有文件中檢索字符串 hello ,可以使用如下命令:
創(chuàng)建 Gzip 格式的壓縮文件的命令為:
現在假設需要將用戶主目錄下所有的 MP3 文件添加到壓縮包 music.tar.gz 中,直觀的感覺是,其命令應為如下形式:
實際情況是,這樣得到的 music.tar.gz 其實只包含一個 MP3 文件。原因是 find 命令 每次 發(fā)現一個音頻文件,都會再執(zhí)行一次 -exec 選項后面的壓縮命令。導致先前生成的壓縮包被覆蓋。
可以先讓 find 命令檢索出所有符合條件的音頻文件,再將得到的 文件列表 傳遞給后面的壓縮命令。完整的命令如下:
如果想瀏覽搜索到的文件(目錄)的詳細信息(如權限和大小等),可以直接使用 -ls 選項。
例如:瀏覽所有 1G 以上大小的文件的詳細信息
與exec作用相同,區(qū)別在于,在執(zhí)行命令之前,都會給出提示,讓用戶確認是否執(zhí)行
與 exec 作用相同 ,起承接作用。區(qū)別在于 |xargs 主要用于承接刪除操作 ,而 -exec 都可用 如復制、移動、重命名等
例1:查找以ap或may開頭的文件
例2:查硬連接數大于2的文件或目錄
例3:查找含特定字符串的文件。查找當前目錄下含有"the string you want find…"字符串的文件:
例4:從根目錄開始查tmpfile,一旦查到馬上刪除
例5:如何用find查找某一天更改的文件?可以使用這一行命令來實現:
A Guide to the Linux “Find” Command