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

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

    在Linux中,文件管理类命令主要有cp,mv,rm三个

    其中cp命令的使用格式如下:        

        cp [OPTION]… [-T] SOURCE DEST

        cp [OPTION]… SOURCE… DIRECTORY

        cp [OPTION]… -t DIRECTORY SOURCE…

    第一种:cp SRC DEST:主要表示从原文件进行复制到目标文件。

        而这时,分为两种情况。

            一:目标文件不存在:此时,会先创建一个目标文件,然后把源文件的内容复制到目标文件中,如下所示:

            blob.png

            二:目标文件存在时:此时,又会分为两种情况:

                    第一种:目标文件是文件,则会让用户进行确认,如果确认。则会把源文件里的内容覆盖掉目标文件的内容。如下图

            blob.png

                    第二种:目标文件是个目录:则会把源文件拷贝到目标目录中。如图所示:

            blob.png

    第二种:cp [OPTION]… SOURCE… DIRECTORY:

        同时拷贝多个源文件,最后到一个目录文件。

                此时分为两种情况:

                    一:目标目录不存在:则会失败。如下图

                        blob.png

                    二:如果目标目录存在:则会把源文件都拷贝到目标目录中。如下图:

 blob.png

    第三种:cp [OPTION]… -t DIRECTORY SOURCE…

        加上-t参数之后,则可以把目标目录放在前面,源文件放在后面。

            注意:放在前面的只能是目录。

    cp的常用选项:

        -a:完全备份,归档拷贝 -r和-preserv=all。

        -i:交互式命令。

        -f:强制执行命令,不需要用户提示是否。

        -p:表示–preserv=属主属组,时间戳,权限

        -r,R:递归拷贝。

        –no-dereference:不追踪符号链接。

        -t:复制时,把源放在后面,把目标目录放再前面。

        -v:每次执行的命令都反馈告诉用户。

    

    mv命令:

        mv [OPTION]… [-T] SOURCE DEST

        mv [OPTION]… SOURCE… DIRECTORY

        mv [OPTION]… -t DIRECTORY SOURCE…

        其主要的用法,和cp没有本质上的区别。

        只是,mv中没有-r这个选项。移动目录时,会把目录下的所有文件都做相应移动。同时,若是目标文件或者目录存在时,则询问用户是否覆盖。   

        -i:交互式。

        -f:强制执行。

    rm命令:主要用于删除。

        常用的选项:

            -f:强制执行

            -r:递归删除

            -i:和用户交互

            -v:显示过程

        通常情况下:一般使用rm -rf file 对文件或者命令进行删除。同时可以使用-v进行显示其过程,如下图:

blob.png

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

    用户执行命令之后,返回的状态只有两种:分别就是成功和失败。

    我们可以用echo来查看返回的状态码。

        如果是成功,则是返回0

        如果是失败,则是返回1-255

         成功如下图:

blob.png

        失败如下图:

blob.png

        命令行展开模式有3种:

            (1)~:展开为用户的主目录。

            (2)~USERNAME:展开为username的主目录

            (3){}:可以承载一个以逗号分隔的列表,并且将其展开为多个路径。其中{}内是相加属性,{}外是相乘属性

三:创建以下目录:

    (1)/tmp目录下的:a_c,a_d,b_c,b_d:如下图所示

    blob.png

    (2)/创建/tmp/mylinux目录下的

blob.png

blob.png

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

        stat:获取文件元数据的命令。

        文件元数据分别有:大小,块,IO块,类型,设备,Inode,硬链接,权限,属主UID,属组GID

                                最近访问时间:最近查看这个文件的时间

                                最近修改时间:最近改变这个文件内容的时间

                                最近改变时间:最近改变这个文件的属性的时间

        touch:修改文件的时间戳信息。

                                -c:如果文件不存在,也不会创建新文件

                                -a:改变访问时间

                                -m:改变修改时间

                                -a和-m需要配合-t timestamp 使用,时间戳的格式是年月日小时分钟.秒,例如201606061616.30表示2016年6月6日16点16分30秒

五:定义一个命令的别名,在一个命令中引用另一个命令的执行结果。              alias:定义命令别名.

                alais  command=“value”:通过这种方法,可以定义一个命令别名。此时,这个别名只是在当前shell中生效。

                若是想要对所有用户生效,则需要修改:/etc/bashrc文件

                若是想对特定的用户生效,则需要修改特定用户家目录下的~/.bashrc文件。

                修改文件之后,如果想立即生效,则需要source /path/to/file

         unalias:别名取消。

                -a:取消所有的命令别名。

                unalias COMMAND:撤销某个命令别名。

                若是命令别名是本身命令的扩展,比如cp=“cp -i”。若是想使用本身的命令,则需要\cp:\表示转义字符

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

        ll  -d /var/l*[0-9]*[[:lower:]]

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

            

        ll -d /etc/[[:digit:]]*[^[:digit:]]

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

        ll -d /etc/[^[:alpha:]][[:alpha:]]*

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

        touch /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`

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

        

        cp -r  /etc/p*[^[:digit:]] /tmpmytest1

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

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

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

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

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

(0)
N21—明明N21—明明
上一篇 2016-07-16
下一篇 2016-07-16

相关推荐

  • 谁说C语言很简单?

    前两天,Neo写了一篇《语言的歧义》其使用C语言讨论了一些语言的歧义。大家应该也顺便了解了一下C语言中的很多不可思异的东西,可能也是你从未注意到的东西。 是的,C语言并不简单,让我们来看看下面这些示例: 为什么下面的代码会返回0?(这题应该很简单吧) int x;   return x == (1&…

    Linux干货 2016-03-20
  • 计算机与操作系统

    计算机系统=Hardware+Software Linux操作系统=GNU/kernel+程序 (user space) ————– apps   shell    (人机交互接口) lib call(半层)  (kernel space) —&#…

    Linux干货 2017-02-14
  • ip子网划分

    ip子网划分 人们为了通信方便,给每台计算机分配了一个类似我们电话号码一样的标识地址。IP就好比一个人的指纹一样,在INTERNET中是独一无二的(公网中)。我们可以通过ip查询到使用该ip的主机。 现在的IP分为ipv4和ipv6。前者是32位二进制组成,为了防止IP不够用由此研发出后者ipv6,ipv6是由128位二进制组成。ipv6中包含ip的数量相当…

    Linux干货 2017-07-01
  • 简单的bash脚本查看任意网段的在线主机

    一前言         最近看到许多同志在写ping某个地址段的bash脚本,我也心血来潮来了一发。  当然本人新手,大神勿喷。 二准备工作           linux系统的机…

    2017-03-02
  • 02day-Linux基础入门及简单的命令了解

    Linux哲学思想: 1、一切皆文件;          把几乎所有资源,包括硬件设备都组织为文件格式; 2、由众多单一目的小程序组成;一个程序只实现一个功能,而且要做好;          组合小程…

    Linux干货 2016-06-29
  • 网络管理之nmcli命令的使用

    nmcli命令      地址配置工具:nmcli nmcli[ OPTIONS ] OBJECT { COMMAND | help }     device -show and manage network interfaces     …

    Linux干货 2016-09-19

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-17 21:42

    写的很好,排版还可以在改进一下,就不要把黑屏截上来了。加油