马哥教育网络班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
下一篇 2016-06-26

相关推荐

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

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

    Linux干货 2016-10-23
  • 马哥教育网络22期+第四周作业博客

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。    [root@centos-rpi3 skel]# cp -r /etc/skel /home/tuser1 && chmod -R g-rwx,o-rwx /home/tuser1 …

    Linux干货 2016-09-08
  • Cobbler实现多系统自动化安装

    Cobbler介绍:  Cobbler能够快速建立多系统同时安装的网络系统安装环境;传统的pxe+dhcp+tftp+kickstart仅能够提供单一系统安装,功能过于简单;如果遇到安装不同操作系统时就遇到瓶颈;而cobbler正好解决了这一问题。Cobbler是增强版的网络系统安装。 Cobbler由不同的组件配合完成系统安装,各组件之间配合如下…

    Linux干货 2015-08-11
  • Linux干货 2017-12-02
  • N26第四周博客作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限cp -r /etc/skel /home/tuser1chmod -R go= /home/tuser1 2、编辑/etc/group文件,添加组hadoop。echo “hadoop:x:2020:”…

    Linux干货 2017-02-27
  • iptables的DNAT、SNAT配置

    DNAT:目的地址转换。当外网主机访问内网的某台服务器的时候,如果直接暴露服务器的IP于公网,可能会遭受各种各样的攻击,而DNAT的主要作用就是在服务器前面添加一台防火墙。将防火墙的地址公布出去,让外网客户端通过访问防火墙的地址就可以访问到本地服务器。这样就起到了保护服务器的目的; SNAT:源地址转换。内网主机在访问互联网的时候所有源地址都转换为防火墙的外…

    2017-06-12

评论列表(1条)

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

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