马哥教育网络21期+第二周练习博客

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

1、Linux上文件管理类命令主要有:cp, mv, rm

2、命令使用方法:

复制命令: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 +0800
Change: 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

原创文章,作者:Net21_喵先森,如若转载,请注明出处:http://www.178linux.com/24359

(0)
Net21_喵先森Net21_喵先森
上一篇 2016-07-17
下一篇 2016-07-17

相关推荐

  • 游戏运维工程师

    爱乐盟互动为深圳市政府评定的深圳市重点文化企业,同时为广东省高科技产业商会常务理事单位,注册资金人民币1000万元。公司的原创大型MMORPG网游《王者传说2》为深圳市政府重点支持的网游项目,《王者传说2》将全面领先于国内的同类产品,成为业界新标准的重要网游产品!! 《王者传说2》已进入产品研发的重要阶段。除《王者传说2》,爱乐盟也已经启动了数款全新大型网游…

    Linux干货 2016-10-19
  • 两张盘合并做yum源

    第一步 先把两张光盘都连接到系统中 连接上iso文件后重启电脑 这时桌面会显示已将连接上的iso文件   然后创建两个文件夹分别挂载这两个光盘   mkdir centos6.9-{1,2} 创建两个文件夹 df 查看系统硬盘   然后把两个光盘分别挂载到文件中 mount -o ro,loop /dev/sr0 centos6…

    2017-07-12
  • 马哥教育网络班20期+第6周课程练习

    请详细总结vim编辑器的使用并完成以下练习题 vim三种模式: 用法:vim [option…] FILE 编辑模式:     字符跳转:         h:向左移动一个字符     &…

    系统运维 2016-07-22
  • 文件权限特殊管理之ACL

    ACL:access control list 权限访问列表 应用范围:所属主和所属组和其他用户之外的他叔用户 ACL是Linux系统权限额外支持的一项功能,需要文件系统的支持,例如:ReiserFS , EXT2 , EXT3 , EXT4 , JFS , XFS等都支持ACL功能 centos7 中:安装系统分区和装完系统之后自己手动添加的分区自动支持a…

    Linux干货 2016-08-05
  • MySQL与nfs的实验

    (1) 创建一个共享mydata,路径为/mysql/data,客户端1挂载至/mydata;而后客户端1主机安装mysql或mariadb,将数据目录设定为/mydata,要确保mysql服务能正常 运行,但数据目录位于samba server上; (2) 客户端2主机使用类似客户端1主机的方式挂载mydata共享至本地的/mydata目录,而后,直接安装…

    Linux干货 2016-10-30
  • 基于Keepalived+Nginx实现高可用负载均衡

    练习贴,测试keepalived+lvs_dr高可用负载均衡

    2017-12-11

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-17 22:11

    写的很好,排版也很漂亮,加油