Linux系统运维之Linux基础管理命令及通配符的使用
白羽 2018-07-11 来源 :网络 阅读 677 评论 0

摘要:本文将带你了解Linux系统运维之Linux基础管理命令及通配符的使用,希望本文对大家学Linux有所帮助。


### 文件的三个时间
linux里通常文件有三个时间  
```
1、atime:文件访问时间
2、mtime:文件容修改修改时间
3、ctime:元数据状态改变时间
```
备注:元数据是指文件的所有者、所属组、大小、权限等等  
- #### stat :查询文件的元数据
可以查看文件的三个时间
stat用法:stat +参数


- #### cp :复制(copy)
常用用法1、cp +[选项]+ 参数(源文件文件)+参数(新地址)  
示例:把etc下的passwd文件复制到/data下
```
[root@zhangxiao ~]# cp /etc/passwd /data
[root@zhangxiao ~]# ll /data
total 20
drwx------. 2 root root 16384 Mar 27 17:12 lost+found
-rw-r--r--. 1 root root  1682 Mar 31 11:18 passwd
[root@zhangxiao ~]#

```

备注:

注意,bash内置命令在进行通配符匹配文件的时候,"*"、"?"、"[]"默认是无法匹配到以"."开头的文件的,所以"*"不会匹配隐藏文件。要通配隐藏文件,使用"."代替上述几种通配元字符即可,它能匹配除了"."和".."这两个特殊目录外的所有文件。

例如,复制/etc/skel目录下所有文件包括隐藏文件到/tmp目录下。

cp -a /etc/skel/. /tmp

如果有重复文件,则即使加上-f选项,也一样会交互式询问。解决方法可以是使用"yes"这个工具,它会不断的生成y字母直到进程被杀掉,当然也可以自行指定要生成的字符串。

yes | cp -a /etc/skel/. /tmp

如果目标目录,则复制到文件下保存原来的名字
示例2:把data下的复制到data/test1/
中并命名为passwd1
```
[root@zhangxiao data]# cp passwd ./test1/
[root@zhangxiao data]# ls ./test1/
passwd
[root@zhangxiao data]#
```
如果目标不是目录且不存在同名文件则重命名,如果存在同名文件则提示是否覆盖


示例3:把当前工作目录中的fa1 和passwd同时复制到testdir1中


```
[root@zhangxiao data]# cp passwd fa1 testdir1
[root@zhangxiao data]# ll ./testdir1
total 4
-rw-r--r--. 1 root root    0 Mar 31 11:33 fa1
-rw-r--r--. 1 root root 1682 Mar 31 11:33 passwd
[root@zhangxiao data]#
```
备注:中间可以有多个文件但最后必须是文件夹  
选项:  


```
-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。
```
备注:如果不加特殊详细默认谁复制他的所有者,所属组就归属谁
- #### 软连接和硬链接的区别
软连接:相当于一个文件的快捷方式


```
1、软连接拥有自己的属性以及权限
2、软连接可以对目录创建甚至是不存在的目录如果目录不存在命令不会报错但在链接属性会显示红色
3、创建软连接是链接计数不会增加
4、软连接是依赖于文件的删除软连接并不影响文件,但删除文件会导致软链接失效
5、软连接可以跨分区
```


硬链接:相当于一个文件的多个名字
```
1、文件的硬链接具有相同的inode号相同的属性
2、只能最已经存在的文件进行创建
3、不能对目录使用
4、删除一个硬链接并不影响其他相同inode号的文件
5、创建硬链接后链接的计数会增加
6、硬链接不可以跨分区
```
readlink +链接名:查看链接的原始文件路径
> 创建一个硬链接  ln +源文件 +链接名
> 创建一个软连接  ln -s +源文件 +链接名  

备注:当我们写脚本或工作时,一般用软连接最好写相对路径,避免文件换路径后不能使用  
当软件升级时我们最好直接用软连接链接到我们想使用的版本


- #### mv 
语法:mv +源文件 +目标文件
示例:把/data文件下的f1;f2文件移动到/data/www中
```
[root@localhost data]# mv f3 f4 ./www
[root@localhost data]# 
[root@localhost data]# 
[root@localhost data]# ls ./www
f1  f2  f3  f4
[root@localhost data]#
```
把源文件移动到目标文件中(前面是文件后面是目录)


示例:把data下的www目录复制到data下并重命名为www1


```
[root@localhost data]# mv www www1
[root@localhost data]# ls
f5  f6  f7  f8  www1
[root@localhost data]#
```
把目录移动到某目录下如果目标目录不存在则重命名此文件;如果目标文件存在且为目录则移动到目标目录下,如果为文件则报错  
用法2 :mv -t +目标 +源文件
- #### file:查看文件(程序)
常用选项
```
-b 列出文件辨识结果时,不显示文件名称
-f filelist 列出文件filelist中文件名的文件类型
-F 使用指定分隔符号替换输出文件名后默认的”:”分隔符
-L 查看对应软链接对应文件的文件类型
--help 显示命令在线帮助
```
- #### rm:删除文件(目录、程序) 
语法:rm +[选项] +目标
常用选项:
-r:对文件进行递归操作
-f:强制执行
-i:交互式操作(删除是电脑会提醒是否删除)


备注:一般常用rm -rf +目标文件
示例:删除data 下的f7 f8文件
```
[root@localhost data]# ls
f7  f8  www1
[root@localhost data]# rm -rf f7 f8
[root@localhost data]# ls
www1
[root@localhost data]#
```
备注:rm本质上并不删除文件的所有数据,而是掐断文件的inode编号并回收。理论上如果给文件重新赋一个节点标号,是可以还原文件的。如果我们想完全删除文件最好用大文件填充几次磁盘再删除。


同时如果一个垃圾文件占用的内存过大我们想清除,用rm不一定行得通。当有人在使用文件时,删除以后文件没了,但是磁盘空间并未清理。如果想彻底清理最好用 >  清空文件后再删除,就可以了  
备注:lsof |grep deleted 可以查看是否有删除的命令正在占用磁盘空间。  
如果我们想彻底删除一个文件可以用命令  
shard -u 完成




- #### tree:显示目录树
常用选项:
> -d: 只显示目录  
> -L 指定显示的层级数目  
> -P  只显示由指定pattern匹配到的路径  
- #### mkdir创建目录
常用选项:
```
-Z:设置安全上下文,当使用SELinux时有效;
-m<目标属性>或--mode<目标属性>建立目录的同时设置目录的权限;
-p或--parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;
```
- #### 通配符:通配符一般是作用在文件(目录)名字上的
常用的通配符有:
```
* 匹配零个或多个字符
? 匹配任何单个字符
~ 当前用户家目录
~mage 用户mage家目录
~+ 当前工作目录
~- 前一个工作目录
[0-9] 匹配数字范围
[a-z]:字母
[A-Z]:字母
[zhang] 匹配z,h,a,n,g的任何的一个字符
[^zhang] 匹配除了z,h,a,n,g除外的一个字符
[:digit:]:任意数字,相当于0-9
[:lower:]:任意小写字母
[:upper:]: 任意大写字母
[:alpha:]: 任意大小写字母
[:alnum:]:任意数字或字母
```
练习:
1、显示/data目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录
```
[root@localhost data]# ls 1*[0-9]*[[:lower:]]
1xi2aoxiao
[root@localhost data]#
```
2、显示/data目录下以任意一位数字开头,且以非数字结尾的文件或目录
```
[root@localhost data]# ls [^[:alpha:]]*[^0-9]
1xi2aoxiao  1zhangxx    2zhangxiao  3zhangxiao  9xi2aoxiao
1zhangxiao  2xi2aoxiao  2zhangxx    3zhangxx
[root@localhost data]#
```
3、显示/data/目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录
```
[root@localhost data]# ls [^[:alpha:]][[:alpha:]]*
1xi2aoxiao  1zhangxx    2zhangxiao  3zhangxiao  9xi2aoxiao
1zhangxiao  2xi2aoxiao  2zhangxx    3zhangxx
[root@localhost data]#
```
4、显示/data/目录下所有以rc开头,并后面是0-6之间的数字,其它为任意字符的文件或目录
```
[root@localhost data]# ls rc[0-6]*
rc2xiaoxiao  rc4xiaoxiao
[root@localhost data]#
```
5、显示/data目录下,所有以.d结尾的文件或目录
```
[root@localhost data]# ls *.d
xiao1.d  zhangxiao.d
[root@localhost data]#
```
6、显示/data目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录
```
[root@localhost data]# ls [m,n,r,p]*.conf
mab.conf:
nab.conf:
[root@localhost data]#

 


本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标系统运维之Linux!


本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程