馬哥教育網絡班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 11:20
下一篇 2016-07-12 11:21

相關推薦

  • 第二章 linux高級命令的簡單使用以及shell腳本的簡單制作

    重定向;正則表達式;grep;sed;vim;yum;shell腳本

    Linux干貨 2018-03-17
  • Nginx基本使用方法及各模塊基本功能

    一、Nginx介紹     Nginx是由俄羅斯軟件工程師Igor Sysoev開發的一個高性能的HTTP和反向代理服務器,具備IMAP/POP3和SMTP服務器功能,Nginx最大的特點是對高并發的支持和高效的負載均衡,在高并發的需求場景下,是Apache服務器不錯的替代品。目前,包括新浪、騰訊等知名網站都已使用Nginx作為Web應用…

    Linux干貨 2016-01-21
  • 在vsftp中實現基于pam_mysql的虛擬用戶機制

    FTP簡介 在介紹vsftp相關內容前,簡單描述下FTP。FTP全稱File Transfer Protocol,文件傳輸協議。它是一個C/S架構的協議,在Linux中其服務端實現主要有vsftpd,pureftpd,proftpd,Filezilla,本文主要介紹的是vsftp??蛻舳藢崿F主要是ftp和lftp兩種工具。其工作方式:主要分為兩個層面的連接:…

    Linux干貨 2017-01-07
  • N22-第十三周作業

    1、建立samba共享,共享目錄為/data,要求:(描述完整的過程)  1)共享名為shared,工作組為magedu;  2)添加組develop,添加用戶gentoo,centos和ubuntu,其中gentoo和centos以develop為附加組,ubuntu不屬于develop組;密碼均為用戶名;  3)添加samb…

    Linux干貨 2016-11-14
  • 提問的智慧

    譯文 譯文: 捷克語 丹麥語 愛沙尼 亞語 法語 德語 希伯來語 匈牙利語 意大利語 日語 波 蘭語 俄語 西班牙語 瑞典語 土 耳其語. 如果你想復制、鏡像、翻譯或引用本文,請參閱我的 復制須知. 棄權申明 …

    Linux干貨 2015-03-20
  • 正則表達與擴展正則表達

    說到正則表達式那就不得不說grep命令: 1.grep命令的作用:grep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹 配的行打印出來。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權限是所有用戶。2.格式 2.命令格式 :grep [options] 3.主要參數: gre…

    2017-08-07

評論列表(1條)

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

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

欧美性久久久久