第二周博客

I. Linux的文件管理类命令 

    

cp: copy,复制命令,使用格式为cp Address1 Address2(Address可以是文件,这样的话即为复制文件的内容)

31.png

复制etc目录下的fstab文件至tmp目录下。

41.png

如果目的地不存在,系统会自动创建一个新的文件并把内容覆盖上去。

mv: move,移动命令,使用格式为mv Address1 Address2,和cp命令很像。

42.png

rm: remove,删除命令,使用格式为rm FILE。

43.png

然而rm命令不能直接删除文件夹。为此需要rm -rf这个选项。

-r即recursive,-f即force。

44.png

还有比较常用的是rm -rf ./*,即删除当前文件夹下所有文件。

II. bash的工作特性

bash shell中每一个命令执行完之后会有一个状态返回值,可以用echo $?来查看。

这个返回值代表最近一次命令执行的结果。0代表成功,1代表失败,2至255也代表失败,每个的意义不同。1是最常见的。

46.png

命令行展开这个特性包括了~和{}。

~代表当前用户的家目录。

45.png

{}的使用方法如下。

比如说我们要创建/tmp目录下的:a_c, a_d, b_c, b_d

一般我们需要输入4次。

而是用命令行展开的{}则很简洁。

47.png

再比如我们要创建/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

48.png

一个命令即可搞定。

III. 文件的元数据和时间戳


我们用stat命令来获取文件的元数据。

49.png

文件的元数据包括了文件名,文件大小,文件类型,文件归属,文件访问读写执行权限,文件的时间戳等等。

我们可以用touch命令来修改文件的时间戳。

50.png

可以看到touch命令将文件的时间戳改成了现在的时间。

touch命令有几个常用的选项。

比如-d,可以将修改的时间变为指定时间而不是当前时间。

51.png

比如-a为只修改Access时间,-m为只修改Modify时间等等。

IV. 如何定义一个命令的别名

使用alias命令即可定义别名,格式为alias NAME=“COMMAND”

52.png

即将rm -rf的别名设置为die。

我们使用unalias可以取消这个别名。

53.png

如此定义的别名只对当前shell进程有效。若想其永久生效的话,需在/etc/bashrc或~/.bashrc文件添加一行这个命令。这样的话shell进程启动会自动读取这个配置。

V. 如何在命令中引用另一个命令的执行结果?


我们使用管道(pipe)。

比如我们将echo的内容进行egrep搜索。

54.png


VI. 练习


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

A:   egrep "^I.*[[:digit:]].*[[:lower:]]$" /var

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

A:     egrep "^[0-9].*[^0-9]$" /etc

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

A:     egrep "^[^a-zA-Z][a-zA-Z].*" /etc

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

A:     touch tfile-"$(date +%F-%M-%H-%S)"

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

A:     cp -r /etc/p*[^0-9] /tmp/mytest1

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

A:     cp -r /etc/*.d /tmp/mytest2

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

A:     cp -r /etc/[lmn]*.conf /tmp/mytest3

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

(0)
mercerchenmercerchen
上一篇 2016-07-26 17:08
下一篇 2016-07-27 09:22

相关推荐

  • Linux基础知识(1)

    在开源的世界当中,有许多的开源协议,其中著名的有Apache、BSD和GPL协议,它们支撑了开源世界,使得让那些开源程序变得丰富多彩,我们知道开源协定的发起人是Stallman,它主张的自由含义为自由学习和更改,自由使用;自由分发和自由创建衍生版。
    而Linux就是在这样的开源协定下在1991年的10月份起义成功,同时,它也有它的哲学思想:

    2017-09-10
  • Linux-raid的工作原理与管理

    本章内容:        1、RAID详细描述        2、mdadm 工具        3、创建raid        4、磁盘阵列的管理 RAID描述:     &nb…

    2017-06-24
  • 目录,inode学习笔记

    目录,inode学习笔记 1. 关于目录,文件,数据块 对于使用计算机的人而言,经常有一种 错误的认知:目录(或者说,文件夹)里面存放着文件。实际上,目录里面并不存放文件,以及文件数据。 实际上,目录是一个特殊的文件,针对这个特殊的文件也存在一些特殊的规则,比如利用命令cp /dev/null <your directory>…

    Linux干货 2017-04-01
  • 文本处理三剑客-grep及正则表达式初

    什么是正则表达式 基本正则表达式的元字符 扩展正则表达式 grep的基本理解 grep的基本选项 grep的应用实例 什么是正则表达式   正则表达式,又称正规表示法、常规表示法。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式的文本。(…

    Linux干货 2016-08-07
  • 网络配置、nmcli

    CentOS 7 网络属性配置    rhel6 之前,网络接口使用连续号码命名:eth0 、eth1 等, 当增加或删除网卡时,名称可能会 发生变化    rhel7 使用基于硬件,设备拓扑和设置类型 命名:    (1) 网卡命名机制    &n…

    Linux干货 2016-09-23
  • sed基本用法

    Stream EDitor, 行编辑器  sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space), 接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。然后读入下行,执行下一个循环。如果没有使诸如‘D’的特殊命令, 那会在两个循环之间清空模式空间,但不会…

    Linux干货 2017-08-20

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-27 11:04

    写的很好,排版还可以在漂亮一点,不要截黑屏了,加油