马哥教育网络班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

相关推荐

  • 第六周作业

    vim编辑器的使用 vim在工作过程中有三种模式:编辑模式、输入模式、末行模式 编辑模式:也叫命令模式,键盘操作常被理解为编辑命令。 输入模式:在文本文件中输入内容。 末行模式:vim内置的命令行接口,执行vim的内置命令。 vim的使用 打开文件:#vim [OPTIONS]…[FILE]… +#:打开文件后,直接让光标处于第#行 …

    Linux干货 2017-07-04
  • 第十二周作业

      1、描述一次完整的http请求处理过程 简介 一次完整的HTTP请求过程从TCP三次握手建立连接成功后开始,客户端按照指定的格式开始向服务端发送HTTP请求,服务端接收请求后,解析HTTP请求,处理完业务逻辑,最后返回一个HTTP的响应给客户端,HTTP的响应内容同样有标准的格式。无论是什么客户端或者是什么服务端,大家只要按照HTTP的协议标准…

    2017-11-12
  • rsyslog将日志记录于MySQL中,并用loganalyzer进行分析日志

    1、首先来安装lamp环境的支持,与其相关的软件包      # yum -y install rsyslog-mysql mariadb-server php php-mysql php-gd httpd       说明:rsyslog-mysql在数据库中生成一个库文件,但这个文件需…

    Linux干货 2016-10-23
  • ansible基础应用

    Ansible基础 ansible是一款自动化运维工具,基于Python开发,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。 Ansible架构简介 ansible的核心就是ansible平台,ansible是高度模…

    Linux干货 2016-08-22
  • 马哥教育网络班22期+第一周课程练习

    1、描述计算机的组成及其功能。 计算机由硬件系统、操作系统和应用软件所组成,没有安装任何软件的计算机称为裸机。 1.1、硬件系统由运算器、控制器、存储器、输入设备和输出设备五大部分组成,遵循冯、诺依曼原理。 控制器:读取分析指令,向其它部分发出控制信号,保证计算机按照预先规定的目标和步骤有条不紊地进行操作及处理。  运算器:对数据进行各种运算,例如…

    Linux干货 2016-08-22

评论列表(1条)

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

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