第二周博客

I. Linux的文件管理類命令 

    

cp: copy,復制命令,使用格式為cp Address1 Address2(Address可以是文件,這樣的話即為復制文件的內容)

31.png

復制etc目錄下的fstab文件至tmp目錄下。

41.png

如果目的地不存在,系統會自動創建一個新的文件并把內容覆蓋上去。

mv: move,移動命令,使用格式為mv Address1 Address2,和cp命令很像。

42.png

rm: remove,刪除命令,使用格式為rm FILE。

43.png

然而rm命令不能直接刪除文件夾。為此需要rm -rf這個選項。

-r即recursive,-f即force。

44.png

還有比較常用的是rm -rf ./*,即刪除當前文件夾下所有文件。

II. bash的工作特性

bash shell中每一個命令執行完之后會有一個狀態返回值,可以用echo $?來查看。

這個返回值代表最近一次命令執行的結果。0代表成功,1代表失敗,2至255也代表失敗,每個的意義不同。1是最常見的。

46.png

命令行展開這個特性包括了~和{}。

~代表當前用戶的家目錄。

45.png

{}的使用方法如下。

比如說我們要創建/tmp目錄下的:a_c, a_d, b_c, b_d

一般我們需要輸入4次。

而是用命令行展開的{}則很簡潔。

47.png

再比如我們要創建/tmp/mylinux目錄下的

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

48.png

一個命令即可搞定。

III. 文件的元數據和時間戳


我們用stat命令來獲取文件的元數據。

49.png

文件的元數據包括了文件名,文件大小,文件類型,文件歸屬,文件訪問讀寫執行權限,文件的時間戳等等。

我們可以用touch命令來修改文件的時間戳。

50.png

可以看到touch命令將文件的時間戳改成了現在的時間。

touch命令有幾個常用的選項。

比如-d,可以將修改的時間變為指定時間而不是當前時間。

51.png

比如-a為只修改Access時間,-m為只修改Modify時間等等。

IV. 如何定義一個命令的別名

使用alias命令即可定義別名,格式為alias NAME=“COMMAND”

52.png

即將rm -rf的別名設置為die。

我們使用unalias可以取消這個別名。

53.png

如此定義的別名只對當前shell進程有效。若想其永久生效的話,需在/etc/bashrc或~/.bashrc文件添加一行這個命令。這樣的話shell進程啟動會自動讀取這個配置。

V. 如何在命令中引用另一個命令的執行結果?


我們使用管道(pipe)。

比如我們將echo的內容進行egrep搜索。

54.png


VI. 練習


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

A:   egrep "^I.*[[:digit:]].*[[:lower:]]$" /var

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

A:     egrep "^[0-9].*[^0-9]$" /etc

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

A:     egrep "^[^a-zA-Z][a-zA-Z].*" /etc

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

A:     touch tfile-"$(date +%F-%M-%H-%S)"

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

A:     cp -r /etc/p*[^0-9] /tmp/mytest1

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

A:     cp -r /etc/*.d /tmp/mytest2

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

A:     cp -r /etc/[lmn]*.conf /tmp/mytest3

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

(0)
mercerchenmercerchen
上一篇 2016-07-26 17:08
下一篇 2016-07-27 09:22

相關推薦

  • 第五天03條件判斷與循環

           選擇執行     選擇執行:注意:if語句可嵌套                           單分支       &n…

    Linux干貨 2016-08-18
  • 文件管理類命令和bash特性之(命令狀態返回值和命令行展開)

    文件管理類命令 ls 用途:list 列出指定目錄下的內容; 語法:ls [OPTION]… [FILE]… 選項:-a : 顯示所有文件,包括隱藏文件;-A :顯示除 . 和 .. 之外的所有文件;-l :長格式列表,顯示文件的詳細屬性信息;-h :可以對文件大小進行單位換算是非精確值;-d:查看目錄自身而非其內部文件列表(如果文件符合也會顯示出來);-r…

    2018-05-19
  • 第一周作業

    一、計算機的組成及其功能。 計算機是由運算器、控制器、存儲器、輸入設備、輸出設備五大部件組成,每一個部分分別按照要求執行特定的基本功能。 運算器:運算器的主要功能是對數據進行各種運算。 控制器:控制器是整個計算機系統的控制中心,它指揮計算機各部分協調地工作,保證計算機按照預先規定的目標和步驟有條不紊的進行操作及處理。 存儲器:存儲器的主要功能是存儲程序和各種…

    Linux干貨 2017-01-18
  • MySQL-MMM實現MySQL高可用讀寫分離

    實驗環境 實驗拓撲 主機配置環境說明 主機名 IP地址 角色/用途 MySQL Server_ID master1 192.168.80.101 MySQL主節點,可讀寫操作 11 master2 192.168.80.102 MySQL備節點,可讀寫操作 12 slave1 192.168.80.103 MySQL從節點,僅能讀 13 slave2 192…

    Linux干貨 2016-06-01
  • 當你在瀏覽器中輸入Google.com并且按下回車之后發生了什么?

    原文出處: Alex   譯文出處:skyline75489  本文試圖回答一個古老的面試問題:當你在瀏覽器中輸入Google.com并且按下回車之后發生了什么? 不過我們不再局限于平常的回答,而是想辦法回答地盡可能具體,不遺漏任何細節。 這將是一個協作的過程,所以深入挖掘吧,并且幫助我們一起完善它。仍然有大…

    Linux資訊 2015-03-16
  • 企業實時同步方案—-Rsync+Sersync

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://nolinux.blog.51cto.com/4824967/1433623     在博文企業實時同步方案—-Sersync介紹中我們詳細介紹了Sersync的原理,設計架構以及…

    Linux干貨 2015-03-30

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-07-27 11:04

    寫的很好,排版還可以在漂亮一點,不要截黑屏了,加油

欧美性久久久久