bash的特性和目錄管理命令

bash的特性和目錄管理命令

bash特性

    1. 命令補全機制:

所謂的命令補全,就是當輸入命令的前幾個字符的時候,按下tab,此時,bash根據輸入的字符串,到path路徑下進行尋找,把找到的且能唯一根據這個字符串標識的命令,予以補全。

如果根據這個字符串能在一個目錄下面找到多個相同的命令,則再按一下tab就能列出所有的命令。

    2. 路徑補全機制

所謂的路徑補全,就是在你這個目錄下面的時候,或者在給出的目錄里,根據給出的字符串,查找當前目錄下面是否有唯一標識的目錄或者文件,如果有給予補全。

如果沒有則不補全,并且如果有多個,則多按一次tab就能列出來。

     3. 引用。分為強引用和弱引用

強引用:單引號,'' ,單引號中給出的任何字符串不予任何更改和替換,即使中含有變量,也只是原樣輸出

弱引用:雙引號:"  "。如果其中有變量,則輸出變量的值。

 

命令引用:一般都是采用$(command)的方式進行,或者使用反引號,反引號不建議使用

例子:echo  this time is $(date +%Y'year,'%m'manth,'%H'hour,'%M'miniute')

結果:this time is 2016year,10manth,00hour,19miniute

     4. 命令的執行狀態:

  一種是執行后的結果。例如,ls /var/log  會將log這個目錄的結果展示出來,這是命令執行成功后的結果。叫命令結果的返回值。

例如:mkdir  /tmp/  $(date)    首先執行 date命令,并將命令結果返回給mkdir,然后根據時間創建目錄。

(實際結果是 tmp/下面有一個Wed Oct 26 02:52:49 PDT 2016多個文件夾 ,因為帶有空格,所以創建了多個文件夾。如果加上雙引號就是 mkdir /tmp/"$(date)"  結果就是完整的時間的一個目錄。)

—————————————————————-

還有一種就是命令狀態的返回值。這種返回值就是bash將命令執行后,如果成功,這個命令狀態的返回值就是0.如果執行失敗,返回值就是1-127之間的數值。失敗的原因各不相同,所以會有不同的值。

 

這個狀態的返回值存儲在bash的一個變量中,這個變量就是$?. 每一次執行一個命令,就會把返回值存在這個目錄中。因此,這個變量只能存儲最近的一次命令的狀態返回值。再執行一次就會被覆蓋。

 

由此可以得出另外一個結論。由于這個變量是bash所有的,因此每個登錄用戶都有自己的一個$? 變量,不同用戶互不干擾。

例如,ls  /tmp     ,然后執行命令 echo $?  。或者用一條命令

echo  -e "$( cd /tmp/testa)  \n\n ls /tmp的狀態返回值是$?"

      5. 快捷鍵

ctrl+a 回到命令開頭

Ctrl+e回到命令結尾

 

Ctrl+u 刪除從左側至光標的字符串

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

     6. 文本的查看命令,翻屏等

Cat,more less,head,tail

Cat  file  這個命令直接讀取源文件所有的的數據直接傾瀉到屏幕上

     -n 打出行號

More  file 。如果翻到文件底部,便會自動退出。

Less  其實man 調用的就是less。

Head -n 或者head -#  顯示文件的前幾行,默認前10行

Tail -n 顯示文件的后N行,默認后10行。

注意:tail   -f有個很重要的性質,就是輸出完后,不退出,等待文件從其他終端寫入的數據后輸出。

 

     7. 文件的組成及時間戳

文件有兩部分組成,元數據和數據

一個是數據,就是文件的具體內容

一個是元數據,比方說,文件大小,格式,類型等。包括訪問時間,創建時間,版本等 使用 stat  filename就可查看的信息。如下圖

blob.png

 注意元數據的 時間戳,這個是需要重點提醒的。

Access   訪問時間

Modify  修改時間

Change  改變時間。

這個地方順便把時間命令復習一下

Clock 這個命令和hwclock是一個命令,

Which  clock 命令,查到他的位置,查看這個文件實際是是到 /sbin/hwclock  .

Clock  -s  –hwtosys 硬件時間存到系統時間

            -w  systohw  系統時間到硬件時間

 

——————————————————————————————————

目錄管理類的命令———mkdir rmdir

1. mkdir,創建目錄??梢酝瑫r創建多個目錄,目錄之前以空格隔開。

               -p :自動創建所需要的父目錄,

               -v:顯示創建過程

                -m 設定目錄的權限。

2. Rmdir 刪除目錄。這個一般不用,可以用mv來代替。并且安全些。

              -p 刪除子目錄后,如果父目錄為空,則繼續刪除父目錄以此類推

 

3.花括號展開

                 花括號展開 mkdir   /tmp/{a,b/{b1,b2},c}

                花括號相乘:mdir  /tmp/{a,b}*{c,d},類似于笛卡爾積

原創文章,作者:haoyp,如若轉載,請注明出處:http://www.www58058.com/55513

(0)
haoyphaoyp
上一篇 2016-10-29
下一篇 2016-10-29

相關推薦

  • sed vim小練

     1 、刪除/etc/grub2.conf 文件中所有以空白開頭的行行首的空白字符  2 、刪除/etc/fstab文件中所有以#開頭,后面至少跟一個空 白字符的行的行首的#和空白字符 3 、在/root/install.log 每一行行首增加# [root@localhost ~]# sed -n&nbsp…

    Linux干貨 2016-08-12
  • 項目實踐==虛擬主機及SSL通信(Blog 14)

    httpd-2.4及httpd-2.4實現

    2017-12-02
  • 第三周作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@localhost ~]# who user1    tty1         2016-12-27&nb…

    Linux干貨 2016-12-28
  • LVS DR模式

    一、測試環境說明 操作系統:CentOS6.7-X64 IP_VS版本:1.2.26 DR:10.10.10.130 VIP:10.10.10.140 RS1:10.10.10.131 RS2:10.10.10.132 二、LVS-DR模式原理 a)客戶端發送一個請求(源地址為CIP,目標地址為VIP,我們簡稱為CIP:VIP)到LVS的DR b)通過在調度…

    Linux干貨 2016-09-19
  • Linux程序包管理

      Linux的各個release版本開發商,在發布各種應用程序,以及一些團體發布應用程序時,通常會根據發布的程序所適應的開發語言,使用環境,預設參數等,事先編譯完成一個可以在相應平臺上安裝的程序包供使用者直接使用,該程序包含有安裝前(preinstall)操作系統環境檢測的腳本,程序包中所有文件的相關信息,程序預定義的配置參數文件,程序…

    Linux干貨 2016-11-30
  • ansible運維自動化工具

      ansible簡介 運維工具分類:         agent:基于專用的agent程序完成管理功能,puppet, func, zabbix, …        agent…

    Linux干貨 2016-11-11

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-11-02 16:18

    總結的不錯,希望你能熟知這些基礎的知識,加油!

欧美性久久久久