Linux的文件管理和Bash的基礎特性

Linux文件管理,Bash的基礎特性及練習

Linux的文件管理和Bash的基礎特性

一:Linux的文件管理類命令

(一)目錄管理命令:

1、ls:用于顯示指定工作目錄下的內容。

語法:

ls [OPTION] … [FILE] …

選項:

-a? ? 顯示所有文件及目錄 (ls內定將文件名或目錄名稱開頭為”.”的視為隱藏檔,不會列出)

-l? ? 除文件名稱外,亦將文件型態、權限、擁有者、文件大小等資訊詳細列出

-r? ? 將文件以相反次序顯示(原定依英文字母次序)

-t? ? 將文件依建立時間之先后次序列出

-A? ? 同 -a ,但不列出 “.” (目前目錄) 及 “..” (父目錄)

-F? ? 在列出的文件名稱后加一符號;例如可執行檔則加 “*”, 目錄則加 “/”

-R? ? 若目錄下有文件,則以下之文件亦皆依序列出

實例:

Linux的文件管理和Bash的基礎特性

列出根目錄(/)下的所有目錄

2、cd:用于切換當前工作目錄至要切換的目標目錄。

語法:

cd [dirName]

實例:

Linux的文件管理和Bash的基礎特性

切換至etc目錄

3、pwd:打印當前工作目錄的名稱。

語法:

pwd [OPTION] …

實例:

Linux的文件管理和Bash的基礎特性

打印當前工作目錄

4、mkdir:創建空目錄。

語法:

mkdir [OPTION] …DIRECTORY…

選項:

-p? ? 確保目錄名稱存在,不存在的就建一個。

-v? ? 顯示詳細過程

-m? ? 直接給定權限

實例:

Linux的文件管理和Bash的基礎特性

在家目錄下創建空目錄

5、rmdir:刪除目錄。

語法:

rmdir [OPTION] …DIRECTORY…

選項:

-p? ? 刪除目錄后,如果父目錄為空,則一并刪除。

-v? ? 顯示詳細過程

實例:

Linux的文件管理和Bash的基礎特性

刪除空目錄

6、tree:用于以樹狀圖列出目錄的內容。

語法:

tree [-aACdDfFgilnNpqstux][-I <范本樣式>][-P <范本樣式>][目錄…]

選項:

-a? ? 顯示所有文件和目錄。

-A? ? 使用ASNI繪圖字符顯示樹狀圖而非以ASCII字符組合。

-C? ? 在文件和目錄清單加上色彩,便于區分各種類型。

-d? ? 顯示目錄名稱而非內容。

-D? ? 列出文件或目錄的更改時間。

-f? ? 在每個文件或目錄之前,顯示完整的相對路徑名稱。

-F? ? 在執行文件,目錄,Socket,符號連接,管道名稱名稱,各自加上”*”,”/”,”=”,”@”,”|”號。

-g? ? 列出文件或目錄的所屬群組名稱,沒有對應的名稱時,則顯示群組識別碼。

-i? ? 不以階梯狀列出文件或目錄名稱。

-I<范本樣式>? ? 不顯示符合范本樣式的文件或目錄名稱。

-l? ? 如遇到性質為符號連接的目錄,直接列出該連接所指向的原始目錄。

-n? ? 不在文件和目錄清單加上色彩。

-N? ? 直接列出文件和目錄名稱,包括控制字符。

-p? ? 列出權限標示。

-P<范本樣式>? ? 只顯示符合范本樣式的文件或目錄名稱。

-q? ? 用”?”號取代控制字符,列出文件和目錄名稱。

-s? ? 列出文件或目錄大小。

-t? ? 用文件和目錄的更改時間排序。

-u? ? 列出文件或目錄的擁有者名稱,沒有對應的名稱時,則顯示用戶識別碼。

-x? ? 將范圍局限在現行的文件系統中,若指定目錄下的某些子目錄,其存放于另一個文件系統上,則將該子目錄予以排除在尋找范圍外。

實例:

Linux的文件管理和Bash的基礎特性

查看目錄樹

(二)文件管理命令:

1、touch:用于修改文件或者目錄的時間屬性,包括存取時間和更改時間。若文件不存在,系統會建立一個新的文件。

語法:

touch?[OPTION] … [FILE] …

選項:

a? ? 改變文件的訪問時間。

m? ? 改變文件的改動時間。

c? ? 假如目的文件不存在,不會建立新的文件

t? ? 設定文件的時間記錄,格式與 date 指令相同。

實例:

Linux的文件管理和Bash的基礎特性

創建普通文件

2、stat:用于顯示inode內容。

語法:

stat [OPTION]?… [FILE] …

實例:

Linux的文件管理和Bash的基礎特性

查看目錄inode內容

3、file:用于辨識文件類型。

語法:

file -C [ -m?magicfiles?]

選項:

-b  列出辨識結果時,不顯示文件名稱。

-c? 詳細顯示指令執行過程,便于排錯或分析程序執行的情形。

-f<名稱文件>? 指定名稱文件,其內容有一個或多個文件名稱時,讓file依序辨識這些文件,格式為每列一個文件名稱。

-L? 直接顯示符號連接所指向的文件的類別。

-m<魔法數字文件>? 指定魔法數字文件。

-v? 顯示版本信息。

-z? 嘗試去解讀壓縮文件的內容。

實例:

Linux的文件管理和Bash的基礎特性

顯示文件類型

4、rm:用于刪除文件或者目錄。

語法:

rm [OPTION]?… [FILE] …

選項:

-i? ? 交互模式刪除文件,刪除文件前給提示。

-f? ? 強制刪除,忽略不存在的文件,不提示確認。

-r? ? 遞歸刪除目錄及其內容。

實例:

Linux的文件管理和Bash的基礎特性

刪除a.txt文件

5、cp:復制文件。

語法:

cp [OPTION]?… [-T]? SOURCE? DEST

cp [OPTION]?…? SOURCE? DIRECTORY

cp [OPTION]?… -t? DIRECTORY? SOURCE??

選項:

-a????此選項通常在復制目錄時使用,它保留鏈接、文件屬性,并復制目錄下的所有內容。其作用等于dpR參數組合。

-d????復制時保留鏈接。這里所說的鏈接相當于Windows系統中的快捷方式。

-f????覆蓋已經存在的目標文件而不給出提示。

-i????與-f選項相反,在覆蓋目標文件之前給出提示,要求用戶確認是否覆蓋,回答”y”時目標文件將被覆蓋。

-p????除復制文件的內容外,還把修改時間和訪問權限也復制到新文件中。

-r????若給出的源文件是一個目錄文件,此時將復制該目錄下所有的子目錄和文件。

-l????不復制文件,只是生成鏈接文件。

實例:

Linux的文件管理和Bash的基礎特性

復制文件并改名

6、mv:用來為文件或目錄改名、或將文件或目錄移入其它位置。

語法:

mv [OPTION]?… [-T]? SOURCE? DEST

mv [OPTION]?…? SOURCE? DIRECTORY

mv [OPTION]?… -t?DIRECTORY? SOURCE

選項:

-i? ? 若指定目錄已有同名文件,則先詢問是否覆蓋舊文件

-f????在mv操作要覆蓋某已有的目標文件時不給任何指示

實例:

Linux的文件管理和Bash的基礎特性

將原文件覆蓋

二:Bash的基礎特性

1:bash的基礎特性之命令行展開

~:自動展開為用戶的家目錄,或指定用戶的家目錄。

{ }:可承載一個以逗號分隔的路徑列表,并能夠將其展開為多個路徑。

實例:

/tmp/{a,b}? ? 就相當于? /tmp/a? ? /tmp/b

2:bash的基礎特性之命令的執行狀態結果

bash通過狀態返回值來輸出此結果

成功:0

失?。?~255

命令執行完成后,其狀態返回值保存于bash的特殊變量$?中,可以用echo $?來查看最近一條命令的狀態。

3:bash的基礎特性之引用

強引用:? ‘? ? ‘(不完成變量的替換)

弱引用:? ”? ?“(完成變量的替換)

命令引用:? `? ?`(反引號)

實例:

Linux的文件管理和Bash的基礎特性

強引用和弱引用

4:bash基礎特性之快捷鍵

Ctrl+a:跳轉至命令行行首

Ctrl+e:跳轉至命令行行尾

Ctrl+u:刪除行首至光標所在處之間的所有字符

Ctrl+k:刪除光標所在處至行尾的所有字符

Ctrl+l:清屏,相當于clear

5:bash的基礎特性之文件名通配(整體文件名匹配,而非部分)

匹配模式:元字符

?*:匹配任意長度的任意字符

pa*, *pa*, *pa, *p*a*

pa, paa, passwd

? ? ? ?:匹配任意單個字符

pa?, ??pa, p?a, p?a?

pa, paa, passwd

?[]:匹配指定范圍內的任意單個字符

有幾種特殊格式:

[a-z], [A-Z], [0-9], [a-z0-9]

[[:upper:]]:所有大寫字母

[[:lower:]]:所有小寫字母

[[:alpha:]]:所有字母

[[:digit:]]:所有數字

[[:alnum:]]:所有的字母和數字

[[:space:]]:所有空白字符

[[:punct:]]:所有標點符號

pa[0-9][0-9], 2[0-9][0-9]

[^]:匹配指定范圍外的任意單個字符

[^[:upper:]]

[^0-9]

[^[:alnum:]]

三:使用命令行展開完成下列練習

1:創建/tmp目錄下的:a_c, a_d, b_c, b_d;

2:創建/tmp/mylinux目錄下的

Linux的文件管理和Bash的基礎特性

創建多級目錄

1:? mkdir -v {a,b}_{c,d}

Linux的文件管理和Bash的基礎特性

創建/tmp目錄下的:a_c, a_d, b_c, b_d

2:? mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/{local/{bin,sbin}},var/{lock,log,run}}

Linux的文件管理和Bash的基礎特性

Linux的文件管理和Bash的基礎特性

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

(0)
啊鑫啊鑫
上一篇 2018-07-02
下一篇 2018-07-03

相關推薦

  • Linux系統目錄簡介

    幫助理解linux系統目錄結構和作用

    2018-04-15
  • shell腳本編程基礎——循環用法

    本節索引: 一、if、case條件判斷 二、for、while及until循環 三、循環控制語句continue、break、shift及select菜單 四、信號捕捉trap   在前面的基礎編程內容中,我們已經學習了shell腳本的順序執行及選擇執行,通過這兩種方式,可 以幫我們解決一些簡單需求,但要想在更復雜的場景中使用的話,就需要掌握循環執…

    2018-05-10
  • yum命令及yum倉庫構建

    yum命令 yum [options] [command] [package …] yum命令行選項 –nogpgcheck 禁止進行gpg check -y 自動回答yes -q 靜默模式 –disablerepo=repoidglob 臨時禁用此處的repo –enablerepo=repoidglob 臨時啟用此處的repo –noplug…

    Linux筆記 2018-06-10
  • N31Linux第三周

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@localhost ~]#who |cut -d ‘ ‘ -f1 |sort -u 2、列出最后登錄到當前用戶系統的用戶相關信息。 [root@localhost ~]#w |cut -d ‘ ‘ -f1 |…

    2018-07-16
  • 腳本練習題

    1.使用腳本打印出如下圖形 ************答案一:#!/bin/bash#1.接受一個參數為星星的個數。num=$1 #2.求出總共要打印的行數let lines=num*2 #3.for 循環處理每一行的數據for i in `seq $lines`;do#4.前半個星星處理邏輯if [ $i -le $num ];thenfor j in `s…

    Linux筆記 2018-03-26
欧美性久久久久