第二周作业

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

相关推荐

  • 第九周shell脚本编程练习

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

    2017-11-23
  • HA Cluster—Keepalived

    HA Cluster 集群类型:LB(lvs/nginx(http/upstream, stream/upstream))、HA、HP 系统可用性的公式:A=MTBF/(MTBF+MTTR) 系统故障: 硬件故障:设计缺陷、wear out、自然灾害 软件故障:设计缺陷 提升系统高用性的解决方案之降低MTTR: 解决方案:冗余(redundant) acti…

    Linux干货 2017-10-30
  • Linux磁盘管理详解

    linux磁盘管理 添加磁盘步骤: fdisk 管理磁盘分区 格式化文件系统。 设备挂载 开机自动挂载 UUID挂载 取消挂载点 Parted(gpt大于2G分区) 查看文件系统的使用情况。 df 查看挂载信息与磁盘使用量 du 查看使用量 查看分区状况lsblk 查看设备信息blkid linux磁盘管理 当全新安装了一块新的硬盘设备后,为了更充分、安全的…

    Linux干货 2016-09-07
  • 有关shell脚本

    SHELL脚本 在Linux运维工作中有着大量的重复性质的工作,比如同时给很多台的服务器备份,查看多台的内存情况,等等。这样的情况下总不能一个一个服务器自己去看,那样耗时,费力,还容易出错。所以编写程序来做这些事情就成了必要的工作。而SHELL就是完成这项工作的。   脚本第一行的开头写上#!/bin/bash 这是属于格式性质的,作用在于加上执行…

    2017-08-12
  • 第四周练习与作业

    一、复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符 复制文件至/tmp目录下: cp /etc/profile /tmp/ vim /tmp/profile 进入文件命令模式下,使用正则表达式  ;%s/^[[:blank:]]\+//g 二、复制/etc/rc.d/init.d/fu…

    2017-08-05
  • MySQL入门书籍和方法分享

    原文:http://cenalulu.github.io/mysql/mysql-book-for-newbie/           作者: 卢钧轶     本文罗列了一些适用于MySQL及运维入门和进阶使用的书籍。 背景:各大论坛上总是…

    Linux干货 2015-04-09