全文目錄
- 1 確認當前工作路徑
- 2 導航與目錄管理
- 2.1 關鍵命令
- 2.2 邏輯銜接
- 3 文件基礎操作
- 3.1 創建 → 備份 → 重命名 → 清理
- 3.2 文件查看和編輯
- 3.3 文件鏈接
- 3.4 文件diff
- 4 文件權限與所有權管理
- 5 文件打包與歸檔
- 6 參考文獻
寫在前面
shell是一種命令解釋器,它提供了用戶和操作系統之間的交互接口。shell是面向命令行的,
而 X Window 則是圖形界面。你在命令行輸入命令,shell進行解釋,然后送往操作系統執行。
shell可以執行 Linux 的系統內部命令,也可以執行應用程序。
本文從用戶登陸到工作臺之后實際對文件的訪問流程來闡述,通過實際場景串聯命令?,展現從文件操作的完整流程,幫助讀者理解命令間的邏輯關聯。
1 確認當前工作路徑
用戶初登工作臺,默認的工作路徑為家目錄(/home/username),如下
# 確認當前目錄
pwd # 輸出:/home/username,定位當前目錄,用戶明確操作位置# 查看當前目錄內容,列出文件或目錄下的文件名
ls -l # 詳細列表(文件類型、權限、大小等)
- 語法說明: ls [-atFlgR] [name]
ls # 列出目前目錄下的文件名
ls -a # 列出包括以 .開始的隱藏文件的所有文件名
ls -t # 依照文件最后修改時間的順序列出文件名
ls -F # 列出當前目錄下的文件名及其類型。以/結尾表示為目錄名,以*結尾表示為可執行文件,以@結尾表示為符號連接
ls -l # 列出目錄下所有文件的權限、所有者、文件大小、修改時間及名稱
ls -lg # 同上,并顯示出文件的所有者工作組名
ls -R # 顯示出目錄下以及其所有子目錄的文件名
2 導航與目錄管理
2.1 關鍵命令
# 切換至工作目錄(假設為項目目錄)
cd ~/projects# 創建新目錄(用于存放臨時文件)
mkdir temp_files# 確認目錄結構
tree -L 2 # 顯示2級目錄樹(需安裝 tree 工具)
- 語法說明:cd [name]
name:目錄名、路徑或目錄縮寫
cd # 改變目錄位置至用戶登錄時的工作目錄
cd dir # 改變目錄位置至d i r目錄下
cd user # 改變目錄位置至用戶的工作目錄
cd ~ # 返回家目錄
cd .. # 改變目錄位置至當前目錄的父目錄(上一級目錄)
cd ../user # 改變目錄位置至相對路徑 user 的目錄下
cd /root/etc # 改變目錄位置至絕對路徑的目錄位置下
- 語法說明: mkdir 目錄名
mkdir tmp # 建立一新目錄 tmp
mkdir [-mp] 目錄名稱 # 建立一個新目錄
rmdir 目錄名稱 # 刪除一個空目錄(僅能刪除空的目錄)
2.2 邏輯銜接
- 創建目錄后進行操作,避免文件散落混亂,體現規范性。
3 文件基礎操作
3.1 創建 → 備份 → 重命名 → 清理
- 場景模擬:創建 → 備份 → 重命名 → 清理,展現文件的完整生命周期管理
# 1. 創建空文件(準備編輯)
touch report.txt# 2. 復制文件到備份目錄(保留原文件)
cp report.txt temp_files/report_backup.txt -v # -v 顯示操作詳情# 3. 重命名文件(更清晰的命名)
mv report.txt sales_report_2023.txt# 4. 刪除臨時目錄中的舊備份(清理冗余)
rm temp_files/old_backup/*.txt -i # -i 交互式確認刪除
- 語法說明:touch name # name:文件名或目錄名
touch report.txt #新建一個空文件
- 語法說明: cp [-r] 源地址 目的地址
cp file1 file2 # 將文件 file1 復制成 file2
cp file1 dir1 # 將文件 file1 復制到目錄 dir1 下,文件名仍為 file1
cp /tmp/file1 . # 將目錄 /tmp 下的文件 file1 復制到當前目錄下,文件名仍為 file1
cp /tmp/file1 file2 # 將目錄 /tmp 下的文件 file1 復制到當前目錄下,文件名為file2
cp -r dir1 dir2 # 復制整個目錄
- 語法:mv 源地址 目的地址
mv file1 file2 # 將文件 file1 更名為 file2
mv file1 dir1 # 將文件 file1 移到目錄 dir1 下,文件名仍為 file1
mv dir1 dir2 # 將目錄 dir1 更名為 dir2
- 語法說明: rm 文件名
rm a.txt # 刪除文件a.txt
rm -r a/ # 刪除目錄a及文件
rm file? # 刪除文件名中有五個字符且前四個字符為 file 的所有文件
rm f* # 刪除文件名中以 f 為字首的所有文件
rm [-fir] 檔案或目錄 # 移除檔案或目錄
- 語法: rmdir 目錄名 或 rm 目錄名
rmdir dir1 # 刪除目錄 dir1,但 dir1 下必須沒有文件存在,否則無法刪除
rm -r dir1 # 刪除目錄 dir1 及其子目錄下所有文件,有文件也可以刪
3.2 文件查看和編輯
- 場景模擬:日志分析與數據提取
# 1. 查看文件全部內容(短文件)
cat sales_report_2023.txt# 2. 分頁查看長日志(支持翻頁搜索)
less system.log# 3. 提取關鍵錯誤信息(過濾日志)
grep -i "error" system.log --color=auto# 4. 查看文件尾部實時更新(監控日志)
tail -f system.log
詳細文件查看命令可前往查看博文,《Linux日志處理命令完全解構》 和 《 全面理解Linux 系統日志:核心文件與查看方法》進行詳細的了解和學習。
- 文件編輯
nano draft.txt # 使用nano簡易編輯器
vim notes.md # 使用vim高效編輯(`:wq`保存退出)
提示:初學者可從nano入手,逐步學習vim快捷鍵。
3.3 文件鏈接
同一文件,可擁有一個以上的名稱,也就是把一個文件進行鏈接。
- 硬連接
語法說明:ln 老文件名 新文件名
ln source.txt hard_link.txt # 將文件 source.txt 鏈接至文件 hard_link.txt
?核心作用?:
1 、多路徑訪問?:允許一個文件通過多個路徑名訪問,刪除任一硬鏈接不影響其他鏈接對文件數據的訪問。
?2、防誤刪保護?:通過創建重要文件的硬鏈接,即使原始路徑被刪除,仍可通過其他硬鏈接訪問數據。
3、節省磁盤空間?:所有硬鏈接共享同一 inode 和數據塊,不額外占用存儲空間。
?適用場景?:
1、需要備份關鍵文件但避免重復存儲。
2、同一文件需在不同目錄下高頻訪問(如日志文件共享)。
- 軟鏈接
語法說明:ln -s 老文件名 新文件名
ln -s file3 file4 # 將文件 file4 鏈接至文件file3
?核心作用?:
?1、跨文件系統引用?:可指向不同磁盤或分區的文件/目錄。
?2、快捷訪問?:類似 Windows 快捷方式,簡化長路徑操作(如 /usr/local/bin 下創建常用腳本的軟鏈接)。
?3、動態路徑映射?:通過修改軟鏈接指向快速切換配置文件版本或環境(如開發/生產環境配置切換)。
4?、節省空間與提升可移植性?:避免重復存儲大文件,且路徑變更后僅需更新軟鏈接指向。
?適用場景?:
1、目錄引用(硬鏈接無法直接鏈接目錄)。
2、動態庫版本管理(如 libpython.so → libpython3.9.so)。
3.4 文件diff
有時我們會遇到對比文件的不同diff的情況
- 語法說明:
diff [-r] name1 name2 # name1 name2:可同時為文件名或目錄名
diff file1 file2 比較文件 file1 與 file2 內各行的不同之處
diff -r dir1 dir2 比較目錄 dir1 與 dir2 內各文件的不同之處
4 文件權限與所有權管理
- ?場景模擬:協作與安全控制
# 1. 修改文件權限(禁止組用戶寫入)
chmod g-w sales2025.txt# 2. 更改文件所有者(移交管理權)
sudo chown newowner:sales2025.txt# 3. 設置目錄權限(遞歸生效)
chmod -R 750 tempfiles/ # 所有者:rwx,組:r-x,其他:無權限
- 語法說明:
chmod [-R] mode name # 改變文件或目錄的讀、寫、執行權限
name :文件名或目錄名。
mode: 3個8位數字或rwx的組合
r - read (讀)、w - write (寫)、x - execute (執行)
u - user (當前用戶)、g - group(組)、o - other(其他用戶) chmod 755 dir1 # 對于目錄dir1,設定成任何使用者皆有讀取及執行的權利,但只有所有者可做修改
chmod 700 file1 # 對于文件file1,設定只有所有者可以讀、寫和執行的權利
chmod u+x file2 # 對于文件file2,增加當前用戶可以執行的權利
chmod g+x file3 # 對于文件file3,增加工作組使用者可執行的權利
chmod o-r file4 # 對于文件file4,刪除其他使用者可讀取的權利
- 語法說明:
chown [-R] 用戶名 name # 改變文件或目錄的所有權 ,name:文件名或目錄名
chown user file1 # 將文件 file1 改為用戶 user 所有
chown -R user dir1 # 將目錄 dir1 及其子目錄下面的所有文件改為用戶 user 所有
- 語法說明:
chgrp [-R] 工作組名 name # 改變文件或目錄工作組所有權,name:文件名或目錄名
groups # 檢查自己所屬的工作組名稱
chgrp lsi file1 # 將文件 file1 的工作組所有權改為 lsi 所有
chgrp -R im dir1 # 將目錄dir1 及其子目錄下面的所有文件,改為 im 工作組所有
- 安全提示
使用 sudo 需謹慎,避免過度授權
chmod 777 是危險操作,應明確業務需求
5 文件打包與歸檔
- 場景模擬:數據備份與傳輸
# 1. 打包項目目錄(保留權限和子目錄)
tar -czvf project_backup.tar.gz ~/projects# 2. 解壓到新目錄(校驗文件完整性)
tar -xzvf project_backup.tar.gz -C /backup/# 3. 快速壓縮單個文件(節省空間)
gzip sales_report_2023.txt # 生成 .gz 文件
6 參考文獻
文獻1|文獻2|文獻3
寫在最后
文章整體從文件操作場景入手,帶讀者進行了文件操作的全流程解析說明,將其中用到的linux命令進行了詳細的分析,如有任何問題,請您評論指正,希望對您有所幫助,覺得有用,也歡迎點贊和收藏。我們共同努力,一起進步!