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

相关推荐

  • CentOS6 网络管理之网卡配置及简单路由设置

    CentOS6中关于网络配置的命令有很多,本文将介绍几个平时最长用的几个命令,以及网卡IP地址的配置和简单路由配置。 1、经常使用的查看IP地址命令为 ifconfig,不跟参数的情况下默认查看所有已启用的网卡信息,如下图所示: 如果想查看具体某块网卡信息,则可以在ifconfig后面跟上网卡设备,如只查看eth0的信息则执行:ifconfig eht0 即…

    Linux干货 2016-09-05
  • 马哥教育网络班20期+第二周课程练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 文件管理有 cp, mv, rm  复制命令:cp [root@ddwhost ~]# cp /etc/magic /tmp/         cp&n…

    Linux干货 2016-06-23
  • 初学正则表达式

      前言:     在学正则表达式之前,有小伙伴讲解说,正则表达式在文本处理上功能非常强大、使用非常普遍,并且现在很多的工具软件都支持它,以后的学习工作中会经常使用,非常灵活,但是灵活的同时又是繁琐,需要小心翼翼的仔细推敲。抱着认真、好奇的心思听完了王老的课。我自己理解的正则表达式是,给一些符号赋予一定的涵义…

    Linux干货 2016-08-12
  • Vim和nano的区别

    Vim和nano的区别 Linux下有很多文本编辑器,其中系统(不管哪个分支)都会自带nano和vim这两个最基本的编辑器。vim相当于vim的升级版。今天将重点分析一下vim与nano的各自功能及区别。 1.nano 直接在命令行中敲入nano newfile即可打开文件或新建文件。 可以看到第一行反白介绍了nano的版本号以及被编辑的文件名称。接下来就是…

    2017-08-05
  • iptables-防火,防盗,防老王

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

    Linux干货 2017-05-02
  • Mysql之主从复制

    Mysql之主从复制 节点一 修改配置文件设置唯一ID开起二进制日志 [root@node1 ~]# vim /etc/my.cnf 增加以下内容     [mysqld]     log-bin=master_bin &nbsp…

    Linux干货 2016-07-19

评论列表(1条)

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

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