馬哥教育網絡班21期+第2周作業

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

    cp復制,mv移動,rm刪除

    1、cp:   

         1,用法:

cp [OPTION]... [-T] SOURCE DEST             
cp [OPTION]... SOURCE... DIRECTORY            
cp [OPTION]... -t DIRECTORY SOURCE...

      

       2,規則

        當源是文件:           

            目標不存在時:新建目標,并將源的內容填充至目標中;           

            目標存在時:

                如果目標是文件,則覆蓋,可使用-i參數提醒;

                如果目標是目錄,則在目標下新建與源同名的文件,并將源內容填充入內       

        當源是多個文件時:

            目標必為目錄,如果目標不存在,則不能復制               

            如果源是目錄,需使用-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}}
[root@localhost ~]# tree 2
2
├── bin
├── sbin
└── usr
    ├── bin
    └── sbin
5 directories, 0 files

        

mkdir -p 1/{x,y}_m/{m,n}
[root@localhost ~]# tree 1
1
├── x_m
│   ├── m
│   └── n
└── y_m
    ├── m
    └── n
6 directories, 0 files

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/23841

(0)
lichenhanlichenhan
上一篇 2016-07-12
下一篇 2016-07-12

相關推薦

  • Linux之查找命令find簡介

    查找命令find簡介    Linux使用過程中難免會遇到查找功能,類似于Windows中的搜索功能,如果想要找某個文件在什么地方,什么格式的文件等等。在Linux中我們可以使用find、locate、which、whereis等命令。接下來我們就簡單說一下如何使用這幾個命令查找文件。 一、which which命令的作用是,在PATH變…

    Linux干貨 2015-05-18
  • Linux 用戶、用戶組及權限管理

    一、Linux用戶及用戶組的基本概念 用戶:用戶是實現能夠將有限的資源在多個使用者之間進行分配;、 用戶組:用戶組是指多個用戶的集合,方便對一類需要同樣權限的用戶授權 Linux是多用戶、多任務的操作系統。     多用戶指:多人同時使用系統資源;多任務:同時運行多個進程 二、用戶及用戶組類別 1、用戶:名稱解析庫 /…

    Linux干貨 2016-03-20
  • Nginx相關配置及其應用

    LB Cluster: 傳輸層:lvs、nginx、haproxy 應用層:nginx(http, https, smtp, pop, imap), haproxy(http), httpd(http/https), ats, perlbal, pound, … nginx load balancer: tcp/udp   nginx …

    Linux干貨 2016-11-11
  • 步入LINUX

    初次融入LINUX的環境。。。

    Linux干貨 2018-03-26
  • openssl基本應用

    導言: 我們知道在互聯網上進行文件傳輸、電子郵件商務往來存在許多不安全因素,特別是對于一些大公司和一些機密文件在網絡上傳輸,所以為了保證安全,我們必須給文件加密。今天,我們就來談談加密、解密、openssl的使用以及CA的實現過程。 數據的3大加密方式 對稱加密 含義 指加密解密使用同一組密鑰,是按數據分塊以后進行加密的,前后數據塊彼此之間有關聯關系。 特性…

    Linux干貨 2016-12-05
  • 用戶相關文件簡介

    2016/10/23 總結關于用戶和組相關的配置文件 Linux系統主要有4個文件與用戶和組的配置有關, 主要為/etc/passwd  /etc/shadow   /etc/group  /etc/gshadow 首先來解釋一下什么是用戶,什么是組 用戶:      管理員用戶&nbsp…

    Linux干貨 2016-10-24

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-07-12 14:49

    寫的很好,排版也很棒,加油

欧美性久久久久