第二周作業

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
下一篇 2016-07-04

相關推薦

  • linux網絡配置

    一、 網絡基本配置:  真不敢想象沒有網絡的一天應該怎樣度過,但是有了網絡就行了?原來剛有了網絡時由于沒有統一的標準,各大硬件廠商各自為政,都在搞網絡,但是都只是同一廠商的設備可以進行通訊,就和不同的國家的人交流使用了不同的語言一樣,難以將所有的網絡連接起來,之后Internet有了統一的標準,大家都遵循它的標準,后來計算機才能進行網絡通訊,同樣將…

    Linux干貨 2016-09-13
  • 如何學好C語言

    有人在酷殼的留言版上詢問下面的問題 keep_walker : 今天晚上我看到這篇文章。 http://programmers.stackexchange.com/questions/62502/small-c-projects 我也遇到了和提問的老外一樣的問題。。能給像遇到這樣煩惱的程序員一點建議嘛?謝謝! 我相信,這可能是很多朋友的問題,我以前…

    Linux干貨 2016-08-15
  • 磁盤陣列(raid),劃分邏輯卷(lvm)

    磁盤陣列(raid),劃分邏輯卷(lvm)       將來我們在生產環境中由于磁盤的來回讀寫量比較大,所以就容易導致磁盤的損壞率比較高。但是,處于生產環境的需求,我們還得保證服務器的正常運行?;蛘哒f我們需要對服務器的讀寫速率進行優化,這樣我們就不得不運用到這個磁盤陣列(raid )。而所謂的磁盤陣列就是使用…

    Linux干貨 2016-08-29
  • 馬哥教育網絡22班第二周課程練習

    1,Linux上的文件管理類命令有哪些?其常用的使用方法機器相關實例演示 文件管理類命令:   cp 文件復制         常用選項:             -i:交互式           &…

    Linux干貨 2016-08-30
  • sed詳解

    sed命令:    文本處理三劍客:        grep, egrep,fgrep: 文本過濾器        sed :Stream EDitor, 流編輯器,行        awk: 文本格式工具,報告生成器 …

    Linux干貨 2016-12-13
  • bash變量類型及區別之淺談

    變量類型,區別 位置變量$0 $1,$2,$# $@ $* 變量的類型:本地變量、環境變量、位置變量 本地變量:生效范圍為當前shell進程,對當前shell之外的其他shell進程包括當前shell的子進程均無效 環境變量:生效范圍為當前shell進程及子進程 位置變量:$1,…..$n,${10}來表示,用于放腳本在腳本代碼中調用通過命令行傳…

    Linux干貨 2016-08-12
欧美性久久久久