第二周作业

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

答:针对文件常用的命令有如下几大类:

a)文件创建命令 touch

      touch /path/filename  —-新建一个空的文件

b)文件复制命令 cp

      cp /path1/filename1 /path2/                  —-复制path1路径下的filename1文件到path2路径下,并保持文件名不变

      cp /path1/filename1 /path2/filename2   —-复制path1路径下的filename1文件到path2路径下,并修改文件名为filename2

      其中cp命令中几个常用参数如下:

      -d:如果复制的是链接文件,则保留链接文件属性,而非复制文件的实际数据

      -l:以硬链接方式复制,而非复制文件的实际数据

      -R(-r):执行递归复制,主要针对目录文件

      -i:执行交互式复制,复制过程中会询问用户的选择

      -p:保留源文件的基本属性,而非自动继承目的路径的属性

      –presever=all:保留除-p基本属性之外的其他属性,如xattr(括展属性),SElinux上下文属性等

      -a:等同于-dR –preserve=all 

 c)文件移动命令 mv

      mv /path1/filename1 /path2/                   —-复制path1路径下的filename1文件到path2路径下,并保持源文件名不变,同时删除path1路径下的源文件

      mv /path1/filename1 /path2/filename2    —-复制path1路径下的filename1文件到path2路径下,并修改文件名为filename2,同时删除path1路径下的源文件

      其中mv命令中几个常用参数如下:

      -i:执行交互式操作,文件或者目录移动过程中会询问用户的选择

      -f:强制模式,不询问用户的选择,强制执行命令动作

      -u:更新模式,当目标文件比源文件陈旧时,执行mv操作,反之则不执行

 d)文件删除命令 rm

      rm /path/filename  —-删除文件或者目录

      其中rm命令中常用参数如下:

      -i:交互式操作,删除过程中询问用户的选择

      -f:强制模式,直接执行删除不询问用户选择

      -r:递归模式,以递归方式执行删除文件或目录,此方式可以用户对非空目录的删除

 e)遍历文件命令 ls

      ls /path/filename

      其中ls命令中常用参数如下:

      -l:长格式显示文件的信息,7段文件信息(文件类别与文件基本权限,链接次数,文件属主,文件属组,文件大小,文件创建时间日期,文件名)

      -d:仅显示目录文件,不显示目录下所含的文件以及子目录

      -Z:显示文件的SElinux上下文属性

      -i:显示文件或目录的i-node信息

      -R:递归显示目录以及目录所包含的文件和子目录信息

      -t:按时间排序,而非默认的文件名字符排序

      -S:按文件大小排序

      -r:反向输出排序结果,常和-t,-S等联合使用

      -n:显示属主,属组的id号,而非其名称

      -h:按照人类易读的数值显示文件大小信息

      –color=auto:自动显示不同文件类别的颜色(如:蓝色代表目录文件,紫色代表链接文件,黄色代表设备文件,黑色代表普通文件)

 f)文件基名与目录名

      basename /path/filename    —-显示/path/filename中的基名,即filename

      dirname /path/filename        —-显示/path/filename中的目录名,即path

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

答:

   命令执行状态分为如下两种:

    执行成功:0

    执行失败:1-255

    使用“$?"特殊变量保存命令执行的状态返回值

   例如:

~]$ ls /etc/abc

ls: 无法访问/etc/abc: 没有那个文件或目录

# 执行ls命令提示错误,没有找到相应文件或目录

此时查询命令执行状态返回值如下

~]$ echo $?

2

#返回值是2(失败)

~]$ cd /yes

bash: cd: /yes: 没有那个文件或目录

#执行目录切换命令,提示不存在/yes目录

~]$ echo $?

1

#查询命令执行状态返回值是1(失败)

~]$ cd /etc/

etc]$ 

#执行正确的目录切换命令,切换目录到/etc下

etc]$ echo $?

0

#查询命令执行状态返回值是0(成功)


   命令行展开有如下几种

  ~:表示当前用户的家目录

  etc]$ cd ~

   ~]$ 

   ~account:表示指定account账户的家目录

   ~]# cd ~user1

   user1]# 

   {}:可以代表花括号内以逗号(,)分割的多个表示路径的名称,例如  /etc/{path1,path2} 代表/etc/path1以及/etc/path2两个目录

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

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

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

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

  mylinux/

      |——bin

      |——boot

              |——grup

      |——dev

      |——etc

              |——rc.d

                       |——init.d

              |——sysconfig

                       |——network-scripts

      |——lib

              |——modules

      |——lib64

      |——proc

      |——sbin

      |——sys

      |——tmp

      |——usr

              |——local

                       |——bin

                       |——sbin

      |——var

              |——lock

              |——log

              |——run

 答:mkdir -p /tmp/mylinux/{bin,boot/grup,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}

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

 答:文件的元数据包含文件的权限,文件的属性以及括展属性,文件所对应的inode号等信息,通过stat查看文件元数据信息

第二周作业 

  使用touch命令,vim编辑文件,mv修改文件名等都可以影响文件的时间戳


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

答:

定义别名:alias 命令1=‘命令2’

命令引用:通过管道符号“|”,把前一个命令的结果作为下一个命令的输入,例如:echo “redhat”| passwd –stdin user表示把前一个echo显示的redhat字符作为后一个passwd密码输入的值

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

答:ls -r /var | grep ^l.*[0-9]\{1,\}.*[a-z]$  或者 ls -d /var/l*[0-9]*[a-z]

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

答:ls -r /etc | grep ^[0-9].*[^0-9]$ 或者 ls -d /etc/[0-9]*[^0-9]

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

答:ls -r /etc | grep ^[^[:alpha:]][[:alpha:]].* 或者 ls -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 -a /etc/p*[^0-9] /tmp/mytest1

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

答:cp -a /etc/*.d /tmp/mytest2

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

答:cp -a /etc/[l,m,n]*.conf /tmp/mytest3

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

(0)
N24_shishenN24_shishen
上一篇 2016-11-19 15:15
下一篇 2016-11-19 23:30

相关推荐

  • 对防火墙的初步认识

      防火墙,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种。无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘。而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略,规则,以达到让它对出入网络的IP、数据进行检测。    目前市面上比较常见的有3、4层的防火墙,叫网络层的防火墙,还有7…

    Linux干货 2017-06-15
  • CentOS6 ELK实现

    1 简介 我们来介绍Centos6.5基于SSL密码认证部署ELK(Elasticsearch 1.4.4+Logstash 1.4.2+kibana3),同时为大家介绍如何集合如上组件来收集日志,本章的日志收集主要为大家介绍SYSTEM日志收集. 集中化日志收集主要应用场景是在同一个窗口临时性或永久性鉴定分析系统,应用等各类日志,对用户提供极大便…

    Linux干货 2017-05-17
  • Linux发展史

    前言     Linux属于类Unix中的一个当下比较流行的操作系统,占领了服务器大部分江山。作为一个专业复杂的操作系统,了解其发展过程是很有必要的。如果要讲linux的历史,肯定是从三个团体开发Multics系统说起,贝尔实验室离开Multics项目后,Tompson和他的同事一起创造了unix,而在unix的各种分支中BSD则是迅速发…

    Linux干货 2016-10-14
  • Python from entry to abandon 3

        第十章的内容是解决问题————编写一个Python脚本。在我的电脑上因为Zip命令不能正常工作所以无法给出演示。该章给出了很有意义的编程思路,对以后学习和工作都有不错的参考意义,这部分有兴趣的同学还是自己去看原版教程吧。    这篇博客结合个人笔记整理了《简明Python教程》第十一章到第十…

    Linux干货 2017-04-07
  • 软raid实现raid5

    现在Linux系统有磁盘情况如下 现在从sda,sdb,sdc,sdd 分区取出10G 的空间做raid5. 第一步:建立分区 现在执行fdisk  /dev/sd* 命令分区冲这四个磁盘划分10G分区 分别是sda6,sdb1,sdc1,sdd1。 具体操作如下: 分区完之后,执行#partx -a /dev/sd*  让分区生效。具体效果如下: 分区完成…

    2017-12-06
  • 学习宣言

    此刻打盹,你将做梦,此刻学习,你将圆梦! 为了财富自由,前进!

    Linux干货 2016-12-28