查看目录(ls、pwd)
> ls // list 文件当前目录下文件信息
> ls -a // all 文件当前目录下全部(包括隐藏)文件信息
> ls -l 或 ll // 以详细列表形式查看文件内容
> ls -al // 文件当前目录下全部(包括隐藏)文件信息以详细列表形式显示
> ls 目录 //查看目录下边有什么文件信息
> ls -al 目录 //输出指定目录下的全部文件信息,以详细列表形式输出
> pwd //查看当前用户所在的位置
目录切换(cd)
> cd 目录名称 //切换到指定目录
> cd .. //切换到上级目录
> cd 回车 //切换到当前用户所在目录
> cd ~ //切换到当前用户所在目录
> cd / //切换到系统根目录
目录创建(mkdir)
# 创建目录
mkdir 目录名
# 创建多级目录(目录都不存在)
mkdir -p 目录1/目录2
# 创建多级目录(存在上级目录)
mkdir 存在的目录/目录
目录移动(mv)
# mv 要移动的文件或目录 目标目录
mv a b # 将目录a 移动到 b目录中
mv p.txt b # 将文件p.txt 移动到b目录中
目录复制(cp)
cp -R 要复制的目录 复制后的目录
cp -R xx yy # 将xx目录复制一份 命名为yy
目录/文件重命名(mv)
mv 旧名 新名
目录/文件删除(rmdir、rm)
rmdir 目录 # 删除 一个空目录
rm -r 目录 # 删除目录及以下文件和目录
rm -rf 目录 # 强制删除目录及以下文件和目录
新建文件(touch、echo)
touch 文件名 # 创建空白文件
echo 内容 > 文件名 # 将内容添加到文件中,如果文件不存在,创建,如果文件有内容,覆盖
echo 内容 >> 文件名 #追加内容
链接文件/目录(ln)
ln 源文件/目录 目标文件/目录 # 建立连接
ln -s 源文件/目录 目标文件/目录 # 软链接建立
文件搜素(grep)
grep 要搜索的文字 搜索的文件 # 在指定文件中查找包含指定内容的行
文件查看(cat、more、less、head、tail、wc)
cat
# 查看文件的所有内容
cat 文件名
more
# 查看文件内容
# 用于文件内容较多的时候
# 按回车会 逐行进行向下查看
# 按q 进行退出
more 文件名称
less
# 查看文件的内容
# 用于文件内容较多的时候
# 用 ‘上下左右’方向键进行查看
# 按q 进行退出
less 文件名
head
head -n 文件名 # 用于查看文件的前n行
head -5 file.txt 查看file.txt文件前5行
tail
tail -n 文件名称 # 用于查看文件的后n行
tail -5 file.txt #查看file.txt文件后5行
tail -f file.txt # 循环滚动读取文件并动态显示在屏幕上,根据文件属性追踪
tai -F file.txt # 循环滚动读取文件并动态显示在屏幕上,根据文件属性追踪
wc
# 计算文件
wc 文件名
wc file.txt
14 20 53 file.txt
14:表示文件中有14行
20:表示有20个单词(空格区分)
53:表示有53个字符
wc -m file.txt # 字符数统计
wc -w file.txt # 字数统计
文件查找(Find)
语法:
find path -option [ -print ] [ -exec -ok command ]
参数:
- -mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件
- -amin n : 在过去 n 分钟内被读取过
- -anewer file : 比文件 file 更晚被读取过的文件
- -atime n : 在过去n天内被读取过的文件
- -cmin n : 在过去 n 分钟内被修改过
- -cnewer file :比文件 file 更新的文件
- -ctime n : 在过去n天内被修改过的文件
- -empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name
- -ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写
- -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
- -size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。
- -type c : 文件类型是 c 的文件。
将当前目录及其子目录下所有文件后缀为 .c 的文件列出来:
# find . -name "*.c"
将目前目录其其下子目录中所有一般文件列出
# find . -type f
查找指定时间范围内的文件
例如查找 2021-01-01 到 2021-06-01 之间的 nginx log文件
[root@localhost /]# find /data/wwwlogs/ -name '*nginx*.log' -newermt '2021-01-01' ! -newermt '2021-06-01'
/data/wwwlogs/www.backend.com_nginx.log
/data/wwwlogs/access_nginx.log
/data/wwwlogs/error_nginx.log
/data/wwwlogs/www.frontend.com_nginx.log
找出 3 天”以前”被改动过的文件
find /file_path -mtime +3 -type f -print
找出 3 天內被改动过的文件
find /file_path -mtime -3 -type f -print
找出前第 3 天被改动过的文件
find /file_path -mtime 3 -type f -print
找出第 3 天被改动过的文件
find /file_path -mtime +2 -mtime -4 -type f -print
将当前目录及其子目录下所有最近 20 天内更新过的文件列出:
# find . -ctime -20
查找 /var/log 目录中更改时间在 7 日以前的普通文件,并在删除之前询问它们:
# find /var/log -type f -mtime +7 -ok rm {} \;
查找当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件:
# find . -type f -perm 644 -exec ls -l {} \;
查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径:
# find / -type f -size 0 -exec ls -l {} \;
查找大文件
查找当前目录大于800M的文件
find . -type f -size +800M
查找当前目录大于800M的文件,并显示详细信息
find . -type f -size +800M -print0 | xargs -0 ls -l
查找当前文件大于800M的文件,并显示文件大小
find . -type f -size +800M -print0 | xargs -0 du -h
查找当前文件大于800M的文件,并显示文件大小,按照大小排序
find . -type f -size +800M -print0 | xargs -0 du -h | sort -nr
查找当前文件大于800M的文件,并显示文件大小(按照MB显示),按照大小排序
find . -type f -size +800M -print0 | xargs -0 du -hm | sort -nr
网友评论