Linux文件管理命令與bash的工作特性

Shell程序在接受到用戶執行命令的請求時,在分析完成之后,最左側的字符串會被當作命令;
命令查找機制:查找內部命令時,根據PATH環境變量中設定的目錄,從左至右逐個搜索目錄下的文件名;

Linux上的常用文件管理命令

mkdir??????????

? ? ? ? mkdir:make directories,此命令用來創建一個空目錄

??????? 語法格式:mkdir [OPTION] … DIRECTORY…

常用方法:

-p:自動按需要來創建一個父目錄;

-v:verbose,用來顯示創建的詳細過程;

-m:MODE,用來分配目錄的權限;(極少會用到)

*:路徑的基名方為命令的作用對象;基名之前的路徑必須存在。

示例:

捕獲

rmdir

?????? rmdir:remove empty directories,此命令用來刪除一個空目錄;

?????? 語法格式:rmdir? [OPTION] … DIRECTORY …

常用方法:

-p:刪除某個目錄后,如果其父目錄為空,則一并刪除;

-v:用來顯示刪除操作的詳細過程;

示例:

捕獲2

tree

????? tree:以倒置的樹狀結構來顯示其目錄結構

????? 語法格式:tree? [options] … [directory] …

常用方法:

tree:顯示目錄的全部層級結構

tree ?-L:指定要顯示的目錄層級

示例:

?捕獲3

cp

??? cp:復制文件或目錄;

?? 語法格式:

單源復制:cp? [option]…[T]…SOURCE DEST

多源復制:cp? [option]…SOURCE…DIRECTORY

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

說明:

???? 單源復制:

如果目標不存在:則事先創建此文件,并復制源文件的數據流到目標文件中;

如果目標存在:假如目標是非目錄文件,則覆蓋目標文件;

假如目標是目錄文件,則先在目標目錄下創建一個與源文件同名的文件,并復制其數據流;

常用選項:

-i:交互式復制,即覆蓋之前提醒用戶確認;

-f:強制復制目標文件;

-r,-R:遞歸復制目錄;

-d:復制符號鏈接文件本身,而并非指向源文件;

-a:-dR? –preserve=all,archive,用于實現歸檔;

元數據表:

–preserve=

mode:權限

ownership:屬主和屬組

timestamps:時間戳

context:安全標簽

xattr:擴展屬性

links:符號鏈接

all:上述的所有屬性

示例:

捕獲4

mv

mv:move,移動文件或目錄

語法格式:mv? [OPTION]…[-T]? SOURCE DEST

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

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

常用方法:

-i:交互式移動

-f:force,強制性移動

示例:

捕獲5

?rm

rm:remove,刪除文件或目錄

語法格式:rm? [OPTION]…FILE…

常用選項:

-i:交互式;

-f:force,強制刪除;

-r:recursivev,遞歸刪除目錄

*:建議所有不用的文件不要直接刪除,而是移動到某個專用的目錄下;(模擬回收站)

示例:

捕獲6Bash的工作特性

Bash的基礎特性

命令補全:

???? Shell程序在接受到用戶執行命令的請求時,在分析完成之后,最左側的字符串會被當作命令;

??? 命令查找機制:查找內部命令時,根據PATH環境變量中設定的目錄,從左至右逐個搜索目錄下的文? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 件名;?? ~]# echo $PATH

??? 如果給定的大頭字符串能唯一標識某命令程序文件,則直接不全;

??? 如果不能唯一表示某個命令程序文件,敲中兩次tab,會給出列表進行選擇;

路徑補全:

??? 在給定的起始路徑下,以對應路徑下的打頭字串來逐一匹配起始路徑下的每個文件;如果能唯一標? ? ? ? ? ? 識,一次tab鍵補全;不然擊中兩次tab,給出列表選擇;

Bash的基礎特性之命令行展開

符號:~,{ }

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

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

  • ??? 例:/tmp/{a,b}等價于/tmp/a? /tmp/b

Bash的基礎特性之命令的執行狀態結果

命令執行的狀態結果:

???? Bash通過狀態的返回值來輸出此結果:

??????????? 成功:0

??????????? 失?。?-255

????? 命令執行完成之后,其狀態返回值保存于bash的特殊變量$?中;

捕獲7

? ? ? 命令正常執行時,有的還會有命令返回值;根據命令及其功能的不同,結果各不相同;

Bash基礎特性之引用

????? 強引用:‘ ‘

????? 弱引用:“ ”

????? 命令引用:`? `

Bash基礎特性之快捷鍵

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

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

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

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

????? Ctrl+l:清屏,等價于clear命令

Bash的基礎特性之文件名通配

????? globbing:文件名通配(整體文件名匹配,而非部分)

匹配模式:元字符

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

?? 例:pa*, *pa*, *pa, *p*a*

示例:

捕獲8

?:匹配任意單個字符

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

示例:

捕獲9

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

幾種特殊格式:

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

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

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

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

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

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

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

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

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

[^[:upper:]]? [^0-9]? [^[:alnum:]]

示例:

捕獲10

文件的元數據信息

文件的兩類數據

???? 元數據:metadata,文件的屬性數據

??? ??數據:data,文件的實際數據

元數據信息

File:文件或目錄的路徑

Size:文件的大小

Access:文件類型,屬主,屬組和其他用戶的權限

Uid:文件的屬主ID

Gid:文件的屬組ID

…….

Stat命令:

Stat:display file or file system status

語法格式:stat? FILE ….

示例:

捕獲12

時間戳信息

??????? access time :文件最近一次的訪問時間

??????? modify time :文件最近一次的修改時間

??????? change time :文件屬性最近一次改動的時間

touch命令

????? touch:change file timestamps

????? 語法格式:touch ?[OPTION]…FILE…

常用方法:

-c:指定的文件路徑不存在時不予創建

-a:僅修改access time

-m:僅修改modify time

-t:stamp? [[CC]YY]MMDDhhmm[.ss]

定義命令的別名

alias命令

?????? alias:此命令用來定義一個命令的別名,可以給命令取一個新的名字。

?????? 語法格式:alias? NAME = ‘COMMAND’

? *:此命令只對當前的shell進程有效

有定義別名就有撤銷別名:unalias? NAME

練習示例

命令行展開功能

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

?? 完成命令:mkdir ?-v? {a, b}_{c, d}

捕獲11

2.創建/tmp/mylinux目錄下的樹結構

13

14

文件名通配

  1. 顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可有其他字符)的文件或目錄。

? ? ? ? ? 完成命令:ls? /var/l*[a-z]

捕獲15

  1. 顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄

? ? ? ? ? 完成命令:ls /etc/[0-9]*[^0-9]

1

  1. 顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其他任意長度任意字符的文件或目錄。

? ? ? ? ?完成命令:ls? /etc/[^[:alpha:]][a-z]*

  1. 在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。

? ? ? ? ?完成命令:mkdir -v /tmp/tfile-$(date +%Y-%m-%d-%H-%M-$S)

捕獲17

  1. 復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄下。

? ? ? ? ?完成命令:cp? -rv? /etc/p*[^0-9]? /tmp/mytest1

?捕獲18

  1. 復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中

? ? ? ? ? 完成命令:mkdir? /tmp/mytest2?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cp? -rv? /etc/*.d? /tmp/mytest2

捕獲19

  1. 復制/etc目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中

? ? ? ? ? 完成命令:mkdir ?/tmp/mytest3

? ? ? ? ? ? ? ? ? ? cp? -rv? /etc/{l,m,n}*.conf? /tmp/mytest3

捕獲20

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

(0)
ConanConan
上一篇 2018-03-11
下一篇 2018-03-11

相關推薦

  • 遷移用戶數據到獨立分區

    Linux操作系統中,/home目錄下為各個普通用戶的家目錄,主要用于存放用戶的配置信息及相關文件。若安裝操作系統時,采用了home目錄與根目錄處在同一分區的分區策略,那么隨著用戶數據較多,很有可能將分區空間耗盡,導致系統崩潰。所以最好是將用戶數據所在目錄放在一個獨立的分區上,但由于/home目錄下已有一些用戶數據,要想將home目錄建立在一個獨立的分區上,…

    Linux干貨 2017-08-13
  • linux系統的路由功能

    1、概要    大家應該都明白,不同網段的報文包傳播,是需要路由的轉發轉發功能的,那么,一個linux操作系統能不能充當路由器呢?下面不妨來驗證一下。 2、網絡拓撲 3、實現過程    <1>倆個centos6分別充當Router1和Router2。并添加足夠的網卡。    <2&…

    Linux干貨 2016-09-06
  • Nginx專題: 從編譯安裝到URL重寫

    Nginx專題: 從編譯安裝到URL重寫 前言 環境介紹 Nginx介紹 編譯安裝Nginx 配置文件解釋 main和event{}的配置 http{}的基本配置 配置Nginx 搭建一個基本的Nginx Web服務器 實現https 創建CA并簽署Nginx證書 修改配置文件 測試https 實現URL Rewrite將不同瀏覽器的請求響應不同頁面 URL…

    Linux干貨 2016-04-04
  • Nginx 編譯安裝

    Nginx (“engine x”) 是一個高性能的 HTTP 和 反向代理服務器,也是一個 IMAP/POP3/SMTP 代理服 1、Apache服務器和nginx的優缺點: Apache具有很優秀的性能,而且通過模塊可以提供各種豐富的功能。 1)首先Apache對客戶端的響應是支持并發的 ,運行httpd這個daemon進程之后,它會同時產生多個子進程/…

    Linux干貨 2017-02-06
  • MariaDB日志

    MariaDB日志 查詢日志:query log; 慢查詢日志:slow query log 查詢時長超出指定界限。 錯誤日志:error log 二進制日志:binary log;此中存儲要發生改變或潛在發生改變的語句。 中繼日志:reley log 事務日志:transaction log 1、查詢日志 記錄查詢語句,日志存儲位置:一般不開啟。 文件:f…

    Linux干貨 2016-11-20
  • 實驗:shell腳本

    實驗:遷移卷組到新系統中 在源計算機上1vgrename vg0 newvg0lvrename /dev/newvg0/lv0  newlv02umount /media/3設置此卷組為不可用:vgchange -a n newvg04掃描:pvscan 導出卷組:vgexport  newvg0掃描:pvscan 查看:pvdispla…

    Linux干貨 2017-04-25

評論列表(1條)

  • 馬哥教育
    馬哥教育 2018-03-20 20:46

    mkdir -p 參數P代表parents,表示遞歸創建目錄。
    其他沒有問題

欧美性久久久久