馬哥教育網絡班19期+第二周課程練習

1、         常見的文件管理命令及使用方法

mkdir創建目錄

1.png

使用mkdir創建一個叫做test的文件夾,使用ls –l查看test的信息,test的信息的第一位為d,表示是一個目錄。

而級聯創建目錄時,只需要加上一個-p選項,即可,即使你創建一個已存在的目錄,Linux也不會報錯的。

2.png

3.png

進入test文件夾,使用touch filename創建一個文本文件,使用ls –l查看文件屬性為時,表示這個文件是一個普通的文本文件。

rmdir刪除空目錄

-p選項級聯刪除一大串空目錄了,但是有一個局限性是必須是空目錄,所以不怎么好用。

[root@localhost ~]# rmdir /tmp/test/

rmdir: 刪除 '/tmp/test/' 失敗: 目錄非空

[root@localhost ~]# rmdir /tmp/test/123

命令rm(remove)

也是刪除的命令,這里介紹一下常用的選項:

       -r:刪除目錄的選項,等于rmdir

       -f:強制刪除不提示,如果你在刪除一個不存在的目錄,加上-f不會報錯

4.png

有一點和rmdir不同的是,會詢問是否刪除,輸入y則刪除,輸入n則不刪除。而且,當目錄時非空的時候,也可以刪除。最常用的,就是rm –rf這兩個選項合用了,不管是文件還是目錄都可以不提示刪除。

5.png

cp命令

用來復制文件或者文件夾,語法格式:cp [選項] [源文件] [目標文件]

例如把test復制成test1

6.png如果是復制目錄,則需要加-r選項即可。

移動和重命名mv

語法:mv [選項] [源文件] [目標文件]

mv命令有幾種情況需要注意:

(1)    目標文件是目錄,而且目標文件不存在;

(2)    目標文件是目錄,而且目標文件存在;

(3)    目標文件不是目錄不存在;

(4)    目標文件不是目錄存在;

目標文件是目錄,存在和不存在,移動的結果是不一樣的,如果存在,則會把源文件移動到目標文件目錄中。不存在的話移動完后,相當于重命名目錄。

7.png

如果目標文件不是目錄,且不存在,則會重命名文件,否則把文件移動到目錄中。

8.png

命令cat

即查看一個文件的內容并顯示在屏幕上,后面可以不加選項直接跟文件名,也可以加兩個常用選項:

       -n:查看文件時,把行號也顯示到屏幕上

       9.png

       例子中出現了一個“>>”這個符號跟 >”的作用都是重定向,即把前面輸出的東西輸入到后邊的文件中,只是“>>”是追加的意思,而用“>”如果文件中有內容則會刪除文件中內容,而“>>”則不會。

       -A: 顯示所有東西出來,包括特殊字符

       10.png

文件和目錄的屬性

上面我查看文件的時候,使用了ls –l的命令,一共有9列內容,各自的含義我介紹下:

(1)     1列包含該文件類型和所有者、所屬組以及其他用戶對該文件的權限。第一列共11位有的文件是10位,沒有最后面的一位。 其中第一位用來描述該文件的類型。

d 表示該文件為目錄;

表示該文件為普通文件;

l 表示該文件為鏈接文件;

b 表示該文件為塊設備,比如/dev/sda就是這樣的文件;

c 表示該文件為串行端口設備,例如鍵盤、鼠標;

s 表示該文件為套接字文件(socket),用于進程間通信;

后邊的9位,每三個為一組,均為rwx三個參數的組合。其中r代表可讀,w代表可寫,x代表可執行。前三位為所有者(user)的權限,中間三位為所屬組(group)的權限,最后三位為其他非本群組(others)的權限。例如下面這個test.txt的意思就是該文件為一個普通文件,文件的擁有者可讀可寫,屬組和其他為可讀。

11.png

而第一列最后一個“.”,是因為新版本的lsselinux或者acl的屬性加進來了,當文件或者目錄只使用了selinux context的屬性,這里是一個點。如果設置了acl,后面將是一個加號“+”。

(2)     表示為鏈接占用的節點(inode),如果是目錄,那這個數值與該目錄底下有多少一級子目錄有關系。

(3)     3列,表示該文件的所有者。

(4)     4列,表示該文件的所屬組。

(5)     5列,表示該文件的大小。

(6)     6列、第7列和第8列為該文件的最近的修改日期,分別為月份日期以及時間。

(7)     9列,文件名。

chmod命令

上面介紹了文件的所有者、所屬組以及其他用戶對文件的權限,而命令“chmod”就是為了更改這些權限的,可以使用數字去代替rwx, 具體規則為r等于4,w等于2x等于1,等于0。如:“-rwxrwx—” 用數字表示就是770,具體是這樣來的:rwx=4+2+1=7;rwx=4+2+1=7;—=0+0+0=0

語法:chmod [-R] xyz filenamexyz表示數字,及421

-R選項作用表示級聯更改,級把目錄內的目錄或文件也一同更改。

12.png

chownchgrp命令

更改文件或目錄的所屬主(chown)和所屬組(chgrp)

13.png

14.png

也可以不使用chgrp更改所屬組,如

15.png

2、         bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容

使用特殊變量“$?”表示最近一條命令的執行結果,0表示成功,1-255表示失敗。

16.png

命令行展開:

“~”表示展開成用戶的家目錄,{}可承載一個以逗號分隔的列表,并將其展開為多個路徑。

17.png

3、         請使用命令行展開功能來完成以下練習

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

18.png

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

可以使用如下命令完成:

[root@Hao tmp] # mkdir -p 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}}

19.png

4、         文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。

使用命令stat查看

20.png

使用touch filename修改時間戳信息

5、         如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?

alias命令修改別名

21.png

命令引用:

name=`COMMAND`, name=$(COMMAND)

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

[root@Hao ~]# ls -d /var/l*[0-9]*[[:lower:]]

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

# ls -d /etc/[0-9]*[^0-9]

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

# ls -d /etc/[^[:alpha:]][[:alpha:]]*

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

[root@Hao ~]# touch tfile-`date +"%Y-%m-%d-%H-%M-%S"`

22.png

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

[root@Hao ~]# cp -a /etc/p*[^0-9] /tmp/mytest1

23.png

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

[root@Hao ~]# cp -a /etc/*.d /tmp/mytest2

24.png

12、    復制/etc/目錄下所有以lmn開頭,以.conf結尾的文件至/tmp/mytest3目錄中

[root@Hao ~]# cp -a /etc/[l,m,n]*.conf /tmp/mytest3

25.png

 

 

原創文章,作者:Net19_口香糖,如若轉載,請注明出處:http://www.www58058.com/21581

(0)
Net19_口香糖Net19_口香糖
上一篇 2016-07-04
下一篇 2016-07-04

相關推薦

  • 馬哥教育網絡班21期+第17周課程練習

    1、結合圖形描述LVS的工作原理; lvs是基于內核的虛擬主機用來做四層的負載均衡,工作在netfilter框架的INPUT鏈上,有四種模式,上圖為lvs-nat lvs-nat:有DNAT功能,支持端口映射,請求報文和響應報文都需要經過Director 請求過程:cip–>vip,Director,cip–>rip 響應…

    Linux干貨 2016-12-26
  • CentOS系統啟動流程、selinux、Systemd剖析

    交互式登錄配置文件讀取順序: /etc/profile –> /etc/profile.d/*.sh –> ~/.bash_profile –> ~/.bashrc –> /etc/bashrc 非交互式登錄配置文件讀取順序: ~/.bashrc –> /etc/bas…

    Linux干貨 2018-03-04
  • Linux發行版本介紹與哲學思想

    1.Linux發行版本介紹 Linux 發行版(英語:Linux distribution,也被叫做GNU/Linux 發行版),為一般用戶預先集成好的Linux操作系統及各種應用軟件。一般用戶不需要重新編譯,在直接安裝之后,只需要小幅度更改設置就可以使用,通常以軟件包管理系統來進行應用軟件的管理。 1.服務器版本:Centos/Debian 從Red Ha…

    Linux干貨 2016-10-28
  • linux基礎之自動登陸和自動開啟網卡設置

    Centos7.4設置自動登陸以及設置網卡開機自動啟用功能 1、進入命令行模式,輸入 nano /etc/gdm/custom.conf?,在[daemon]下添加2條命令,分別是 AutomaticLoginEnable=true AutomaticLogin=root 2、然后按住Ctrl+X退出并保存,接著選擇Y,再按回車鍵即可保存更改,到這里設置自動…

    2018-03-29
  • centos7編譯安裝zabbix

    centos7源碼編譯安裝zabbix3 centos7源碼編譯安裝zabbix3 centos7源碼編譯安裝zabbix3 系統配置和必要的安裝包 編譯安裝nginx 編譯安裝php 安裝MariaDB 安裝JDK 安裝Zabbix3.0 前戲準備 開始編譯 開始安裝 zabbix虛擬主機創建 前戲準備 開始編譯 開始安裝 php配置 前戲準備 開始編譯 …

    Linux干貨 2016-11-25

評論列表(1條)

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

    寫的很好,可以注意一下排版問題,加油

欧美性久久久久