第二周作业

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
下一篇 2016-11-19

相关推荐

  • linux基础学习之SElinux

    1、SElinux简介 SELinux: Secure Enhanced Linux,是美国国家安全局「NSA=The National Security Agency」和SCC(Secure Computing Corporation)开发的Linux的一个强制访问控制的安全模块。2000年以GNU GPL发布,Linux内核2.6版本后集成在内核中 2、…

    Linux干货 2016-09-15
  • Yacc 与 Lex 快速入门(词法分析和语法分析)

    Lex 代表 Lexical Analyzar。Yacc 代表 Yet Another Compiler Compiler。 让我们从 Lex 开始吧。 Lex Lex 是一种生成扫描器的工具。扫描器是一种识别文本中的词汇模式的程序。 这些词汇模式(或者常规表达式)在一种特殊的句子结构中定义,这个我们一会儿就要讨论。 一种匹配的常规表达式可能会包含相关的动作…

    Linux干货 2015-06-08
  • 进程管理的总结

    进程管理的总结 进程相关概念: Process: 运行中的程序的一个副本,是被载入内存的一个指令集合。进程是程序的基本执                      行实体;程序是指令、数据及其组织形式的描述,进程是程序的实体 Process ID:进程的标记号码 task struct:Linux内核存储进程信息的数据结构格式 task list:多个任务的…

    2017-12-23
  • Shell脚本编程基础之一

      Linux为高效管理系统,提供了CLI命令行接口,供用户在命令提示符下输入命令,它有很多bash shell基础特,根据这些特性能够很灵活的使用命令,也支持使同时输入多个命令执行,命令之间用冒号分隔;但是要完成复杂多次重复性的操作,非常不便,系统管理工作变得很是繁忙,很难轻松完成工作任务;不过Linux的shell支持脚本编程,通过编写纯文本格…

    Linux干货 2016-08-15
  • linux基础命令1

    内容包含:文件管理、重定向和管道、用户组和权限管理、文本处理工具

    Linux干货 2017-11-19
  • Linux基础之shell脚本编程(四)

    1、写一个脚本   (1) 能接受四个参数:start, stop, restart, status    start: 输出“starting 脚本名 finished.”   (2) 其它任意参数,均报错退出;   1 #!/bin/bash   2 #a…

    Linux干货 2016-11-28