欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux中基本目錄操作命令詳解

 更新時間:2025年06月30日 10:22:57   作者:程序員岳彬  
作為 Java 程序員,在日常開發(fā)和運維過程中,熟練掌握 Linux 命令是必不可少的技能,尤其是目錄操作命令,是我們與文件系統(tǒng)交互的基礎,下面我們來看看這些命令的具體使用吧

簡介

在Java開發(fā)和運維中,我們經(jīng)常需要與Linux文件系統(tǒng)進行交互。掌握基本的目錄操作命令可以幫助我們高效地管理項目文件、查看目錄結構、部署應用程序等。本文將介紹Java程序員必須掌握的Linux目錄操作命令,分為以下幾個部分:

  • 基礎目錄操作命令(ls, cd, pwd)
  • 目錄創(chuàng)建與刪除命令(mkdir, rmdir, rm)
  • 文件與目錄操作命令(cp, mv)
  • 高級目錄操作命令(tree, find)
  • Java開發(fā)中的實用目錄操作技巧

一、基礎目錄操作命令

1.1 ls 命令:查看目錄內容

ls命令用于列出當前或指定目錄下的文件和子目錄。

語法

ls \[選項] \[路徑]

常用選項

  • -l:長格式顯示文件詳情
  • -a:顯示隱藏文件(以.開頭的文件)
  • -h:人性化顯示文件大?。ㄗ詣愚D換單位)
  • -R:遞歸顯示子目錄內容
  • -t:按修改時間排序(最新文件排在前面)

實例代碼

ls -l  # 長格式顯示當前目錄內容

ls -a  # 顯示當前目錄下的所有文件,包括隱藏文件

ls -lh # 長格式顯示并以易讀方式顯示文件大小

ls -R /etc # 遞歸顯示/etc目錄下的所有內容

注釋

  • 長格式顯示的信息包括文件類型與權限、硬鏈接數(shù)、所有者、所屬組、文件大小、修改時間和文件名
  • 文件類型以第一個字符表示:-表示普通文件,d表示目錄,l表示符號鏈接
  • 使用-h選項可以將文件大小以 KB、MB、GB 等單位顯示,更直觀
  • -R選項適合查看整個目錄結構

Java 開發(fā)應用場景

在 Java 項目開發(fā)中,我們經(jīng)常需要查看項目目錄結構,確認文件是否存在或正確生成。例如,在 Maven 項目中,可以使用ls -l target命令查看編譯生成的 class 文件和 jar 包

1.2 cd 命令:切換工作目錄

cd(Change Directory)命令用于在終端中切換當前工作目錄。

語法

cd \[選項] \[目標目錄]

常用選項

  • -L:如果目標目錄是符號鏈接,切換到符號鏈接的目錄(默認行為)
  • -P:如果目標目錄是符號鏈接,切換到它指向的物理位置目錄

實例代碼

cd \~  # 切換到用戶主目錄

cd .. # 切換到上級目錄

cd /etc/yum.repos.d # 切換到絕對路徑目錄

cd -  # 返回上一次訪問的目錄

注釋

  • ~表示用戶主目錄,cdcd ~可快速回到用戶主目錄
  • .表示當前目錄,cd .沒有變化;..表示父目錄
  • cd -是快速在兩個目錄間切換的高效方式
  • 使用 Tab 鍵可以自動補全目錄名,避免拼寫錯誤

Java 開發(fā)應用場景

在 Java 開發(fā)中,我們經(jīng)常需要在不同項目目錄之間切換。例如,使用cd /home/projects/spring-boot-demo切換到 Spring Boot 項目目錄,然后使用cd -回到上一個工作目錄

1.3 pwd 命令:顯示當前工作目錄

pwd(Print Working Directory)命令用于顯示當前工作目錄的完整路徑。

語法

pwd \[選項]

常用選項

-P:顯示當前工作目錄的物理位置,而非符號鏈接路徑

實例代碼

pwd  # 顯示當前工作目錄的完整路徑

pwd -P # 顯示當前工作目錄的物理路徑(不包含符號鏈接)

注釋

  • 默認情況下,pwd顯示的是邏輯路徑,可能包含符號鏈接
  • 使用-P選項可以獲取物理路徑,避免符號鏈接的干擾
  • 在腳本中,pwd命令可用于確定腳本的當前工作目錄

Java 開發(fā)應用場景

在編寫 Java 項目的部署腳本時,使用pwd命令可以動態(tài)獲取當前腳本所在的目錄,確保文件路徑的準確性。例如:

CURRENT\_DIR=\$(pwd)


echo "當前腳本所在目錄:\$CURRENT\_DIR"

二、目錄創(chuàng)建與刪除命令

2.1 mkdir 命令:創(chuàng)建目錄

mkdir(Make Directory)命令用于創(chuàng)建新目錄。

語法

mkdir \[選項] 目錄名...

常用選項

  • -p:遞歸創(chuàng)建多級目錄
  • -m:設置目錄權限模式(類似chmod
  • -v:顯示詳細的創(chuàng)建過程信息

實例代碼

mkdir testdir # 創(chuàng)建單級目錄testdir

mkdir -p project/src/main # 遞歸創(chuàng)建多級目錄project/src/main

mkdir -m 755 logs # 創(chuàng)建權限為rwxr-xr-x的logs目錄

注釋

  • -p選項非常實用,可一次性創(chuàng)建多級目錄,避免因父目錄不存在而報錯
  • 默認權限為 rwxr-xr-x,可通過-m選項自定義權限
  • 權限模式中,r 表示讀,w 表示寫,x 表示執(zhí)行

Java 開發(fā)應用場景

在 Java 項目開發(fā)中,我們經(jīng)常需要創(chuàng)建特定結構的目錄。例如,使用mkdir -p project/src/main/java/com/demo創(chuàng)建符合 Maven 標準的項目目錄結構

2.2 rmdir 命令:刪除空目錄

rmdir(Remove Directory)命令用于刪除空目錄。

語法

rmdir \[選項] 目錄名...

常用選項

  • -p:遞歸刪除目錄及其空的父目錄
  • --ignore-fail-on-non-empty:忽略因目錄非空導致的錯誤
  • -v:顯示詳細的刪除過程信息

實例代碼

rmdir testdir # 刪除空目錄testdir

rmdir -p project/src/main/java/com/example # 遞歸刪除多級空目錄

注釋

  • rmdir只能刪除空目錄,非空目錄無法刪除
  • 若要刪除非空目錄,需使用rm -r命令
  • -p選項會遞歸刪除目錄,如果父目錄在刪除子目錄后變?yōu)榭漳夸洠矔徊⒈粍h除

Java 開發(fā)應用場景

在 Java 項目清理時,使用rmdir命令可以刪除不需要的空目錄。例如,刪除測試生成的空目錄:

rmdir build/test-reports

2.3 rm 命令:刪除文件或目錄

rm(Remove)命令用于刪除文件或目錄。

語法

rm \[選項]... 文件或目錄...

常用選項

  • -f:強制刪除,忽略不存在的文件和警告,不提示確認
  • -i:交互式刪除,刪除前提示確認
  • -r-R:遞歸刪除目錄及其內容
  • -d:刪除空目錄(類似rmdir
  • -v:顯示詳細操作信息

實例代碼

rm file.txt # 刪除文件file.txt

rm -r project # 遞歸刪除目錄project及其內容

rm -rf old\_files # 強制遞歸刪除目錄old\_files,不提示確認

注釋

  • -r選項用于遞歸刪除目錄,是刪除非空目錄的必要選項
  • -f選項強制刪除,不會提示確認,使用時需謹慎
  • 組合使用-rf時要特別小心,因為它會遞歸強制刪除,沒有恢復機會

Java 開發(fā)應用場景

在 Java 項目構建過程中,經(jīng)常需要刪除舊的編譯結果或臨時文件。例如,使用rm -rf target命令刪除 Maven 項目的 target 目錄

三、文件與目錄操作命令

3.1 cp 命令:復制文件或目錄

cp(Copy)命令用于復制文件或目錄。

語法

cp \[選項]... 源文件 目標文件
cp \[選項]... 源文件... 目標目錄

常用選項

  • -a:歸檔模式,相當于-dR --preserve=all
  • -i:覆蓋前提示確認
  • -n:不覆蓋已存在文件
  • -r:遞歸復制目錄
  • -u:只復制源文件中更新時間較新的文件
  • -v:顯示復制過程
  • -p:保留原始文件的屬性(權限、時間戳等)

實例代碼

cp file.txt backup.txt # 復制文件file.txt為backup.txt

cp -r project project\_backup # 遞歸復制目錄project為project\_backup

cp -v \*.java src/main/java # 復制所有.java文件到src/main/java目錄,并顯示過程

注釋

  • 復制目錄時必須使用-r選項,否則會提示 "omitting directory"
  • -v選項顯示復制過程,讓操作更透明
  • -p選項保留文件屬性,在備份配置文件時特別有用

Java 開發(fā)應用場景

在 Java 項目開發(fā)中,經(jīng)常需要復制配置文件或模板文件。例如,使用cp application.properties application-dev.properties復制開發(fā)環(huán)境配置文件

3.2 mv 命令:移動或重命名文件 / 目錄

mv(Move)命令用于移動文件或目錄,也可用于重命名。

語法

mv \[選項]... 源文件 目標文件

mv \[選項]... 源文件... 目標目錄

常用選項

  • -i:覆蓋前提示確認
  • -n:不覆蓋已存在文件
  • -v:顯示詳細操作信息
  • -u:只移動源文件中更新時間較新的文件
  • -f:強制覆蓋已存在文件

實例代碼

mv oldname.txt newname.txt # 重命名文件

mv file.txt documents/ # 移動文件file.txt到documents目錄

mv -v project/ backup/ # 移動目錄project到backup目錄,并顯示過程

注釋

  • mv命令既可以移動文件 / 目錄,也可以重命名文件 / 目錄
  • 移動文件時,如果目標路徑是目錄,源文件將被移動到該目錄下
  • 重命名文件時,目標路徑應為新的文件名,而非目錄

Java 開發(fā)應用場景

在 Java 項目重構時,經(jīng)常需要重命名文件或移動目錄。例如,使用mv com/example/oldpackage com/example/newpackage重命名包目錄

四、高級目錄操作命令

4.1 tree 命令:以樹形結構顯示目錄內容

tree命令用于以樹形結構顯示目錄下的內容,直觀展示目錄結構。

語法

tree \[選項] \[目錄]

常用選項

  • -a:顯示所有文件(包括隱藏文件)
  • -d:只顯示目錄
  • -l:顯示鏈接文件的原始文件
  • -f:顯示完整目錄路徑
  • -i:不以階梯形式顯示文件或目錄名稱
  • -q:將控制字符以?字符代替
  • -N:直接顯示文件或目錄的名稱
  • -p:顯示每個文件的權限信息

實例代碼

tree # 以樹形結構顯示當前目錄內容

tree -d # 只顯示目錄結構

tree -L 2 # 顯示目錄下兩層內容

tree -f # 顯示完整路徑的樹形結構

注釋

  • 默認情況下,tree命令需要單獨安裝,不是系統(tǒng)預裝命令
  • 使用-d選項可以只顯示目錄,隱藏文件
  • -L選項指定顯示的層級深度,避免內容過多
  • -f選項顯示完整路徑,便于識別文件位置

Java 開發(fā)應用場景

在 Java 項目開發(fā)中,使用tree命令可以快速查看項目目錄結構,確認文件是否正確放置。例如,檢查 Maven 項目結構是否符合標準:

tree -d src/main

4.2 find 命令:查找文件或目錄

find命令用于在文件系統(tǒng)中查找符合條件的文件或目錄。

語法

find \[路徑] \[選項] \[條件] \[操作]

常用選項

  • -name:按文件名查找
  • -type:按文件類型查找(f 表示普通文件,d 表示目錄)
  • -size:按文件大小查找
  • -mtime:按修改時間查找
  • -perm:按權限查找
  • -exec:對找到的文件執(zhí)行指定命令

實例代碼

find . -name "\*.java" # 查找當前目錄下所有.java文件

find /opt/java -type d -name "maven\*" # 查找/opt/java目錄下所有名稱以maven開頭的目錄

find . -size +100M # 查找當前目錄下大于100MB的文件

find . -mtime -7 # 查找最近7天內修改過的文件

注釋

  • .表示當前目錄,是find命令最常用的起始路徑
  • 使用-name選項時,支持通配符(如*.java表示所有以.java 結尾的文件)
  • -type選項中,f表示普通文件,d表示目錄,l表示符號鏈接
  • -exec選項可以對找到的文件執(zhí)行命令,格式為-exec command {} \;

Java 開發(fā)應用場景

在 Java 項目維護中,經(jīng)常需要查找特定類型的文件。例如,查找項目中所有未提交的測試文件:

find . -name "Test\*.java" -not -path "./.git/\*"

五、Java 開發(fā)中的實用目錄操作技巧

5.1 項目目錄結構管理

在 Java 開發(fā)中,良好的目錄結構管理至關重要。以下是一些實用技巧:

創(chuàng)建標準 Maven 項目結構

mkdir -p project/src/{main,test}/{java,resources}

清理項目臨時文件

rm -rf target # 刪除Maven項目的target目錄


find . -name "\*.class" -delete # 刪除所有.class文件

5.2 日志文件管理

在 Java 應用程序的運維中,日志文件管理是重要工作:

查找最近修改的日志文件

ls -lt /var/log | head -n 5 # 顯示最近修改的5個日志文件

按大小排序日志文件

du -sh /var/log/\* | sort -rh | head -n 10 # 顯示最大的10個日志文件

清理舊日志文件

find /var/log -type f -name "\*.log" -mtime +30 -delete # 刪除30天以上的日志文件

5.3 項目部署與發(fā)布

在 Java 項目部署過程中,以下命令非常實用:

打包項目目錄

tar -czvf project.tar.gz project # 打包項目目錄為project.tar.gz

解壓到指定目錄

tar -xzvf project.tar.gz -C /opt/deploy # 解壓到/opt/deploy目錄

創(chuàng)建發(fā)布目錄結構

mkdir -p /opt/apps/myapp/{current,previous,logs}

六、總結與最佳實踐

6.1 命令速查表

命令作用常用選項
ls查看目錄內容-l, -a, -h, -R
cd切換目錄-, ~, ..
pwd顯示當前目錄-P
mkdir創(chuàng)建目錄-p, -m
rmdir刪除空目錄-p
rm刪除文件或目錄-r, -f
cp復制文件或目錄-r, -p, -v
mv移動或重命名-i, -v
tree樹形顯示目錄結構-d, -L, -f
find查找文件或目錄-name, -type, -size

6.2 最佳實踐建議

1.安全刪除:使用rm命令時,特別是rm -rf,一定要確認目標路徑正確,避免誤刪系統(tǒng)文件。

2.路徑管理

  • 盡量使用絕對路徑,避免路徑混亂
  • 使用cd -在最近兩個目錄間快速切換
  • 善用 Tab 鍵自動補全路徑,減少拼寫錯誤

3.命令組合

  • 使用管道符|組合命令,例如ls -l | grep .log
  • 結合findxargs執(zhí)行批量操作

4.腳本編寫

  • 在腳本中使用pwd -P獲取物理路徑,避免符號鏈接干擾
  • 使用mkdir -p創(chuàng)建多級目錄,確保目錄存在
  • 使用rm -rf前先檢查目錄是否存在

5.權限管理

  • 使用chmod命令設置合適的文件和目錄權限
  • 避免使用chmod 777,應根據(jù)需要設置具體權限

七、附錄:常見錯誤及解決方法

7.1 權限相關錯誤

錯誤信息

rm: cannot remove 'file.txt': Permission denied

原因:當前用戶沒有刪除該文件的權限。

解決方法

  • 使用ls -l查看文件權限
  • 使用sudo rm file.txt以管理員權限刪除
  • 或使用chmod修改文件權限后再刪除

7.2 目錄操作錯誤

錯誤信息

cp: omitting directory 'dir'

原因:嘗試復制目錄時未使用-r選項。

解決方法

使用cp -r dir dir_copy遞歸復制目錄。

7.3 文件查找問題

錯誤信息

find: paths must precede expression

原因find命令的參數(shù)順序錯誤。

解決方法

確保路徑參數(shù)在條件參數(shù)之前,例如find /path -name "*.txt"。

7.4 符號鏈接問題

錯誤信息

pwd: error retrieving current directory: getcwd: cannot access parent directories: Permission denied

原因:當前目錄是符號鏈接,且基礎目錄不可訪問。

解決方法

使用pwd -P獲取物理路徑,或確保符號鏈接指向的目錄可訪問。

到此這篇關于Linux中基本目錄操作命令詳解的文章就介紹到這了,更多相關Linux目錄操作命令內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Shell中if的基本語法和常見判斷用法

    Shell中if的基本語法和常見判斷用法

    這篇文章主要介紹了Shell中if的基本語法和常見判斷用法,本文講解了if的基本語法、對字符串的判斷、對數(shù)字的判斷、對文件屬性的判斷、邏輯判斷等內容,需要的朋友可以參考下
    2015-06-06
  • Linux 命令每天必學(34)之du命令

    Linux 命令每天必學(34)之du命令

    Linux du命令是查看使用空間的,本文給大家介紹linux du命令的參數(shù),格式,功能等相關資料,對linux du命令感興趣的朋友一起學習吧
    2015-11-11
  • 關于SSH 遠程執(zhí)行命令你要知道的二三事

    關于SSH 遠程執(zhí)行命令你要知道的二三事

    SSH 是 Linux 下進行遠程連接的基本工具,但是如果僅僅用它來登錄那可是太浪費啦!SSH 命令可是完成遠程操作的神器啊,下面這篇文章主要給大家介紹了關于SSH 遠程執(zhí)行命令的一些相關資料,需要的朋友可以參考下。
    2017-07-07
  • Linux常用命令之性能命令

    Linux常用命令之性能命令

    這篇文章主要介紹了Linux常用命令之性能命令,文章講解的很清楚,有對于這方面不了解的同學可以研究下
    2021-02-02
  • linux中kvm的安裝及快照管理

    linux中kvm的安裝及快照管理

    這篇文章主要介紹了linux中kvm的安裝及快照管理的相關資料,需要的朋友可以參考下
    2016-12-12
  • shell腳本編程之case語句學習筆記

    shell腳本編程之case語句學習筆記

    這篇文章主要介紹了shell腳本編程之case語句學習筆記,本文代碼中包含注釋來說明case語句的使用,需要的朋友可以參考下
    2014-09-09
  • shell中刪除文件中重復行的方法

    shell中刪除文件中重復行的方法

    這篇文章主要介紹了shell中刪除文件中重復行的方法,需要的朋友可以參考下
    2014-03-03
  • Shell腳本實現(xiàn)服務器多臺免密登錄操作

    Shell腳本實現(xiàn)服務器多臺免密登錄操作

    本文介紹了auto_ssh_batch.sh腳本,用于在多臺RHEL/CentOS7主機之間快速配置SSH免密登錄,并支持遠程傳輸腳本/文件及執(zhí)行命令,腳本通過pass文件提供統(tǒng)一認證憑據(jù),nodes文件定義目標主機列表,實現(xiàn)批量自動化操作,感興趣的朋友一起看看吧
    2025-03-03
  • Linux查看端口占用lsof -i:port的方法

    Linux查看端口占用lsof -i:port的方法

    下面小編就為大家?guī)硪黄狶inux查看端口占用lsof -i:port的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • shell腳本遞歸遍歷目錄及子目錄的例子分享

    shell腳本遞歸遍歷目錄及子目錄的例子分享

    這篇文章主要介紹了shell腳本遞歸遍歷目錄及子目錄的例子,需要的朋友可以參考下
    2014-04-04

最新評論