N26第二周博客作业

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

常见的文件查看命令有:cattacheadtailmorelessstattouch

常见的文件管理命令有:cpmvrm

常见的目录管理命令:mkdirrmdir

以下进行详细介绍:

1.1  文件查看命令

cat

用途:查看文件的全部内容

示例:

blob.png

tac

用途:逆序显示文件的内容

示例:

blob.png

head

用途:显示文件的前n行(参数-n,不加参数默认10行)

示例:

blob.png

tail

用途:查看文件的倒数n行(参数-n,不加参数默认10行)

示例:

blob.png

more

用途:分页查看文件内容

操作技巧:查看时回车翻动下一行,空格翻动下一页,b键翻回上一页,h键可以查看更详细的操作菜单,阅读到文件末尾自动退出

示例:

blob.png

blob.png

注:为了有翻页效果用cat /etc/inittab >> /tmp/inittab追加了好几遍。

less

用途:功能和more相同,都是用来浏览超出一页的文件,不同的是less可以用上下键滚动,阅读到文件尾部也不会退出

示例:

blob.png

stat

用途:查看文件的相关信息,包括文件大小、块、所在设备和时间戳等等。

时间戳:

access time(访问时间):最近一次访问文件或目录的时间

modify time(修改时间):最近一次修改文件或目录内容的时间(修改数据)

change time(改变时间):最近一次修改文件或目录元数据(如属主属组、文件名、大小、时间戳等属性)的时间

示例:

blob.png

touch

用途:改变文件的时间戳,常用于创建文件

常见选项:

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

-a: 仅修改access time

-m:仅修改modify time

1.2 文件管理命令

cp

用途:复制文件

单源复制:cp [OPTION]… [-T] SOURCE DEST

如果DEST存在:

如果DEST是非目录文件:则覆盖目标文件;

如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;

多源复制:cp [OPTION]… SOURCE… DIRECTORY

  如果DEST不存在:错误;

如果DEST存在:

         如果DEST是非目录文件:错误;

         如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;

常用选项:

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

        -f:强制覆盖目标文件;

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

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

         -a-dR –preserve=all,–archive,用于实现归档,即复制后保留相关元数据;

         –preserv=

                      mode:权限

                  ownership:属主和属组

                  timestamps: 时间戳

                  context:安全标签

                  xattr:扩展属性

                  links:符号链接

                      all:上述所有属性

mv

用途:移动文件或目录

常用选项:

-i:人机交互式(避免直接覆盖同名文件)

-f:强制(避免交互式,如果有同名文件直接覆盖)

rm

-i:交互式(对于管理员用户,rm –i被定义为别名rm

-f:强制

-r:递归操作,删除指定目录里的所有文件

1.3  目录管理命令

mkdir

用途:创建目录

常见选项:

-p:若创建路径中有目录不存在,则按需创建

-v:显示详细过程

-m 参数:创建目录时直接给定权限

rmdir

用途:删除目录

常用选项:

-p:删除目录后,若目录为空则直接删除空目录

-v:显示详细过程

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

命令执行状态返回值

当系统成功执行一条命令时,会返回0值,当执行失败时,会返回1~255,可以通过echo $? 命令查询上一条指令是否执行成功。

示例:

blob.png

因为第一条命令执行失败,所以返回值127echo $?执行成功,返回0

命令行展开

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

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

例如:/tmp/{a,b} 相当于 /tmp/a /tmp/b


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

3.1  创建/tmp目录下的:a_c, a_d, b_c, b_d

   命令:touch /tmp/{a_c,a_d,b_c,b_d}

blob.png

3.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/initd,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin.sbin},var/{lock,log,run}}

blob.png

blob.png

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

文件发元数据包括:

File:文件名

Size:大小

Blocks:文件块数

IO blocksIO块大小

Device:设备号

Links:链接次数

Access timeModify timeChange time(三个时间,上文有提及)

查看元数据:stat FILEstat命令上文第一点有提及)

修改文件时间戳信息:touch命令

-a选项:只修改access time

-m选项:只修改modify time

-a-m都是将相应时间戳改为系统此时的时间,可以指定修改为某一时间:

使用-t STAMP[[CC]YY]MMDDhhmm[.ss]

如果不加任何选项,则AMC时间都会修改为当前时间

 

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

使用alias命令可以设置别名,使用unalias可以取消别名。

alias 别名=命令

unalias 别名

示例:

blob.png

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

命令:ls -d l*[0-9]*[[:lower:]]

blob.png

*:匹配任意长度的任意字符

?:匹配任意单个字符

[]:匹配指定范围内的任意单个字符

   有几种特殊格式:

     [a-z], [A-Z], [0-9], [a-z0-9]

     [[:upper:]]:所有大写字母

     [[:lower:]]:所有小写字母

     [[:alpha:]]:所有字母

     [[:digit:]]:所有数字

     [[:alnum:]]:所有的字母和数字

     [[:space:]]:所有空白字符

     [[:punct:]]:所有标点符号

     [^]:匹配指定范围外的任意单个字符

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

ls -d /etc/[[:digit:]]*[^[:digit:]]

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

blob.png

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

ls -d [^[:alpha:]][[:alpha:]]?*

blob.png

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

mkdir tfile-`date +%Y-%m-%d-%H-%M-%S`             

blob.png

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

命令:cp –r /etc/p*[^[:digit:]] /tmp/mytest1

因为需要复制的内容包含目录,所以要加上-r选项

blob.png

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

命令:cp /etc/*.d /tmp/mytest2 –r

blob.png

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

命令:mkdir -p /tmp/mytest3 && cp /etc/{l,m,n}*.conf /tmp/mytest3

    -p选项:根据指定路径按需建立目录

 blob.png

 

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

(0)
EUSCEEUSCE
上一篇 2017-02-03
下一篇 2017-02-03

相关推荐

  • 马哥教育网络班22期+第七周课程练习

    1、创建一个10G分区,并格式为ext4文件系统(1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl(2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳 # fdisk /dev/sdb <<EOF> n> p> 1> &g…

    Linux干货 2016-11-28
  • Linux Shell(脚本)编程入门

    为什么要进行shell编程 在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具。Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。您可以通过使用shell使大量的任务自动化,shell特别擅长系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重要的任务。 下面,让我们一起来看看shell是如何工作的: 建…

    Linux干货 2017-08-05
  • 系统基础之文件管理工具

    系统基础之文件管理工具   linux的重要哲学思想之一,一切皆文件.那作为系统管理员,就要求对文件的操作管理特别熟悉.那么下面介绍的一个工具可以帮助到大家,更有效,快捷的完成对文件的处理.下面让我们来认识以下的工具. 文本工具: 文件内容:   cat: 复制标准输入到标准输出     选项:   &nbs…

    Linux干货 2016-08-07
  • 第五周练习

    1.显示当前系统上root,fedora或user1用户的默认shell         # cat /etc/passwd | cut -d: -f1,7 | grep -E "(fedora|root|user1)" 2.找出/etc/rc.d/init.…

    Linux干货 2016-11-26
  • N25-第十周博客作业

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) 内核空间的启动流程 一. POST 加电自检 在加电之后,智能设备所运行的内部存储的一系列检测程序集合。缩写为POST。这些检测程序在软件加载到硬件上运行之前对硬件的基本完整性加以验证。 用于实现POST的代码在主板上ROM(CMOS)芯片上。 二. Boot Sequence(BI…

    Linux干货 2017-03-25
  • iptables-防火,防盗,防老王

        防火墙,其实说白了将,就是用于实现linux下访问控制的功能的,它分为两种方式,硬件防火墙和软件防火墙。不过无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘。而我们的任务就是需要去定义防火墙如何工作的,这就是防火墙的策略,规则,以达到让它对出入网络的IP,数据进行检测。     目前市…

    Linux干货 2017-05-02

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-02 19:50

    非常认真,不过命令最好不要用截图来体现。