Linux常見命令彙總(累積中。。。)

1 Linux下統計當前文件夾下的文件個數、目錄個數

統計當前文件夾下文件的個數,包括子文件夾裏的

ls -lR|grep "^-"|wc -l

統計文件夾下目錄的個數,包括子文件夾裏的

ls -lR | grep "^d" | wc -l

統計當前文件夾下文件的個數

ls -l | grep "^-" | wc -l

統計當前文件夾下目錄的個數

ls -l | grep "^d" | wc -l

附:
統計輸出信息的行數

wc -l

將長列表輸出信息過濾一部分,只保留一般文件,如果只保留目錄就是 ^d

grep "^-"

轉載自:https://www.cnblogs.com/zeze/p/6839230.html

2 解壓縮命令詳解

tar命令

解包:tar zxvf FileName.tar
打包:tar czvf FileName.tar DirName
(注:tar是打包,不是壓縮!)

gz命令

解壓1:gunzip FileName.gz
解壓2:gzip -d FileName.gz
壓縮:gzip FileName

tar.gz 和 .tgz

解壓:tar zxvf FileName.tar.gz
壓縮:tar zcvf FileName.tar.gz DirName
壓縮多個文件:tar zcvf FileName.tar.gz DirName1 DirName2 DirName3 …

bz2命令

解壓1:bzip2 -d FileName.bz2
解壓2:bunzip2 FileName.bz2
壓縮: bzip2 -z FileName

.tar.bz2

解壓:tar jxvf FileName.tar.bz2
壓縮:tar jcvf FileName.tar.bz2 DirName

bz命令

解壓1:bzip2 -d FileName.bz
解壓2:bunzip2 FileName.bz

.tar.bz

解壓:tar jxvf FileName.tar.bz

Z命令

解壓:uncompress FileName.Z
壓縮:compress FileName

.tar.Z

解壓:tar Zxvf FileName.tar.Z
壓縮:tar Zcvf FileName.tar.Z DirName

zip命令

解壓:unzip FileName.zip
壓縮:zip FileName.zip DirName

轉載自:https://jingyan.baidu.com/article/6d704a13f9981a28da51ca70.html

zip或tar排除指定文件進行壓縮

zip–>>>>可以使用zip命令的-x參數排除指定的文件

test目錄下有1.png、2.tt、good.txt三個文件,現在將test目錄壓縮成test.zip,排除其目錄下的good.txt

zip -r test.zip ./test -x "./test/good.txt"

tar–>>>>可以使用tar命令的–exclude參數排除指定的文件

123目錄下有3個子目錄,aa、bb、cc.我現在想只對aa和bb目錄打包壓縮,命令如下:

tar -zcvf 123.tar.gz  --exclude=cc ./123

轉載自:https://blog.csdn.net/stf1065716904/article/details/83780420

3 文件或者目錄複製

3-1 本地複製

命令 說明
cp test.log /home/geshan/logs 複製test.log文件到/home/geshan/logs/目錄下
cp test.log /home/geshan/logs/cptest.log 複製test.log文件到/home/geshan/logs/目錄下並重新命名爲cptest.log
cp -r logs/ /home/geshan/ 複製 logs目錄及目錄下所有文件到/home/geshan/目錄下,此時該目錄會有logs目錄
cp -r logs/ /home/geshan/testlogs/ 複製 logs目錄及目錄下所有文件到/home/geshan/testlogs/目錄下,並把logs目錄重新命名爲testlogs,前提是/home/geshan/目錄沒有testlogs目錄

3-2 遠程複製

情況1:當前機器—拷貝到—>遠程機器

scp 本地Linux系統文件路徑 遠程用戶名@IP地址:遠程系統文件絕對路徑名

scp /usr/local/tools/* [email protected]:/usr/local/tools

遞歸複製 加參數 -r

scp -r /usr/local/tools/ [email protected]:/usr/local/tools

批量拷貝當前機器的多個文件夾到遠程機器上

scp -r {products,scan_detail,storages,traces}/ [email protected]:/usr/local/solrconfig_data

情況2:遠程機器—拷貝到—>當前機器

scp 遠程用戶名@IP地址:文件的絕對路徑 本地Linux系統路徑

scp [email protected]:/usr/local/tools/* /usr/local/tools

轉載自:https://blog.csdn.net/wudinaniya/article/details/81141530
延伸: scp和rsync的區別和常用參數 https://www.cnblogs.com/jinxiao-pu/p/8833694.html

4 查看文件或日誌

4-1 head

命令 說明
head test.log 查看test.log文件前幾行日誌內容
head -n 20 test.log 查看test.log文件前20行日誌內容
head -n -20 test.log 查看test.log除了最後20行日誌內容

4-2 tail

命令 說明
tail -f test.log 實時查看test.log文件最後幾行日誌內容
tail -f -n 20 test.log 實時查看test.log文件最後20行日誌內容
tail -n 20 test.log 查看test.log文件最後20行日誌內容
tail -n +20 test.log 查看test.log文件20行後的所有日誌內容

4-3 cat

命令 說明
cat test.log 查看test.log文件所有內容

5 修改權限

Linux系統文件或目錄的訪問權限分爲只讀,只寫和可執行三種,分別代表可讀、可寫和可執行。

5-1 chgrp命令

改變文件或目錄所屬的組

命令 說明
chgrp geshan test.log 把test.log文件所屬的組修改爲geshan組
chgrp -R geshan logs/ 把logs目錄及該目錄下所有文件所屬的組修改爲geshan組

5-2 chown命令

更改某個文件或目錄所屬的用戶

命令 說明
chown geshan test.log 把test.log文件所屬用戶修改爲geshan用戶
chown -R geshan logs/ 把logs目錄及該目錄下所有文件所屬用戶修改爲geshan用戶

5-3 chmod命令

用於改變文件或目錄的訪問權限。用戶用它控制文件或目錄的訪問權限。

命令 說明
chmod 777 test.log 把test.log文件修改可讀寫執行(即777)操作。
chmod -R 666 logs/ 把logs目錄及目錄下所有文件修改爲讀寫(666)操作。

爲了方便,把mode改爲abc,其中a,b,c各爲一個數字,分別表示user、group及other的權限。r=4,w=2,x=1,r表示Read讀,w表示Write寫,x表示eXecute。
若要rwx屬性則4+2+1=7;
若要rw-屬性則4+2=6;
若要r-x屬性則4+1=5。

轉載自:https://mp.weixin.qq.com/s?__biz=MjM5NTY1MjY0MQ==&mid=2650745247&idx=4&sn=5dd3ac8247b6777acb325a6e792c494c&chksm=befebcd1898935c7ea6469a3bffed14940c708fa6d1aec152d62c5cd89c95beef8b2a25ecf55&mpshare=1&scene=23&srcid=0413MemllzzJJuZaQ1aFiwsM#rd

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