Linux目錄和文件——操作目錄和文件

来源:https://www.cnblogs.com/shamao/archive/2019/07/10/11163044.html
-Advertisement-
Play Games

Linux目錄和文件——操作目錄和文件 摘要:本文主要學習了Linux系統中關於目錄和文件的操作。 cd命令 cd命令用來切換工作目錄,是Change Directory的縮寫。 基本語法 特殊符號 使用舉例 pwd命令 pwd命令的功能是顯示用戶當前所處的工作目錄,是Print Working D ...


Linux目錄和文件——管理目錄和文件的命令

摘要:本文主要學習了Linux系統中關於目錄和文件的操作。

cd命令

cd命令用來切換工作目錄,是Change Directory的縮寫。

基本語法

1 [root@localhost ~]# cd 相對路徑或絕對路徑

特殊符號

1 ~:代表當前登錄用戶的主目錄。
2 ~用戶名:表示切換至指定用戶的主目錄。
3 -:代表上次所在目錄。
4 .:代表當前目錄。
5 ..:代表上級目錄。

使用舉例

1 [root@localhost ~]# cd /
2 [root@localhost /]# cd /usr/local
3 [root@localhost local]# cd ..
4 [root@localhost usr]# cd /home
5 [root@localhost home]# cd ~
6 [root@localhost ~]# 

pwd命令

pwd命令的功能是顯示用戶當前所處的工作目錄,是Print Working Directory的縮寫。

基本語法

1 [root@localhost ~]# pwd [選項]

選項說明

1 -P:顯示鏈接的真實路徑。

使用舉例

1 [root@localhost ~]# pwd
2 /root
3 [root@localhost ~]#

ls命令

ls命令的主要功能是顯示當前目錄下的內容,是最常見的目錄操作命令,是List的縮寫。

基本語法

1 [root@localhost ~]# ls [選項] 文件或目錄

選項說明

 1 -a:顯示全部的文件,包括隱藏文件(開頭為.的文件)也一起羅列出來,這是最常用的選項之一。
 2 -A:顯示全部的文件,連同隱藏文件,但不包括.與..這兩個目錄。
 3 -d:僅列出目錄本身,而不是列出目錄內的文件數據。
 4 -f:直接列出結果,而不進行排序,ls預設會以文件名排序。
 5 -F:在文件或目錄名後加上文件類型的指示符號:
 6     *代表可運行文件,/代表目錄,=代表socket文件,|代表FIFO文件。
 7 -h:以人們易讀的方式顯示文件或目錄大小,如1KB、234MB、2GB等。
 8 -i:顯示inode節點信息。
 9 -l:使用長格式列出文件和目錄信息,包括屬性和許可權等等。
10 -n:以UID和GID分別代替文件用戶名和群組名顯示出來。
11 -r:將排序結果反向輸出,比如,若原本文件名由小到大,反向則為由大到小。
12 -R:連同子目錄內容一起列出來,等於將該目錄下的所有文件都顯示出來。
13 -S:按文件容量大小排序,而不是按文件名排序。
14 -t:按時間排序,而不是按文件名排序。
15 --color=never:不依據文件特性給予顏色顯示。
16 --color=always:根據文件特性給予顏色顯示,預設。
17 --color=auto:讓系統自行依據配置來判斷是否給予顏色。
18 --full-time:以完整時間模式(包含年、月、日、時、分)輸出。
19 --time={atime,ctime}:輸出access時間或改變許可權屬性時間(ctime),而不是內容變更時間(modification time)。

使用舉例

 1 [root@localhost /]# ls
 2 bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
 3 [root@localhost /]# ls -a
 4 .  ..  bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
 5 [root@localhost /]# ls -l
 6 總用量 32
 7 lrwxrwxrwx.   1 root root    7 7月   3 16:09 bin -> usr/bin
 8 dr-xr-xr-x.   4 root root 4096 7月   3 16:17 boot
 9 ...
10 drwxr-xr-x.  13 root root 4096 7月   3 16:09 usr
11 drwxr-xr-x.  19 root root 4096 7月   3 16:20 var
12 [root@localhost /]# ls -lh
13 總用量 32K
14 lrwxrwxrwx.   1 root root    7 7月   3 16:09 bin -> usr/bin
15 dr-xr-xr-x.   4 root root 4.0K 7月   3 16:17 boot
16 ...
17 drwxr-xr-x.  13 root root 4.0K 7月   3 16:09 usr
18 drwxr-xr-x.  19 root root 4.0K 7月   3 16:20 var
19 [root@localhost /]# ls -lha
20 總用量 40K
21 dr-xr-xr-x.  17 root root 4.0K 7月   3 16:12 .
22 dr-xr-xr-x.  17 root root 4.0K 7月   3 16:12 ..
23 lrwxrwxrwx.   1 root root    7 7月   3 16:09 bin -> usr/bin
24 dr-xr-xr-x.   4 root root 4.0K 7月   3 16:17 boot
25 ...
26 drwxr-xr-x.  13 root root 4.0K 7月   3 16:09 usr
27 drwxr-xr-x.  19 root root 4.0K 7月   3 16:20 var
28 [root@localhost /]# ls -lha -S
29 總用量 40K
30 drwxr-xr-x.  76 root root 8.0K 7月   6 09:03 etc
31 dr-xr-xr-x.  17 root root 4.0K 7月   3 16:12 .
32 dr-xr-xr-x.  17 root root 4.0K 7月   3 16:12 ..
33 dr-xr-xr-x.   4 root root 4.0K 7月   3 16:17 boot
34 ...
35 dr-xr-xr-x. 365 root root    0 7月   3 16:20 proc
36 dr-xr-xr-x.  13 root root    0 7月   3 16:20 sys
37 [root@localhost /]# ls -lha -t
38 總用量 40K
39 drwxr-xr-x.  21 root root  640 7月   6 09:03 run
40 drwxr-xr-x.  76 root root 8.0K 7月   6 09:03 etc
41 ...
42 drwxr-xr-x.   2 root root    6 8月  12 2015 opt
43 drwxr-xr-x.   2 root root    6 8月  12 2015 srv
44 [root@localhost /]#

mkdir命令

mkdir命令用於創建新目錄,此命令所有用戶都可以使用,是Make Directories的縮寫。

基本語法

1 [root@localhost ~]# mkdir [選項] 目錄名

選項說明

1 -m:手動配置所創建目錄的許可權,而不再使用預設許可權。
2 -p:遞歸創建所有目錄。

使用舉例

 1 [root@localhost home]# ls -l
 2 總用量 0
 3 [root@localhost home]# mkdir /home/test
 4 [root@localhost home]# ls -l
 5 總用量 0
 6 drwxr-xr-x. 2 root root 6 7月   6 13:55 test
 7 [root@localhost home]# mkdir /home/temp/test
 8 mkdir: 無法創建目錄"/home/temp/test": 沒有那個文件或目錄
 9 [root@localhost home]# mkdir -p /home/temp/test
10 [root@localhost home]# ls -l
11 總用量 0
12 drwxr-xr-x. 3 root root 17 7月   6 13:55 temp
13 drwxr-xr-x. 2 root root  6 7月   6 13:55 test
14 [root@localhost home]#

rmdir命令

rmdir命令用於刪除空目錄,是Remove Empty Directories的縮寫。

基本語法

1 [root@localhost ~]# rmdir [選項] 目錄名

選項說明

1 -p:遞歸刪除空目錄。

使用舉例

 1 [root@localhost home]# ls -l
 2 總用量 0
 3 drwxr-xr-x. 3 root root 17 7月   6 13:55 temp
 4 drwxr-xr-x. 2 root root  6 7月   6 13:55 test
 5 [root@localhost home]# rmdir test
 6 [root@localhost home]# ls -l
 7 總用量 0
 8 drwxr-xr-x. 3 root root 17 7月   6 13:55 temp
 9 [root@localhost home]# rmdir -p temp/test/
10 [root@localhost home]# ls -l
11 總用量 0
12 [root@localhost home]# 

touch命令

touch命令用來創建空文件或者修改文件的時間參數。當文件存在時,會修改此文件的時間參數,當文件不存在時,會在當前位置建立一個空文件。

文件的時間參數

Linux系統中,每個文件主要擁有3個時間參數(通過stat命令進行查看),分別是文件的訪問時間、數據修改時間以及狀態修改時間:

訪問時間(Access Time,簡稱atime):只要文件的內容被讀取,訪問時間就會更新。例如,使用cat命令可以查看文件的內容,此時文件的訪問時間就會發生改變。

數據修改時間(Modify Time,簡稱mtime):當文件的內容數據發生改變,此文件的數據修改時間就會跟著相應改變。例如,修改了文件內容,此時間就會發生改變。

狀態修改時間(Change Time,簡稱ctime):當文件的狀態發生變化,就會相應改變這個時間。例如,如果文件的許可權或者屬性發生改變,此時間就會相應改變。

基本語法

1 [root@localhost ~]# touch [選項] 文件名

選項說明

1 -a:只修改文件的訪問時間(atime)。
2 -m:只修改文件的數據修改時間(mtime)。
3 -c:僅修改文件的時間參數(三個時間參數都改變),如果文件不存在,則不建立新文件。
4 -d:把文件的時間改為指定的日期。
5 -t:把文件的時間改為指定的時間,時間書寫格式為YYMMDDhhmm。

使用舉例

1 [root@localhost home]# ls -l
2 總用量 0
3 [root@localhost home]# touch test
4 [root@localhost home]# ls -l
5 總用量 0
6 -rw-r--r--. 1 root root 0 7月   6 18:17 test
7 [root@localhost home]#

cp命令

cp命令主要用來複制文件和目錄以及比對兩文件的新舊而予以升級等功能,是Copy的縮寫。

基本語法

1 [root@localhost ~]# cp [選項] 源文件 目標文件

選項說明

 1 -a:此參數的效果和同時指定-dpr參數相同。
 2 -d:如果源文件為軟鏈接(對硬鏈接無效),則複製出的目標文件也為軟鏈接。
 3 -f:強行複製文件或目錄,不論目標文件或目錄是否已存在。
 4 -i:覆蓋既有文件之前先詢問用戶。
 5 -l:對源文件建立硬連接,而非複製文件。
 6 -s:對源文件建立軟鏈接,而非複製文件。
 7 -p:複製後目標文件保留源文件的屬性(包括所有者、所屬組、許可權和時間)。
 8 -r/R:遞歸處理,將指定目錄下的所有文件與子目錄一併處理。
 9 -u:目標文件並不存在則複製文件,目標文件存在並且比源文件舊的時候進行覆蓋。
10 -S:在備份文件時,用指定的尾碼“SUFFIX”代替文件的預設尾碼。
11 -b:覆蓋已存在的文件目標前將目標文件備份。
12 -v:詳細顯示命令執行的操作。

使用舉例

 1 [root@localhost home]# ls
 2 aaa  test
 3 [root@localhost home]# cp test temp
 4 [root@localhost home]# ls
 5 aaa  temp  test
 6 [root@localhost home]# cp aaa bbb
 7 cp: 略過目錄"aaa"
 8 [root@localhost home]# ls
 9 aaa  temp  test
10 [root@localhost home]# cp -a aaa bbb
11 [root@localhost home]# ls
12 aaa  bbb  temp  test
13 [root@localhost home]# cp -s test link
14 [root@localhost home]# ls
15 aaa  bbb  link  temp  test
16 [root@localhost home]# 

mv命令

mv命令既可以在不同的目錄之間移動文件或目錄,也可以對文件和目錄進行重命名,是Move的縮寫。

基本語法

1 [root@localhost ~]# mv [選項] 源文件 目標文件

選項說明

1 -f:強制覆蓋,如果目標文件已經存在,則不詢問,直接強制覆蓋。
2 -i:交互移動,如果目標文件已經存在,則詢問用戶是否覆蓋,預設。
3 -n:如果目標文件已經存在,則不會覆蓋移動,而且不詢問用戶。
4 -v:顯示文件或目錄的移動過程。
5 -u:若目標文件已經存在,但兩者相比,源文件更新,則會對目標文件進行升級。

使用舉例

 1 [root@localhost home]# ls
 2 aaa  bbb  link  temp  test
 3 [root@localhost home]# ls aaa
 4 demo
 5 [root@localhost home]# mv aaa/demo demo
 6 [root@localhost home]# ls
 7 aaa  bbb  demo  link  temp  test
 8 [root@localhost home]# ls aaa
 9 [root@localhost home]# ls bbb
10 demo
11 [root@localhost home]# mv bbb/demo hello
12 [root@localhost home]# ls
13 aaa  bbb  demo  hello  link  temp  test
14 [root@localhost home]# ls bbb
15 [root@localhost home]# mv temp demo
16 mv:是否覆蓋"demo"? n
17 [root@localhost home]# ls
18 aaa  bbb  demo  hello  link  temp  test
19 [root@localhost home]# mv -f temp demo
20 [root@localhost home]# ls
21 aaa  bbb  demo  hello  link  test
22 [root@localhost home]# 

rm命令

rm命令可以永久性地刪除文件系統中指定的文件或目錄,是Remove的縮寫。在使用rm命令刪除文件或目錄時,系統不會產生任何提示信息。

註意,rm命令是一個具有破壞性的命令,因為rm命令會永久性地刪除文件或目錄,這就意味著,如果沒有對文件或目錄進行備份,一旦使用rm命令將其刪除,將無法恢復,因此,尤其在使用rm命令刪除目錄時,要慎之又慎。

基本語法

1 [root@localhost ~]# rm [選項] 文件或目錄

選項說明

1 -f:強制刪除(force),系統將不再詢問,而是直接刪除目標文件或目錄。
2 -i:在刪除文件或目錄之前,系統會給出提示信息,可以有效防止不小心刪除有用的文件或目錄。
3 -r:遞歸刪除,主要用於刪除目錄,可刪除指定目錄及包含的所有內容,包括所有的子目錄和文件。

使用舉例

 1 [root@localhost home]# ls
 2 aaa  bbb  demo  hello
 3 [root@localhost home]# rm demo
 4 rm:是否刪除普通文件 "demo"?y
 5 [root@localhost home]# ls
 6 aaa  bbb  hello
 7 [root@localhost home]# rm -f hello
 8 [root@localhost home]# ls
 9 aaa  bbb
10 [root@localhost home]# rm bbb
11 rm: 無法刪除"bbb": 是一個目錄
12 [root@localhost home]# rm -r bbb
13 rm:是否刪除目錄 "bbb"?y
14 [root@localhost home]# ls
15 aaa
16 [root@localhost home]# rm -r aaa
17 rm:是否進入目錄"aaa"? n
18 [root@localhost home]# ls
19 aaa
20 [root@localhost home]# rm -rf aaa
21 [root@localhost home]# ls
22 [root@localhost home]# 

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.在選擇系統菜單界面,按 "e" 進入編輯模式 2.在以字元串“Linux16”開頭的行,將游標移動到該行的結尾,然後輸入“init=/bin/bash”,按 "Ctrl+x"進入單用戶模式 3.輸入 "mount -o rw,remount" ,重新掛載目錄,輸入 "passwd root" 修 ...
  • 1:創建一個要提交的文件2 git init 初始化 3 git remote add origin https://github.com/maohongli/cang.git 建立遠程連接4 git status5 git add -A 創建6 git commit -m "是" 7 git pu ...
  • 本文主要學習在Linux系統中使用Vim文本編輯器編輯文本。 ...
  • 1.製作塊文件 3 個 2.創建迴環設備 關於迴環設備是什麼可以參考如下解釋: 迴環設備( 'loopback device')允許用戶以一個普通磁碟文件虛擬一個塊設備。設想一個磁碟設備,對它的所有讀寫操作都將被重定向到讀寫一個名為 disk-image 的普通文件而非操作實際磁碟或分區的軌道和扇區 ...
  • scp命令用於Linux 之間複製文件和目錄。如果想在windows 環境中使用需要安裝 linux 命令環境,比如 cmder scp是 secure copy的縮寫, scp是linux系統下基於ssh登陸進行安全的遠程文件拷貝命令。 語法: 簡易寫法 參數說明 如果遠程伺服器防火牆有為scp命 ...
  • 一、NVIDIA顯卡驅動 打開終端,輸入: 在新打開的文件夾中,進入以下路徑(不要用命令行): 這時會有幾個文件夾,對每個文件夾都進行以下操作(不要用命令行): 打開終端,輸入: 把下載的顯卡驅動改為簡單的名字,比如2080.run,放到home目錄下 按 Ctrl + Alt + F1,登錄 輸入 ...
  • Linux LVM邏輯捲配置過程詳解(創建、增加、減少、刪除、卸載) 許多Linux使用者安裝操作系統時都會遇到這樣的困境:如何精確評估和分配各個硬碟分區的容量,如果當初評估不准確,一旦系統分區不夠用時可能不得不備份、刪除相關數據,甚至被迫重新規劃分區並重裝操作系統,以滿足應用系統的需要。 LVM是 ...
  • yum( Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟體包管理器。 基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。 yum ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...