马哥教育网络班22期+第2周课程练习

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

     文件管理命令有:mkdir  rm  tree  ls  等等

 1、mkdir [options] /path/to/somewhere

    

        -p: 存在于不报错,且可自动创建所需的各目录;

        

        -v: 显示详细信息

        

        -m MODE: 创建目录时直接指定权限;

        

        新建一个目录名字叫mtdy,可以看到新建成功。

    

        [root@7mini ~]# mkdir -pv /tmp/mtdy      

        mkdir: 已创建目录 "/tmp/mtdy"

        [root@7mini ~]# ls -ld /tmp/mtdy

        drwxr-xr-x. 2 root root 6 8月  21 14:08 /tmp/mtdy

    

        新建一个叫没有mtdy1的目录并且属组的权限是只读

       

        [root@7mini ~]# mkdir -vm g=w /tmp/mtdy1

        mkdir: 已创建目录 "/tmp/mtdy1"

        [root@7mini ~]# ls -ld /tmp/mtdy1

        drwx-w-rwx. 2 root root 6 8月  21 14:11 /tmp/mtdy1

2、rm命令:rm [OPTION]… FILE…

         常用选项:

       -i:interactive

       -f:force

       -r: recursive

       删除目录:rm -rf /PATH/TO/DIR   危险操作:rm -rf /*

       

        删除mtdy目录,-r 可以删除目录

        [root@7mini ~]# rm -r /tmp/mtdy

        rm:是否删除目录 "/tmp/mtdy"?y

        [root@7mini ~]# ls -l /tmp

        总用量 8

        -rwx——. 1 root root  827 8月  14 22:05 ks-script-OPUkVZ

        drwx-w-rwx. 2 root root    6 8月  21 14:11 mtdy1

        drwxrwxr-x. 2 root mtdy    6 8月  20 20:23 mytest

        drwx——. 2 mtdy test   59 8月  20 18:00 skel

        -rw-r–r–. 1 yyy  mtdy 1604 8月  20 23:06 test.etc

        drwxr-xr-x. 2 mtdy test    6 8月  20 20:00 tt

        drwxr-xr-x. 3 root root   51 8月  20 19:53 udev

        -rw——-. 1 root root    0 8月  14 21:46 yum.log

3、 tree 以树形图列出文件的层级结构,需要先安装tree命令。

        命令格式:tree [选项]… 目录…

    

        常用参数:

    

        -d:只显示目录;

    

        -L:level:指定显示的层级数目;

    

        -P pattern:只显示由指定pattern匹配到的路径;

   显示根目录1层树结构

        [root@7mini ~]# tree -L 1 /

        /

        ├── bin -> usr/bin

        ├── boot

        ├── dev

        ├── etc

        ├── home

        ├── lib -> usr/lib

        ├── lib64 -> usr/lib64

        ├── media

        ├── mnt

        ├── opt

        ├── proc

        ├── root

        ├── run

        ├── sbin -> usr/sbin

        ├── srv

        ├── sys

        ├── tmp

        ├── usr

        └── var

        

    显示tmp/ 目录

        [root@7mini ~]# tree -d /tmp

        /tmp

        ├── mtdy1

        ├── mytest

        ├── skel

        ├── tt

        └── udev

            └── rules.d

    

4、列出指定目录下的内容

         ls [OPTION]… [FILE]…

         -a: 显示所有文件,包括隐藏文件;

         -A:显示除.和..之外的所有文件;

         -l: –long, 长格式列表,即显示文件的详细属性信息;

         -rw-r–r–. 1 root   root     8957 10月 14 19:34 boot.log

         -:文件类型,-, d, b, c, l, s, p

         rw-r–r–

         rw-:文件属主的权限;

         r–:文件属组的权限;

         r–:其它用户(非属主、属组)的权限;

         1:数字表示文件被硬链接的次数;

         root:文件的属主;

         root:文件的属组;

         8957:数字表示文件的大小,单位是字节;

         10月 14 19:34 :文件最近一次被修改的时间;

         boot.log:文件名

         -h, –human-readable:对文件大小单位换算;换算后结果可能会非精确值;

         -d:查看目录自身而非其内部的文件列表;

         -r: reverse, 逆序显示;

         -R: recursive,递归显示;

        查看tpm/目录属性

  

        [root@7mini ~]# ls -ld /tmp

        drwxrwxrwt. 12 root root 4096 8月  21 14:37 /tmp

        查看tpm/目录内文件属性

        [root@7mini ~]# ls -l /tmp

        总用量 8

        -rwx——. 1 root root  827 8月  14 22:05 ks-script-OPUkVZ

        drwx-w-rwx. 2 root root    6 8月  21 14:11 mtdy1

        drwxrwxr-x. 2 root mtdy    6 8月  20 20:23 mytest

        drwx——. 2 mtdy test   59 8月  20 18:00 skel

        -rw-r–r–. 1 yyy  mtdy 1604 8月  20 23:06 test.etc

        drwxr-xr-x. 2 mtdy test    6 8月  20 20:00 tt

        drwxr-xr-x. 3 root root   51 8月  20 19:53 udev

        -rw——-. 1 root root    0 8月  14 21:46 yum.log

二、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。       

         命令执行的状态结果:

         bash通过状态返回值来输出此结果:

         成功:0

         失败:1-255

         命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;

        

         命令正常执行时,有的还回有命令返回值:根据命令及其功能不同,结果各不相同;

         引用命令的执行结果:

         $(COMMAND)

         或`COMMAND`

        显示创建目录的状态返回值

        [root@7mini ~]# mkdir qiu

        [root@7mini ~]# echo $?

        0   值为真 创建成功

        

 三、请使用命令行展开功能来完成以下练习:

   1、创建/tmp目录下的:a_c, a_d, b_c, b_d

        [root@7mini ~]# mkdir -pv /tmp/{a,b}{c,d}

        mkdir: 已创建目录 "/tmp/ac"

        mkdir: 已创建目录 "/tmp/ad"

        mkdir: 已创建目录 "/tmp/bc"

        mkdir: 已创建目录 "/tmp/bd"

        [root@7mini ~]# ls -l /tmp

        总用量 8

        drwxr-xr-x. 2 root root    6 8月  21 15:04 ac

        drwxr-xr-x. 2 root root    6 8月  21 15:04 ad

        drwxr-xr-x. 2 root root    6 8月  21 15:04 bc

        drwxr-xr-x. 2 root root    6 8月  21 15:04 bd

        -rwx——. 1 root root  827 8月  14 22:05 ks-script-OPUkVZ

        drwx-w-rwx. 2 root root    6 8月  21 14:11 mtdy1

        drwxrwxr-x. 2 root mtdy    6 8月  20 20:23 mytest

        drwx——. 2 mtdy test   59 8月  20 18:00 skel

        -rw-r–r–. 1 yyy  mtdy 1604 8月  20 23:06 test.etc

        drwxr-xr-x. 2 mtdy test    6 8月  20 20:00 tt

        drwxr-xr-x. 3 root root   51 8月  20 19:53 udev

        -rw——-. 1 root root    0 8月  14 21:46 yum.log

        

    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

[root@7mini ~]# mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modeles,lib64,proc,sbin,sys,tmp,user/local/{bin,sbin},var/{lock,log,run}}

        mkdir: 已创建目录 "/tmp/mylinux"

        mkdir: 已创建目录 "/tmp/mylinux/bin"

        mkdir: 已创建目录 "/tmp/mylinux/boot"

        mkdir: 已创建目录 "/tmp/mylinux/boot/grub"

        mkdir: 已创建目录 "/tmp/mylinux/dev"

        mkdir: 已创建目录 "/tmp/mylinux/etc"

        mkdir: 已创建目录 "/tmp/mylinux/etc/rc.d"

        mkdir: 已创建目录 "/tmp/mylinux/etc/rc.d/init.d"

        mkdir: 已创建目录 "/tmp/mylinux/etc/sysconfig"

        mkdir: 已创建目录 "/tmp/mylinux/etc/sysconfig/network-scripts"

        mkdir: 已创建目录 "/tmp/mylinux/lib"

        mkdir: 已创建目录 "/tmp/mylinux/lib/modeles"

        mkdir: 已创建目录 "/tmp/mylinux/lib64"

        mkdir: 已创建目录 "/tmp/mylinux/proc"

        mkdir: 已创建目录 "/tmp/mylinux/sbin"

        mkdir: 已创建目录 "/tmp/mylinux/sys"

        mkdir: 已创建目录 "/tmp/mylinux/tmp"

        mkdir: 已创建目录 "/tmp/mylinux/user"

        mkdir: 已创建目录 "/tmp/mylinux/user/local"

        mkdir: 已创建目录 "/tmp/mylinux/user/local/bin"

        mkdir: 已创建目录 "/tmp/mylinux/user/local/sbin"

        mkdir: 已创建目录 "/tmp/mylinux/var"

        mkdir: 已创建目录 "/tmp/mylinux/var/lock"

        mkdir: 已创建目录 "/tmp/mylinux/var/log"

        mkdir: 已创建目录 "/tmp/mylinux/var/run"

        [root@7mini ~]# tree /tmp/mylinux

        /tmp/mylinux

        ├── bin

        ├── boot

        │   └── grub

        ├── dev

        ├── etc

        │   ├── rc.d

        │   │   └── init.d

        │   └── sysconfig

        │       └── network-scripts

        ├── lib

        │   └── modeles

        ├── lib64

        ├── proc

        ├── sbin

        ├── sys

        ├── tmp

        ├── user

        │   └── local

        │       ├── bin

        │       └── sbin

        └── var

            ├── lock

            ├── log

            └── run

四、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。

    

  (1)文件的元素信息有:文件名、文件大小、文件权限、文件属组、属主、access time、modify time、change time等

  (2)stat /PATH/TO/SOMEFILE:获取指定文件的元数据

        [root@7mini ~]# touch 1.txt

        [root@7mini ~]# stat 1.txt

          文件:"1.txt"

          大小:0          块:0          IO 块:4096   普通空文件

        设备:fd00h/64768d Inode:202330023   硬链接:1

        权限:(0644/-rw-r–r–)  Uid:(    0/    root)   Gid:(    0/    root)

        环境:unconfined_u:object_r:admin_home_t:s0

        最近访问:2016-08-21 15:32:06.306203510 +0800

        最近更改:2016-08-21 15:32:06.306203510 +0800

        最近改动:2016-08-21 15:32:06.306203510 +0800

        创建时间:-

(3)改变文件的时间戳 touch命令:

        touch [OPTION]… FILE…

        -a: only atime

        -m: only mtime

        -t STAMP:

        [[CC]YY]MMDDhhmm[.ss]

        -c: 如果文件不存,则不予创建

        [root@7mini ~]# stat  /tmp/network-scripts/ifcfg-eno16777736

          文件:"/tmp/network-scripts/ifcfg-eno16777736"

          大小:383        块:8          IO 块:4096   普通文件

        设备:fd00h/64768d Inode:467976      硬链接:1

        权限:(0644/-rw-r–r–)  Uid:(    0/    root)   Gid:(    0/    root)

        环境:system_u:object_r:net_conf_t:s0

        最近访问:2016-08-20 16:08:38.213000471 +0800

        最近更改:2016-08-14 22:04:09.232546199 +0800

        最近改动:2016-08-14 22:04:09.232546199 +0800

        [root@7mini ~]# touch  /tmp/network-scripts/ifcfg-eno16777736

        [root@7mini ~]# stat  /tmp/network-scripts/ifcfg-eno16777736

          文件:"/tmp/network-scripts/ifcfg-eno16777736"

          大小:383        块:8          IO 块:4096   普通文件

        设备:fd00h/64768d Inode:67835846    硬链接:1

        权限:(0644/-rw-r–r–)  Uid:(    0/    root)   Gid:(    0/    root)

        环境:unconfined_u:object_r:user_tmp_t:s0

        最近访问:2016-08-21 15:42:44.160223194 +0800

        最近更改:2016-08-21 15:42:44.160223194 +0800

        最近改动:2016-08-21 15:42:44.160223194 +0800

        

五、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?

    alias:显示当前shell进程所有可用的命令别名

    alias NAME='VALUE'定义别名NAME,其相当于执行命令VALUE;

    在命令行中定义的别名,仅对当前shell进程有效;如果想永久有效,要定义在配置文件中;

    仅对当前用户:~/.bashrc

    对所有用户有效:/etc/bashrc

        [root@7mini ~]# alias

        alias cp='cp -i'

        alias egrep='egrep –color=auto'

        alias fgrep='fgrep –color=auto'

        alias grep='grep –color=auto'

        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'

    引用另一个命令的执行结果可以用管道符号

    COMMAND1 | COMMAND2 | COMMAND3 |…

    

        [root@7mini ~]# mkdir /tmp/tqqq | ls -ld /tmp/tqqq

        drwxr-xr-x. 2 root root 6 8月  21 16:13 /tmp/tqqq

六、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。

    

    ls /var/l*[[:digit:]]*[[:lower:]]

    ls /var/l*[0-9]*[a-z]

七、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。

    [root@7mini ~]# ls -ld /etc/[[:digit:]]*[^[:digit:]]

    drwxr-xr-x. 2 root root 6 8月  21 16:25 /etc/1tong

八、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。

    [root@7mini ~]# ls -ld /etc/[^[:alpha:]][[:alpha:]]*

九、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。

    [root@7mini ~]# touch /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`

    [root@7mini ~]# ls -l /tmp 

    /tmp:

    总用量 20

    drwxr-xr-x.  2 root root    6 8月  21 16:06 1.txt

    drwxr-xr-x.  2 root root    6 8月  21 15:04 ac

    drwxr-xr-x.  2 root root    6 8月  21 15:04 ad

    drwxr-xr-x.  2 root root    6 8月  21 15:04 bc

    drwxr-xr-x.  2 root root    6 8月  21 15:04 bd

    -rwx——.  1 root root  827 8月  14 22:05 ks-script-OPUkVZ

    drwxr-xr-x.  6 root root 4096 8月  21 15:36 log

    drwx-w-rwx.  2 root root    6 8月  21 14:11 mtdy1

    drwxr-xr-x. 14 root root 4096 8月  21 15:24 mylinux

    drwxrwxr-x.  2 root mtdy    6 8月  20 20:23 mytest

    drwxr-xr-x.  2 root root 4096 8月  21 15:39 network-scripts

    drwx——.  2 mtdy test   59 8月  20 18:00 skel

    -rw-r–r–.  1 yyy  mtdy 1604 8月  20 23:06 test.etc

    -rw-r–r–.  1 root root    0 8月  21 16:31 tfile-2016-08-21-16-31-19

    drwxr-xr-x.  2 root root    6 8月  21 16:13 tqqq

    drwxr-xr-x.  2 mtdy test    6 8月  20 20:00 tt

    drwxr-xr-x.  2 root root    6 8月  21 16:12 ttt

    drwxr-xr-x.  3 root root   51 8月  20 19:53 udev

    -rw——-.  1 root root    0 8月  14 21:46 yum.log

十、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

    [root@7mini ~]# mkdir /tmp/mytest1

    [root@7mini ~]# cp -a /etc/p*[^[:digit:]] /tmp/mytest1

    [root@7mini ~]# ls -a /tmp/mytest1

    .      passwd   plymouth  postfix         printcap   protocols

    ..     passwd-  pm        ppp             profile    python

    pam.d  pki      popt.d    prelink.conf.d  profile.d

    

十一、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。

    [root@7mini ~]# mkdir /tmp/mytest2

    [root@7mini ~]# cp -a /etc/*.d /tmp/mytest2

    [root@7mini ~]# ls -a /tmp/mytest2

    .                  dracut.conf.d   pam.d           rc4.d       sysctl.d

    ..                 grub.d          popt.d          rc5.d       tmpfiles.d

    bash_completion.d  init.d          prelink.conf.d  rc6.d       xinetd.d

    binfmt.d           ld.so.conf.d    profile.d       rc.d        yum.repos.d

    chkconfig.d        logrotate.d     rc0.d           rsyslog.d

    cron.d             modprobe.d      rc1.d           rwtab.d

    depmod.d           modules-load.d  rc2.d           statetab.d

    dnsmasq.d          my.cnf.d        rc3.d           sudoers.d

    

十二、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

    [root@7mini ~]# mkdir /tmp/mytest3

    [root@7mini ~]# cp -a /etc/[lmn]*.conf /tmp/mytest3

    [root@7mini ~]# ls -a /tmp/mytest3

    .   ld.so.conf     libuser.conf  logrotate.conf  mke2fs.conf

    ..  libaudit.conf  locale.conf   man_db.conf     nsswitch.conf

原创文章,作者:N22-北京-钱峰,如若转载,请注明出处:http://www.178linux.com/38299

(0)
N22-北京-钱峰N22-北京-钱峰
上一篇 2016-08-22
下一篇 2016-08-22

相关推荐

  • LVM 逻辑卷管理器

    1、什么是LVM:PV、PE、VG、LV的意义    LVM:Logical Volume Manager(逻辑卷管理器),可以将多个物理分区整合成看起来像一个磁盘一样,并可随意增加或减少逻辑卷大小 dm:device mapper,将一个或多个底层块设备组织成一个逻辑设备的模块; /dev/mapper/VG_NAME-LV_NAME …

    Linux干货 2016-09-19
  • Linux基础指令(2)

    4.文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?  元数据定义:      数据(Metadata),又称中介数据、中继数据,为描述 数据的数据(data about data),主要是描述数据属性(property)的信息,用来支持如…

    Linux干货 2016-11-09
  • DNS的基本配置、子域授权与bind编译(第十八九天)

        DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换为IP地址的工作。     DNS利用类似于树形目录的结构,将主机名的管理分配在不同层…

    Linux干货 2016-06-12
  • N25第二周博客作业

    第二周博客作业: 1、linux上的文件管理命令都有哪些,其常用的使用方法及其相关示例演示。                    有  cp  mv&nbsp…

    Linux干货 2016-12-06
  • man手册的使用

    在Linux中man的使用频率应该是很高的,灵活运用它可以让自己快速的掌握一个不熟悉命令的使用方法。下面来介绍下man 环境CentOS6.8 man – format and display the on-line manual pages 在线使用手册格式及展示通俗点来说它就是命令的使用手册。它共分九个章节 1、用户命令2、系统调用3、C库调…

    Linux干货 2016-10-19
  • httpd服务归纳:浅谈I/O模型

    1. 四种理论的I/O模型      1) 调用者(服务进程):         阻塞:  进程发起I/O调用,如果调用为完成,进程被挂起休眠,不能再执行其他功能    …

    Linux干货 2015-05-27

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-22 14:13

    写的很好,排版还可以在漂亮一点,加油,3大题1小题不对,2小题跟要求也不一样