【Linux基礎】文件查找和文本處理指令

目錄

grep命令

find命令

tar命令

head命令

tail命令

wc命令

tee命令


grep命令

作用:在文件中搜索匹配特定模式的文本行,并將結果輸出到標準輸出(通常是終端)。

基本用法

grep [選項] 搜索模式 [文件名]

常用選項

  • -i:忽略大小寫,進行不區分大小寫的搜索。
  • -v:反向搜索,輸出不匹配搜索模式的行。
  • -n:在輸出中顯示匹配行的行號。
  • -c:統計匹配行的數量,而不是輸出匹配的行。
  • -l:只列出包含匹配行的文件名,而不是輸出匹配的行。
  • -r-R:遞歸搜索目錄中的所有文件。
  • -w:僅匹配整詞,避免部分匹配。
  • -e:指定多個搜索模式,可以多次使用 -e 來指定多個模式。
  • -o:僅輸出匹配的部分,而不是整行。

例子:

#搜索目錄example中文件包含 "error" 或 "warning" 的行
grep -e "error" -e "warning"  -r example/#搜索error所在的文件
grep -lr "error" example

find命令

作用:在目錄樹中查找文件和目錄。

基本用法

find [路徑] [選項] [表達式]
  • 路徑:指定查找的起始目錄,默認為當前目錄 (.)。
  • 選項:控制find的行為。
  • 表達式:定義查找條件。

常用選項

1.按名稱查找

  • -name:按文件名查找(區分大小寫)。
  • -iname:按文件名查找(不區分大小寫)。
find /path/to/search -name "filename"

2.按類型查找

  • -type f:查找文件。
  • -type d:查找目錄。
find /path/to/search -type f

3.按大小查找

  • -size +100M:查找大于 100MB 的文件。
  • -size -100M:查找小于 100MB 的文件。
find /path/to/search -size +100M

4.按時間查找

  • -mtime -7:查找過去 7 天內修改的文件。
  • -mtime +7:查找 7 天前修改的文件。
  • -atime:按訪問時間查找。
  • -ctime:按狀態變更時間查找。
find /path/to/search -mtime -7

5.執行操作

  • -exec:對查找到的文件執行命令,{}代表當前文件,\;表示命令結束。
find /path/to/search -name "*.log" -exec rm {} \;

6.組合條件

  • -and:邏輯與(默認)。
  • -or:邏輯或。
  • -not:邏輯非。
find /path/to/search -name "*.txt" -and -size +1M

最常用的起始也就前面兩種用法。

tar命令

作用:用于文件打包和壓縮。

基本用法

tar [選項] [輸出文件] [輸入文件或目錄]
  • 選項:控制tar的行為(如創建、提取、壓縮等)。
  • 輸出文件:生成的歸檔文件名(如.tar、.tar.gz等)。
  • 輸入文件或目錄:需要打包的文件或目錄。

常用參數選項

  • -c --create:創建新的歸檔文件,即打包,打包的意思就是說把一堆文件打包成一個文件。
  • -x --extract:解壓文件。
  • -v --verbose:可視化,顯示詳細的tar處理的文件信息的過程。
  • -f --file:要操作的文件名。
  • -z:通過gzip來進行壓縮或解壓縮(.tar.gz或.tgz)。
  • -j:通過bzip2來歸檔壓縮文件(.tar.bz2)。
  • -J:使用xz壓縮工具壓縮成.xz文件(.tar.xz)。
  • -t --list:列出歸檔文件中的內容。
  • -r:向歸檔文件中追加文件。
  • -C --directory=DIR:解壓文件至指定的目錄,如果是解壓到當前目錄,可以不加-C。

例子

#解壓到指定目錄
tar -xzvf archive.tar.gz -C /path/to/directory#查看文件中的內容
tar -tzvf archive.tar.gz#追加文件
tar -rvf archive.tar newfile#打包并壓縮
tar -czvf archive.tar.gz file1 file2 dir1#解壓
tar -xzvf archive.tar.gz

常用壓縮格式對比

格式

命令選項

壓縮率

速度

文件擴展名

gzip

-z

中等

較快

.tar.gz

bzip2

-j

較高

較慢

.tar.bz2

xz

-J

最高

最慢

.tar.xz

head命令

作用:顯示文件的開頭部分(默認顯示前 10 行)。它通常用于快速查看文件的內容,而不需要加載整個文件。

基本用法

head [選項] [文件]

常用選項

選項

說明

-n <行數>

顯示文件的前 <行數>行(例如 -n 20)。

-c <字節數>

顯示文件的前 <字節數>字節。

-q

不顯示文件名(靜默模式)。

-v

總是顯示文件名(默認行為)。

例子

#顯示前十行
head filename.txt#顯示前N行
head -n N filename.txt#顯示前N個字節
head -c N filename.txt#顯示多個文件的前N行,并在每個文件內容前顯示文件名。
head -n N file1.txt file2.txt#靜默模式(不顯示文件名)
head -q -n N file1.txt file2.txt#從標準輸入讀取數據 通過管道將cat的輸出傳遞給head,顯示前10行。
cat filename.txt | head -n 10

tail命令

作用:用于顯示文件的末尾部分(默認顯示最后 10 行)。它通常用于查看日志文件或實時監控文件內容的變化。

基本用法

tail [選項] [文件]

常用選項

選項

說明

-n <行數>

顯示文件的最后 <行數>行(例如 -n 20)。

-c <字節數>

顯示文件的最后 <字節數>字節。

-f

實時跟蹤文件內容的變化(常用于日志監控)。

-q

不顯示文件名(靜默模式)。

-v

總是顯示文件名(默認行為)。

例子

#顯示文件的最后十行
tail filename.txt#實時顯示文件內容的變化
tail -f /var/log/syslog

wc命令

作用:主要用于統計文件的行數、單詞數和字節數等信息。默認會同時統計行數、單詞數和字節數。

基本用法

wc [選項] 文件名

常用選項

  • -c:統計文件的字節數。
  • -l:統計文件的行數。
  • -w:統計文件的單詞數。
  • -m:統計文件的字符數(包括換行符等)。
  • -L:統計文件中最長行的長度。

tee命令

作用:將標準輸入(stdin)的內容同時輸出到標準輸出(stdout)和一個或多個文件中。它的名字來源于管道(pipeline)中的“T”型分叉,表示數據流的分流。

基本用法

command | tee [選項] 文件名

常用選項

  • -a:追加模式(append)。如果不使用-a選項,tee默認會覆蓋文件內容。
  • -i:忽略中斷信號(ignore interrupt signals)。即使接收到中斷信號(如 Ctrl+C),tee也會繼續運行。

例子

#一個命令 ls -l,我們希望將它的輸出保存到文件 output.txt 中,同時在終端上顯示
ls -l | tee output.txt#如果希望將輸出追加到文件中,而不是覆蓋文件
ls -l | tee -a output.txt

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

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

相關文章

云軸科技ZStack入選賽迪顧問2025AI Infra平臺市場發展報告代表廠商

DeepSeek憑借低成本、高性能、開源優勢帶來的蝴蝶效應依然在持續影響企業AI應用部署。尤其在數據安全備受關注的背景下&#xff0c;私有化部署已經成為企業應用AI大模型的優選方案。賽迪顧問在近期發布的《2025中國AI Infra平臺市場發展研究報告》中認為&#xff0c;在推理算力…

從零開始跑通3DGS教程:(四)修改(縮放、空間變換)colmap生成的sfm結果

寫在前面 本文內容 本文所屬《從零開始跑通3DGS教程》系列文章&#xff1b; 通過colmap進行的sfm的普通方式會丟失場景的物理尺度信息&#xff0c;并且并不在符合一般認知的坐標系下&#xff0c;本文將讀取colmap生成的點云和相機pose&#xff0c;將其進行空間變換和縮放之后&a…

RK3568-OpenHarmony(1) : OpenHarmony 5.1的編譯

概述: 本文主要描述了&#xff0c;如何在ubuntu-20.04操作系統上&#xff0c;編譯RK3568平臺的OpenHarmony 5.1版本。 搭建編譯環境 a. 安裝軟件包 sudo apt-get install git-lfs ruby genext2fs build-essential git curl libncurses5-dev libncursesw5-dev openjdk-11-jd…

vue+tsc+noEmit導致打包報TS類型錯誤問題及解決方法

項目場景&#xff1a; 提示&#xff1a;這里簡述項目相關背景&#xff1a; 當我們新建vue3項目,package.json文件會自動給我添加一些配置選項,這寫選項基本沒有問題,但是在實際操作過程中,當項目越來越復雜就會出現問題,本文給大家分享vuetscnoEmit導致打包報TS類型錯誤問題及…

Js 判斷瀏覽器cookie 是否啟用

驗證時 google瀏覽器 135.0.7049.117 不生效 cookie.html <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><title>Cookie 檢測</title> </head> <body><h1>檢測是否啟用 Cookie<…

Lambda表達式解讀

本文通過具體案例演示函數式接口Function<T,R>的三種實現方式演變過程。 一、傳統匿名內部類實現 Integer resInt1 t1(new Function<String, Integer>() {Overridepublic Integer apply(String s) {int i Integer.parseInt(s);return i;} });實現特點&#xff1…

等價無窮小代換

理解&#xff1a; 函數某一點的值可以使用泰勒展開式表示&#xff0c;&#xff08;低階無窮小 高階無窮小&#xff09;&#xff0c;主要有低階無窮小決定。 計算極限的時候&#xff1a; 乘除關系隨便換&#xff0c;不影響各個式子的低階無窮小加減關系&#xff1a; &#xf…

護網HVV初級藍隊面試題總結

struts2原理特征 原理:默認的content-type解析器會把用戶傳來的數據直接當成代碼執行&#xff0c;造成rce特征:ognl表達式&#xff0c;memberaccess字段&#xff0c;可以通過catalina日志過濾關鍵信息查找攻擊特征ongl表達式可以被當作代碼執行&#xff0c;其中的類為defaulta…

Web3 實戰項目項目部署到 GitHub 和上線預覽的完整指南

目錄 &#x1f680; 一、部署到 GitHub ? 前置準備 &#x1f9f1; 部署步驟&#xff1a; 1. 創建一個 GitHub 倉庫 2. 上傳項目文件 方法一&#xff1a;使用 Git 命令行 方法二&#xff1a;直接上傳 &#x1f310; 二、通過 GitHub Pages 免費上線 DApp&#xff08;前端…

3.優惠券秒殺

3.1 全局唯一 ID 當用戶搶購時&#xff0c;就會生成訂單并保存到 tb_voucher_order 這張表中&#xff0c;而訂單表如果使用數據庫自增 ID 就存在一些問題&#xff1a; id 的規律性太明顯 受單表數據量的限制 場景分析一&#xff1a;如果我們的 id 具有太明顯的規則&#xf…

AI日報 · 2025年5月07日|谷歌發布 Gemini 2.5 Pro 預覽版 (I/O 版本),大幅提升編碼與視頻理解能力

1、谷歌發布 Gemini 2.5 Pro 預覽版 (I/O 版本)&#xff0c;大幅提升編碼與視頻理解能力 谷歌于5月6日提前發布 Gemini 2.5 Pro 預覽版 (I/O 版本)&#xff0c;為開發者帶來更強編碼能力&#xff0c;尤其優化了前端與UI開發、代碼轉換及智能體工作流構建&#xff0c;并在WebDe…

Python+ffmpeg 實現給視頻添加字幕

創作靈感 孩子學校經常留作業&#xff0c;需要提交一段錄制的視頻&#xff0c;視頻上要求添加學校、班級、姓名等信息的字幕&#xff0c;手機自帶的相機軟件字幕添加位置要么只能添加在視頻正中&#xff0c;要么無法添加多行文本&#xff0c;要么只能添加在片頭或者片尾&#…

OpenLayers 精確經過三個點的曲線繪制

OpenLayers 精確經過三個點的曲線繪制 根據您的需求&#xff0c;我將提供一個使用 OpenLayers 繪制精確經過三個指定點的曲線解決方案。對于三個點的情況&#xff0c;我們可以使用 二次貝塞爾曲線 或 三次樣條插值&#xff0c;確保曲線精確通過所有控制點。 實現方案 下面是…

Django緩存框架API

這里寫自定義目錄標題 訪問緩存django.core.cache.cachesdjango.core.cache.cache 基本用法cache.set(key, value, timeoutDEFAULT_TIMEOUT, versionNone)cache.get(key, defaultNone, versionNone)cache.add(key, value, timeoutDEFAULT_TIMEOUT, versionNone)cache.get_or_se…

Linux系統管理與編程17:自動化部署ftp服務

蘭生幽谷&#xff0c;不為莫服而不芳&#xff1b; 君子行義&#xff0c;不為莫知而止休。 #virtual用戶管理&#xff1a;passerbyA、captain和admin三個虛擬用戶 # passerbyA只能看&#xff0c;captain可看讀寫上傳&#xff0c;但不能刪除。admin全部權限 [rootshell shell]…

2025python學習筆記

一.Python語言基礎入門 第一章 01.初識Python Python的起源&#xff1a; 1989年&#xff0c;為了打發圣誕節假期&#xff0c;Gudio van Rossum吉多范羅蘇姆&#xff08;龜叔&#xff09;決心開發一個新的解釋程序&#xff08;Python維形&#xff09;1991年&#xff0c;第一個…

STM32單片機的快速成長路徑規劃

一、基礎準備階段&#xff08;1-2周&#xff09; C語言核心技能 重點掌握&#xff1a;指針操作、結構體、枚舉、位操作、函數指針&#xff08;回調函數基礎&#xff09;實踐項目&#xff1a;通過51單片機或STM8完成LED控制、按鍵檢測等基礎項目&#xff0c;熟悉寄存器配置和調試…

torch.nn.init.uniform_

nn.init.uniform_ 是 PyTorch 中用于初始化張量&#xff08;tensor&#xff09;的一個函數&#xff0c;它的作用是將張量的值填充為從均勻分布中采樣的隨機數。 詳細說明&#xff1a; 函數&#xff1a; torch.nn.init.uniform_(tensor, a0., b1.)tensor&#xff1a;需要被初始…

Spring MVC中跨域問題處理

在Spring MVC中處理跨域問題可以通過以下幾種方式實現&#xff0c;確保前后端能夠正常通信&#xff1a; 方法一&#xff1a;使用 CrossOrigin 注解 適用于局部控制跨域配置&#xff0c;直接在Controller或方法上添加注解。 示例代碼&#xff1a; RestController CrossOrigin…

基本句子結構

以下是英語句子五種基本結構的詳細解釋&#xff0c;并附上系動詞的全面分類及示例&#xff1a; ?1. 主謂結構&#xff08;SV&#xff09;? ?結構&#xff1a;主語&#xff08;Subject&#xff09; 不及物動詞&#xff08;Intransitive Verb&#xff09;?核心&#xff1a;…