马哥教育网络班19期+第二周课程练习

1、         常见的文件管理命令及使用方法

mkdir创建目录

1.png

使用mkdir创建一个叫做test的文件夹,使用ls –l查看test的信息,test的信息的第一位为d,表示是一个目录。

而级联创建目录时,只需要加上一个-p选项,即可,即使你创建一个已存在的目录,Linux也不会报错的。

2.png

3.png

进入test文件夹,使用touch filename创建一个文本文件,使用ls –l查看文件属性为时,表示这个文件是一个普通的文本文件。

rmdir删除空目录

-p选项级联删除一大串空目录了,但是有一个局限性是必须是空目录,所以不怎么好用。

[root@localhost ~]# rmdir /tmp/test/

rmdir: 删除 '/tmp/test/' 失败: 目录非空

[root@localhost ~]# rmdir /tmp/test/123

命令rm(remove)

也是删除的命令,这里介绍一下常用的选项:

       -r:删除目录的选项,等于rmdir

       -f:强制删除不提示,如果你在删除一个不存在的目录,加上-f不会报错

4.png

有一点和rmdir不同的是,会询问是否删除,输入y则删除,输入n则不删除。而且,当目录时非空的时候,也可以删除。最常用的,就是rm –rf这两个选项合用了,不管是文件还是目录都可以不提示删除。

5.png

cp命令

用来复制文件或者文件夹,语法格式:cp [选项] [源文件] [目标文件]

例如把test复制成test1

6.png如果是复制目录,则需要加-r选项即可。

移动和重命名mv

语法:mv [选项] [源文件] [目标文件]

mv命令有几种情况需要注意:

(1)    目标文件是目录,而且目标文件不存在;

(2)    目标文件是目录,而且目标文件存在;

(3)    目标文件不是目录不存在;

(4)    目标文件不是目录存在;

目标文件是目录,存在和不存在,移动的结果是不一样的,如果存在,则会把源文件移动到目标文件目录中。不存在的话移动完后,相当于重命名目录。

7.png

如果目标文件不是目录,且不存在,则会重命名文件,否则把文件移动到目录中。

8.png

命令cat

即查看一个文件的内容并显示在屏幕上,后面可以不加选项直接跟文件名,也可以加两个常用选项:

       -n:查看文件时,把行号也显示到屏幕上

       9.png

       例子中出现了一个“>>”这个符号跟 >”的作用都是重定向,即把前面输出的东西输入到后边的文件中,只是“>>”是追加的意思,而用“>”如果文件中有内容则会删除文件中内容,而“>>”则不会。

       -A: 显示所有东西出来,包括特殊字符

       10.png

文件和目录的属性

上面我查看文件的时候,使用了ls –l的命令,一共有9列内容,各自的含义我介绍下:

(1)     1列包含该文件类型和所有者、所属组以及其他用户对该文件的权限。第一列共11位有的文件是10位,没有最后面的一位。 其中第一位用来描述该文件的类型。

d 表示该文件为目录;

表示该文件为普通文件;

l 表示该文件为链接文件;

b 表示该文件为块设备,比如/dev/sda就是这样的文件;

c 表示该文件为串行端口设备,例如键盘、鼠标;

s 表示该文件为套接字文件(socket),用于进程间通信;

后边的9位,每三个为一组,均为rwx三个参数的组合。其中r代表可读,w代表可写,x代表可执行。前三位为所有者(user)的权限,中间三位为所属组(group)的权限,最后三位为其他非本群组(others)的权限。例如下面这个test.txt的意思就是该文件为一个普通文件,文件的拥有者可读可写,属组和其他为可读。

11.png

而第一列最后一个“.”,是因为新版本的lsselinux或者acl的属性加进来了,当文件或者目录只使用了selinux context的属性,这里是一个点。如果设置了acl,后面将是一个加号“+”。

(2)     表示为链接占用的节点(inode),如果是目录,那这个数值与该目录底下有多少一级子目录有关系。

(3)     3列,表示该文件的所有者。

(4)     4列,表示该文件的所属组。

(5)     5列,表示该文件的大小。

(6)     6列、第7列和第8列为该文件的最近的修改日期,分别为月份日期以及时间。

(7)     9列,文件名。

chmod命令

上面介绍了文件的所有者、所属组以及其他用户对文件的权限,而命令“chmod”就是为了更改这些权限的,可以使用数字去代替rwx, 具体规则为r等于4w等于2x等于1等于0。如:“-rwxrwx—” 用数字表示就是770,具体是这样来的:rwx=4+2+1=7rwx=4+2+1=7—=0+0+0=0

语法:chmod [-R] xyz filenamexyz表示数字,及421

-R选项作用表示级联更改,级把目录内的目录或文件也一同更改。

12.png

chownchgrp命令

更改文件或目录的所属主(chown)和所属组(chgrp)

13.png

14.png

也可以不使用chgrp更改所属组,如

15.png

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

使用特殊变量“$?”表示最近一条命令的执行结果,0表示成功,1-255表示失败。

16.png

命令行展开:

“~”表示展开成用户的家目录,{}可承载一个以逗号分隔的列表,并将其展开为多个路径。

17.png

3、         请使用命令行展开功能来完成以下练习

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

18.png

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

可以使用如下命令完成:

[root@Hao tmp] # mkdir -p 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}}

19.png

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

使用命令stat查看

20.png

使用touch filename修改时间戳信息

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

alias命令修改别名

21.png

命令引用:

name=`COMMAND`, name=$(COMMAND)

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

[root@Hao ~]# ls -d /var/l*[0-9]*[[:lower:]]

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

# ls -d /etc/[0-9]*[^0-9]

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

# ls -d /etc/[^[:alpha:]][[:alpha:]]*

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

[root@Hao ~]# touch tfile-`date +"%Y-%m-%d-%H-%M-%S"`

22.png

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

[root@Hao ~]# cp -a /etc/p*[^0-9] /tmp/mytest1

23.png

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

[root@Hao ~]# cp -a /etc/*.d /tmp/mytest2

24.png

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

[root@Hao ~]# cp -a /etc/[l,m,n]*.conf /tmp/mytest3

25.png

 

 

原创文章,作者:Net19_口香糖,如若转载,请注明出处:http://www.178linux.com/21581

(0)
Net19_口香糖Net19_口香糖
上一篇 2016-07-04 11:35
下一篇 2016-07-04 11:35

相关推荐

  • 循环语句

    冯罗伊曼体系架构 1. 输入设备 2. 输出设备 3. 存储器 4. 运算器 5. 控制器 转义序列:\\, \t , \r , \n , \”,  \’ Python:是动态语言,强类型语言 算数运算符 + – */ % ** /是自然除,//是整除 位运算符 & |  ~  ^  <<  >> 原码 5=&gt…

    Linux干货 2018-03-26
  • linux中特殊符号用法

    1 #    #  管理员账户    $  普通账户   在脚本中 #也常出现在一行的开头,或者位于完整指令之后,这类情况表示符号后边是注解文字,不会被执行 例如     #!/bin/bash     #th…

    Linux干货 2016-08-15
  • N26-第一周博客作业

    1.描述计算机的组成及其功能 完整的计算机系统由硬件和软件两部分组成。 现在大部分的计算机为冯诺依曼体系,主要有五个组成部分:运算器、控制器、存储器、输入设备、输出设备,以下为详细描述。(计算机的CPU由运算器、控制器和一二三层缓存等构成) 运算器:对数据进行算术运算和逻辑运算(对数据进行加工处理) 控制器:分析指令,控制协调输入、输出操作对内存的访问。 存…

    Linux干货 2017-01-02
  • 概述Windows2003的卷影副本

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/157940      卷影副本,也就是Volume Shadow Server简单来讲,卷影副本(或称为VSS)可以简单…

    Linux干货 2015-03-25
  • Linux 之LVM

    一 LVM 简介:     LVM是 Logical Volume Manager(逻辑卷管理)的简写,LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。LVM的工作原理其…

    Linux干货 2016-03-01
  • Bash Shell编程初学基础篇之二

    Bash Shell编程初学基础篇之二    时间如白驹过隙,一晃过去了几周,一切的计划都没有变化快。当你制定计划实施时,在这期间却会发生许多打乱我们计划的事情,但是我们还是要坚持下去,胜利是属于坚持到最后的人!实践出真理,中级基本结束了,需要回过头了好好总结一下了。心中总有好多话想找个同行唠唠;不废话了,估计大家都烦了!总有一天,你会成…

    Linux干货 2015-05-11

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-04 11:39

    写的很好,可以注意一下排版问题,加油