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 $?  ?;蛘哂靡粭l命令

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,創建目錄。可以同時創建多個目錄,目錄之前以空格隔開。

               -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 16:22
下一篇 2016-10-29 16:43

相關推薦

  • vim編輯器作業

    1、復制/etc/profile至/tmp/目錄,用查找替換命令刪除/tmp/profile文件中的行首的空白字符 [root@wzc tmp]# vim profile    # By default, we want umask to …

    Linux干貨 2016-08-12
  • Linux磁盤管理

    面對一塊硬盤,我們該如何使用它呢?本文從機械硬盤結構,分區,格式化,和掛載四個層次進行介紹。 一、機械硬盤結構 現在服務器使用機械式硬盤是主流,因為其造價低,容量大,和固態硬盤相比讀寫性能要差很多。機械硬盤主要由以下幾個部件構成:轉軸Spindle,盤片Platter,機械臂Boom,磁頭Head。工作機制是馬達帶動盤片高速旋轉,磁頭對盤片進行擦寫數據或讀取…

    Linux干貨 2016-09-01
  • 馬哥教育21期網絡班—第7周課程+練習—-成長進行時–努力前進

    1、創建一個10G分區,并格式為ext4文件系統; (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; (2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳; fdisk /dev/sdb   1、磁盤分區 &nbs…

    Linux干貨 2016-08-19
  • N25第六周 vim,crontab命令的使用

    請詳細總結vim編輯器的使用并完成以下練習題 vim是一款功能強大的文本編輯器,是程序員的必備神器。 vim工作模式分為三種:編輯模式,輸入模式,末行模式,三種工作模式可以進行來自由切換     編輯模式—》輸入模式: 直接鍵i      輸入模式—》…

    Linux干貨 2016-12-29
  • Linux文件目錄的權限

     Linux是多用戶多任務的分時操作系統,如果每個人都對文件和目錄都是隨便訪問的話,難么你的文件很有可能會被他人刪除或修改,從而丟失數據。為此系統對文件增加了權限的機制來防止這種事情的發生。對文件而言,用戶被分為三類:屬主(onwer)、屬組(group)、和其他(other)。常規的權限分為:讀(r readable)、寫(w writable)…

    Linux干貨 2016-08-07
  • DNS

    配置緩存服務器: #vim /etc/named.conf Options { Listen-on port 53 { 127.0.0.1;172.16.0.68;}; //listen-on-v6 port 53 {::1;}; ……. Allow-query {any;}; …… Dnssec-enable…

    2017-06-04

評論列表(1條)

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

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

欧美性久久久久