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

相关推荐

  • linux的一些简单的命令与操作

    1生产环境发现一台服务器系统时间产生偏差,造成服务异常,请帮忙校正。 首先通过hwclock,clock:显示硬件时间,然后通过hwclock –s来以硬件时间为准。校正系统时间。 2生产有一个数据同步脚本需要执行很长时间,怎样做到无人值守,在管理工具退出的情况下,脚本依然能正常运行。 首先看看系统里面按没安装screen,没的话要安装。 安装:首先先把光盘…

    Linux干货 2016-10-19
  • redis-cli的一些有趣也很有用的功能

    redis-cli我们最常用的三个参数就是-h、-p、-a选项,分配用来指定连接的redis-server的host、port和登录密码。 通过redis-cli –help发现,redis-cli还提供了其他很多的参数和功能。 1)-x-x选项从标准输入(stdin)读取最后一个参数。 比如从管道中读取输入: echo -en “chen.qun” | r…

    Linux干货 2015-03-16
  • 位置变量在Shell脚本编程中的作用

    位置变量:         如果要向一个shell脚本传递信息,可以使用位置参数完成此功能;参数相关数目传入脚本,此数目可以任意多,但只有前9个可以被访问,使用shift命令可以改变这个限制;参数从第一个开始,在第九个结束;每个访问参数前要加$符号;第一个参数为0,表示预留保存实…

    Linux干货 2016-08-15
  • Homework Week-14 iptables及tcpwraper访问控制

    系统的INPUT和OUTPUT默认策略为DROP; 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机; iptables -A INPUT -d 192.168.1.101 -p …

    Linux干货 2016-12-05
  • Linux文件管理和Bash特性

    一、Linux基本文件管理命令 主要介绍cp、mv、rm命令的基本用法以及使用示例 cp命令 cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录 cp (选项) (参数) 常用选项: -a:此参数的效果和同时指定”-dpR”参数相同,用于实现归档; -d:复制符号链接文件本身,而非其指向的源文件; -f:强行复制文件或目录,不论目标文件或目录是…

    Linux干货 2017-07-09
  • keepalived +LVS DR 双主互备模型实验

    keepalived +LVS DR 双主互备模型实验  实验环境介绍     操作系统:DR:centos 7.2 两个节点,都安装keepalived             &nbsp…

    Linux干货 2016-03-09

评论列表(1条)

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

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