馬哥教育網絡班20期+第二周課程練習

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

文件管理有 cp, mv, rm

 復制命令:cp

[root@ddwhost ~]# cp /etc/magic /tmp/

 

      cp [OPTION]… [-T] SOURCE DEST

        cp [OPTION]… SOURCE… DIRECTORY

        cp [OPTION]… -t DIRECTORY SOURCE…

cp SRC DEST

      SRC是文件:

                如果目標不存在:新建DEST,并將SRC中內容填充至DEST中;

                如果目錄存在:

                  如果DEST是文件:將SRC中的內容覆蓋至DEST中;

                  此時建議為cp命令使用-i選項;

                   如果DEST是目錄:在DEST下新建與原文件同名的文件,并將SRC中內容填充至新文件中;

SRC是目錄:

[root@ddwhost etc]# cp -r /etc/yum.repos.d/   /tmp/

[root@ddwhost etc]# 

    此時使用選項:-r

      如果DEST不存在:則創建指定目錄,復制SRC目錄中所有文件至DEST中;

mv: move,移動文件

[root@ddwhost tmp]# mv magic test

[root@ddwhost tmp]# 

       mv [OPTION]… [-T] SOURCE DEST

       mv [OPTION]… SOURCE… DIRECTORY

       mv [OPTION]… -t DIRECTORY SOURCE…

常用選項:

               -i: 交互式

               -f: 強制

rm: remove,刪除

[root@ddwhost etc]# rm -rf ddw

[root@ddwhost etc]# 

 

 rm [OPTION]… FILE…

        常用選項:

            -i: 交互式

            -f: 強制刪除

            -r: 遞歸

            rm -rf 


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

bash最近一條命令的執行狀態結果

成功:0 

失?。?-255 

echo $?:輸出狀態結果 

程序執行的結果有兩類:返回值與執行狀態結果。及權限控制

[root@ddwhost tmp]# rm -rf a_b

[root@ddwhost tmp]# echo $?

[root@ddwhost tmp]# 

 

[root@ddwhost tmp]# mv dd e4

mv: cannot stat `dd': No such file or directory

[root@ddwhost tmp]# echo $?

1

[root@ddwhost tmp]# 

 

golb用于實現bash文件名的“通配”

*:表示任意數量個字符

?:表示一個字符 

[]:指定[]范圍內的字符 

[^]:指定[^]范圍外的字符 

[^0-9a-z]:表示除0-9,a-z,用來表示特殊字符

專用字符集

[:digit:]:0-9 

[:lower:]:任意小寫字母 

[:upper:]:任意大寫字母 

[:alpha:]:任意大小寫字母 

[:alnum:]:任意數字或字母 

[:space:]:空格 

[:punct:]:標點符號

[root@ddwhost etc]# ls -d /etc/[0-9]*[^0-9]

/etc/133dd  /etc/355dd  /etc/453dr  /etc/46dd

[root@ddwhost etc]# 

 

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

   (1)、創建/tmp目錄下的:a_c, a_d, b_c, b_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

(1)

[root@ddwhost tmp]# mkdir {a,b}_{c,d}

[root@ddwhost tmp]# ll

total 56

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 a_c

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 a_d

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 b_c

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 b_d

srwxrwxr-x.  1 ddw  ddw     0 May 23 16:39 gnome-system-monitor.ddw.1270181653

drwx——.  2 ddw  ddw  4096 May 23 16:32 keyring-5QNkrm

 

(2)

[root@ddwhost tmp]# mkdir -p mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-script},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}

[root@ddwhost tmp]# tree mylinux

mylinux

├── bin

├── boot

│   └── grub

├── dev

├── etc

│   ├── rc.d

│   │   └── init.d

│   └── sysconfig

│       └── network-script

├── lib

│   └── modules

├── lib64

├── proc

├── sbin

├── sys

├── tmp

├── usr

│   └── local

│       ├── bin

│       └── sbin

└── var

    ├── lock

    ├── log

    └── run

 

24 directories, 0 files

 

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

文件的時間戳管理工具:

    touch

文件:metadata, data

        查看文件狀態:stat

 

touch命令:

     touch [OPTION]… FILE…

            -a: only atime

            -m: only mtime

            -t STAMP:

                 [[CC]YY]MMDDhhmm[.ss]

            -c: 如果文件不存,則不予創

ll [file]

[root@ddwhost ~]# ll

total 68

-rw-r–r–. 1 root root   233 Jun 18 07:10 adduser.sh

-rw——-. 1 root root  2664 May  9 13:18 anaconda-ks.cfg

-rw-r–r–. 1 root root 40003 May  9 13:18 install.log

-rw-r–r–. 1 root root  9154 May  9 13:16 install.log.syslog

-rw-r–r–. 1 root root    70 Jun 18 20:15 numsort.sh

[root@ddwhost ~]# 

-  :文件類型

r– :屬主權限,r為可讀 

w–:屬組權限, w為可寫 

–x :其它,x為可執行 

1    :表示硬鏈接數量 

root:第一個root表示屬主 

root:第二個root表示屬組 

13   :為文件d大小 

Jun 19 15:52:為時間 

1    :最后一位表示文件名

時間戳:通常是一個字符序列,唯一標識某一刻的時間。

 

date是顯示或修改系統時間

[root@ddwhost ~]# date

Sun Jun 19 04:12:55 PDT 2016

[root@ddwhost ~]# 

 

三個時間戳:

            access time:訪問時間,簡寫為atime,讀取文件內容

            modify time: 修改時間, mtime,改變文件內容(數據)

            change time: 改變時間, ctime,元數據發生改變

 

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

通過alias命令實現命令的別名:

 (1) alias

       顯示當前shell進程所有可用的命令別名;

[root@ddwhost tmp]# alias     //服務器存在的別名

alias cp='cp -i'

alias l.='ls -d .* –color=auto'

alias ll='ls -l –color=auto'

alias ls='ls –color=auto'

alias mv='mv -i'

alias rm='rm -i'

alias which='alias | /usr/bin/which –tty-only –read-alias –show-dot –show-tilde'

[root@ddwhost tmp]# 

 

 (2) alias NAME='VALUE'

       定義別名NAME,其相當于執行命令VALUE;

[root@ddwhost tmp]# alias  host='ddwhost'

[root@ddwhost tmp]# alias 

alias cp='cp -i'

alias host='ddwhost'        //剛定義的別名

alias l.='ls -d .* –color=auto'

alias ll='ls -l –color=auto'

alias ls='ls –color=auto'

alias mv='mv -i'

alias rm='rm -i'

alias which='alias | /usr/bin/which –tty-only –read-alias –show-dot –show-tilde'

[root@ddwhost tmp]# 

注意事項:

    在命令行中定義的別名,僅對當前shell進程有效;如果想永久有效,要定義在配置文件中;

                僅對當前用戶:~/.bashrc

                對所有用戶有效:/etc/bashrc  

 

                編輯配置給出的新配置不會立即生效; 

                bash進程重新讀取配置文件:

                    source /path/to/config_file

                    .  /path/to/config_file

 

在命令中引用另一個命令的執行結果

[root@ddwhost ~]# alias host='ddwhost /tmp/mytest1 >>/dev/null 2>&1'

 

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

[root@ddwhost var]# ls

143df   1566dd   cache  db     games  lib    lock  mail  opt       run    tmp  yp

155sdc  account  crash  empty  gdm    local  log   nis   preserve  spool  www

[root@ddwhost var]# ls -d /var/1*[0-9]*[[:lower:]]

/var/143df  /var/155sdc  /var/1566dd

[root@ddwhost var]# 

 

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

[root@ddwhost etc]# touch 133dd 453dr 355dd 3552 46dd

[root@ddwhost etc]# ls -d /etc/[0-9]*[^0-9]

/etc/133dd  /etc/355dd  /etc/453dr  /etc/46dd

[root@ddwhost etc]# 

 

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

[root@ddwhost etc]# touch 2dddd  4dd33 4ddd

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

/etc/2dddd  /etc/4dd33  /etc/4ddd

[root@ddwhost etc]# 

 

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

[root@ddwhost tmp]# touch tfile-`date +"%Y-%m-%d-%H-%M-%S"` 

[root@ddwhost tmp]# ll

total 56

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 a_c

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 a_d

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 b_c

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 b_d

-rw-r–r–.  1 root root    0 Jun 19 03:46 date

srwxrwxr-x.  1 ddw  ddw     0 May 23 16:39 gnome-system-monitor.ddw.1270181653

drwx——.  2 ddw  ddw  4096 May 23 16:32 keyring-5QNkrm

drwx——.  2 ddw  ddw  4096 May  9 05:35 keyring-A42ICV

drwx——.  2 ddw  ddw  4096 May 26 03:27 keyring-vYoGuc

drwx——.  2 ddw  ddw  4096 Jun  4 21:22 keyring-wyE6NI

drwx——.  2 ddw  ddw  4096 May 13 23:17 keyring-YKhNhE

drwxr-xr-x. 14 root root 4096 Jun 19 03:01 mylinux

drwx——.  2 ddw  ddw  4096 Jun 13 02:29 orbit-ddw

drwx——.  2 gdm  gdm  4096 Jun  4 21:22 orbit-gdm

drwx——.  2 ddw  ddw  4096 Jun  4 21:22 pulse-UYzNE2Y3xwBW

-rw-r–r–.  1 root root    0 Jun 19 03:46 tfile-

-rw-r–r–.  1 root root    0 Jun 19 03:50 tfile-2016-06-19-03-50-14

 

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

[root@ddwhost tmp]# mkdir mytest1

[root@ddwhost tmp]# cp -r /etc/p*[^0-9] /tmp/mytest1

[root@ddwhost tmp]# ls /tmp/mytest1/

pam.d   passwd-       pcmcia   plymouth                      pnm2ppa.conf  postfix        prelink.conf    profile    pulse

pango   passwd.OLD    pinforc  pm                            popt.d        ppp            prelink.conf.d  profile.d

passwd  pbm2ppa.conf  pki      pm-utils-hd-apm-restore.conf  portreserve   prelink.cache  printcap        protocols

[root@ddwhost tmp]# 

 

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

[root@ddwhost tmp]# mkdir mytest2

[root@ddwhost tmp]# cp -r /etc/*.d /tmp/mytest2

[root@ddwhost tmp]# ll

total 64

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 a_c

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 a_d

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 b_c

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 b_d

-rw-r–r–.  1 root root    0 Jun 19 03:46 date

srwxrwxr-x.  1 ddw  ddw     0 May 23 16:39 gnome-system-monitor.ddw.1270181653

drwx——.  2 ddw  ddw  4096 May 23 16:32 keyring-5QNkrm

drwx——.  2 ddw  ddw  4096 May  9 05:35 keyring-A42ICV

drwx——.  2 ddw  ddw  4096 May 26 03:27 keyring-vYoGuc

drwx——.  2 ddw  ddw  4096 Jun  4 21:22 keyring-wyE6NI

drwx——.  2 ddw  ddw  4096 May 13 23:17 keyring-YKhNhE

drwxr-xr-x. 14 root root 4096 Jun 19 03:01 mylinux

drwxr-xr-x. 15 root root 4096 Jun 19 03:55 mytest1

drwxr-xr-x. 26 root root 4096 Jun 19 03:57 mytest2

drwx——.  2 ddw  ddw  4096 Jun 13 02:29 orbit-ddw

drwx——.  2 gdm  gdm  4096 Jun  4 21:22 orbit-gdm

drwx——.  2 ddw  ddw  4096 Jun  4 21:22 pulse-UYzNE2Y3xwBW

-rw-r–r–.  1 root root    0 Jun 19 03:46 tfile-

-rw-r–r–.  1 root root    0 Jun 19 03:50 tfile-2016-06-19-03-50-14

-rw-r–r–.  1 root root    0 Jun 19 03:50 tfile-2016-06-19-03-50-40

-rw-r–r–.  1 root root    0 Jun 19 03:54 tfile-2016-06-19-03-54-15

-rw-r–r–.  1 root root    0 Jun 19 03:47 tfile-date

-rw-r–r–.  1 root root    0 Jun 19 03:48 tfile-date+%Y-%m-%d-%H-%M-%S

-rw-r–r–.  1 root root    0 Jun 19 03:54 touch

drwx——.  2 root lp   4096 Jun 18 16:51 vmware-root-1847854491

-rw-r–r–.  1 root root    0 Jun 19 03:47 +%Y-%m-%d-%H-%M-%S

[root@ddwhost tmp]# 

 

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

[root@ddwhost tmp]# mkdir mytest3

[root@ddwhost tmp]# cp /etc/[l,m,n]*.conf /tmp/mytest3

[root@ddwhost tmp]# ll

total 68

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 a_c

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 a_d

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 b_c

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 b_d

-rw-r–r–.  1 root root    0 Jun 19 03:46 date

srwxrwxr-x.  1 ddw  ddw     0 May 23 16:39 gnome-system-monitor.ddw.1270181653

drwx——.  2 ddw  ddw  4096 May 23 16:32 keyring-5QNkrm

drwx——.  2 ddw  ddw  4096 May  9 05:35 keyring-A42ICV

drwx——.  2 ddw  ddw  4096 May 26 03:27 keyring-vYoGuc

drwx——.  2 ddw  ddw  4096 Jun  4 21:22 keyring-wyE6NI

drwx——.  2 ddw  ddw  4096 May 13 23:17 keyring-YKhNhE

drwxr-xr-x. 14 root root 4096 Jun 19 03:01 mylinux

drwxr-xr-x. 15 root root 4096 Jun 19 03:55 mytest1

drwxr-xr-x. 26 root root 4096 Jun 19 03:57 mytest2

drwxr-xr-x.  2 root root 4096 Jun 19 03:59 mytest3

drwx——.  2 ddw  ddw  4096 Jun 13 02:29 orbit-ddw

drwx——.  2 gdm  gdm  4096 Jun  4 21:22 orbit-gdm

drwx——.  2 ddw  ddw  4096 Jun  4 21:22 pulse-UYzNE2Y3xwBW

-rw-r–r–.  1 root root    0 Jun 19 03:46 tfile-

-rw-r–r–.  1 root root    0 Jun 19 03:50 tfile-2016-06-19-03-50-14

-rw-r–r–.  1 root root    0 Jun 19 03:50 tfile-2016-06-19-03-50-40

-rw-r–r–.  1 root root    0 Jun 19 03:54 tfile-2016-06-19-03-54-15

-rw-r–r–.  1 root root    0 Jun 19 03:47 tfile-date

-rw-r–r–.  1 root root    0 Jun 19 03:48 tfile-date+%Y-%m-%d-%H-%M-%S

-rw-r–r–.  1 root root    0 Jun 19 03:54 touch

drwx——.  2 root lp   4096 Jun 18 16:51 vmware-root-1847854491

-rw-r–r–.  1 root root    0 Jun 19 03:47 +%Y-%m-%d-%H-%M-%S

[root@ddwhost tmp]# 

 

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

(0)
dengdw0917dengdw0917
上一篇 2016-06-23
下一篇 2016-06-23

相關推薦

  • bash變量和邏輯運行

    bash 特性及bash腳本編程初步       終端,附著在終端的接口程序:      GUI:KDE,GNome,Xfce      CLI: /etc/shells              b…

    Linux干貨 2016-12-23
  • 第十三周作業

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

    Linux干貨 2017-08-13
  • 馬哥linux 0801作業

    將/etc/issue文件中的內容轉換為大寫后保存至/tmp/issue.out文件中 2.將當前系統登錄用戶的信息轉換為大寫后保存至/tmp/who.out文件中 3.一個linux用戶給root發郵件,要求郵件標題為"help",郵件正文如下: Hello,I am 用戶名,the system version is here,ple…

    Linux干貨 2016-08-04
  • Linux網絡管理之路由和team網絡組

    如何實現把linux當路由器來使用,實現不同網段之間的通信訪問,這就是今天所要實現的路由配置   環境準備:4臺虛擬機,兩臺中間兩臺作為路由器來使用(每天主機兩塊網卡),其他兩臺作為終端主機,目的是讓不同網段的兩臺主機之間互相訪問(這里在vmware里面做的實驗,所以網卡的類型都設置為橋接)   拓撲圖:   步驟一:將A、D兩…

    系統運維 2016-09-10
  • 一起學DNS系列(十四)DNS查詢工具之DIG的使用(2)

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://jeffyyko.blog.51cto.com/28563/240243    上節談到了利用DIG的+trace參數追蹤域名解析的過程,其實除此之外,DIG還有一些其他的參數,這節會涉及到這…

    2015-03-17
  • 使用 nice、cpulimit 和 cgroups 限制 cpu 占用率

    Linux內核是一名了不起的馬戲表演者,它在進程和系統資源間小心地玩著雜耍,并保持系統的正常運轉。 同時,內核也很公正:它將資源公平地分配給各個進程。 但是,如果你需要給一個重要進程提高優先級時,該怎么做呢? 或者是,如何降低一個進程的優先級? 又或者,如何限制一組進程所使用的資源呢? 答案是需要由用戶來為內核指定進程的優先級 大部分進程啟動時的優先級是相同…

    Linux干貨 2015-02-14

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-06-23 14:05

    寫的很棒,可以在多關注一些排版的技巧

欧美性久久久久