Linux工作臺文件操作命令全流程解析

全文目錄

    • 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命令進行了詳細的分析,如有任何問題,請您評論指正,希望對您有所幫助,覺得有用,也歡迎點贊和收藏。我們共同努力,一起進步!


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

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

相關文章

LeetCode第183題_從不訂購的客戶

LeetCode 第183題:從不訂購的客戶 題目描述 表: Customers ---------------------- | Column Name | Type | ---------------------- | id | int | | name | varchar | ---------------------- id 是該表的主鍵。 該表包含消費者的 id 和…

c語言的常用關鍵字

c語言的常用關鍵字 c語言的關鍵字表示數據類型的關鍵字autocharfloatdoubleintlongshortvoidsignedstruct、enum、unionunsigned 表示分支語句的關鍵字ifelseswitchbreakcasecontinuedefault 表示循環語句的關鍵字whiledoforgoto 用于修飾變量或函數的關鍵字constconst修飾變量…

MCU通用輸入輸出端口(GPIO)設計指南

在嵌入式系統開發中,MCU的GPIO接口是一個基礎但非常實用的功能模塊。GPIO全稱是通用輸入輸出端口,它讓MCU可以靈活地與外部設備進行交互。 GPIO的主要特點包括: 多功能性:每個引腳都可以單獨配置為輸入或輸出 可編程性&#xff…

STM32完整內存地址空間分配詳解

在STM32這類基于ARM Cortex-M的32位微控制器中,整個4GB的地址空間(從0x00000000到0xFFFFFFFF)有著非常系統化的分配方案,每個區域都有其特定的用途。下面我將詳細介紹這些地址區域的分配及其功能: STM32完整內存地址空間分配詳解(0x00000000…

實現水平垂直居中的多種方法

在前端開發中,元素的居中是一個常見但又經常讓人頭疼的問題。本文將全面總結各種CSS居中方法,特別是如何實現一個div的水平垂直居中。 為什么居中這么重要? 居中布局是現代網頁設計中最基礎也最重要的布局方式之一。無論是導航菜單、登錄框…

如何實現服務的自動擴縮容(Auto Scaling)

在云計算和分布式系統的時代,系統的彈性和適應性已成為企業構建高效IT基礎設施的核心需求。自動擴縮容(Auto Scaling)作為一種關鍵技術,旨在根據實時負載變化動態調整計算資源,以確保系統性能穩定,同時優化資源利用效率。簡單來說,自動擴縮容是指系統能夠根據預設規則或…

uniapp+vue3+ts 使用canvas實現安卓端、ios端及微信小程序端二維碼生成及下載

加粗樣式uniapp多端生成帶二維碼海報并保存至相冊的實現 在微信小程序開發中,我們常常會遇到生成帶有二維碼的海報并保存到手機相冊的需求,比如分享活動海報、產品宣傳海報等。今天就來和大家分享一下如何通過代碼實現這一功能。 準備工作 在開始之前&am…

架構師面試(三十八):注冊中心架構模式

題目 在微服務系統中,當服務達到一定數量時,通常需要引入【注冊中心】組件,以方便服務發現。 大家有沒有思考過,注冊中心存在的最根本的原因是什么呢?注冊中心在企業中的最佳實踐是怎樣的?注冊中心的服務…

Day.js和Moment.js對比,日期時間庫怎么選?

在JavaScript的日期處理庫中,Moment.js 和 Day.js 是兩個非常流行的選擇。本文將基于從npmtrends的數據,對這兩個庫進行詳細的對比分析。 Moment.js的重度使用者。凡是遇到時間和日期的操作,就把Moment.js引用上。 直到有天我發現加載的mome…

羅默如何用木星衛星“宇宙鐘表”測量光速?

一、17世紀的“宇宙級實驗” 1676年,丹麥天文學家奧勒羅默(Ole Rmer)在巴黎天文臺做出驚人發現: 木星衛星的“遲到早退”現象,竟能揭示光速的秘密! 通過觀察木衛一(Io)的軌道周期變…

deepseek 技巧整理

1、導出word 和excel 功能,在使用以下提示詞。 請幫我列出減肥期間可以吃的水果,并分析該水果含有的營養元素,以表格的形式星現。1.要以html的方式輸出 2.要可以直接運行 3.頁面要提供可以直接下載word和excel功能

思考軟件框架

數據庫是達夢數據庫 假定里面有40張表,軟件的業務邏輯比較復雜。 當然,依然是對數據庫中數據的增,刪,改,查,組合,顯示。 但是也涉及到多種軟件,多臺設備之間的通信。 我們可以使用…

探索 Disruptor:高性能并發框架的奧秘

在當今的軟件開發領域,處理高并發場景是一項極具挑戰性的任務。傳統的并發解決方案,如基于鎖的隊列,往往在高負載下表現出性能瓶頸。而 Disruptor 作為一個高性能的并發框架,憑借其獨特的設計和先進的技術,在處理海量數…

前端面經-VUE3篇--vue3基礎知識(一)插值表達式、ref、reactive

一、計算屬性(computed) 計算屬性(Computed Properties)是 Vue 中一種特殊的響應式數據,它能基于已有的響應式數據動態計算出新的數據。 計算屬性有以下特性: 自動緩存:只有當它依賴的響應式數據發生變化時&#xff…

數據結構6 · BinaryTree二叉樹模板

代碼函數功能順序如下: 1:destroy:遞歸刪除樹 2:copy:復制二叉樹 3:preOrder:遞歸前序遍歷 4:inOrder:遞歸中序遍歷 5:postOrder:遞歸后續遍…

C++/SDL進階游戲開發 —— 雙人塔防游戲(代號:村莊保衛戰 13)

🎁個人主頁:工藤新一 🔍系列專欄:C面向對象(類和對象篇) 🌟心中的天空之城,終會照亮我前方的路 🎉歡迎大家點贊👍評論📝收藏?文章 文章目錄 十…

強化學習之基于無模型的算法之時序差分法

2、時序差分法(TD) 核心思想 TD 方法通過 引導值估計來學習最優策略。它利用當前的估計值和下一個時間步的信息來更新價值函數, 這種方法被稱為“引導”(bootstrapping)。而不需要像蒙特卡羅方法那樣等待一個完整的 episode 結束才進行更新&…

AE/PR模板 100個現代文字標題動態排版效果動畫 Motion Titles

Motion Titles是一個令人驚艷的AE/PR模板,提供了100個現代文字標題的動態排版效果動畫。這些動畫效果能夠為你的項目增添視覺沖擊力和專業感,為文字標題注入活力和動感。該模板適用于Adobe After Effects CC或更高版本以及Adobe Premiere Pro 2020或更高…

【AI提示詞】二八法則專家

提示說明 精通二八法則(帕累托法則)的廣泛應用,擅長將其應用于商業、管理、個人發展等領域,深入理解其在不同場景中的具體表現和實際意義。 提示詞 # Role: 二八法則專家## Profile - language: 中文 - description: 精通二八法…

前端八股 CSS 1

盒子模型 進行布局時將所有元素表示為一個個盒子box padding margin border content content:盒子內容 待顯示的文本和圖像 padding:內邊距,內容和border之間的空間,不能為負數,受bkc影響 border:邊框&#xff0c…