linux-文件操作

在 Linux 系統中,文件操作與管理是日常使用和系統管理的重要組成部分。下面將詳細介紹文件的復制、移動、鏈接創建,以及文件查找、文本處理、排序、權限管理等相關知識。

一、文件的復制

在 Linux 里,cp?命令可用于復制文件或目錄,生成其副本。其語法結構為:cp [選項] 源文件或目錄 目標文件或目錄。以下是一些常用選項:

  • -r:遞歸復制整個目錄及其子目錄。若要復制一個包含子目錄的文件夾,就需要使用該選項。
  • -i:在覆蓋目標文件之前會提醒用戶,避免誤操作覆蓋重要文件。
  • -f:強制復制,會忽略錯誤繼續復制,即便遇到一些小問題也會盡力完成復制操作。

二、文件的移動

mv?命令用于移動文件或目錄,語法結構為:mv [選項] 源文件或目錄 目標文件或目錄。常用選項?-i?為交互式操作,當目標文件存在時,會提醒用戶是否覆蓋。

此外,mv?還有其他使用方式。可以使用?mv [多個]文件 目錄,如果文件不在目標目錄中,就會被移入該文件夾;也能使用?mv [多個]目錄 目標目錄,實現目錄的移動。

三、創建鏈接文件

ln?命令可以為文件創建鏈接文件,它不會生成副本,而是與原文件相關聯。其語法結構是:ln [選項] 源文件 目標文件。常用選項?-s?用于創建軟鏈接文件。

硬鏈接與軟鏈接的區別

  • 硬鏈接:鏈接文件和源文件具有相同的索引號,鏈接讓它們有不同的名稱。硬鏈接不能跨文件系統,并且不能為目錄創建硬鏈接。
  • 軟鏈接:只是指向另一個文件名,包含的是另外一個文件的路徑名的文本指針。軟鏈接可以跨文件系統,也可以為目錄創建軟鏈接。

目錄的鏈接方面,子目錄數一開始創建默認是 2(.?和?..)。可以通過?ls -dl?來展示詳細的信息,-d?選項能讓目錄像文件一樣顯示。

文件名替換功能

在 Linux 中,可以使用特定字符去匹配字符(正則表達式):

  • ?:匹配單個字符。
  • *:匹配 0 到 n 個字符。
  • [字符列表]:匹配文件名中任意在字符列表中的字符。
  • [!字符列表]:匹配文件名中任意不在字符列表中的字符。

系統會先處理通配符,再去匹配(文件名擴展),命令本身并不知道通配符的存在。

四、文件查找和文本處理

查找文件

find?命令可在層次目錄中根據文件名或文件屬性名去定位文件,還能對定位的文件執行刪除、打印等操作。其語法格式為:find [目錄] [條件] [動作]。例如,find ./ -name filea -print?會在當前目錄中通過名字查找?filea,找到后將其打印出來。

常見選項
  • -name:根據文件名查找,使用時可以結合通配符,但要使用雙引號包起來。
  • -type:根據文件類型查找,常見的文件類型有?b(塊設備)、c(字符特殊設備)、d(目錄文件)、f(普通文件)。
  • 可以使用操作符實現多個條件的查找:
    • -a:與操作(默認)。
    • -o:或操作。
    • !:非操作。
    • ():邏輯組,指定哪些條件優先評估。
  • -size +-n:根據文件大小(塊)查找。
  • -mtime +-n:根據最后修改的時間(天)查找。
常見動作
  • -exec 命令名 {} \;:把找到的文件當做參數去執行新的命令。
  • -ok 命令名 {} \;:同上,但為交互式操作,執行前會詢問用戶是否繼續。
    也可以使用?+?去替換?\;

文本查找

grep?命令用于在一個或多個文件中查找滿足特定格式的行。其語法格式為:grep [選項] 搜索的字符串 文件名,輸出的是包含搜索字符串的行。

常見選項
  • -i:忽略大小寫。
  • -n:顯示匹配的行號。
  • -v:顯示不匹配的行。
  • -w:匹配整個字符串。
  • -c:顯示匹配行的數量。
  • -r:遞歸搜索。

字段提取

cut?命令可從文件中取出指定的字段或列,語法格式為:cut 選項 文件

常見選項
  • -b:指定字節,如?1,3,5?或?1 - 3,5
  • -c:指定字符,如?1 - 4?表示輸出第一個到第四個字符。
  • -d:指定分隔符,默認是制表符。如果分隔符有特殊意義或為空格,需要用雙引號括起來,例如?cut -d " " -f 1 phones
  • -f:指定字段的位置。

cut?命令的輸出會顯示在標準輸出中。

文件排序

sort?命令用于對文件進行排序,語法格式為:sort [選項] 文件

常見選項
  • -n:以數值來排序,包含負數和小數。
  • -r:逆序排序。
  • -o:輸出到指定的文件。
  • -k:指定排序的依據字段,如?1,2?表示先用第一個字段排序,若相同再用第二個字段排序。

五、文件權限管理

文件權限的含義

文件
  • 讀(r:可以讀取文件內容。
  • 寫(w:可以修改文件內容,也能刪除文件。
  • 執行(x:可以將文件作為程序文件執行。
目錄
  • 讀(r:可以列出目錄內容。
  • 寫(w:可以在目錄內部創建、刪除、重命名文件和子目錄。
  • 執行(x:可以進入該目錄。

umask 掩碼

umask?掩碼用于設置哪些權限不會被賦予新文件。文件的默認權限是 666,目錄的默認權限是 777。例如,umask 022?會將初始權限設置為?777 - 022(目錄)和?666 - 022(文件)。如果?umask?是 4 位,第一位表示特殊權限。

修改權限

chmod?命令用于修改文件權限,有兩種方式:

  • 字符串方式:字符串包括三個部分,u(用戶)、g(組)、o(其他)、a(所有);+-=rwx?或?-。例如,chmod u+x file?表示給文件的所有者添加執行權限。
  • 三位八進制方式:例如,chmod 755 file?。

六、Linux 文件組織方式

Linux 基于索引節點來組織文件,索引節點的最大數量在初始化的時候就確定了。刪除一個文件會釋放其占用的索引節點。目錄包含索引節點號,通過索引節點號可以找到對應的索引節點,而索引節點指向文件的數據。

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

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

相關文章

C++ 復習

VS 修改 C 語言標準 右鍵項目-屬性 輸入輸出 //引用頭文件&#xff0c;用<>包裹起來的一般是系統提供的寫好的代碼 編譯器會在專門的系統路徑中去進行查找 #include <iostream> //自己寫的代碼文件一般都用""包裹起來 編譯器會在當前文件所在的目錄中査…

openGauss新特性 | HTAP新特性介紹

一、行列融合功能簡介 HTAP 行列融合特性在單機、主備場景下&#xff0c;通過節點的行列雙格式內存模式&#xff0c;實現openGauss HTAP一體化數據庫架構。 通過高效的行列轉換技術方案&#xff0c;節點讀取磁盤行存數據&#xff0c;生成列存儲單元&#xff08;Column Unit&am…

雙目測量中的將視差圖重投影成三維坐標圖

雙目測距主要步驟如下&#xff1a; 左右兩張圖片 → 匹配 → 得到視差圖 disp&#xff1b; 使用 cv2.reprojectImageTo3D(disp, Q) 將視差圖 重投影 成三維坐標圖 → 得到 points_3d 什么是 points_3d&#xff1f; points_3d cv2.reprojectImageTo3D(disp, Q)points_3d.shap…

《深度剖析:SOAP與REST,API集成的兩極選擇》

API作為不同系統之間交互的橋梁&#xff0c;其設計與實現的優劣直接影響著整個軟件生態的運轉效率。而在API的設計領域&#xff0c;SOAP和REST猶如兩座巍峨的山峰&#xff0c;各自代表著截然不同的設計理念與應用方向&#xff0c;成為開發者在構建API時必須慎重權衡的關鍵選項。…

非對稱加密算法(RSA、ECC、SM2)——密碼學基礎

對稱加密算法&#xff08;AES、ChaCha20和SM4&#xff09;Python實現——密碼學基礎(Python出現No module named “Crypto” 解決方案) 這篇的續篇&#xff0c;因此實踐部分少些&#xff1b; 文章目錄 一、非對稱加密算法基礎二、RSA算法2.1 RSA原理與數學基礎2.2 RSA密鑰長度…

Pillow 玩圖術:輕松獲取圖片尺寸和顏色模式

前言 在這個“圖像為王”的時代,誰還敢說自己沒被一張圖折磨過?一張圖片不講武德,說崩就崩,說卡就卡,仿佛像素里藏著程序員的眼淚。不管你是網頁設計師、AI煉丹師,還是只是想把貓片修得像藝術品,圖片的尺寸和顏色模式都是你必須掌握的第一手情報。如果你不知道它有多寬…

下載core5compat 模塊時,被禁止,顯示 - servese replied: Forbbidden. -->換鏡像源

怎么解決&#xff1f; --->換鏡像源 方法 1&#xff1a;使用命令行參數指定鏡像源 在運行 Qt 安裝器時&#xff0c;通過 --mirror 參數指定鏡像源&#xff1a; # Windows qt-unified-windows-x64-online.exe --mirror https://mirrors.ustc.edu.cn/qtproject# Linux/macO…

WPF中Behaviors

行為的好處 可以把復雜的界面邏輯抽象出去&#xff0c;讓xaml的界面設計更簡單&#xff0c;更清爽 1.安裝包 Microsoft.Xaml.Behaviors.Wpf2.簡單實現拖動效果 <Border Width"100"Height"100"Background"Red"><i:Interaction.Behav…

GitHub 趨勢日報 (2025年05月03日)

本日報由 TrendForge 系統生成 https://trendforge.devlive.org/ &#x1f4c8; 今日整體趨勢 Top 10 排名項目名稱項目描述今日獲星總星數語言1hacksider/Deep-Live-Camreal time face swap and one-click video deepfake with only a single image? 1582? 59337Python2aip…

Oracle OCP認證考試考點詳解083系列08

題記&#xff1a; 本系列主要講解Oracle OCP認證考試考點&#xff08;題目&#xff09;&#xff0c;適用于19C/21C,跟著學OCP考試必過。 36. 第36題&#xff1a; 題目 解析及答案&#xff1a; 關于數據庫閃回&#xff08;FLASHBACK DATABASE&#xff09;功能&#xff0c;以下…

優化01-統計信息

Oracle 的統計信息是數據庫優化器生成高效執行計劃的核心依據。它記錄了數據庫對象&#xff08;如表、索引、列等&#xff09;的元數據信息&#xff0c;幫助優化器評估查詢成本并選擇最優執行路徑。以下是關于 Oracle 統計信息的詳細介紹&#xff1a; 一、統計信息的分類 表統…

動態規劃-面試題08.01三步問題-力扣(LeetCode)

一、題目解析 此題可以類比第N個泰波那契數 二、算法解析 1、狀態表示 根據上面的分析和題目要求&#xff0c;dp[i]表示&#xff1a;到達i位置&#xff0c;一共有多少種方法 2、狀態轉移方程 以i位置的狀態&#xff0c;以最近一步劃分問題 dp[i] 從i-1->i dp[i-1] 從…

kotlin中枚舉帶參數和不帶參數的區別

一 ? 代碼對比總結 第一段&#xff08;帶參數 工具方法&#xff09; enum class SeatPosition(val position: Int) {DRIVER_LEFT(0),DRIVER_RIGHT(1),SECOND_LEFT(2),SECOND_RIGHT(3);companion object {fun fromPosition(position: Int): SeatPosition? {return SeatPosi…

Java使用JDBC操作數據庫

1.創建一個數據庫一會用來連接 2.使用idea新建一個Java項目 3.在pom文件中加上相關依賴&#xff0c;并配置Maven路徑 <dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>…

重名導致does not name a type

今天在Ubuntu24.04上編成時&#xff0c;makefile編譯報錯: falsecolor.h:48:9: error: ‘FalseColor’ does not name a type48 | FalseColor* content ;| ^~~~~~~~~~falsecolor.h的部分代碼如下: class FalseColor {public:FalseColor(int w, int h){width …

Vue3 后臺管理系統模板

Vue3 后臺管理系統模板 gie倉庫地址 一個基于 Vue3 TypeScript Element Plus 的后臺管理系統模板&#xff0c;集成了動態路由和權限管理功能。 技術棧 Vue 3.2TypeScript 4.5Vue Router 4Vuex 4Element Plus 2.9AxiosLess 功能特性 &#x1f680; 基于 Vue3 最新技術棧開…

林業數智化轉型初步設計方案

最近應林業方面的朋友要求,幫助其設計了林業方面的數字化智能化轉型的方案設計,編寫了如下內容,供大家參考,林業方面主要有三大方向,即林業生態、生物災害和疫源疫病,目前已經建成了一些信息化系統,但在數字化智能化方面偏弱,就想著如何借助人工智能、物聯網、大數據和…

springboot單體項目的執行流程

首先就是啟動springboot項目&#xff0c;即執行主函數&#xff0c;這個主函數的類通常帶有SpingBootApplication注解&#xff0c;類中的main方法就是程序的入口。 啟動主函數后&#xff0c;SpringBoot會按特定順序加載配置文件&#xff0c;如application.properties或applicat…

Python格式化字符串的四種方法

Python格式化字符串的四種方法 1.使用 % 運算符 %s 是一個字符串的占位符&#xff0c;而 “World” 是替換它的值 print("Hello, %s!" % "World") # 輸出&#xff1a;Hello, World!你可以使用多個占位符 注意&#xff1a;多個變量占位&#xff0c;變量要…

【Redis】緩存|緩存的更新策略|內存淘汰策略|緩存預熱、緩存穿透、緩存雪崩和緩存擊穿

思維導圖&#xff1a; Redis最主要的用途&#xff0c;三個方面&#xff1a; 1.存儲數據&#xff08;內存數據庫&#xff09; 2.緩存&#xff08;redis最常用的場景&#xff09; 3.消息隊列 一、什么是緩存 我們知道對于硬件的訪問速度來說&#xff0c;通常情況下&#xff1…