文件属性解释
drwxr-xr-x 3 root root 16 7月 21 12:03 aa
d是目录 rwxr-xr-x 权限(三个一组) 3 连接数为3
root 这个文件属于root root这个文件属于root组
16 7月 21 12:03 文件最后一次修改的时间 aa文件名
ls
ls -l 长格式显示 ,文件属性比较详细 ls -l 等于 ll
ls -a 显示所有文件 包括 隐藏文件 且 包括 . ..
ls -A 显示所有文件 包括 隐藏文件不包括 . ..
ls -d 只显示当前目录的属性
ls -h 人性化显示(加了文件大小的单位)
ls -R 递归显示
ls -S 以文件容量大小排序
ls -i 显示indoe号
(ls不单独使用,单独使用会显示文件夹下所有文件)
通配符
? 任意单个字符
* 任意长度的任意字符
{1..10} 1到10 10个数 {1..100} {a..z}
例:
x* 以x开头的文件
*.conf 以.conf为结尾的文件
(ls可配合通配符过滤需要的文件)
alias 别名
可以将复杂的命令简单化
模式:alias 自行定义的命令='常用的复杂命令'
单独使用alias会显示所有的别名命令
别名>内部>hash>外部
删除别名:unalias
du (disk use)
查看文件或目录 占用磁盘的空间大小
-a 分开显示每个文件的大小
-s 显示当前文件夹的 总大小
(a和s不能同时使用)
面试题:
统计 /etc 目录 下 第一层文件夹占用多少磁盘空间?
du -d 1 目录
-d 代表目录层数
1 代表目录层数的第一层
#du /etc/ -d 1
mkdir 创建空文件夹
-p 递归创建文件夹
-v 显示详细过程
touch 创建文件
如果当前文件夹下没有同名的文件
touch 文件名 #创建文件
如果没有同名的文件 :刷新修改此文件的时间
软连接硬连接
创建软连接
Ln -s 源文件(夹)路径 目标文件夹路径
(一定要使用绝对路径)
创建硬连接
Ln 源文件(夹)路径 目标文件夹路径
cp 复制
cp 要复制的文件 要放置复制文件的位置/可以重命名
-f 有相同文件时强制覆盖不提醒
-i 有相同文件时覆盖提醒
-p 保留文件的源权限
-r 递归处理,将指定目录下的文件与子目录一并处理
-a 保留权限 更强大 包括连接文件的属性也可以保留
mv 移动&改名
格式:
mv 文件1 文件2 #将源文件名(文件1)改为目标文件名(文件2)
mv 文件 目录 #将文件移动到目标目录中
which 找命令的位置
which 文件
例: which bash #查看bash的绝对路径
面试题:
我磁盘空间满了,我删除了一个 5G 的文件 但是空间没有增加5G ,怎么处理?
1. 有别人 占用了这个文件
2.杀掉打开这个文件的进程
find 查找文件
优点:
1.默认递归查询
2.它是真的去硬盘上一个一个文件给你找(实时)
3.查找条件巨多
4.精确查找
缺点:慢
基本格式:find 查找范围 查找条件表达式
(如果不写范围代表默认当前目录)
表达式 :
一.按查找文件名字查找
-name 文件名称
二.按文件大小查找文件 -size k M G
#查找boot目录下大于1024k的文件
(文件大小不加加减号是一定的范围,单位越精确越好)
范围公式:
前面的数字 减去1
1024 -1 1023k 到 1024k
1-1 1字节 到 1M
三.按文件属主查找 属主:文件的拥有者 -user
#找到boot目录下属于mzs用户的文件
四.按文件类型查找 -type f (普通文件) d(目录) c(字符文件) b(块设备)
#找到boot下的普通文件
五.按照 indoe号查找 -inum 要先知道indoe号
[root@localhost data]#ls -i
9243885 1.txt 9243846 bigfile 9243860 zwz.txt
[root@localhost data]#find -inum 9243885
./1.txt
六.按照目录层级查找文件 -maxdepth level -mindepth level
#只看boot第二层
七.天数查找文件 -mtime
[root@localhost data]#find /boot/ -mtime +7 -type f -size +1M -delete
#找到 7天以上 且文件类型为普通文件 且大于1M的文件 并且 加上处理动作 删除
八.处理动作
默认是:
- print 输出屏幕让你看一下
- ls 显示详细信息
- delete 直接删除
- ok 连接符 会询问
- exec 连接符 不会询问
find -name "*.txt" -ok mv {} /mnt \;
找到名字以txt结尾的文件
-ok 处理动作 连接 前面后面的命令 会询问你要不要这样处理
mv {} 代指前面 find找到的文件 /mnt 移动到的目录 \;固定格式
不删除,移动文件
find -name '*.txt' -ok mv {} /mnt \;
会询问
find -name '*.txt' -exec mv {} /mnt \;
不会询问