Linux学习(第二周)

第二周学习内容:Linux的文件系统、bash的基础特性。

第二周作业:

1、Linux上的文件管理命令有哪些,其常用的使用方法及其相关示例演示:

      cp:cp+[option]+源文件+目的文件,单文件复制;cp+[option]+源文件1+源文件2+目的目录,多文件复制。文件复制的概念,首先在磁盘上创建一个新文件,再从被复制文件中将流式数据一行行的抽取出来填充到新文件中。单文件复制:如果目的文件不存在则会新建文件,并把源文件中的数据填充到这个新文件;如果目的文件存在,且的确是一个文件,则会将源文件中的数据覆盖目的文件内的内容,是非常危险的操作;如果目的文件存在,且是一个目录文件,则会在该目录下创建一个与源文件名字相同的文件,并把数据复制过来。多文件复制:如果目的文件不存在,不会创建文件而是报复制失败;如果目的文件存在,且是一个文件则也会报复制失败;只有目的文件存在并且是一个目录文件,才会在该目录下新建多个文件,并把数据复制过来。

      image.png

      image.png

      image.png

      image.png

常用选项如下:-i:交互,覆盖文件会提醒用户,默认开启;-f:强行,要覆盖时不提醒用户;-r:递归,如果源文件是目录,目标文件也是目录则会将目录和目录下的文件一并复制过去;-d:只复制符号链接文件,而不会将其指向的文件一并复制过去;-p:保留,复制时保留原属性。

      image.png

      mv:mv+[option]+源文件+目的文件,单文件移动;mv+[option]+源文件1+源文件2+目的目录,多文件移动。原理和文件复制几乎相同,只是将源文件数据复制出来后把源文件给删除了,用法和选项几乎也与cp命令相同。当移动的源文件与目的文件在同一目录下时,这条命令可以作为重命名命令。

      image.png

      rm:rm+[option]+文件,删除文件的命令。删除目录文件时只有在目录为空才能删除,除非配合-r选项,linux不存在回收站的概念。常用选项:-r:递归移除,会删除路径上所有文件和目录,非常危险!最著名的当属rm -rf /命令了。

      image.png

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

      bash命令行展开:

      ~:自动展开为用户的家目录或指定用户的家目录。

      image.png 

      {}:可承载一个以逗号分隔的路径列表,并能将其展开为多个路径。

      image.png

      bash命令执行结果:在执行命令时,命令结果会以标准输出展示在用户面前,但这条命令是成功还是失败了还需要有个状态返回值:成功为0,失败为1-255,不同的失败返回值可以对应不同的失败原因。使用echo “$?”命令可以查看上一条命令的执行结果。

      image.png

3、请使用命令行展开功能完成以下练习:创建/tmp目录下的:a_c、a_d、b_c、b_d。

      mkdir /tmp/{a,b}_{c,d}

      image.png

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

      文件的元数据信息包括:文件名、文件大小、文件所在数据块、数据块的大小、文件类型、文件所在的Inode、硬链接次数、权限、属主、属组、最近访问时间、最近更换时间、最近改变时间。可以通过stat命令进行查看。

      image.png

      touch:touch+[option]+文件,可以对时间戳进行修改。什么选项都不加就是三个时间戳(访问时间、更改时间、改动时间)都改。

      image.png 

常用选项:-a:只改访问时间;-m:只改更改时间;改动时间是不能单独更改的;-t:指定要改为哪个具体时间,时间格式为[[CC]YY]MMDDhhmm[.SS]

      image.png

touch+新文件可以直接创建文件,此命令功能还是非常强大的。

      image.png

5、如何定义一个命令的别名,如何在命令中引用另一个命令的结果。

      alias:可以查看所有带有缩写或者别名的命令。

      image.png

alias+别名=命令:也可以自己定义命令的别名,只对当前进程有效。

      image.png

      $(命令):可以在其他命令中引用命令执行结果。

      image.png

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

      ls /var/l[[:digit:]]*[[:lower:]]

      image.png

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

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

      image.png

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

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

      image.png

9、在/tmp目录下创建一个以tfile开头的,后面跟当前日期和时间的文件,文件名形式如:tfile-年-月-日-小时-分钟-秒。

      touch /tmp/tfile-$(date +%y-%m-%d-%H-%M-%S)

      image.png

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

      cp /etc/p*[^[:digit:]] /tmp/mytest1/

      image.png

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

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

      image.png

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

      cp /etc/[lmn]*.conf /tmp/mytest3

      image.png


猜你喜欢

转载自blog.51cto.com/13762416/2299482