歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

【Magedu】Week02

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

1、Linux上文件管理類命令主要有:cp, mv, rm2、命令使用方法:復制命令:cp
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選項;交互式提醒(root用戶的cp命令是cp -i的別名,普通用戶不是)
                如果DEST是目錄:在DEST下新建與原文件同名的文件,並將SRC中內容填充至新文件中;

    cp SRC... DEST
        SRC...:多個文件
            DEST必須存在,且為目錄,其它情形均會出錯;

    cp SRC DEST
        SRC是目錄:
            此時必須使用選項:-r 遞歸,否則會忽略

            如果DEST不存在:則創建指定目錄,復制SRC目錄中所有文件至DEST中;
            如果DEST存在:
                如果DEST是文件:報錯
                如果DEST是目錄:src目錄及文件復制到dest目錄下

    常用選項:
        -i:交互式
        -r, -R: 遞歸復制目錄及內部的所有內容;

        -a: 歸檔,相當於-dR --preserv=all,復制時文件保留原來的狀態

            -d:等效於--no-dereference --preserv=links
            --no-dereference
                復制符號鏈接本身,不復制符號鏈接指向的內容
            --preserv[=ATTR_LIST]   保留文件指定屬性
                mode: 權限
                ownership: 屬主屬組
                timestamp: 時間戳
                links:原來是符號鏈接任然保持
                xattr:擴展屬性
                context:安全上下文
                all
        -p/--preserv: 等效於--preserv=mode,ownership,timestamp
        -v: --verbose
        -f: --force
移動重命名文件:mv
mv [OPTION]... [-T] SOURCE DEST
    mv [OPTION]... SOURCE... DIRECTORY
    mv [OPTION]... -t DIRECTORY SOURCE...

    源和目標在同一位置,等同於重命名
        mv /tmp/123 /tmp/abc
    常用選項:
        -i: 交互式
        -f: 強制
刪除文件:rm
rm [OPTION]... FILE...

    常用選項:
        -i: 交互式,管理員rm是rm -i的別名
        -f: 強制刪除
        -r: 遞歸,刪除目錄時必須加

    rm -rf 
        centos6以後默認禁止刪除根/;注意rm -rf /*並沒有被禁止;
        確認刪除根/ 使用--no-preserv-root
3、 相關命令用法演示:cp用法源文件是單個文件,目標不存在:
[root@magedu ~]# cp /etc/passwd /tmp/victor
[root@magedu ~]# ll /tmp/victor 
-rw-r--r--. 1 root root 854 7月  16 19:25 /tmp/victor
[root@magedu ~]# cat /tmp/victor 
root:x:0:0:root:/root:/bin/bash
...
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
目標存在,且是文件:
[root@magedu ~]# touch /tmp/victor
[root@magedu ~]# cat /etc/shadow >/tmp/victor 
[root@magedu ~]# cat /tmp/victor 
root:$6$ZnIUo.szHf7mreEk$RGLp/A/uHdh..5.kRnZKFulC8KW6PoZTtyGMFxf5Duey/Sfc49vr0AMFlvzh/72JuDxrFzVBk1utGDg4zFbTk1:16998:0:99999:7:::
...
sshd:!!:16998::::::
[root@magedu ~]# cp /etc/passwd /tmp/victor 
cp:是否覆蓋"/tmp/victor"? y
[root@magedu ~]# cat /tmp/victor 
root:x:0:0:root:/root:/bin/bash
...
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

目標存在,且是目錄:

[root@magedu ~]# mkdir /tmp/victor
mkdir: 無法創建目錄"/tmp/victor": 文件已存在
[root@magedu ~]# rm -rf /tmp/victor 
[root@magedu ~]# mkdir /tmp/victor
[root@magedu ~]# cp /etc/passwd /tmp/victor
[root@magedu ~]# ll /tmp/
總用量 4
drwxr-xr-x. 2 root root 4096 7月  16 19:34 victor
-rw-------. 1 root root    0 7月  16 18:41 yum.log
[root@magedu ~]# ll /tmp/victor/
總用量 4
-rw-r--r--. 1 root root 854 7月  16 19:34 passwd
源文件為多個文件:
[root@magedu ~]# ll
總用量 16
-rw-------. 1 root root 1093 7月  16 18:44 anaconda-ks.cfg
-rw-r--r--. 1 root root 8015 7月  16 18:44 install.log
-rw-r--r--. 1 root root 3384 7月  16 18:43 install.log.syslog
[root@magedu ~]# rm -rf /tmp/victor
[root@magedu ~]# cp ~/
anaconda-ks.cfg     .bash_logout        .bashrc             install.log         .tcshrc             
.bash_history       .bash_profile       .cshrc              install.log.syslog  
[root@magedu ~]# cp ~/* /tmp/victor
cp: 目標"/tmp/victor" 不是目錄
[root@magedu ~]# mkdir /tmp/victor
[root@magedu ~]# cp ~/* /tmp/victor
[root@magedu ~]# ll /tmp/victor/
總用量 16
-rw-------. 1 root root 1093 7月  16 19:38 anaconda-ks.cfg
-rw-r--r--. 1 root root 8015 7月  16 19:38 install.log
-rw-r--r--. 1 root root 3384 7月  16 19:38 install.log.syslog

源是目錄:

[root@magedu ~]# rm -rf /tmp/victor/
[root@magedu ~]# ll /tmp/
總用量 0
-rw-------. 1 root root 0 7月  16 18:41 yum.log
[root@magedu ~]# cp /etc /tmp/victor
cp: 略過目錄"/etc"
[root@magedu ~]# cp /etc /tmp/victor -r
[root@magedu ~]# ll /tmp/victor/
總用量 1172
-rw-r--r--.  1 root root     46 7月  16 19:40 adjtime
...
drwxr-xr-x.  2 root root   4096 7月  16 19:40 yum.repos.d
[root@magedu ~]# rm -rf /tmp/victor/
[root@magedu ~]# touch /tmp/victor
[root@magedu ~]# cp /etc /tmp/victor -r
cp: 無法以目錄"/etc" 來覆蓋非目錄"/tmp/victor"
[root@magedu ~]# rm -rf /tmp/victor 
[root@magedu ~]# mkdir /tmp/victor
[root@magedu ~]# cp /etc /tmp/victor -r
[root@magedu ~]# ll /tmp/victor/
總用量 4
drwxr-xr-x. 63 root root 4096 7月  16 19:46 etc
常用選項:
[root@magedu ~]# ll /etc/grub.conf 
lrwxrwxrwx. 1 root root 22 7月  16 18:44 /etc/grub.conf -> ../boot/grub/grub.conf
[root@magedu ~]# file /etc/grub.conf 
/etc/grub.conf: symbolic link to `../boot/grub/grub.conf'
[root@magedu ~]# cp /etc/grub.conf /tmp/
[root@magedu ~]# stat /tmp/grub.conf 
  File: "/tmp/grub.conf"
  Size: 1143        Blocks: 8          IO Block: 4096   普通文件
Device: fd00h/64768d    Inode: 260709      Links: 1
Access: (0600/-rw-------)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-07-16 19:50:02.000000000 +0800
Modify: 2016-07-16 19:53:50.412995867 +0800
Change: 2016-07-16 19:53:50.412995867 +0800

[root@magedu ~]# cp /etc/grub.conf /tmp/ -p
cp:是否覆蓋"/tmp/grub.conf"? y
[root@magedu ~]# stat /tmp/grub.conf 
  File: "/tmp/grub.conf"
  Size: 1143        Blocks: 8          IO Block: 4096   普通文件
Device: fd00h/64768d    Inode: 260709      Links: 1
Access: (0600/-rw-------)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-07-16 19:50:02.000000000 +0800
Modify: 2016-07-16 19:18:11.000000000 +0800
Change: 2016-07-16 19:54:39.988995812 +0800

[root@magedu ~]# cp /etc/grub.conf /tmp/ -a
cp:是否覆蓋"/tmp/grub.conf"? y
[root@magedu ~]# stat /tmp/grub.conf 
  File: "/tmp/grub.conf" -> "../boot/grub/grub.conf"
  Size: 22          Blocks: 0          IO Block: 4096   符號鏈接
Device: fd00h/64768d    Inode: 260709      Links: 1
Access: (0777/lrwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-07-16 19:15:24.195000001 +0800
Modify: 2016-07-16 18:44:55.721999963 +0800
Change: 2016-07-16 19:55:36.551009118 +0800

[root@magedu ~]# cp /etc/grub.conf /tmp/grub.conf 
[root@magedu ~]# ll /tmp/grub.conf 
-rw-------. 1 root root 1145 7月  16 20:01 /tmp/grub.conf
[root@magedu ~]# cp --no-dereference /etc/grub.conf /tmp/grub.conf -f
cp:是否覆蓋"/tmp/grub.conf"? y
[root@magedu ~]# ll /tmp/grub.conf 
lrwxrwxrwx. 1 root root 22 7月  16 20:01 /tmp/grub.conf -> ../boot/grub/grub.conf

mv用法

[root@magedu ~]# touch /tmp/victor
    [root@magedu ~]# mv /tmp/victor /tmp/lifuqiang
    [root@magedu ~]# ll /tmp/
    總用量 0
    -rw-r--r--. 1 root root 0 7月  16 20:05 lifuqiang
    -rw-------. 1 root root 0 7月  16 18:41 yum.log
    [root@magedu ~]# mkdir /tmp/victor 
    [root@magedu ~]# mv /tmp/victor /tmp/mrmiao
    [root@magedu ~]# ll /tmp/
    總用量 4
    -rw-r--r--. 1 root root    0 7月  16 20:05 lifuqiang
    drwxr-xr-x. 2 root root 4096 7月  16 20:06 mrmiao
    -rw-------. 1 root root    0 7月  16 18:41 yum.log

    [root@magedu ~]# mv ~/install.log.syslog /tmp/install.log -i
    mv:是否覆蓋"/tmp/install.log"? n
    [root@magedu ~]# ll /tmp/
    總用量 12
    -rw-r--r--. 1 root root 8015 7月  16 18:44 install.log
    -rw-r--r--. 1 root root    0 7月  16 20:05 lifuqiang
    drwxr-xr-x. 2 root root 4096 7月  16 20:06 mrmiao
    -rw-------. 1 root root    0 7月  16 18:41 yum.log
    [root@magedu ~]# mv ~/install.log.syslog /tmp/install.log -f
    [root@magedu ~]# ll /tmp/
    總用量 8
    -rw-r--r--. 1 root root 3384 7月  16 18:43 install.log
    -rw-r--r--. 1 root root    0 7月  16 20:05 lifuqiang
    drwxr-xr-x. 2 root root 4096 7月  16 20:06 mrmiao
    -rw-------. 1 root root    0 7月  16 18:41 yum.log
rm用法
[root@magedu ~]# rm /tmp/lifuqiang -i
    rm:是否刪除普通空文件 "/tmp/lifuqiang"?y
    [root@magedu ~]# touch /tmp/mrmiao/{svfds,dsfad}
    [root@magedu ~]# mkdir /tmp/mrmiao/fvd
    [root@magedu ~]# tree /tmp/
    /tmp/
    ├── install.log
    ├── mrmiao
    │   ├── dsfad
    │   ├── fvd
    │   └── svfds
    └── yum.log
    [root@magedu ~]# rm /tmp/mrmiao
    rm: 無法刪除"/tmp/mrmiao": 是一個目錄
    [root@magedu ~]# rm /tmp/mrmiao -f
    rm: 無法刪除"/tmp/mrmiao": 是一個目錄
    [root@magedu ~]# rm /tmp/mrmiao -r
    rm:是否進入目錄"/tmp/mrmiao"? n    
    [root@magedu ~]# rm /tmp/mrmiao -rf
    [root@magedu ~]# tree /tmp/
    /tmp/
    ├── install.log
    └── yum.log

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

1、命令執行成功返回碼為:0,命令執行出錯返回碼為1-255;返回碼記錄在$?中。
[root@magedu ~]# pwd
    /root
    [root@magedu ~]# echo $?
    0
    [root@magedu ~]# pw
    -bash: pw: command not found
    [root@magedu ~]# echo $?
    127
2、命令行展開包含 ~ 和 {}
~: 展開為用戶的主目錄
~USERNAME:展開為指定用戶的主目錄
{}:可承載一個以逗號分隔的列表,並將其展開為多個路徑
/tmp/{a,b} = /tmp/a, /tmp/b
/tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi

    [root@magedu tmp]# pwd
    /tmp
    [root@magedu tmp]# cd ~
    [root@magedu ~]# pwd
    /root
    [root@magedu ~]# cd ~victor
    [root@magedu victor]# pwd
    /home/victor

    [root@magedu victor]# touch /tmp/{a,b,c}
    [root@magedu victor]# ll /tmp/
    總用量 4
    -rw-r--r--. 1 root root    0 7月  16 20:45 a
    -rw-r--r--. 1 root root    0 7月  16 20:45 b
    -rw-r--r--. 1 root root    0 7月  16 20:45 c
    -rw-r--r--. 1 root root 3384 7月  16 18:43 install.log
    -rw-------. 1 root root    0 7月  16 18:41 yum.log

    [root@magedu victor]# mkdir /tmp/{1,2,3}/{vicror,miao} -p
    [root@magedu victor]# tree /tmp/
    /tmp/
    ├── 1
    │   ├── miao
    │   └── vicror
    ├── 2
    │   ├── miao
    │   └── vicror
    ├── 3
    │   ├── miao
    │   └── vicror
    ├── a
    ├── b
    ├── c
    ├── install.log
    └── yum.log

    9 directories, 5 files

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

(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、創建/tmp目錄下的:a_c, a_d, b_c, b_d
    [root@magedu victor]# mkdir /tmp/{a,b}_{c,d}
    [root@magedu victor]# ll /tmp/
    總用量 16
    drwxr-xr-x. 2 root root 4096 7月  16 20:52 a_c
    drwxr-xr-x. 2 root root 4096 7月  16 20:52 a_d
    drwxr-xr-x. 2 root root 4096 7月  16 20:52 b_c
    drwxr-xr-x. 2 root root 4096 7月  16 20:52 b_d
2、創建要求的目錄
    [root@magedu victor]# mkdir /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}} -p
    [root@magedu victor]# tree /tmp/mylinux/
    /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

    24 directories, 0 files

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

1、文件的元數據信息是用來描述一個文件的特征的系統數據,可以用stat命令來進行查看。 包括:文件大小size文件占用塊個數Blocks

塊大小IO Block

inode數

鏈接文件數目links,

文件權限,

屬主/UID,屬組/GID

三個時間戳

[root@magedu tmp]# stat passwd 
  File: "passwd"
  Size: 895         Blocks: 8          IO Block: 4096   普通文件
Device: fd00h/64768d    Inode: 260742      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-07-16 21:12:16.134000003 +0800
Modify: 2016-07-16 21:12:16.134000003 +0800
Change: 2016-07-16 21:12:16.134000003 +0800
其中,三個時間戳為atime,ctime,mtime:
access time:訪問時間,簡寫為atime,讀取文件內容會改變
modify time: 修改時間, 簡寫為mtime,改變文件內容(數據),注意僅修改文件內容atime不會改變
change time: 改變時間, 簡寫為ctime,元數據發生改變會改變
演示:僅修改文件內容,mtime,ctime改變,atime不變
[root@magedu tmp]# stat passwd 
  File: "passwd"
  Size: 895         Blocks: 8          IO Block: 4096   普通文件
Device: fd00h/64768d    Inode: 260742      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-07-16 21:12:16.134000003 +0800
Modify: 2016-07-16 21:12:16.134000003 +0800
Change: 2016-07-16 21:12:16.134000003 +0800

[root@magedu tmp]# echo a >> /tmp/passwd

[root@magedu tmp]# stat passwd

File: "passwd"

Size: 897 Blocks: 8 IO Block: 4096 普通文件

Device: fd00h/64768d Inode: 260742 Links: 1

Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)

Access: 2016-07-16 21:12:16.134000003 +0800

Modify: 2016-07-16 21:16:47.219007837 +0800Change: 2016-07-16 21:16:47.219007837 +0800

演示:讀取文件內容,atime改變,ctime,mtime不變
[root@magedu tmp]# cat /tmp/passwd 
[root@magedu tmp]# stat passwd 
  File: "passwd"
  Size: 897         Blocks: 8          IO Block: 4096   普通文件
Device: fd00h/64768d    Inode: 260742      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-07-16 21:19:10.893982595 +0800
Modify: 2016-07-16 21:16:47.219007837 +0800
Change: 2016-07-16 21:16:47.219007837 +0800
演示:改變文件元數據之屬主和屬組,ctime改變,atime,mtime不變
[root@magedu tmp]# chown victor.victor /tmp/passwd 
[root@magedu tmp]# stat passwd 
  File: "passwd"
  Size: 897         Blocks: 8          IO Block: 4096   普通文件
Device: fd00h/64768d    Inode: 260742      Links: 1
Access: (0644/-rw-r--r--)  Uid: (  500/  victor)   Gid: (  500/  victor)
Access: 2016-07-16 21:19:10.893982595 +0800
Modify: 2016-07-16 21:16:47.219007837 +0800
Change: 2016-07-16 21:21:30.591000664 +0800
2、如何修改時間戳?修改時間戳可以通過命令touch實現,其中:
touch [OPTION]... FILE...
            -a: only atime 僅修改atime
            -m: only mtime  僅修改mtime
            -t STAMP:  將atime,ctime同時修改為設置為STAMP
                STAMP時間格式如下:
                 [[CC]YY]MMDDhhmm[.ss]
            -c: 如果文件不存在,則不予創建
演示:
[root@magedu tmp]# touch -t 201607071950.33 passwd 
[root@magedu tmp]# stat passwd 
  File: "passwd"
  Size: 897         Blocks: 8          IO Block: 4096   普通文件
Device: fd00h/64768d    Inode: 260742      Links: 1
Access: (0644/-rw-r--r--)  Uid: (  500/  victor)   Gid: (  500/  victor)
Access: 2016-07-07 19:50:33.000000000 +0800
Modify: 2016-07-07 19:50:33.000000000 +0800
Change: 2016-07-16 21:32:04.743010698 +0800
[root@magedu tmp]# touch -a passwd 
[root@magedu tmp]# stat passwd 
  File: "passwd"
  Size: 897         Blocks: 8          IO Block: 4096   普通文件
Device: fd00h/64768d    Inode: 260742      Links: 1
Access: (0644/-rw-r--r--)  Uid: (  500/  victor)   Gid: (  500/  victor)
Access: 2016-07-16 21:35:49.248014062 +0800
Modify: 2016-07-07 19:50:33.000000000 +0800
Change: 2016-07-16 21:35:49.248014062 +0800
[root@magedu tmp]# touch -m passwd 
[root@magedu tmp]# stat passwd 
  File: "passwd"
  Size: 897         Blocks: 8          IO Block: 4096   普通文件
Device: fd00h/64768d    Inode: 260742      Links: 1
Access: (0644/-rw-r--r--)  Uid: (  500/  victor)   Gid: (  500/  victor)
Access: 2016-07-16 21:35:49.248014062 +0800
Modify: 2016-07-16 21:36:45.767990002 +0800
Change: 2016-07-16 21:36:45.767990002 +0800

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

1、命令的別名通過alias實現定義,反引號``可以實現在命令中引用另一個命令的執行結果。2、演示alias用法:
查看當前環境下的命令別名:
[root@magedu ~]# 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'

取消別名unalias
[root@magedu ~]# unalias cp
[root@magedu ~]# alias
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@magedu ~]# alias cdnet='cd /etc/sysconfig/network-scripts/'
[root@magedu ~]# cdnet
[root@magedu network-scripts]# pwd
/etc/sysconfig/network-scripts
3、演示反引號引用其他命令結果:
[root@magedu ~]# ls
anaconda-ks.cfg
[root@magedu ~]# cat `ls`
# Kickstart file automatically generated by anaconda.

#version=DEVEL
install
cdrom
...
@core
%end

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

[root@magedu ~]# ll -d /var/l*[0-9]*[[:lower:]]
-rw-r--r--. 1 root root    0 7月  16 23:03 /var/l9c
drwxr-xr-x. 2 root root 4096 7月  16 23:04 /var/lds55d

[root@magedu ~]# ll -d /var/l*[[:digit:]]*[[:lower:]]
-rw-r--r--. 1 root root    0 7月  16 23:03 /var/l9c
drwxr-xr-x. 2 root root 4096 7月  16 23:04 /var/lds55d

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

[root@magedu ~]# touch /etc/9li
[root@magedu ~]# mkdir /etc/2jfg-
[root@magedu ~]# ll -d /etc/[[:digit:]]*[^[:digit:]]
drwxr-xr-x. 2 root root 4096 7月  16 23:15 /etc/2jfg-
-rw-r--r--. 1 root root    0 7月  16 23:15 /etc/9li

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

[root@magedu ~]# mkdir /etc/3A546grfeg
[root@magedu ~]# ll -d /etc/[^[:alpha:]][[:alpha:]]*
drwxr-xr-x. 2 root root 4096 7月  16 23:21 /etc/3A546grfeg

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

[root@magedu ~]# touch /tmp/tfile-`date +%F-%H-%M-%S`
[root@magedu ~]# ll /tmp/
總用量 8
drwxr-xr-x. 14 root   root   4096 7月  16 21:00 mylinux
-rw-r--r--.  1 victor victor  897 7月  16 21:36 passwd
-rw-r--r--.  1 root   root      0 7月  16 23:26 tfile-2016-07-16-23-26-35

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

[root@magedu ~]# mkdir /tmp/mytest1
[root@magedu ~]# cp -a /etc/p*[^0-9] /tmp/mytest1
[root@magedu ~]# ll /tmp/mytest1/
總用量 60
drwxr-xr-x. 2 root root 4096 7月  16 19:16 pam.d
-rw-r--r--. 1 root root  895 7月  16 20:43 passwd
-rw-r--r--. 1 root root  854 7月  16 18:44 passwd-
drwxr-xr-x. 9 root root 4096 7月  16 18:42 pki
drwxr-xr-x. 2 root root 4096 7月  16 18:42 plymouth
drwxr-xr-x. 5 root root 4096 7月  16 18:41 pm
drwxr-xr-x. 2 root root 4096 8月  21 2010 popt.d
drwxr-xr-x. 2 root root 4096 7月  16 19:15 postfix
drwxr-xr-x. 3 root root 4096 7月  16 19:15 ppp
drwxr-xr-x. 2 root root 4096 7月  16 19:14 prelink.conf.d
-rw-r--r--. 1 root root  233 1月  12 2010 printcap
-rw-r--r--. 1 root root 1796 10月  2 2013 profile
drwxr-xr-x. 2 root root 4096 7月  16 19:15 profile.d
-rw-r--r--. 1 root root 6455 1月  12 2010 protocols

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

[root@magedu ~]# mkdir /tmp/mytest2
[root@magedu ~]# cp -a /etc/*.d /tmp/mytest2
[root@magedu ~]# ll /tmp/mytest2
總用量 84
drwxr-xr-x.  2 root root 4096 7月  16 19:15 bash_completion.d
drwxr-xr-x.  2 root root 4096 5月  11 05:18 chkconfig.d
drwxr-xr-x.  2 root root 4096 7月  16 19:16 cron.d
drwxr-xr-x.  2 root root 4096 7月  16 18:42 depmod.d
drwxr-xr-x.  2 root root 4096 5月  12 12:32 dracut.conf.d
lrwxrwxrwx.  1 root root   11 7月  16 19:14 init.d -> rc.d/init.d
drwxr-xr-x.  2 root root 4096 7月  16 19:15 ld.so.conf.d
drwxr-xr-x.  2 root root 4096 12月 15 2015 logrotate.d
drwxr-xr-x.  2 root root 4096 7月  16 18:42 makedev.d
drwxr-xr-x.  2 root root 4096 7月  16 19:14 modprobe.d
drwxr-xr-x.  2 root root 4096 7月  16 19:16 pam.d
drwxr-xr-x.  2 root root 4096 8月  21 2010 popt.d
drwxr-xr-x.  2 root root 4096 7月  16 19:14 prelink.conf.d
drwxr-xr-x.  2 root root 4096 7月  16 19:15 profile.d
lrwxrwxrwx.  1 root root   10 7月  16 19:15 rc0.d -> rc.d/rc0.d
lrwxrwxrwx.  1 root root   10 7月  16 19:15 rc1.d -> rc.d/rc1.d
lrwxrwxrwx.  1 root root   10 7月  16 19:15 rc2.d -> rc.d/rc2.d
lrwxrwxrwx.  1 root root   10 7月  16 19:15 rc3.d -> rc.d/rc3.d
lrwxrwxrwx.  1 root root   10 7月  16 19:15 rc4.d -> rc.d/rc4.d
lrwxrwxrwx.  1 root root   10 7月  16 19:15 rc5.d -> rc.d/rc5.d
lrwxrwxrwx.  1 root root   10 7月  16 19:15 rc6.d -> rc.d/rc6.d
drwxr-xr-x. 10 root root 4096 7月  16 19:15 rc.d
drwxr-xr-x.  2 root root 4096 12月 17 2014 rsyslog.d
drwxr-xr-x.  2 root root 4096 7月  13 00:40 rwtab.d
drwxr-xr-x.  2 root root 4096 7月  13 00:40 statetab.d
drwxr-x---.  2 root root 4096 5月  11 07:13 sudoers.d
drwxr-xr-x.  2 root root 4096 7月  13 00:40 sysctl.d
drwxr-xr-x.  2 root root 4096 9月  23 2011 xinetd.d
drwxr-xr-x.  2 root root 4096 7月  16 19:19 yum.repos.d

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

[root@magedu ~]# mkdir /tmp/mytest3
[root@magedu ~]# cp -a /etc/[l,m,n]*.conf /tmp/mytest3
[root@magedu ~]# ll /tmp/mytest3/
總用量 24
-rw-r--r--. 1 root root   28 7月  25 2013 ld.so.conf
-rw-r-----. 1 root root  191 12月 19 2015 libaudit.conf
-rw-r--r--. 1 root root 2293 7月  25 2015 libuser.conf
-rw-r--r--. 1 root root  662 8月  29 2007 logrotate.conf
-rw-r--r--. 1 root root  827 7月  24 2015 mke2fs.conf
-rw-r--r--. 1 root root 1688 5月   5 2010 nsswitch.conf

本文出自 “Victor” 博客,請務必保留此出處http://victorli.blog.51cto.com/3541591/1827057

Copyright © Linux教程網 All Rights Reserved