马哥教育21期网络班—第二周课程+练习

目录管理类命令:
mkdir, rmdir, tree
mkdir

mkdir [options] /path/to/somewhere

-p: 存在于不报错,且可自动创建所需的各目录;

-v: 显示详细信息

-m MODE: 创建目录时直接指定权限;

QQ截图20160627164037.png

QQ截图20160627164240.png

tree

tree:  需要安装  yum -y install tree

-d: 只显示目录

QQ截图20160627205245.png

-L level:指定显示的层级数目

QQ截图20160627205514.png

-P pattern: 只显示由指定pattern匹配到的路径;

rmdir

rmdir:删除空目录

rmdir [OPTION]… DIRECTORY…

-v: 显示过程;

-p:递归删除目录一级一级删除

QQ截图20160627164634.png

命令行展开

~: 展开为用户的主目录

~USERNAME:展开为指定用户的主目录

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

/tmp/{a,b} = /tmp/a, /tmp/b

/tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi

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

QQ截图20160627165444.png

2、创建/tmp/x/y1, /tmp/x/y2, /tmp/x/y1/a, /tmp/x/y1/b, /tmp/x/y2/a, /tmp/x/y2/b

QQ截图20160627170028.png

3、如何创建/tmp/bin, /tmp/sbin, /tmp/usr, /tmp/usr/bin, /tmp/usr/sbin

创建/tmp/mylinux目录下的

QQ截图20160627171050.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

QQ截图20160627204219.png

命令的执行结果状态

成功

失败

bash使用特殊变量$?保存最近一条命令的执行状态结果:

0:成功

1-255:失败

程序执行有两类结果:

程序的返回值;

程序的执行状态结果;

QQ截图20160627204633.png

QQ截图20160627204551.png

文件的元数据信息

ls -l :查看文件元数据

QQ截图20160628162015.png

最左侧的第一位:文件类型

Linux下文件类型:

– (f):普通文件;

d: 目录文件;

b: 块设备;

c: 字符设备;

l: 符号链接文件;(软连接)

p: 管道文件;

s: 套接字文件;

后面九位:u,g,o的权限

数字:代表硬链接次数

两个root代表:所有者,所属组

1777:文件的size

5月22 17:39:最后一次的修改时间

anaconda-ks.cfg:文件名

stat

查看文件的时间戳

QQ截图20160628163643.png

Access: 访问时间

Modify: 修改时间

Change:改变时间

touch

 创建文件

三个时间戳:

access time:访问时间,简写为atime,读取文件内容

modify time: 修改时间, mtime,改变文件内容(数据)

change time: 改变时间, ctime,元数据发生改变

touch

-a: only atime

-m: only mtime     改变时间戳

命令别名(alias)

通过alias命令实现:

(1) alias

显示当前shell进程所有可用的命令别名;

QQ截图20160628170109.png

(2) alias NAME='VALUE'

定义别名NAME,其相当于执行命令VALUE

QQ截图20160628171055.png

变量引用:

echo "$VAR_NAME": 变量会替换,双引号表弱引用

echo '$VAR_NAME': 变量不会替换,强引用

echo `$VAR_NAME`:调用命令结果

QQ截图20160628171352.png

glob (globbing)

bash中用于实现文件名“通配”

通配符:*, ?, []

(1) *

任意长度的任意字符

a*b: 

aab, ab, a123b, 

abc

(2) ?

任意单个字符

a?b:

aab

ab, a12b, abc

(3) []

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

[0-9]

[a-z]:不区分字符大小写

[A-Z]:大写字符

(4) [^]

匹配指定范围外的任意单个字符

[^0-9]

专用字符集合:

[:digit:]:任意数字,相当于0-9

[:lower:]:任意小写字母

[:upper:]: 任意大写字母

[:alpha:]: 任意大小写字母

[:alnum:]:任意数字或字母

[:space:]:空格字符

[:punct:]:标点符号

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

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

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

ls -l /etc [0-9]*[[:alpha:]]

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

ls -l /etc [^[0-9]][[:alpha:]]*

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

touch "tfile-`date +%F`-`date +%H`-`date +%M`-`date +%S`"

文件管理:

cp, mv, rm

复制命令:cp

cp [OPTION]… [-T] SOURCE DEST

cp [OPTION]… SOURCE… DIRECTORY

 cp [OPTION]… -t DIRECTORY SOURCE…

cp SRC DEST

SRC是文件:

如果目标不存在:新建DEST,并将SRC中内容填充至DEST中;

如果目录存在:

如果DEST是文件:将SRC中的内容覆盖至DEST中;

此时建议为cp命令使用-i选项;管理员具备-i选项,普通用户没有。

如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中;

cp SRC… DEST

SRC…:多个文件

DEST必须存在,且为目录,其它情形均会出错;

cp SRC DEST

SRC是目录:

此时使用选项:-r

如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中;

如果DEST存在:

如果DEST是文件:报错

如果DEST是目录:

常用选项:

-i:交互式

-r, -R: 递归复制目录及内部的所有内容;

-a: 归档,相当于-dR –preserv=all    保留原来的所有权限

-d:–no-dereference  –preserv=links :不追踪符号链接

–preserv[=ATTR_LIST]:保留文件指定的权限

mode: 权限

ownership: 属主属组

timestamp: 时间戳

links:链接属性

xattr:扩展属性

context:安全上下文

all:所有

-p: –preserv=mode,ownership,timestamp

-v: –verbose:显示详细信息

-f: –force :强制

mv: move,移动文件

mv [OPTION]… [-T] SOURCE DEST

mv [OPTION]… SOURCE… DIRECTORY

mv [OPTION]… -t DIRECTORY SOURCE…     

常用选项:

-i: 交互式

-f: 强制

rm: remove,删除

rm [OPTION]… FILE…

常用选项:

-i: 交互式

-f: 强制删除

-r: 递归

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

cp -rf /etc p*[^[0-9]] /tmp/mystest1

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

cp -rf /etc *.d /tmp/mytest2

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

cp -rf /etc [m,n].conf /tmp/mytest3

cp -rf /etc {m,n}.conf /tmp/mytest3

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

(0)
N21_ DominicN21_ Dominic
上一篇 2016-06-29
下一篇 2016-06-29

相关推荐

  • linux下VMware Tools安装方法

    关于VMware Tools 是虚拟机里面的驱动,和各种实用工具,安装了vmware tools,你的虚拟机就可以打开DX3D的支持,鼠标想移出虚拟机也不需要按组合键,文件可以从主机直接拖动复制到虚拟机里面,虚拟机的分辨率也会自动跟随窗口调整而变化,还能解决图形界面下的卡顿,总之就是拓展了虚拟机的功能,方便使用。     &nb…

    Linux干货 2016-08-04
  • Linux磁盘管理基础

    Linux磁盘管理基础 硬盘结构 文件系统与MBR、GTP 磁盘管理三步骤:分区、格式化、挂载 mount 硬盘结构 硬盘的基本组成材质是盘片,不同容量硬盘的盘片数不等。每个盘片有两面,都可记录信息。盘片表面上以盘片中心为圆心,不同半径的同心圆称为磁道,不同盘片相同半径的磁道所组成的圆柱称为柱面,每个磁道被分成许多扇形的区域,每个区域叫一个扇区,每个扇区可存…

    Linux干货 2016-09-01
  • lnmp部署实验

    Lnmp部署 实验环境: 1、Centos 7主机一台,客户机一台。 2、在centos 7主机上部署:    Nginx  php-fpm  php-mysql  mariadb-server 实验步骤: 1、启动nginx服务,确保80端口打开,启动mariadb-server,确保3306端口…

    Linux干货 2016-10-30
  • Linux系统网络属性管理

        每台计算机主机连入internet都必须给主机设定以个合法的IP地址。这些IP参数大概包括IP地址、子网掩码、网关、路由、DNS等。在Linux中,大多数命令配置网络配置都是临时生效,想要网络服务永久有效就必须写入配置文件中,所以有时候更改配置重启主机是为了让内核重读配置文件到内核中,因为配置文件属于用户空间的文件。大多数网络配置…

    Linux干货 2016-09-18
  • Linux基础介绍

    1、Linux用户: Linux用户分为普通用户和管理员,普通用户的系统操作权限低,用户的误操作对系统数据的破坏程度有限,不会对系统造成灾难性的破坏。而管理员对系统具有绝对的权限,可以修改和设置系统的任何数据,如果误操作,及其容易对系统数据造成不可挽回的破坏,比如执行以下命令 rm  -rf  / 。因此,系统管理员在操作root用户时需…

    Linux干货 2016-07-26
  • N25第一周作业

    一.计算机基础知识     1.计算机是什么?         计算机是一种能够按照指令对各种信息进行自动加工和处理的电子设备     2.计算机的组成?       &…

    Linux干货 2016-12-06

评论列表(1条)

  • 马哥教育
    马哥教育 2016-06-29 15:13

    写的很好,可以多注意一下排版问题,加油