Linux命令篇(一):文件管理部分

💝💝💝首先,歡迎各位來到我的博客,很高興能夠在這里和您見面!希望您在這里不僅可以有所收獲,同時也能感受到一份輕松歡樂的氛圍,祝你生活愉快!

文章目錄

  • 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:在輸出的每行末尾處增加“$”的標識符

舉例說明

  1. 直接查看文件內容
   cat testfile
  1. 將標準輸入(0)重定向到testfile文件,達到覆蓋的效果
   cat > testfile
  1. 將標準輸入(0)追加到testfile文件
   cat >> testfile
  1. 配合管道命令使用,cat命令的輸出內容作為另一個命令的輸入
   cat testfile | command 
  1. 配合tail命令,查看testfile文件的最后10行
   cat testfile | tail -n 10 
  1. 清空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:將指定目錄下的所有文件及子目錄一并處理(即實現遞歸處理)

舉例說明

  1. 改變testfile.txt文件的群組為tcms
   chgrp tcms testfile.txt
  1. 改變/home/java/tool目錄所屬群組為tcms
   chgrp tcms /home/java/tool/
  1. 根據指定的文件testfile.txt,修改testfile2.txt的群組屬性,即將testfile2.txt文件的root群組修改為tcms群組
   chgrp --reference=testfile2.txt testfile.txt

3、chown命令

chown命令是將文件的所有者改為指定的用戶或組,需要注意的是chown命令需要用超級用戶root權限去執行。常規命令格式如下:

   chown [參數選項] [用戶]:[群組] [文件或目錄]

常用參數

  • -R : 處理指定目錄以及其子目錄下的所有文件

舉例說明

  1. 修改/home/java/main/test.java文件的所有者設置為tcms
   chown tcms /home/java/main/test.java
  1. 將/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:表示可執行權限

舉例說明

  1. 給testfile.txt文件賦予最高權限
   chmod +rwx testfile.txtchmod 777 testfile.txtchomd ugo+rwx testfile.txtchmod a+rwx testfile.txt
  1. 給/home/java/test目錄賦予所有人只讀權限
   chmod +r /home/java/test/chmod 4 /home/java/test/chmod a+r /home/java/test/
  1. 對test.java文件擁有者增加可寫權限
   chmod u+w test.java

關于文件權限的說明

linux對文件的權限按照文件所有者(Owner)、用戶組(Group)、其它用戶(Other Users)區分,可見下圖所示:
linux文件權限解析
同時,對各自所擁有的權限劃分了相應的權重分數:
r – 4
w – 2
x – 1
chmod命令每三個是一組,分表代表文件所有者(User)的讀、寫、執行,用戶組(Group)的讀、寫、執行以及其它用戶(Other)的讀、寫、執行

所有者權限/權重用戶組權限/權重其他用戶權限/權重文件的權限文件權重分數
rwx / 7rwx / 7rwx / 7-rwxrwxrwx777
rwx / 7r-x / 5r-x / 5-rwxr-xr-x755
rwx / 7r-x / 5r-- / 4-rwxr-xr--754

5、cmp命令

cmp命令主要是比較兩個文件是否有差異,返回的信息只提示有無差異,如果沒有差異不顯示任何信息,如果有差異顯示差異的字符或列的編號

舉例說明

  1. 比較兩個文件test1.txt、test2.txt
   cmp test1.txt test2.txt
 如果文件相同,則不顯示消息。如果文件不同,則顯示第一個不同的位置。differ: char 4, line 1

6、diff命令

diff命令主要是對文件以行的形式做對比,從而比較兩個文件的差異

常用參數

  • -b:不檢查空格字符的不同
  • -B:不檢查空白行
  • -c :顯示全部內文,并標出不同之處
  • -i:不檢查大小寫的不同
  • -y:以并列的方式顯示文件的異同之處
  • -W:在使用-y參數時,指定欄寬

舉例說明

  1. 比較兩個日志的差異
   diff test1.log test2.log
  1. 比價兩個日志的差異,按并排的格式輸出差異信息
   diff test1.log test2.log -y -W 60

7、file命令

file命令用于辨別文件的類型

舉例說明

  1. 查看test.log文件的類型
   file test.log

test.log: UTF-8 Unicode text


8、find命令

find命令用于在指定目錄下查找文件和目錄,它可以使用不同的選項來過濾和限制查找的結果,命令格式如下:

   find [路徑] [查詢條件]

常用參數

  1. -name:按文件名查找,支持使用通配符 *
  2. -type:按文件類型查找,可以是 f(普通文件)、d(目錄)
  3. -mtime:按修改時間查找,支持使用 + 或 - 表示在指定天數前或后,days 是一個整數表示天數。例如:-mtime 0 表示查找今天修改過的文件,-mtime -7 表示查找一周以前修改過的文件
  4. -amin n:查找在 n 分鐘內被訪問過的文件,+n:查找比 n 天前更早的文件或目錄,-n:查找在 n 天內更改過屬性的文件或目錄

舉例說明

  1. 查找當前目錄下以“.log”結尾的文件
   find . -type f -name "*.log"
  1. 查找 /home/log 目錄下在 4 天前修改過的文件
   find  /home/log/ -type f -mtime +4
  1. 在當前目錄下查詢名為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 命令

舉例說明

  1. 查看文件testfile.log內容
   less testfile.log
  1. 可以了瀏覽多個文件
   less testfile1.log testfile2.log

說明:
輸入n:切換到testfile2.log
輸入p:切回到testfile1.log


12、mv命令

mv命令用來給文件或目錄移動地址,或者給文件目錄重命名,基本語法格式:

   mv [參數選項] [舊文件或目錄] [新文件或目錄]

常用參數

  • -b: 當目標文件或目錄存在時,在執行覆蓋前,會為其創建一個備份
  • -r:處理指定目錄以及其子目錄下的所有文件

舉例說明

  1. 將test文件重命名為file
   mv test file
   mv test.txt /home/sk/test/   將文件移動到某目錄下

13、rm命令

rm命令主要用于刪除某個文件或目錄

常用參數

  • -r:將目錄及以下之檔案亦逐一刪除
  • -f:即使原檔案屬性設為唯讀,亦直接刪除,無需逐一確認

舉例說明

  1. 刪除一個文件test.txt
   rm test.txt
  1. 刪除一個目錄,必須要用-r參數
   rm -r /home/sk/test/
  1. 刪除一個目錄下的所有文件及目錄
   rm -r * 

14、cp命令

cp命令是一個常規且用的較廣的一個命令,主要就是對文件或目錄進行復制,基本語法格式:

   cp [參數] [文件或目錄] [文件或目錄]

常用參數

  • -r 或 --recursive:用于復制目錄及其所有的子目錄和文件,如果要復制目錄,需要使用該選項

舉例說明

  1. 將文件 file.txt 復制到目錄 /path/to/destination/ 中
cp file.txt /path/to/destination/
  1. 將當前目錄 test/ 下的所有文件復制到新目錄 newtest 下
cp –r test/ newtest

15、tee命令

tee命令用于讀取標準輸入的數據,并將其內容輸出成文件,基本語法格式:

tee [參數] [文件]

常用參數

  • -a或–append  附加到既有文件的后面,而非覆蓋它

舉例說明

通常配合管道使用較多

cat rizhi.log | tee -a file.log   # 讀取日志文件的內容后寫入到file文件中

16、awk命令

awk命令通過提供編程語言的功能,如變量、數學運算、字符串處理等,使得對文本文件的分析和操作變得非常靈活和高效

舉例說明

  1. 打印整行
awk '{print}' file
  1. 打印行數
awk '{print NR, $0}' file

總結說明

以上總結的命令,主要是針對Linux文件管理部分日常常用的一些命令,并列舉了每個命令高頻使用的參數和應用場景,如有其他疑問請大家評論留言指出,歡迎大家指正。最后,希望這篇博文能給大家提供些許幫助,感謝大家的支持!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/21356.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/21356.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/21356.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

童趣盎然,米香四溢 —— 蒙自源六一兒童節特別獻禮

充滿歡聲笑語的六一兒童節馬上就要來了,在這個充滿童真和喜悅的時刻,蒙自源米線品牌以一顆童心,為所有大朋友和小朋友準備了一份特別的禮物。 從5月25日開始,蒙自源誠摯邀請您和孩子們一同前往蒙自源旗下各大門店,品嘗…

【MySQL數據庫】MySQL 高可用搭建方案——MHA實戰

MHA(Master High Availability) MHA實戰 MHA(Master High Availability) 一、MHA簡介二、MHA搭建準備要求:mha集群搭建,4臺服務器,1主2從,1臺mha2.1實驗思路2.2實驗準備 三、搭建MyS…

每日一題31:數據統計之即時配送食物

一、每日一題 配送表: Delivery -------------------------------------- | Column Name | Type | -------------------------------------- | delivery_id | int | | customer_id | int | | order_date …

HTML5常用標簽表格

04-08、表格標簽table 概述 表格:是一種行和列組合而成的單元格。一般應用于后臺網頁設計管理數據使用。 表格的架構部分: tabletable head 表格頭 theadtable body - 表格體 tbodytable foot -表格的頁腳 tfoot 表格的基本組成部分: t…

Bluetooth Profiles,藍牙配置文件對應設備

下面的常量是藍牙各種配置文件的標識符。 每個常量代表一個特定的藍牙配置文件,這些配置文件定義了藍牙設備之間通信的特定方式。以下是每個常量的解釋: HEADSET (1): 代表耳機和免提配置文件,通常用于藍牙耳機或車載免提系統。A2DP (2): 代…

opencv-python(三)

馬賽克 face img[162:428,297:527] # 人臉坐標區域face face[::10,::10] # 每10個中取出一個像素,馬賽克face np.repeat(face, 10, axis0) # 行方向重復10次face np.repeat(face, 10, axis1) # 列方向重復10次img[162:428,297:527] face[:266,:230] # 填充&a…

計算機科學與技術和軟件工程專業有什么區別?應該怎么選?

計算機科學與技術和軟件工程都是就業前景較好的計算機類專業,二者密切相關但側重點不同,同學們應該如何選擇呢? 一、學習內容 1.學科定位 ● 計算機科學與技術 側重于計算機科學的理論研究和基礎技術,包括算法、數據結構、人工…

lnmp平臺部署web應用,安裝Discuz社區平臺詳細文章——更新中

Nginx網站service 詳細相關介紹-特點-http狀態碼-配置文件、將nginx添加永久環境變量 訪問網站404是什么?_nginx 穩定版-CSDN博客文章瀏覽閱讀1.2k次,點贊33次,收藏24次。開源Web服務器軟件。_nginx 穩定版https://blog.csdn.net/2301_771619…

數據結構--數組(詳細分析)

目錄 🍉引言 🍉數組 🍈數組的特性 🍈數組的優缺點 🍍優點: 🍍缺點: 🍈數組的聲明與初始化 🍈數組的常見操作 🍍 插入操作 🍍…

Touch Camera PRO 2024 Easy Mobile Desktop Camera Controller(觸控相機專業版)

一個真正易于使用的移動+臺式攝像機控制器,具有視角切換功能! Touch Camera PRO 是一款非常易于使用的移動+桌面相機控制器,具有透視切換功能!它在 Home Designer、Runtime Level Editor 和 Floor Map Designer 等其他插件中使用! 在桌面和移動設備上工作! 一個干…

WIireShark使用教程

文章目錄 目錄 文章目錄 一.入門抓包示例 一.入門抓包示例 先介紹一下如何使用wireshark抓取相應網卡的流量,讓讀者可以先上手操作感受一下抓包的具體過程。 1.打開wireshark的主界面如下 2.選擇需要抓包的網卡,鼠標左鍵雙擊,即可抓取該網…

Mysql常見問題總結

1、MySQL初始化報錯 mysqld --initialize --usermysql --console 2024-06-02T15:52:22.645557Z 0 [System] [MY-013169] [Server] D:\installSoft\mysql-8.0.21-winx64\bin\mysqld.exe (mysqld 8.0.21) initializing of server in progress as process 8980 2024-06-02T15:52:2…

02-2.3.2_1 單鏈表的插入和刪除

喜歡《數據結構》部分筆記的小伙伴可以訂閱專欄,今后還會不斷更新。 此外,《程序員必備技能》專欄和《程序員必備工具》專欄(該專欄暫未開設)日后會逐步更新, 插入 按位序插入 (1)帶頭結點 L…

量子加速超級計算簡介

本文轉載自:量子加速超級計算簡介(2024年 3月 13日) By Mark Wolf https://developer.nvidia.cn/zh-cn/blog/an-introduction-to-quantum-accelerated-supercomputing/ 文章目錄 一、概述二、量子計算機的構建塊:QPU 和量子位三、量子計算硬件和算法四、…

代碼隨想錄算法訓練營第三十七 | ● 738.單調遞增的數字 ● 968.監控二叉樹

738.單調遞增的數字 講解鏈接:https://programmercarl.com/0738.%E5%8D%95%E8%B0%83%E9%80%92%E5%A2%9E%E7%9A%84%E6%95%B0%E5%AD%97.html class Solution { public:int monotoneIncreasingDigits(int n) {//整數轉字符串,變為字符串訪問比諸位取出數字要…

項目集成過程中的makefile記錄

項目集成過程中的makefile記錄 文章目錄 項目集成過程中的makefile記錄1.基礎概念注釋打印賦值方式常用變量$ 偽目標函數wildcard 多目錄、文件操作 2.思路梳理**需求分析**目錄結構 3.可行示例 持續更新中1.基礎概念 注釋 # 示例: # 項目名稱打印 echo "H…

控制臺相關

輸入輸出 輸出 Console.WriteLine("123123");//光標空行 Console.Write("123123123123");//不空行輸入 string str Console.ReadLine(); //如果在ReadKey(true)不會把輸入的內容顯示在控制臺上 char c Console.ReadKey(true).KeyChar; Console.WriteL…

ACM實訓第25天

第四套 第一道&#xff08;修改&#xff09; #include<stdio.h> #include<string.h> int cnt[10]; void count_digits(int n,int* cnt){for(int i1;i<n;i){int numi;while(num){cnt[num%10];num/10;}} } int main(){int t;scanf("%d\n",&t);whi…

力扣刷題--2553. 分割數組中數字的數位【簡單】

題目描述 給你一個正整數數組 nums &#xff0c;請你返回一個數組 answer &#xff0c;你需要將 nums 中每個整數進行數位分割后&#xff0c;按照 nums 中出現的 相同順序 放入答案數組中。 對一個整數進行數位分割&#xff0c;指的是將整數各個數位按原本出現的順序排列成數…

名為投資實為借貸,如何處理

投資近百萬參與號稱“高回報、零風險”的內部商鋪投資項目&#xff0c;與公司簽訂商鋪投資合同及租賃合同。本想投資商鋪收取租金&#xff0c;沒想到不僅租金沒拿到手&#xff0c;連本金都要不回來。 2019年底&#xff0c;原告何某&#xff08;乙方&#xff09;與被告祁東縣某…