4、ubuntu系統 | 文本和目錄操作函數

1、目錄操作函數

ls(列出目錄內容)

  • 用途:列出指定目錄中的文件和子目錄。
  • 語法ls [選項] [路徑]
  • 常用選項
    • -l:以長格式顯示文件詳細信息(權限、所有者、大小、時間等)。
    • -a:顯示隱藏文件(以.開頭的文件)。
    • -R:遞歸列出子目錄內容。
# 列出當前目錄下的所有文件和子目錄
ls# 列出當前目錄的詳細信息(包含隱藏文件)
ls -la   # 可簡寫成ll# 遞歸列出當前目錄及其子目錄的內容
ls -R

cd(切換目錄)

  • 用途:更改當前工作目錄。
  • 語法cd [路徑]
  • 常用路徑
    • ~:用戶主目錄(如 /home/username)。
    • /:根目錄。
    • ..:上一級目錄。
# 切換到用戶主目錄
cd ~# 切換到根目錄
cd /# 切換到上一級目錄
cd ..

mkdir(創建目錄)

  • 用途:創建新目錄。
  • 語法mkdir [選項] 目錄名
  • 常用選項
    • -p:遞歸創建目錄(自動創建父目錄)。-p,--parents的縮寫,表示自動創建路徑中的父目錄(如果它們不存在)
# 創建單個目錄
mkdir new_folder# 遞歸創建多級目錄(如 a/b/c)
mkdir -p a/b/c

rmdir(刪除空目錄)

  • 用途:刪除空目錄。
  • 語法rmdir [目錄名]
  • 注意:目錄必須為空,否則會報錯。
# 刪除空目錄 example_dir
rmdir example_dir

rm(刪除文件或目錄)

  • 用途:刪除文件或目錄。
  • 語法rm [選項] 文件或目錄
  • 常用選項
    • -r:遞歸刪除目錄及其內容,recursive。
    • -f:強制刪除(不提示確認),force。
# 刪除文件 file.txt
rm file.txt# 遞歸刪除目錄及其內容(強制刪除)
rm -rf directory_name

cp(復制文件或目錄)

  • 用途:復制文件或目錄。
  • 語法cp [選項] 源路徑 目標路徑
  • 常用選項
    • -r:遞歸復制目錄。
    • -i:交互式復制(覆蓋前提示),interactive。
# 復制文件
cp source.txt destination.txt# 遞歸復制目錄
cp -r source_dir/ destination_dir/

mv(移動或重命名文件/目錄)

  • 用途:移動文件或目錄,或重命名文件/目錄。
  • 語法:mv  [選項]  源文件/目錄  目標路徑/新名稱
  • 常用選項
    • -v:顯示詳細操作信息
    • -i:交互式操作(防止覆蓋)
    • -n:禁止覆蓋已存在的文件
    • -u:當源文件比目標文件新,或者目標文件不存在時,才執行移動操作
    • -b:覆蓋前備份原文件

# 1. 創建測試文件和目錄
mkdir -p test_dir1 test_dir2
touch test_dir1/file1.txt test_dir1/file2.txt test_dir1/file3.txt
echo "初始文件結構:"
ls -R test_dir1
# 輸出:
# test_dir1:
# file1.txt  file2.txt  file3.txt# ----------------------------
# 2. 移動單個文件
# 將 file1.txt 移動到 test_dir2
mv test_dir1/file1.txt test_dir2/
echo "移動單個文件后:"
ls -R test_dir2
# 輸出:
# test_dir2:
# file1.txt# ----------------------------
# 3. 重命名文件
# 將 file2.txt 重命名為 new_file.txt
mv test_dir1/file2.txt test_dir1/new_file.txt
echo "重命名文件后:"
ls test_dir1
# 輸出:
# file3.txt  new_file.txt# ----------------------------
# 4. 移動多個文件
# 將多個文件移動到目標目錄
mv test_dir1/file3.txt test_dir1/new_file.txt test_dir2/
echo "移動多個文件后:"
ls -R test_dir2
# 輸出:
# test_dir2:
# file1.txt  file3.txt  new_file.txt# ----------------------------
# 5. 使用 -i 防止覆蓋(交互式)
# 如果目標文件存在,會提示是否覆蓋
# 示例:嘗試覆蓋 test_dir2 中的 file1.txt
mv -i test_dir1/file1.txt test_dir2/file1.txt
# 輸出示例:
# mv: overwrite 'test_dir2/file1.txt'? y# ----------------------------
# 6. 使用 -v 顯示詳細操作
# 顯示移動過程的詳細信息
mv -v test_dir1/file1.txt test_dir2/
# 輸出示例:
# 'test_dir1/file1.txt' -> 'test_dir2/file1.txt'# ----------------------------
# 7. 使用 -n 禁止覆蓋
# 如果目標文件存在,跳過操作
mv -n test_dir1/file1.txt test_dir2/
# 輸出:無(因為目標文件已存在)# ----------------------------
# 8. 使用通配符批量移動
# 移動所有 .txt 文件
touch test_dir1/a.txt test_dir1/b.txt
mv test_dir1/*.txt test_dir2/
echo "通配符批量移動后:"
ls -R test_dir2
# 輸出示例:
# test_dir2:
# a.txt  b.txt  file1.txt  file3.txt  new_file.txt# ----------------------------
# 9. 使用 -b 覆蓋前備份
# 覆蓋前備份原文件(備份文件名加 ~)
mv -b test_dir2/file1.txt test_dir2/backup.txt
echo "覆蓋前備份示例:"
ls -R test_dir2
# 輸出示例:
# test_dir2:
# backup.txt  file1.txt~  a.txt  b.txt  file3.txt  new_file.txt# ----------------------------
# 10. 結合 find 移動特定文件
# 查找并移動所有 .log 文件
touch test_dir1/sample.log
find test_dir1 -name "*.log" -exec mv {} test_dir2/ \;
echo "find + mv 示例:"
ls -R test_dir2
# 輸出示例:
# test_dir2:
# sample.log  backup.txt  file1.txt~  a.txt  b.txt  file3.txt  new_file.txt# ----------------------------
# 11. 移動目錄
# 移動整個目錄及其內容
mv test_dir1 test_dir2/
echo "移動目錄后:"
ls -R test_dir2
# 輸出示例:
# test_dir2:
# sample.log  backup.txt  file1.txt~  a.txt  b.txt  file3.txt  new_file.txt  test_dir1# test_dir2/test_dir1:
# (空目錄,因為所有文件已被移動)

find(查找文件或目錄)

  • 用途:在目錄樹中查找文件或目錄。
  • 語法find [路徑] [表達式]
  • 常用選項
    • -name:按名稱查找。
    • -type:按類型查找(f表示文件,d表示目錄?

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

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

相關文章

C++--范圍for循環詳解

范圍 for 循環是 C11 引入的語法特性,用于簡化遍歷容器或數組元素的過程。它比傳統 for 循環更簡潔安全,特別適合初學者。以下是詳細講解: 基本語法 for (元素類型 變量名 : 容器/數組) {// 循環體(使用變量名訪問當前元素&#…

RDMA簡介1之RDMA開發必要性

為了滿足大批量數據的采集、存儲與傳輸需求,越來越多的數據密集型應用如機器學習、雷達、金融風控、航空航天等選擇使用現場可編程邏輯門陣列作為數據采集前端硬件來實現高性能的數據采集系統。FPGA憑借其高靈活性、高并行能力及可高度定制化的特點,能夠…

xmake的簡易學習

文章目錄 1. xmake是什么2. 一個可執行程序3. 一個庫文件4. 遍歷文件用法5. 第三方庫3.1 系統安裝庫3.2 獨立庫 6. 后續 由于前一篇博客的最后說要做一些rknn的優化,其實這個工作很早就完成了,但是我是使用 xmake這個來做我的工程的構建的,不…

【ArcGIS微課1000例】0147:Geographic Imager6.2下載安裝教程

文章目錄 一、軟件功能二、下載地址三、安裝教程Geographic Imager地圖工具使Adobe Photoshop空間圖像可以快速高效地工作。它增加了導入,編輯,操作和導出地理空間圖像的工具,例如航空和衛星圖像。Geographic Imager Mac功能非常強大,擁有柵格數據輸出、投影信息修改、基于…

【 java 集合知識 第一篇 】

1.概念 1.1.集合與數組的區別 集合:長度不固定,動態的根據數據添加刪除改變長度,并且只能存入引用類型,讀取采用迭代器或其他方法 數組:長度固定,不可改變,既可以存入基本類型也可以存入引用…

嵌入式開發學習日志(linux系統編程--系統編程之 進程間通信IPC)Day32

一、引言 空間獨立,需要一些操作; 分為三大類: 1、古老的通信方式 無名管道 有名管道 信號 2、IPC對象通信 system v BSD suse fedora kernel.org 消息隊列(用的相對少,這里不討論) …

metersphere不同域名的參數在鏈路測試中如何傳遞?

域名1:https://api.domain1.com 域名2:https://api.domain2.com 域名1的返回參數stteid會作為域名2的入參 步驟: 1)先在metersphere—接口測試—接口定義中創建域名1和域名2的接口 2)接口創建好后,在接口測…

使用Process Explorer、System Informer(Process Hacker)和Windbg工具排查軟件高CPU占用問題

目錄 1、問題現象 2、使用Process Explorer和System Informer(該工具原先叫Process Hacker)查看占用CPU高的線程 3、使用System Informer工具時發現了一個關鍵細節 4、將Windbg附加到軟件進程上,根據System Informer中顯示的線程id到Wind…

Linux(線程概念)

目錄 一 虛擬地址到物理地址的轉換 1. 操作系統如何管理物理內存: 2. 下面來談談虛擬地址如何轉換到物理地址: 3. 補充字段: 二 Linux中的線程 1. 先來說說進程: 2. 線程: 3. 線程相比較于進程的優缺點&#x…

阿里云為何,一個郵箱綁定了兩個賬號

阿里云“幽靈賬號”之謎:同一個郵箱注銷后仍有兩個賬號?深度揭秘成因與終極解決方案! 你是否曾在阿里云上使用同一個郵箱注冊過多個賬號,明明已經**“徹底”注銷了其中一個**,卻驚愕地發現系統里依然**“幽靈般”掛著…

動態規劃-數位DP

今天開始做關于數位DP的問題,首先對于數位DP來說,這類問題難度較大,比較難理解,所以博主也會盡量講的更加詳細一些,來幫助大家更好地理解這里的相關知識。 前置知識: 1.首先對于數位DP來說,主…

總覽四級考試

別被“四級”這個龐然大物嚇到!我們一起拆解它:?? 📍 ??核心認知:四級是一場策略性考試!?? 它不考智商,考的是??基礎英語能力 考試技巧 時間管理??。基礎可以通過努力補,技巧可以…

BSRR對比BRR對比ODR

? 三種操作方式的本質區別 寄存器功能原子操作特點BSRR同時支持置位(1)和復位(0)?? 是單指令完成任意位操作,無競爭風險ODR直接讀寫輸出狀態? 否需"讀-改-寫",多線程/中斷中需關中斷保護BRR只能復位(0)?? 是僅清零功能,無置…

職坐標精選嵌入式AI物聯網開源項目

隨著嵌入式、AI與物聯網技術的深度融合,開源生態已成為開發者構建智能硬件解決方案的核心驅動力。本文將從嵌入式實時操作系統、多模態AI數據集及物聯網接入平臺三大維度切入,系統性梳理技術選型要點與實踐路徑。在嵌入式領域,重點解析低功耗…

Ubuntu系統 | 本地部署ollama+deepseek

1、Ollama介紹 Ollama是由Llama開發團隊推出的開源項目,旨在為用戶提供高效、靈活的本地化大型語言模型(LLM)運行環境。作為Llama系列模型的重要配套工具,Ollama解決了傳統云服務對計算資源和網絡連接的依賴問題,讓用戶能夠在個人電腦或私有服務器上部署和運行如Llama 3等…

【數據庫】關系數據庫標準語言-SQL(金倉)下

4、數據查詢 語法&#xff1a; SELECT [ALL | DISTINCT] <目標列表達式> [,<目標列表達式>] … FROM <表名或視圖名>[, <表名或視圖名> ] … [ WHERE <條件表達式> ] [ GROUP BY <列名1> [ HAVING <條件表達式> ] ] [ ORDER BY <…

基于YOLO-NAS-Pose的無人機象群姿態估計:群體行為分析的突破

【導讀】 應對氣候變化對非洲象的生存威脅&#xff0c;本研究創新采用無人機航拍結合AI姿態分析技術&#xff0c;突破傳統觀測局限。團隊在肯尼亞桑布魯保護區對比測試DeepLabCut與YOLO-NAS-Pose兩種模型&#xff0c;首次將后者引入野生動物研究。通過檢測象群頭部、脊柱等關鍵…

8.RV1126-OPENCV 視頻中添加LOGO

一.視頻中添加 LOGO 圖像大體流程 首先初始化VI,VENC模塊并使能&#xff0c;然后創建兩個線程&#xff1a;1.把LOGO灰度化&#xff0c;然后獲取VI原始數據&#xff0c;其次把VI數據Mat化并創建一個感興趣區域&#xff0c;最后把LOGO放感興趣區域里并把數據發送給VENC。2.專門獲…

AI+3D 視覺重塑塑料袋拆垛新范式:遷移科技解鎖工業自動化新高度

在工業自動化浪潮席卷全球的當下&#xff0c;倉儲物流環節的效率與精準度成為企業降本增效的關鍵戰場。其中&#xff0c;塑料袋拆垛作為高頻、高重復性的作業場景&#xff0c;傳統人工或機械臂操作面臨著諸多挑戰。遷移科技&#xff0c;作為行業領先的 3D 工業相機和 3D 視覺系…

MATLAB實戰:視覺伺服控制實現方案

以下是一個基于MATLAB的視覺伺服控制項目實現方案&#xff0c;結合實時圖像處理、目標跟蹤和控制系統設計。我們將使用模擬環境進行演示&#xff0c;但代碼結構可直接應用于真實硬件。 系統架構 圖像采集 → 目標檢測 → 誤差計算 → PID控制器 → 執行器控制 完整代碼實現 …