物聯網工程運維之Shell腳本--find命令實戰(預備知識)

一、運維常用命令:
清屏:clear
連續回車——看命令更清晰
mkdir abc:創建文件夾abc
touch abc:創建文件abc
chmod 755 abc:改變權限,使管理員對abc有讀、寫、執行權限;而屬組用戶和其他用戶只有讀、執行權限。
chmod -x abc:取消所有人對abc的執行權限。
chmod a+x abc:對所有人增加執行權限。

pwd:查看當前目錄

u user 表示該文件的所有者
g group 表示與該文件的所有者屬於同一組( group )者,即用戶組
o other 表示其它用戶組
a all 表示這三者皆是

增加權限:+
撤銷權限:-

r read 表示可讀取,對於一個目錄,如果沒有r權限,那麼就意味着不能通過ls查看這個目錄的內容。
w write 表示可寫入,對於一個目錄,如果沒有w權限,那麼就意味着不能在目錄下創建新的文件。
x excute 表示可執行,對於一個目錄,如果沒有x權限,那麼就意味着不能通過cd進入這個目錄。

cd .進入當前目錄
cd. .進入根目錄
cd. ./. .進入上一級目錄的上一級目錄
ln -s軟鏈接
ll/etc/httpd.conf:列出文件所有權限、所在組
; 連接兩個命令
&& 邏輯與 (先執行前面的命令,成功才執行後面的命令)
||:邏輯或(前面失敗,才執行後面)

基於文件屬性查找:
find [目錄] -name
例如:find . -name “nginx*”->列出所有文件名包含nginx的文件
find [目錄] -type(後加f/d,f文件,d目錄)
find [目錄] -size
find . -size +30M(查找大於30M的文件)
find . -size -30M(查找小於30M的文件)
find [目錄] -perm(後面接755/644等)
find [目錄] -exec:找到文件後執行
find [目錄] -[參數] -exec[命令] {} \;
find [目錄] -ok:找到文件後詢問要不要執行

打包:
find . -name “nginx*” -maxdepth 1 -exec tar czxf nnnn.tar.gz{} ;
find . -type f -exec tar czvf n.tar.gz {} + (c=create)
find . -type f -exec tar uvf n.tar.gz {} \; (u=update)
tar czf n1.tar.gz nginx-1.14.2.tar.gz(打包後的文件命名)

查看壓縮包的內容:
tar tvf n1.tar.gz

-exec和xargs的區別:
find . -type f | xargs tar czvf n.tar.gz
xargs:將管道左側的輸出,作爲管道右側命令的輸入,並有切分執行功能

tar czvf nnn1.tar.gz nnn.tar.gz --remove-files(刪除原文件nnn,生成新文件nnn1)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章