马哥教育网络班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 22:28
下一篇 2016-07-16 22:28

相关推荐

  • 二进制安装mysql(mariadb)

    实验环境: ~]# lsb_release -a Distributor ID: CentOSDescription: CentOS Linux release 7.4.1708 (Core)Release: 7.4.1708Codename: Core 去官方下载mariadb: https://downloads.mariadb.org/ 本人将自己的文…

    2018-01-22
  • 函数式编程

    当我们说起函数式编程来说,我们会看到如下函数式编程的长相: 函数式编程的三大特性: immutable data 不可变数据:像Clojure一样,默认上变量是不可变的,如果你要改变变量,你需要把变量copy出去修改。这样一来,可以让你的程序少很多Bug。因为,程序中的状态不好维护,在并发的时候更不好维护。(你可以试想一下如果你的程序有个复杂的状态,当以后别…

    Linux干货 2016-08-15
  • redis主/从配置及基于sentinel的故障转移

    一、NoSQL基础概念: ACID:原子性、一致性、隔离性、持久性;特性:数据量大、数据变化非常大(数据增长化、流量分布变化、数据间耦合结构变化)、数据源很多; CAP、BASECAP C:多个数据节点的的数据一致;A:用户发出请求后的有限时间范围内返回结果;P:network partition,网络发生分区后,服务是否依可用;CAP理论:一个分布式系统不…

    Linux干货 2014-10-15
  • 前三天基础-Linux文件系统概论

    Linux之我见     在2016农历丙申年2016年猴年,对于小白的我来说接触到了江湖流传的武功秘籍之-Linux心法,第一次接触到命令行,知道在键盘上随便敲击命令就可以满屏跑数据,就像看过的美国大片里黑客帝国里面的画面,感觉学会好后可以装逼了,废话不多说了,允许在下斗胆介绍Linux文件系统。     &nbsp…

    Linux干货 2016-03-24
  • Linux Basic–磁盘分区

    附件: 磁盘管理相关方法.pdf

    Linux干货 2016-11-21
  • 第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; 2、写一个脚本     (1) 获取当前主机的主机名,保存于hostname变量中;     (2) 判断此变量的值是否为loc…

    2017-04-20

评论列表(1条)

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

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