N28-第二周

1. Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
2. bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
3. 請使用命令行展開功能來完成以下練習:
(1) 創建/tmp目錄下的a_c、a_d、b_c、b_d。
(2) 創建/tmp/mylinux目錄下的bin、boot/grub、dev、etc/rc.d/init.d、etc/sysconfig/network-scripts、lib/modules、
lib64、proc、sbin、sys、tmp、usr/local/bin、usr/local/sbin、var/lock、var/log、var/run目錄。
4. 如何查看文件的元數據,其信息有哪些,分別表示什麼含意?如何修改文件的時間戳信息?
5. 如何定義一個命令的別名?如何在命令中引用另一個命令的執行結果?
6. 顯示/var目錄下所有以L小寫開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
7. 顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
8. 顯示/etc目錄下,以非字母開頭,後面跟了一個字母以及其他任意長度任意字符的文件或目錄。
9. 在/tmp目錄下創建以tfile開頭,後跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
10. 複製/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
11. 複製/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
12. 複製/etc目錄下所有以L小寫或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。

1. Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示

cp、mv、rm。

1.1 cp

copy files and directories.

SYNOPSIS:

  1. 單源複製:cp [OPTION]… [-T] SOURCE DEST =>[-T]表示DEST是一般文件(-T,–no-target-directory:treat DEST as a normal file)
    1. SOURCE為一般文件
      1. 帶[-T],表示DEST是一般文件
        1. 如果DEST不存在,則事先創建此文件,並複製源文件的數據流至DEST中。
          1. 提示:可以在複製時直接改名。
            N28-第二周
        2. 如果DEST存在,則覆蓋目標文件。 =>危險操作,覆蓋後就無法恢復,所以最好帶”-i”選項
      2. 不帶[-T],表示DEST可能是一般文件也可能是目錄文件
        1. 如果DEST是一般文件,則情況同上面”1.SOURCE為一般文件/1.帶[-T],表示DEST是一般文件”。
        2. 如果DEST是目錄文件,則先在DEST目錄下創建一個與源文件同名的文件,並複製其數據流。
    2. SOURCE為目錄文件,則DEST必不能是一般文件,會報錯,沒有目錄複製到文件裡的,所以DEST必是目錄,且OPTION必須帶”-r”,它會複製目錄及目錄中的內容。
      1. 提示:可以在複製時直接改名。
        N28-第二周
  2. 多源複製:
    • cp [OPTION]… SOURCE… DIRECTORY
    • cp [OPTION]… -t DIRECTORY SOURCE… =>-t表示target(-t,–target-directory=DIRECTORY:copy all SOURCE arguments into DIRECTORY)
      1. 如果DIRECTORY不存在,會顯示錯誤。
      2. 如果DIRECTORY存在,
        1. 如果DIRECTORY是非目錄文件,顯示錯誤。
        2. 如果DIRECTORY是目錄文件,則分別複製每個文件至目標目錄中,並保持原名。

常用OPTION:

  • -i,–interactive:交互式複製,即覆蓋之前提醒用戶確認。
  • -f,–force:強制覆蓋目標文件。
  • -r,-R,–recursive:遞歸複製目錄,即複製目錄及目錄中的內容至目標位置。
  • -d:same as –no-dereference –preserve=links。-d是-P(也可以寫成–no-dereference)和–preserve=links(表示保留links屬性)的結合,意指複製符號鏈接本身,而非其指向的源文件。
    N28-第二周

    • 我測試了一下,其實cp -P就可以達到與cp -d一樣的效果,也就是說–preserve=links可以不用,然而我測cp –preserve=links卻達不到與cp -d的效果,反而是複製為一般文件。
      N28-第二周
      N28-第二周
  • -a,–archive:相等於-dR –preserve=all,用於實現歸檔,可以理解為做備份的。
  • –preserv=
    • mode:權限。
    • ownership:屬主和屬組。
    • timestamps:時間戳。
    • context:安全標籤。
    • xattr:擴展屬性。
    • links:符號鏈接。
    • all:上述所有屬性。

1.2 mv

move (rename) files.

SYNOPSIS:

  1. mv [OPTION]… [-T] SOURCE DEST
  2. mv [OPTION]… SOURCE… DIRECTORY
  3. mv [OPTION]… -t DIRECTORY SOURCE…

常用OPTION:

  • -i,interactive:交互式。
  • -f,–force:強制覆蓋。

1.3 rm

remove files or directories.

注意:儘量不要使用這個命令,因為太危險,我們可以養成習慣將要刪除的文件先移動到一個目錄(模擬回收站),待幾天後確定可以刪除再刪除。

SYNOPSIS:

  1. rm [OPTION]… FILE…

常用OPTION:

  • -i,–interactive:交互式。
  • -f,–force:強制執行。
  • -r,-R,–recursive:遞歸刪除。
    • 注意:刪除目錄常用操作:rm -rf /PATH/TO/DIR =>切記危險操作,尤其是rm -rf /、rm -rf /*,千萬不能做。
    • 在CentOS 7的版本,執行”rm -rf /”會有提示而不讓你執行此操作。
      N28-第二周

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

2.1 命令執行狀態返回值

bash通過狀態返回值來輸出命令的執行狀態結果:

  1. 成功:0
  2. 失敗:1-255

命令執行完成之後,其狀態返回值會保存於bash的特殊變量”$?”中。
N28-第二周

2.2 命令行展開

~:自動展開為用戶的家目錄,或指定的用戶的家目錄。
2017-12-14_203547

{ }:可承載一個以逗號分隔的路徑列表,並能夠將其展開為多個路徑。比如/tmp/{a,b},相當於/tmp/a、/tmp/b。

3. 使用命令行展開功能來完成練習

3.1 創建/tmp目錄下的a_c、a_d、b_c、b_d。

2017-12-14_204405

3.2 創建/tmp/mylinux目錄下的bin、boot/grub、dev、etc/rc.d/init.d、etc/sysconfig/network-scripts、lib/modules、lib64、proc、sbin、sys、tmp、usr/local/bin、usr/local/sbin、var/lock、var/log、var/run目錄,如下圖:
2017-12-14_204405

2017-12-14_203547

4. 如何查看文件的元數據,其信息有哪些,分別表示什麼含意?如何修改文件的時間戳信息?

每一個文件都有兩類數據:

  1. 元數據:使用stat查看的就是元數據(metadata)。
  2. 數據:使用cat查看的就是數據(data)。

4.1 如何查看文件的元數據,其信息有哪些,分別表示什麼含意?

N28-第二周

4.2 如何修改文件的時間戳信息?

要更改atime、mtime、ctime的時間戳,只要對文件執行touch就會改變。

N28-第二周

touch命令:change file timestamps

  • SYNOPSIS:touch [OPTION]… FILE…
    • OPTION
      提示:都不加OPTION,修改所有時間戳。

      • -c,–no-create:如果FILE存在改時間戳,如果FILE不存在不創建新文件。
      • a:change only the access time。
        N28-第二周
      • -m:change only the modification time。
        N28-第二周
      • -t:use [[CC]YY]MMDDhhmm[.ss] instead of current time
        N28-第二周

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

5.1 如何定義一個命名的別名?

定義別名:# alias NAME=’COMMAND’。 =>別名最好使用小寫字母

  • 注意:命令可以有別名,別名可以與原名相同(此時原名被隱藏)。
  • 注意:僅對當前shell進程有效。任何在進程中定義的東西隨進程中止而中止。
  • 小技巧:別名的命令,如果要跳脫別名,可以在命令前面加上”\”。
    N28-第二周

獲取所有可用別名的定義:# alias。 =>當前shell進程上有哪些別名

撤銷別名:# unalias NAME。

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

強引用:’ ‘,引號內內容不改變。

弱引用:” “,雙引號內的變量會轉換為變量的值。

命令引用:‵COMMAND ‵、$(COMMAND ),建議使用$(COMMAND)。
N28-第二周

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

# ls -d /var/l*[[:digit:]]*[[:lower:]]

提示:[[:digit:]]可以換成[0-9]

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

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

提示:[[:digit:]]可以換成[0-9],[^[:digit:]]可以換成[^0-9]

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

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

提示:[[:alpha:]]可以換成[a-z] or [A-Z] =>[a-z]與[A-Z]不區分大小寫

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

# touch /tmp/tfile-$(date +%F-%H-%M-%S)

提示:$(date +%F-%H-%M-%S)可以換成`date +%F-%H-%M-%S` =>` `是鍵盤tab上的”`”

10. 複製/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。

# cp -r /etc/p*[^[:digit:]] /tmp/mytest1/

提示:[^[:digit:]]可以換成[^0-9]

11. 複製/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。

# cp -r /etc/*.d /tmp/mytest2/

12. 複製/etc目錄下所有以L小寫或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。

# cp /etc/[lmn]*.conf /tmp/mytest3

提示:[lmn]可以換成[l,m,n]

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/90025

(0)
汪洋中一粒沙汪洋中一粒沙
上一篇 2017-12-13 16:05
下一篇 2017-12-14

相关推荐

  • varnish详解

      第一章    http缓存的基础概念 1、程序运行时具有局部性特征 时间局部性缓存的数据往往被打有时间缀,具有定期失效的特征,过期后会从源服务器检验请求验证是否需要重新拉取数据,某数据被访问后,该数据往往会再次在短时间内被访问到。 空间局部性被访问数据的周边数据被访问的概率会比其它常规数据访问大很多,所以这些访问数…

    Linux干货 2016-11-15
  • DNS简单配置

    正向解析,反向解析,主从, 主:主配置文件:options {        listen-on port 53 { 127.0.0.1; 172.16.252.194; };  //监听的端口,即哪些主机可以进行访问        directory   &…

    Linux干货 2017-05-24
  • linux运维

    linux运维大纲,学习路线图

    Linux干货 2017-10-21
  • FHS文件系统各目录功能

    前言 FHS将文件根据不同的用途和特性分成了可共享的(shareable)和不可共享的(unshareable),可变的(variable)和静态的(static)。不同的文件位于不同的目录里面,将目录分开了将有利于对文件的管理。 文件系统 可共享的 文件可以被存储于某一个主机上,然后供其他主机使用。如果想访问其他主机上可共享的文件,可以将其他主机目录挂载到…

    Linux干货 2016-10-17
  • Linux基础概念

    一、计算机的组成及其功能。 计算机机系统由五部分组成:运算器、控制器、存储器、输入设备、输出设备,遵从冯.诺依曼体系结构。具体的功能如下 : CPU   :     运算器(处理数据)、控制器(指令控制),另有寄存器、缓存(缓冲数据,内部缓存非  常昂贵); 存储器:内存即RAM(随机访问…

    Linux干货 2016-10-09
  • vsftpd、nfs、samba

    I/O:网络、存储 存储: DAS:Direct Attached Storage 接口类型:“block”;只有块设备才能够进行分区格式化 设备:SATA,SAS;IDE,SCSI;USB; NAS:Network Attached Storage(网络附加存储) 接口类型:”file” 协议:CIFS(samba), NFS(Ne…

    Linux干货 2017-06-13