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

一、Linux文件管理类命令

    1、文件的复制、移动和删除

   

   A、cp  文件的复制
         cp命令的用法:   
            cp [选项]  源文件  目标文件
               a)、目标文件不存在,新建目标文件,并将源文件内容填充到目标文件中
               b)、目标文件存在,源文件内容将覆盖目标文件;使用-i会有交互式提醒
            cp [选项]  多个源文件   目标目录
                       此时目标必须是目录,否则就会出错
            cp -r [选项]   源目录   目标
                 a)、目标不存在,则创建目标名的目录,复制源目录下文件到目标目录下;
                 b)、目标存在,但是是文件时,报错;
                    目标存在,是目录时,复制源目录下文件到目标目录下;
             常用选项:
                     -i:交互式
                     -r, -R: 递归复制目录及内部的所有内容;
                      -a: 归档,

     B、mv文件移动

       

 mv用法:
             mv [选项]  源文件   目标文件
             mv [选项]  多个源文件    目标目录
             mv -r [选项]    源目录     目标

      C、rm删除文件

           

rm命令用法:
              rm [选项]   文件名
                  rm常用选项:
                        -i: 交互式
                        -f: 强制删除
                        -r: 递归

二、练习

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

mkdir -p /tmp/{a,b}{c,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

 mkdrir -p /tmp/mylinx/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{local,log,run}}

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

     Bash 命令执行后,会对执行状态返回一个值。

     如果命令执行成功则返回0,如果执行不成功,就会返回一个1-255的数字,这个返回值保存在特殊变量$?中。

     可以使用echo $?查看返回值。

   命令行展开:

      1、~  展开为用户的家目录

          使用方法:~username

      2、使用花括号和逗号的一个列表,展开为多个路径

  /etc/{a,b}  表示 /etc/a   /etc/b

 mkdir -p /tmp/{a,b}{c,d}     #会新建 /tmp/a/c   /tmp/a/d   /tmp/b/c   /tmp/b/d 目录

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

   文件的元数据包含文件本身的一些属性信息,如:文件名、文件的各类权限、各类时间戳、inode号码、链接次数等。

   文件包括三个时间戳:atime,mtime,ctime,可以使用touch命令来修改时间戳,用法如下

     touch  [选项]   filename

         常用选项有:

            -a: 只更改atime

            -m:  只更改mtime

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

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

   别名:

     使用alias命令定义别名,用法: alias name='command',

     使用alias 定义的别名,只对当前shell有效,重新登录就会失效。

     如果希望永久有效,请更改下面的配置文件

            如果仅对当前用户:更改~/.bashrc

            如果对所有用户有效:更改/etc/bashrc

  使用管道把一个命令的执行结果传送给另一个命令

ll | sort -d' ' -k2

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

ls /var/l*[0-9]*[[:lower:]]

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

ls /etc/[0-9]*[[:alpha:]]

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

 ls /etc/[^[:alpha:]][[:alpha:]]*

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

touch "tfile-`date +%F`-`date +%l`-`date +%M`-`date +%S`"

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

 cp -r /etc/p*[^0-9] /tmp/mytest1

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

cp -r /etc/*.d   /tmp/mytest2

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

cp -r /etc/[m,n]*.conf /tmp/mytest3

原创文章,作者:N21-沉舟,如若转载,请注明出处:http://www.178linux.com/19908

(0)
N21-沉舟N21-沉舟
上一篇 2016-06-26 22:46
下一篇 2016-06-26 22:49

相关推荐

  • 0809linux基础小记(sed和vim用法)

    sed  [options] ‘scripts’ inputfile -n: 不输出模式空间内容的自动打印 -e: 多点编辑 -f:从指定文件中读取编辑脚本 -i:原处编辑 scripts: ’地址命令’ 地址定界: (1)  不给地址:对全文进行处理 (2)  单地址: #:  指定的行 例: sed '2…

    Linux干货 2016-08-11
  • ip,ss,htop,vmstat,until,while,ping命令使用. N28

    第六周(2018-1.1 – 2018-1.7)

    2018-01-08
  • N26 – 第三周作业

    1、列出当前系统上所有已登录的用户的用户名,同一用户登录多次只显示一次     ~]# who -u |cut -d ' ' -f1|uniq -u 2、最后登录到当前系统的用户的相关信息     ~]#id $(last | h…

    Linux干货 2017-01-03
  • 文本处理和正则表达式练习(0805)

    1、找出ifconfig命令结果中本机的所有IPv4地址     1.1 Centos7     1.2 Centos6 2、查出分区空间使用率的最大百分比值,取各分区利用率的数值 取出各分区数值 取出最大百分比 3、查出用户UID最大值的用户名、 UID及shell类型 4、查出/tmp…

    Linux干货 2016-08-06
  • 用户和组的管理

    前言 服务器最主要的工作是提供可靠的服务,提供服务就必须对外开放自己的网络,可靠就需要一定的机制来保证了。Linux中有一个3A的机制,首先是认证,就是我们经常听到的一句话,怎么证明你就是你;其次是授权,管理一个服务器,每个管理员都有自己的职责,那么我们就只分配对应的权限给特定的人,这样就可以明确事故的责任,从源头甩锅;最后是审计,总有一些黑客可以通过各种手…

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

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # declare -i nologuser=0 declare -i loguser=0 while read&…

    Linux干货 2016-09-05

评论列表(1条)

  • 马哥教育
    马哥教育 2016-06-29 15:23

    写的很好,可以多注意一下排版问题,加油,最后一个是不是错了