第二周作業

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

 cp復制,mv移動,rm刪除

    1、cp:    

        1,用法:
       cp [OPTION]... [-T] SOURCE DEST       
       cp [OPTION]... SOURCE... DIRECTORY       
       cp [OPTION]... -t DIRECTORY SOURCE...
        2,規則
        當源是文件:
           目標不存在時:新建目標,并將源的內容填充至目標中;
           目標存在時:1,如果目標是文件,則覆蓋,可使用-i參數提醒;2,如果目標是目錄,則在目標下新建與源同名的文件,并將源內容填充入內
       當源是多個文件時:目標必為目錄,如果目標不存在,則不能復制
       
       如果源是目錄,需使用-r選項,cp默認不支持目錄復制
           目標不存在時:創建指定目錄,復制源目錄中的所有文件至目標中;
           目標存在時:1,目標是文件,報錯;2,目標是目錄,復制進去
           
        3,常用選項:
        -i:交互式
        -r,-R:遞歸復制目錄及其內部所有內容
        -a:歸檔
        -d: --no-dereference --preserv=links
        --preserve[=ATTR_LIST]
            mode:權限
            ownership:屬主屬組
            timestamp:時間戳
            xattr:擴展文件屬性
            context:上下文
            links:鏈接
            all:所有
        -p:保留權限,屬主屬組及時間戳 = --preserv=mode,ownership,timestamp
        -v:--verbose                
        -f:--force
  2、mv:move移動文件
    如果SRC是單個文件:
      若DEST不存在,則剪切源文件至新目錄下,并重命名成新名字
      如果SRC是目錄,則把目錄下所有文件都移動過去
    3、rm:remove,刪除
        常用選項:
        -i:交互式
        -f:強制刪除
        -r:遞歸
        rm:-rf,強制遞歸刪除

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

    命令執行狀態:bash使用特殊變量$?保存最近一條命令的執行狀態結果:其中0表示成功;1-255表示失敗。
    命令行展開:
            1,~:展開為用戶的主目錄;
            2,~USERNAME:展開為指定用戶的主目錄
            3,{}:可承載一個以逗號分隔的列表,并將其展開為多個路徑
    如:mkdir -p 2/{bin,sbin,usr/{bin,sbin}}
        mkdir -p 1/{x,y}_m/{m,n}

    

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

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

# mkdir /tmp/{a,b}_{c,d}


      (2)、創建/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

# mkdir -p /tmp/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}}


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

       文件名,大小,塊,IO塊,設備,Inode,硬鏈接,權限,Uid,Gid,環境,時間戳

       stat查看文件元數據

       touch修改時間戳

 touch [OPTION]... FILE...
     -a:修改訪問時間
     -m:修改修改時間
     -t:修改為指定時間
     -c:不創建文件


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

命令別名(alias)
    通過alias命令實現
        1)alias:顯示當前shell進程中所有可用的命令別名
        2)alias:NAME=‘VALUE’
定義別名NAME,其相當于執行命令VALUE
        例:alias cdnet='cd /etc/sysconfig/network-scripts'
注意:在命令行中定義的別名,僅對當前shell進程有效,如果想永久有效,需要定義在配置文件中
    僅對當前用戶:~/.bashrc
    對所有用戶有效:/etc/bashrc
立即生效,重新讀取配置文件:source .bashrc
 
bash進程重新讀取配置文件:
        source /path/to/config_file
        . /path/to/config_file
撤銷別名:unalias
        unalias [-a] name [-name ...]
PS:如果別名同原命令名稱,要執行原命令,可使用"\COMMAND"


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

# ls  /var/l*[0-9]*[:lower:]

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

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

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

# ls /etc/[^:alpha:]?

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

# touch /tmp/tfile$(date +%Y-%m-%d-%H-%M-%S)

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

# mkdir mytest1 && cp -r /etc/p*[^0-9] /tmp/mytest1

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

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

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

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


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

(0)
lichenhanlichenhan
上一篇 2016-07-04 11:27
下一篇 2016-07-04 11:27

相關推薦

  • 第一周作業

    1、描述計算機的組成及其功能。
    2、按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別。
    3、描述Linux的哲學思想,并按照自己的理解對其進行解釋性描述。
    4、說明Linux系統上命令的使用格式;詳細介紹ifconfig、echou、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相應的示例來闡述。
    5、如何在Linux系統上獲取命令的幫助信息,請詳細列出,并描述man文檔的章節是如何劃分的。
    6、請羅列Linux發行版的基礎目錄名稱命名法則及共用規定。

    Linux干貨 2017-12-03
  • 用戶管理

    用戶管理 用戶通過uid來識別,用戶的uid是全局唯一,Linux用戶分三大類: 用戶類別可以分為 管理員 系統用戶 普通用戶 ——管理員的id為0,系統用戶的id為1-499,一般用戶的id為500- 組也是一樣(centos6.9和centos7.3 id編號有所不同)上述是centos6.9的id編號。 管理員賬戶:root,可…

    2017-06-01
  • iptables實戰筆記一

    iptables實戰 1.開啟防火墻 systemctl start firewalld 2.清空所有的默認規則,我們自己定義自己的規則 iptables -F 查看此時的iptables iptables -nL Chain INPUT (policy ACCEPT) target prot opt source destination Chain FOR…

    Linux干貨 2017-06-13
  • keepalived的原理及安裝應用

    keepalived的主從模式,keepalived的日志功能和主主模式

    2018-03-13
  • VIM編輯器

    VIM是什么? Vim是從VI發展出來的一個文本編輯器,擁有許多豐富的功能,便于編程開發,在程序員中被廣泛使用,是類Unix系統用戶最喜歡的功能強大的跨平臺文本文件編輯工具。 為什么要用VIM? vi編輯器是所有類UNIX系統下標準的編輯器,他是我們使用Linux系統不能缺少的工具。對于所有類UNIX系統的任何版本,vi編輯器是完全相同的。而vim是從VI發…

    2017-06-03
欧美性久久久久