💝💝💝首先,歡迎各位來到我的博客,很高興能夠在這里和您見面!希望您在這里不僅可以有所收獲,同時也能感受到一份輕松歡樂的氛圍,祝你生活愉快!
文章目錄
- 1、cat命令
- 常用參數
- 舉例說明
- 命令使用總結
- 2、chgrp命令
- 常用參數
- 舉例說明
- 3、chown命令
- 常用參數
- 舉例說明
- 4、chmod命令
- 常用參數
- 舉例說明
- 關于文件權限的說明
- 5、cmp命令
- 舉例說明
- 6、diff命令
- 常用參數
- 舉例說明
- 7、file命令
- 舉例說明
- 8、find命令
- 常用參數
- 舉例說明
- 9、cut命令
- 常用參數
- 舉例說明
- 10、ln命令
- 常用參數
- 舉例說明
- 11、less命令
- 常用參數
- 舉例說明
- 12、mv命令
- 常用參數
- 舉例說明
- 13、rm命令
- 常用參數
- 舉例說明
- 14、cp命令
- 常用參數
- 舉例說明
- 15、tee命令
- 常用參數
- 舉例說明
- 16、awk命令
- 舉例說明
- 總結說明
1、cat命令
cat命令主要用于查看和連接文件,需要所有者的使用權限,基本語法格式如下:
cat [選項] 文件
常用參數
- -n:會在輸出的每一行前面增加行號
- -b:也是顯示行號,只不過是只對非空行顯示行號
- -s:多個空行壓縮為一個空行,輸出內容只顯示一個空行
- -E:在輸出的每行末尾處增加“$”的標識符
舉例說明
- 直接查看文件內容
cat testfile
- 將標準輸入(0)重定向到testfile文件,達到覆蓋的效果
cat > testfile
- 將標準輸入(0)追加到testfile文件
cat >> testfile
- 配合管道命令使用,cat命令的輸出內容作為另一個命令的輸入
cat testfile | command
- 配合tail命令,查看testfile文件的最后10行
cat testfile | tail -n 10
- 清空testfile.txt文件內容
cat /dev/null ./testfile.txt
命令使用總結
cat testfile 會將指定文件的內容輸出到終端上
cat命令可以實現創建文件的作用, cat > testfile如果testfile文件不存在會自動創建文件并保存即可
在日常使用中,cat命令與管道[|]配合使用的場景比較多,例如cat testfile | ls -l 等
cat命令也可以同時查看多個文件,例如cat testfile1 tesefile2
2、chgrp命令
chgrp命令主要作用是改變文件或目錄所屬的群組屬性,與chown命令類似,區別在于chgrp命令可以是普通所有者權限可執行,chgrp命令只能修改文件或目錄的所屬群組,而chown命令必須要用root權限執行,且既可以改變文件或目錄的群組也可修改文件或目錄的群組屬性,基本語法格式如下:
chgrp [所屬群組] [文件或目錄]
常用參數
- -R:將指定目錄下的所有文件及子目錄一并處理(即實現遞歸處理)
舉例說明
- 改變testfile.txt文件的群組為tcms
chgrp tcms testfile.txt
- 改變/home/java/tool目錄所屬群組為tcms
chgrp tcms /home/java/tool/
- 根據指定的文件testfile.txt,修改testfile2.txt的群組屬性,即將testfile2.txt文件的root群組修改為tcms群組
chgrp --reference=testfile2.txt testfile.txt
3、chown命令
chown命令是將文件的所有者改為指定的用戶或組,需要注意的是chown命令需要用超級用戶root權限去執行。常規命令格式如下:
chown [參數選項] [用戶]:[群組] [文件或目錄]
常用參數
- -R : 處理指定目錄以及其子目錄下的所有文件
舉例說明
- 修改/home/java/main/test.java文件的所有者設置為tcms
chown tcms /home/java/main/test.java
- 將/home/java/main/目錄下的所有文件所有者設置為tcms,組設置為gtcms
chown -R tcms:gtcms /home/java/main/
4、chmod命令
chmod命令主要是修改文件或目前所屬擁有者權限或所屬群組的權限。
常用參數
- -R : 對目前目錄下的所有文件與子目錄進行相同的權限變更(即以遞歸的方式逐個變更)
- u:文件的擁有者(OWNER)
- g:文件所屬的群組(group)
- o:其他的用戶(other users)
- a:表示所有用戶(即包含以上ugo)
- +:表示對文件增加某個權限
- -:表示對文件取消某個權限
- r:表示讀取權限
- w:表示寫入權限
- x:表示可執行權限
舉例說明
- 給testfile.txt文件賦予最高權限
chmod +rwx testfile.txtchmod 777 testfile.txtchomd ugo+rwx testfile.txtchmod a+rwx testfile.txt
- 給/home/java/test目錄賦予所有人只讀權限
chmod +r /home/java/test/chmod 4 /home/java/test/chmod a+r /home/java/test/
- 對test.java文件擁有者增加可寫權限
chmod u+w test.java
關于文件權限的說明
linux對文件的權限按照文件所有者(Owner)、用戶組(Group)、其它用戶(Other Users)區分,可見下圖所示:
同時,對各自所擁有的權限劃分了相應的權重分數:
r – 4
w – 2
x – 1
chmod命令每三個是一組,分表代表文件所有者(User)的讀、寫、執行,用戶組(Group)的讀、寫、執行以及其它用戶(Other)的讀、寫、執行
所有者權限/權重 | 用戶組權限/權重 | 其他用戶權限/權重 | 文件的權限 | 文件權重分數 |
---|---|---|---|---|
rwx / 7 | rwx / 7 | rwx / 7 | -rwxrwxrwx | 777 |
rwx / 7 | r-x / 5 | r-x / 5 | -rwxr-xr-x | 755 |
rwx / 7 | r-x / 5 | r-- / 4 | -rwxr-xr-- | 754 |
5、cmp命令
cmp命令主要是比較兩個文件是否有差異,返回的信息只提示有無差異,如果沒有差異不顯示任何信息,如果有差異顯示差異的字符或列的編號
舉例說明
- 比較兩個文件test1.txt、test2.txt
cmp test1.txt test2.txt
如果文件相同,則不顯示消息。如果文件不同,則顯示第一個不同的位置。differ: char 4, line 1
6、diff命令
diff命令主要是對文件以行的形式做對比,從而比較兩個文件的差異
常用參數
- -b:不檢查空格字符的不同
- -B:不檢查空白行
- -c :顯示全部內文,并標出不同之處
- -i:不檢查大小寫的不同
- -y:以并列的方式顯示文件的異同之處
- -W:在使用-y參數時,指定欄寬
舉例說明
- 比較兩個日志的差異
diff test1.log test2.log
- 比價兩個日志的差異,按并排的格式輸出差異信息
diff test1.log test2.log -y -W 60
7、file命令
file命令用于辨別文件的類型
舉例說明
- 查看test.log文件的類型
file test.log
test.log: UTF-8 Unicode text
8、find命令
find命令用于在指定目錄下查找文件和目錄,它可以使用不同的選項來過濾和限制查找的結果,命令格式如下:
find [路徑] [查詢條件]
常用參數
- -name:按文件名查找,支持使用通配符 *
- -type:按文件類型查找,可以是 f(普通文件)、d(目錄)
- -mtime:按修改時間查找,支持使用 + 或 - 表示在指定天數前或后,days 是一個整數表示天數。例如:-mtime 0 表示查找今天修改過的文件,-mtime -7 表示查找一周以前修改過的文件
- -amin n:查找在 n 分鐘內被訪問過的文件,+n:查找比 n 天前更早的文件或目錄,-n:查找在 n 天內更改過屬性的文件或目錄
舉例說明
- 查找當前目錄下以“.log”結尾的文件
find . -type f -name "*.log"
- 查找 /home/log 目錄下在 4 天前修改過的文件
find /home/log/ -type f -mtime +4
- 在當前目錄下查詢名為test.sh的文件并刪除
find . -name "test.sh" -exec rm {} \;
以上例子中,-exec 選項允許你執行一個命令,{} 將會被匹配到的文件名替代,; 表示命令結束。
9、cut命令
cut命令主要用于截取字符串來用
常用參數
- -b :以字節為單位進行分割
- -c :以字符為單位進行分割
- -d :自定義分隔符
- -f :與-d一起使用,指定顯示哪個區域
舉例說明
通常配合管道|使用
who | cut -b 3
10、ln命令
ln命令主要是為某一個文件在另外一個位置建立一個同步的鏈接,鏈接分為硬鏈接和軟連接,命令格式如下:
ln [參數][源文件或目錄][目標文件或目錄]
常用參數
- -s:軟鏈接(符號鏈接)
舉例說明
給文件創建軟鏈接,為log2024.log文件創建軟鏈接link2024.log,如果log2024.log丟失,link2024.log將失效:
ln -s log2024.log link2024.log
11、less命令
less命令是瀏覽文件的命令,支持上翻下翻和搜索功能,基本語法格式如下:
less [參數選項] [文件]
常用參數
- -i:忽略搜索時的大小寫
- -N:顯示每行的行號
- b:向上翻一頁
- [pageup]:向上翻動一頁
- 空格鍵:滾動一頁
- [pagedown]: 向下翻動一頁
- d:向后翻半頁
- /字符串:向下搜索"字符串"的功能
- ?字符串:向上搜索"字符串"的功能
- Q:退出less 命令
舉例說明
- 查看文件testfile.log內容
less testfile.log
- 可以了瀏覽多個文件
less testfile1.log testfile2.log
說明:
輸入n:切換到testfile2.log
輸入p:切回到testfile1.log
12、mv命令
mv命令用來給文件或目錄移動地址,或者給文件目錄重命名,基本語法格式:
mv [參數選項] [舊文件或目錄] [新文件或目錄]
常用參數
- -b: 當目標文件或目錄存在時,在執行覆蓋前,會為其創建一個備份
- -r:處理指定目錄以及其子目錄下的所有文件
舉例說明
- 將test文件重命名為file
mv test file
mv test.txt /home/sk/test/ 將文件移動到某目錄下
13、rm命令
rm命令主要用于刪除某個文件或目錄
常用參數
- -r:將目錄及以下之檔案亦逐一刪除
- -f:即使原檔案屬性設為唯讀,亦直接刪除,無需逐一確認
舉例說明
- 刪除一個文件test.txt
rm test.txt
- 刪除一個目錄,必須要用-r參數
rm -r /home/sk/test/
- 刪除一個目錄下的所有文件及目錄
rm -r *
14、cp命令
cp命令是一個常規且用的較廣的一個命令,主要就是對文件或目錄進行復制,基本語法格式:
cp [參數] [文件或目錄] [文件或目錄]
常用參數
- -r 或 --recursive:用于復制目錄及其所有的子目錄和文件,如果要復制目錄,需要使用該選項
舉例說明
- 將文件 file.txt 復制到目錄 /path/to/destination/ 中
cp file.txt /path/to/destination/
- 將當前目錄 test/ 下的所有文件復制到新目錄 newtest 下
cp –r test/ newtest
15、tee命令
tee命令用于讀取標準輸入的數據,并將其內容輸出成文件,基本語法格式:
tee [參數] [文件]
常用參數
- -a或–append 附加到既有文件的后面,而非覆蓋它
舉例說明
通常配合管道使用較多
cat rizhi.log | tee -a file.log # 讀取日志文件的內容后寫入到file文件中
16、awk命令
awk命令通過提供編程語言的功能,如變量、數學運算、字符串處理等,使得對文本文件的分析和操作變得非常靈活和高效
舉例說明
- 打印整行
awk '{print}' file
- 打印行數
awk '{print NR, $0}' file
總結說明
以上總結的命令,主要是針對Linux文件管理部分日常常用的一些命令,并列舉了每個命令高頻使用的參數和應用場景,如有其他疑問請大家評論留言指出,歡迎大家指正。最后,希望這篇博文能給大家提供些許幫助,感謝大家的支持!