第二周作業之:文件管理類命令常用使用方法及其相關示例

ls mkdir rmdir cp mv rm

備注:有道云markdown編輯,不能完全兼容到178linux博客


cd命令

cd命令用來切換工作目錄至dirname。 其中dirName表示法可為絕對路徑或相對路徑。

常用格式:

cd #進入用戶家目錄
cd~ #進入用戶家目錄
cd- #返回進入此目錄之前的目錄
cd.. #返回上級目錄
cd../.. #返回上兩級目錄


ls命令

ls命令用來顯示目標列表,在Linux中是使用率較高的命令。ls命令的輸出信息可以進行彩色加亮顯示,以分區不同類型的文件。

語法

ls(選項)(參數)??????????????????????????????????????????????????????????
-a:顯示所有檔案及目錄(ls內定將檔案名或目錄名稱為“.”的視為影藏,不會列出);                       
-A:顯示除影藏文件“.”和“..”以外的所有文件列表;                                           
-C:多列顯示輸出結果。這是默認選項;                                              
-l:與“-C”選項功能相反,所有輸出信息用單列格式輸出,不輸出為多列;
-F:在每個輸出項后追加文件的類型標識符,具體含義:“*”表示具有可執行權限的普通文件,“/”表示目錄,“@”表示符號鏈接,“|”表示命令管道FIFO,“=”表示sockets套接字。當文件為普通文件時,不輸出任何標識符;                            
-b:將文件中的不可輸出的字符以反斜線“”加字符編碼的方式輸出;
-c:與“-lt”選項連用時,按照文件狀態時間排序輸出目錄內容,排序的依據是文件的索引節點中的ctime字段。與“-l”選項連用時,則排序的一句是文件的狀態改變時間;
-d:僅顯示目錄名,而不顯示目錄下的內容列表。顯示符號鏈接文件本身,而不顯示其所指向的目錄列表;
-f:此參數的效果和同時指定“aU”參數相同,并關閉“lst”參數的效果;
-i:顯示文件索引節點號(inode)。一個索引節點代表一個文件;
--file-type:與“-F”選項的功能相同,但是不顯示“*”;
-k:以KB(千字節)為單位顯示文件大??;
-l:以長格式顯示目錄下的內容列表。輸出的信息從左到右依次包括文件名,文件類型、權限模式、硬連接數、所有者、組、文件大小和文件的最后修改時間等;
-m:用“,”號區隔每個文件和目錄的名稱;
-n:以用戶識別碼和群組識別碼替代其名稱;
-r:以文件名反序排列并輸出目錄內容列表;
-s:顯示文件和目錄的大小,以區塊為單位;                                          
-t:用文件和目錄的更改時間排序;                                      
-L:如果遇到性質為符號鏈接的文件或目錄,直接列出該鏈接所指向的原始文件或目錄;
-R:遞歸處理,將指定目錄下的所有文件及子目錄一并處理;
--full-time:列出完整的日期與時間;              
--color[=WHEN]:使用不同的顏色高亮顯示不同類型的。 ???

參數
目錄:指定要顯示列表的目錄,也可以是具體的文件。
實例

顯示當前目錄下非影藏文件與目錄

1
2
[root@ho1 ~]# ls
2017-11-23-19-48-17 fstab.now

顯示當前目錄下包括影藏文件在內的所有文件列表

1
2
[root@ho1 ~]# ls -a
. Downloads .mozilla .rnd
.. .esd_auth

輸出長格式列表

1
2

3

[root@ho1 ~]# ll
[root@ho1 ~]# ls -l
total 41860
-rw-r–r–. 1 root root 0 Nov 23 19:48 2017-11-23-19-48-17

顯示文件的inode信息
索引節點(index inode簡稱為“inode”)是Linux中一個特殊的概念,具有相同的索引節點號的兩個文本本質上是同一個文件(除文件名不同外)。

[root@ho1 ~]# ls -i -l
total 41860
69508308 -rw-r–r–. 1 root root 0 Nov 23 19:48 2017-11-23-19-48-17

水平輸出文件列表

[root@ho1 ~]# ls -m
2017-11-23-19-48-17, alien_invasion

修改最后一次編輯的文件
最近修改的文件顯示在最上面。

[root@ho1 ~]# ls -t
learning_log dead.letter 2017-11-23-19-48-17
ll_env

顯示遞歸文件

[root@ho1 ~]# ls -R

打印文件的UID和GID

[root@ho1 ~]# ls -n
total 41860
-rw-r--r--. 1 0 0 0 Nov 23 19:48 2017-11-23-19-48-17

列出可讀文件和文件夾詳細信息

[root@ho1 ~]# ls -lh
total 41M
-rw-r–r–. 1 root root 0 Nov 23 19:48 2017-11-23-19-48-17
drwxr-xr-x. 5 root root 4.0K Apr 1 22:50 alien_invasion

顯示文件夾信息

[root@ho1 ~]# ls -ld
drwxr-xr-x. 33 root root 4096 Apr 15 06:45 .

按時間列出文件和文件夾詳細信息

[root@ho1 ~]# ls -lt
total 41860
drwxr-xr-x. 5 root root 115 Apr 8 20:01 learning_log
drwxr-xr-x. 5 root root 100 Apr 7 15:06 ll_env

mkdir命令

mkdir命令用來創建目錄。該命令創建由dirname命名的目錄。如果在目錄名的前面沒有加任何路徑名,則在當前目錄下創建由dirname指定的目錄;如果給出了一個已經存在的路徑,將會在該目錄下創建一個指定的目錄。在創建目錄時,應保證新建的目錄與它所在目錄下的文件沒有重名。
語法

mkdir (選項)(參數)

選項

-Z:設置安全上下文,當使用SELinux時有效;
-m<目標屬性>或--mode<目標屬性>建立目錄的同時設置目錄的權限;
-p或--parents 若所要建立目錄的上層目錄目前尚未建立,則會一并建立上層目錄;
--version 顯示版本信息

參數
目錄:指定要創建的目錄列表,多個目錄之間用空格隔開。
實例
在目錄/usr/tmp下建立子目錄test,并且只有文件主有讀、寫和執行權限,其他人無權訪問

[root@ho1 ~]# mkdir -m 700 /usr/tmp/test

在當前目錄中建立bin和bin下的os_1目錄,權限設置為文件主可讀、寫、執行,同組用戶可讀和執行,其他用戶無權訪問

[root@ho1 ~]# mkdir -p-m 750 bin/os_1

rmdir命令

rmdir命令用來刪除空目錄。當目錄不再被使用時,或者磁盤空間已到達使用限定值,就需要刪除失去使用價值的目錄。利用rmdir命令可以從一個目錄中刪除一個或多個空的子目錄。該命令從一個目錄中刪除一個或多個子目錄,其中dirname佬表示目錄名。如果dirname中沒有指定路徑,則刪除當前目錄下由dirname指定的目錄;如dirname中包含路徑,則刪除指定位置的目錄。刪除目錄時,必須具有對其父目錄的寫權限。
語法

rmdir(選項)(參數)

選項

-p或--parents:刪除指定目錄后,若該目錄的上層目錄已變成空目錄,則將其一并刪除;
--ignore-fail-on-non-empty:此選項使rmdir命令忽略由于刪除非空目錄時導致的錯誤信息;
-v或-verboes:顯示命令的詳細執行過程;
--help:顯示命令的幫助信息;
--version:顯示命令的版本信息。

參數
目錄列表:要刪除的空目錄列表。當刪除多個空目錄時,目錄名之間使用空格隔開。
實例
刪除子目錄os_1和其父目錄bin

[root@ho1 ~]# rmdir -p bin/os_1

cp命令

cp命令用來將一個或多個源文件或者目錄復制到指定的目的文件或目錄。它可以將單個源文件復制成一個指定文件名的具體的文件或一個已經存在的目錄下。cp命令還支持同時復制多個文件,當一次復制多個文件時,目標文件參數必須是一個已經存在的目錄,否則將出現錯誤。
語法

cp(選項)(參數)

選項

-a:此參數的效果和同時指定"-dpR"參數相同;
-d:當復制符號連接時,把目標文件或目錄也建立為符號連接,并指向與源文件或目錄連接的原始文件或目錄;
-f:強行復制文件或目錄,不論目標文件或目錄是否已存在;
-i:覆蓋既有文件之前先詢問用戶;
-l:對源文件建立硬連接,而非復制文件;
-p:保留源文件或目錄的屬性;
-R/r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
-s:對源文件建立符號連接,而非復制文件;
-u:使用這項參數后只會在源文件的更改時間較目標文件更新時或是名稱相互對應的目標文件并不存在時,才復制文件;
-S:在備份文件時,用指定的后綴“SUFFIX”代替文件的默認后綴;
-b:覆蓋已存在的文件目標前將目標文件備份;
-v:詳細顯示命令執行的操作。。

參數

  • 源文件:制定源文件列表。默認情況下,cp命令不能復制目錄,如果要復制目錄,則必須使用-R選項;
  • 目標文件:指定目標文件。當“源文件”為多個文件時,要求“目標文件”為指定的目錄。

實例
如果把一個文件復制到一個目標文件中,而目標文件已經存在,那么,該目標文件的內容將被破壞。此命令中所有參數既可以是絕對路徑名,也可以是相對路徑名。通常會用到點.或點點..的形式。例如,下面的命令將指定文件復制到當前目錄下:

[root@ho1 ~]# cp ../mary/homework/assigh

所有目標文件指定的目錄必須是己經存在的,cp命令不能創建目錄。如果沒有文件復制的權限,則系統會顯示出錯信息。
將文件file復制到目錄/usr/men/tmp下,并改名為file1

[root@ho1 ~]# cp file /usr/men/tmp/file1

將目錄/usr/men下的所有文件及其子目錄復制到目錄/usr/zh中

[root@ho1 ~]# cp file /usr/men/tmp/file1

交互式地將目錄/usr/men中的以m打頭的所有.c文件復制到目錄/usr/zh中

[root@ho1 ~]# cp -i /usr/men m*.c /usr/zh

我們在Linux下使用cp命令復制文件時候,有時候會需要覆蓋一些同名文件,覆蓋文件的時候都會有提示:需要不停的按Y來確定執行覆蓋。文件數量不多還好,但是要是幾百個估計按Y都要吐血了,于是折騰來半天總結了一個方法:

[root@ho1 ~]# cp aaa/* bbb
復制目錄aaa下所有到/bbb目錄下,這是如果/bbb目錄下有和aaa同名的文件,需要按Y來確認并且會忽略過aaa目錄下的子目錄
[root@ho1 ~]# cp -r aaa/* bbb
這次依然需要按Y來確認,但沒有忽略子目錄
[root@ho1 ~]# cp -r -a aaa/* bbb
依然需要按Y來確認,并且把aaa目錄以及子目錄和文件屬性也傳遞到了/bbb。
[root@ho1 ~]# /cp -r -a aaa/* bbb
成功,不提前按Y確認

mv命令

mv命令用來對文件或目錄重新命名,或者將文件從一個目錄移到另一個目錄中。source表示源文件或目錄,target表示目標文件或目錄。如果將一個文件移到一個已經存在的目標文件中,則目標文件的內容將被覆蓋。
語法

mv(選項)(參數)

選項

--backup=<備份模式>:若需覆蓋文件,則覆蓋前先行備份;
-b:當文件存在時,覆蓋前,為其創建一個備份;
-f:若目標文件或目錄與現有的文件或目錄重復,則直接覆蓋現有的文件或目錄;
-i:交互式操作,覆蓋前先行詢問用戶,如果源文件與目標文件或目標目錄中的文件同名,則詢問用戶是否覆蓋目標文件。用戶輸入”y”,表示將覆蓋目標文件;輸入”n”,表示取消對源文件的移動。這樣可以避免誤將文件覆蓋。
--strip-trailing-slashes:刪除源文件中的斜杠“/”;
-S<后綴>:為備份文件指定后綴,而不使用默認的后綴;
--target-directory=<目錄>:指定源文件要移動到目標目錄;
-u:當源文件比目標文件新或者目標文件不存在時,才執行移動操作。

參數

  • 源文件:制定源文件列表。默認情況下,cp命令不能復制目錄,如果要復制目錄,則必須使用-R選項;
  • 目標文件:指定目標文件。當“源文件”為多個文件時,要求“目標文件”為指定的目錄。

實例
將文件ex3改名為new1

[root@ho1 ~]# mv ex3 new1

將目錄/usr/men中的所有文件移到當前目錄(用.表示)中:

[root@ho1 ~]# mv ex3 new1

rm命令

rm命令可以刪除一個目錄中的一個或多個文件或目錄,也可以將某個目錄及其下屬的所有文件及其子目錄均刪除掉。對于鏈接文件,只是刪除整個鏈接文件,而原有文件保持不變。
語法

rm (選項)(參數)

選項

-d:直接把欲刪除的目錄的硬連接數據刪除成0,刪除該目錄;
-f:強制刪除文件或目錄;
-i:刪除已有文件或目錄之前先詢問用戶;
-r或-R:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
--preserve-root:不對根目錄進行遞歸操作;
-v:顯示指令的詳細執行過程。

參數

文件:指定被刪除的文件列表,如果參數中含有目錄,則必須加上-r或者-R選項。

實例
交互式刪除當前目錄下的文件test和example

[root@ho1 ~]# rm -i test example
rm: remove regular empty file ‘test’? y
rm: remove regular empty file ‘example’? y

刪除當前目錄下除隱含文件外的所有文件和子目錄

[root@ho1 ~]# rm -r *

世界清凈了?。?!

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/95940

(0)
cyzcyz
上一篇 2018-04-14 17:06
下一篇 2018-04-14

相關推薦

  • shell打印選擇菜單shell

    每天一練小腳本

    Linux筆記 2018-05-19
  • Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示

    文件管理工具:cp,mv,rm cp:命令:copy:復制文件的數據 ? ?源文件;目標文件 ? ? ? 單源復制 cp [OPTION]… [-T] SOURCE DEST ? 如果DEST不存在,則事先創建此文件,并復制原文件的數據流至DEST中: ? 如果DEST存在: ? ? ? ?如果DEST是非目錄文件:則覆蓋目標文件 ? ? ? ?…

    Linux筆記 2018-05-20
  • Linux用戶與組管理詳解

    在linux系統上,用戶管理是基于用戶名和密碼的方式進行資源的分配,了解和掌握用戶與組的管理是從事運維工作所必須具備的能力,也是將來從事運維行業的重要工作之一。

    2018-04-03
  • 第四周課程總結

    sed高級編輯命令模式空間相當于正在處理數據的這塊空間保持空間相當于倉庫,臨時存放暫時沒有處理完的半成品的空間P(大寫):打印模式空間開端至\n內容,并追加到默認輸出之前(即只打印第一行)h: 把模式空間中的內容覆蓋至保持空間中H:把模式空間中的內容追加至保持空間中g: 從保持空間取出數據覆蓋至模式空間G:從保持空間取出內容追加至模式空間x: 把模式空間中的…

    Linux筆記 2018-04-22
  • securceCRT網絡連接不正常解決途徑

    本文中centos版本為6.9

    2018-04-01
  • 編譯安裝軟件

    編譯安裝httpd軟件 1先配置yum源 準備工作:把所有yum源改成本地光盤 [root@centos7 etc]#find *yum*(查找yum配置目錄) 1.[root@centos6 ~]#df .[root@centos6 ~]#cd /misc/cd/ (神奇文件自動掛載)光盤 [root@centos7 yum.repos.d]#ls(說明還…

    Linux筆記 2018-04-22
欧美性久久久久