一、通配符
1、定义:
有些符号不表示原来的意思,它代表了一类字符
" * ":代表任意长度的字符,不能显示隐藏文件
" ? ":代表任意一个字符
2、作用:
去匹配文件的名字。
例如:
匹配以p开头的文件 --------------------------- ls p*
匹配以conf结尾的文件 --------------------------- ls *conf
匹配包含conf的文件 --------------------------- ls *conf*
通配符只能匹配文件的名字
正则表达式可以匹配文章中的内容
二、命令
1、alias----------别名
定义:通过别名机制简单化常用的、比较长的命令
格式:alias 自定义命名='原始命令'
图片当中"myvim"是自定义命名,而"vim /etc/sysconfig/network-scripts/ifcfg-ens33"为原始命令。
取消别名:unalias myvim。
注意:
使用alias创建的别名只是临时性的,关机或重启之后就不会生效了。
2、du----------查看磁盘使用量
du 默认递归显示
du是文件所占磁盘空间的大小
格式:du [选项] [文件或目录]
选项 | 说明 |
-a | 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录 |
-s | 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果 |
-h | 只统计所占空间总的(Summary)大小,而不是统计每个子目录,文件的大小 |
[root@localhost ~]#du -sh /var/log
4.6M /var/log
使用命令du -sh 显示/var/log的文件所占空间的大小
-a 和-s不能同时使用
[root@localhost ~]#du -as
du: 不能既显示总用量,同时又显示每个项目
Try 'du --help' for more information.
ll和du的区别:
ll看到的是文件的真实大小
du看到的是文件占自盘的多少块(一块的默认值为4k;如果一个文件不足4k按4k算)
(du看到的文件大小一定是4的倍数)
延伸:如果只想看到前两层的文件夹(前两层:不包含本层 本级的下两层)
du -d 2/etc = du --max-depth=2 /etc
3、mkdir----------建立文件夹
mkdir [选项] 目录位置及名称
mkdir -p 代表一次性创建嵌套的多层目录(递归显示)
[root@localhost opt]#mkdir aa bb cc
[root@localhost opt]#ls
aa bb cc rh
代表一次性建立三个文件夹aa、bb、cc
[root@localhost opt]#mkdir dd
[root@localhost opt]#ls
dd rh
单个创建文件夹dd
[root@localhost opt]#mkdir -p aa/bb/cc
代表倒序建立aa/bb/cc文件夹
[root@localhost opt]#ls
aa rh
查看opt文件夹下(aa为蓝色,代表文件夹)
[root@localhost opt]#ls -R
.:
aa rh
./aa:
bb
./aa/bb:
cc
./aa/bb/cc:
./rh:
倒序查看opt下的文件
4、touch----------建空文件
1.新建空文件 touch 命令 跟着的文件名不存在
2.刷新文件时间 touch 命令 跟着的文件名已存在
touch 文件(如果文件不存在则新建一个大小为0的空文件)
5、ln----------硬链接与软连接
1.硬链接
当用户访问aa时,通过inode号在硬盘中找到aa硬盘中的位置,然后加载到内存中使用,给inode号1234做一个硬连接到B文件夹存为bb,此时aa和bb都可以使用inode号为1234的文件。
文件夹不能做硬连接;硬连接的本质是文件有多少种叫法,再深层次理解为有多少种找到文件的方法;做一个硬连接 inode号不会增加
2.软连接
硬连接语法 ln 源文件 目的位置
软连接语法 ln -s 源文件 目的位置
注意:
源文件要使用绝对路径。
删除软连接文件夹的时候,一定不能加 “ / ”
如下图:
6、cp----------复制
将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录。
格式:cp 源文件或文件夹 目标位置
注意:cp命令执行后,相同设备上的inode号不会相同,但不同设备上可能会一样
- 复制文件夹一定要加 -r
- -a和-p均代表保留属性 但是-a的保留权限更大
7、mv----------移动或改名
格式:mv 源文件 目标位置
源文件和目标文件路径位置一样,是改名
如果源文件和目标文件路径位置不一样,是移动也可以移动并改名
8、rm、shred----------删除
1.rm
格式:rm [选项] 要删除的文件或目录
选项 | 说明 |
---|---|
-f | 强制 |
-i | 交互 |
-r | 递归 |
2.shred
格式:shred [OPTION]... FILE...
安全的删除数据
选项 | 说明 |
---|---|
-z | 最后一次覆盖添加0,以隐藏覆盖操作 |
-v | 能够显示操作进度 |
-u | 覆盖后截断并删除文件 |
-n# | 指定覆盖文件内容的次数(默认是3次) |
9、which、、find、locate----------查找
1.which
查找命令/文件存放目录
搜索范围由环境变量PATH决定(echo $ PATH)
格式:
which 命令/程序名
which -a 命令/程序名
查找外部命令:
which is 查找得更精准
where is 会在固定的5个文件夹中找
2.locate
优点和缺点
优点:快
缺点:1.不够精确,模糊查找;
2.找是系统的数据库文件,不具备实时性;
3.不是去磁盘上真的给你找,而是去数据库找;
- updatedb 不太建议用,因为可能会死机
对于老旧文件查找还是比较好的
3.find
采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找
优点:1.精确查找;2.选项多,查找的功能多
缺点:慢
查找类型 | 关键字 | 说明 |
---|---|---|
按名称查找 | -name | 根据目标文件的名称进行查找,使用通配符 * ? |
按文件大小 | -size | 根据目标文件的大小进行查找, 一般使用“ + ”、“ - ”号设置超过或小于指定的大小作为查找条件 常用的容量单位包括kB(k要小写)、MB、GB |
按文件属性主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件的类型进行查找 文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等 |
各表达式之间使用逻辑运算符:
“ -a ”表示 而且(and)
“ -o ”表示 或者(or)
“ not ”非 或者!
如:
find /boot -size + 1024k -a -name “vmlinuz*”
find /boot -size + 1024k -o -name “vmlinuz*”
find时间命令延伸
找到一个30天以上 以log结尾的普通文件
find / -name "*log" -type f -mtime +30
找到一个30天以上 以log结尾的普通文件并删除
find / -name "*log" -type f -mtime +30 -delete
exec 连接符 连接find命令和下一个命令
{}代表find 找到的内容
\; 固定格式 代表结束
处理动作:
-ls 显示详细信息
-delete 删除
-ok 询问是否要操作
-exec 不询问直接操作
10、empty----------空文件
延伸:硬盘有一个T,无法再建文件,inode号用完了,解决办法删除空文件(find /opt/ -empty )
find /opt/ -empty
11、| ----------管道符
在Linux文件详细信息中,第一个字符为p代表是管道文件
可以将前一个命令的结果 当做最后一个命令的对象执行
如:
ls | wc -l
管道符可以添加多个;将第一个命令的执行结果当做参数传给后一个命令去执行。