第二周作业

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

   linux上的文件管理类命令有:cat、tac、more、less、head、tail、cp、mv、rm、rmdir、mkdir等

   cat:文件文本查看工具

    cat [option]…[file]…

    -n:给显示的文本行编号 

    blob.png

    -E:显示行结束符$.

    blob.png

   tac:文件文本查看工具(cat 的倒序)

    tac [option]…[file]…

     blob.png

   more:可翻页查看文件内容,一页一页的翻动

    blob.png

    注:如果more后面接的文件内容行数大于屏幕输出的行数时,就会出现类似上图,最后一行会显示百分比,表示已经显示了整个文件的百分多少,且最后一行还可以输入命令。

    空格键:代表向下翻一页

    Enter:代表向下滚动一行,当到文件的最后一页时,自动退出more,回到命令行。

    /字符串:代表在这个显示的内容当中,向下查询"字符串"这个关键字

    :f    :立刻显示出文件名以及目前显示的行数

    q    :代表立刻离开more

    b    :往回翻页

   less:可翻页查看文件内容,一页一页的翻动,比more有弹性

    可输入的命令:

    空格键:向下翻动一页;

    [PageDown]:向下翻动一页;

    [PageUp]:向上翻动一页;

    /字符串 :向下查询"字符串"的功能;

    ?字符串 :向上查询"字符串"的功能;

    n    :重复前一个查询;

    N    :反向重复前一个查询;

    q    :离开less。

   head:取出文件中的前面N行

     head [OPTION]… [FILE]…

    -n # 或者 -#: 显示几行,默认显示10行

    blob.png

   tail:取出文件中的最后N行

    tail [OPTION]…[FILE]…

    -n #或者- #:显示几行,默认显示10行

    -f:持续检测后面所接的文件名,要等到按下[ctrl]-c才会结束检测。

    blob.png

    blob.png

     此时需要按下[ctrl]-c才会结束,后者会一直检测该文件。

   cp:复制

    cp [OPTION]… [-T] SOURCE DEST

    cp [OPTION]… SOURCE… DIRECTORY

    

    -i:交互式复制,即覆盖之前提醒用户确认;

    blob.png

    此时按下Y,表示覆盖,按下N,表示不覆盖。

    -f:强制覆盖目标文件;此时不会提示你是否覆盖了,直接强制覆盖;

    如:当前目录下已经有一个passwd文件了,执行如下操作不会有任何提示

    blob.png

    -r, -R:递归复制目录;

    如:将/usr/share/man/下的man#文件复制到当前目录

    blob.png

    -d:复制符号链接文件本身,而非其指向的源文件;

    以此文件为例,其位于/etc/下,(centos7.1)

    blob.png

blob.png    

    -a:-dR –preserve=all, archive,用于实现归档;

–preserv=

      mode:权限

      ownership:属主和属组

      timestamps: 时间戳

      context:安全标签

      xattr:扩展属性

      links:符号链接

      all:上述所有属性

   mv:和剪切一个意思?

    mv [OPTION]… [-T] SOURCE DEST

    mv [OPTION]… SOURCE… DIRECTORY

    mv [OPTION]… -t DIRECTORY SOURCE..

    -i:交互式

    -f:强制

   rm:删除文件

    rm [OPTION]… FILE…

    -i:交互

    -f:强制

    -r:递归

    blob.png

    删除目录:rm -rf /PATH/TO/DIR

    建议一定要执行一次:rm -rf /*   (有惊喜)

    

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

    bash的工作特性之命令执行状态返回值:

    命令执行完后,其状态返回值保存于bash的特殊变量$?中。

    bash通过状态返回值来输出此结果:

    成功:0

    失败:1-255

    blob.png

    注意,命令执行状态返回值和命令的执行结果间的区别。如上图,ls的执行结果是显示当前目录的文件名,紧接着执行echo命令用于显示命令的执行状态返回值,不管ls命令是否成功执行,其都会有相关数据显示,但是命令执行状态返回值却是不同的。

    bash的工作特性之命令行展开:

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

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

    blob.png

    blob.png

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

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

    ~]#mkdir -p {a,b}_{c,d}

    blob.png

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

  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

    ~]#mkdir -pv /tmp/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}}

    blob.png

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

    文件的数据分两种:一种元数据,既属性数据;一种就是数据本身;

    可以用命令stat查看文件的元数据;

    blob.png

    file:文件名;

    size:文件大小

    block:文件占了多少个数据块

    IO Block:文件所占数据块的块大小

    Device:硬件,既说明该文件在硬盘的那个柱面

    Inode:节点号

    links:链接

    Access(第一个):权限

    Uid:该文件所属的属主

    Gid:该文件所属的属组

    context:安全上下文

    Access(第二个):文件上一次的访问时间

    Modify:文件上一次修改的时间

    Change:文件上一次属性更改的时间

    可以使用touch命令更改文件的时间戳:

    touch [OPTION]… FILE..。

    -c: 指定的文件路径不存在时不予创建;

    -a: 仅修改access time;

    -m:仅修改modify time;

    -t STAMP

[[CC]YY]MMDDhhmm[.ss]

    ~]#touch FILE

    这条命令会将文件的三个时间一并更改成当前的时间

    如下三个分别更改atime,mtime,三个时间一起更改。

    blob.png

    blob.png

    blob.png

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

    命令别名使用alias命令。

    ~]#alias NAME='COMMAND'

    blob.png

    在一个命令中引用另一个命令的执行结果也是bash的特性之一,引用。

    方法:$(COMMAND) 或者 `COMMAND`

    blob.png

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

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

    blob.png

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

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

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

    ~]#ls -d /etc/[^a-z][a-z]*

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

    ~]#touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)

    blob.png

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

    ~]#mkdir /tmp/mytest1

    ~]#cp -r /etc/p*[^0-9] /tmp/mytest1

    blob.png

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

    ~]#mkdir /tmp/test2

    ~]#cp -r /etc/*.d /tmp/mytest2

    blob.png

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

    ~]#mkdir /tmp/mytest3

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

    blob.png

原创文章,作者:N22-成都-stephen,如若转载,请注明出处:http://www.178linux.com/40442

(0)
N22-成都-stephenN22-成都-stephen
上一篇 2016-09-06
下一篇 2016-09-06

相关推荐

  • 启动和内核管理2

    五、自制linux系统     分区并创建文件系统         fdisk /dev/sdb         分两个必要的分区   &n…

    Linux干货 2016-09-18
  • 生产环境网卡绑定汇总(bonding,team)

    生产环境网卡绑定汇总 1 什么是bonding,team?   1.1 bonding,team简介    在了解正式的概念之前,我们先从不太专业的角度取解释这两个名词。    所谓bonding就是联结。以下是来自柯林斯英汉双解大词典对于bonding的解释。    the proces…

    Linux干货 2017-05-07
  • N25第5周作业(grep和find使用)

    显示当前系统上root, fedora 或user1的默认shell 找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello(); 使用echo命令输出一个绝对路径,使用grep取出基名,扩展取出其路径名 找出IFCONIFG命令结果的1-255之间的数字 挑战题:写一个模式,能匹配出合理的IP地址 挑战题…

    Linux干货 2016-12-30
  • N26-第六周

    请详细总结vim编辑器的使用 vim 模式化的编辑器 vim的三种模式:1.编辑模式(命令模式)                          2.输入模式          …

    Linux干货 2017-03-13
  • 操作系统文件管理

      在现代计算机系统中,要用到大量的程序和数据,因内存容量有限,且不能长期保存,故而平时总是把它们以文件的形式存放在外存中,需要时再随时将它们调入内存。如果由用户直接管理外存上的文件,不仅要求用户熟悉外存特性,了解各种文件的属性,以及它们在外存上的位置,而且在多用户环境下,还必须能保持数据的安全性和一致性。显然,这是用户所不能胜任、也不愿…

    Linux干货 2015-04-13

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-14 08:38

    排版上需要注意下,建议使用markdown,不推荐答案贴图片的方式。加油~