常见的文件相关命令--文件创建、查找、编辑等操作 Linux基础命令3

目录
查看/搜索目录下的文件
ls
tree
find
查找命令对应的文件
which
查看文件的相关属性
file
du
stat
查看文件的内容
cat
more
less
head
tail
统计/提取文件信息
grep
wc
cut
编辑文件内容
tr
uniq
diff
sort
创建/删除文件与目录
touch
mkdir
rm
rmdir
文件与目录的复制粘贴
dd
cp
mv
文件与目录的解压缩
tar
zip
rar
其它文件与目录相关命令
pwd 显示当前工作目录
cd 切换工作目录
wget
查看/搜索目录下的文件 ls
ls 【参数】 【文件或目录】————查看目录下的内容(list)
ls -a查看当前目录下所有的文件(包含.隐藏文件)
ls -l通过长格式显示文件(显示文件的权限、所有者、大小等信息)
ls -d 目录名称通过长格式显示此目录的信息(不显示其下的各个文件)
ls -l 文件名通过长格式显示此文件的信息
ls -h人性化显示文件大小(一般与l一起使用)
-A:显示指定目录下所有的子目录及文件,包括隐藏文件
-c:按文件的修改时间排序
-C:分成多列显示各行
参数讲解
d 表示文件类型
rwx------表示文件权限 Linux 文件权限讲解_静下心来敲木鱼的博客-CSDN博客
%257B%%%2522%253A%%2522%252C%%2522%253A%..pc%.%2522%257D&=68&=0&=..none-task-blog-2~blog~~-13--null-null.&=ls&spm=1018.2226.3001.4450
.代表文件访问控制列表(.表示没有配置,+表示配置了文件访问控制列表)
1代表inode数量
root文件所有者
root文件所属组
1383文件的实际大小(并非文件的占用大小)
Feb 5 18:15文件的修改时间
Music 文件名
tree
tree 【目录】————查看目录结构(查看目录下的子目录)
tree查看当前目录结构
tree 目录 查看此目录结构
find
find 目标目录【参数】 【名称1】————在目标目录下搜索文件名为名称1的文件
find搜索有点慢
find也可以使用正则表达式作为条件搜索对应文件
参数
-exec把find命令搜索到的结果交由紧随其后的命令做进一步处理
-ok与exec类似,只是在之后后续的命令时会提醒一次,更加安全
-perm 匹配权限
-group 匹配所有组
-size匹配文件的大小(+100kb为超过100kb的文件,-为小于100kb的照片)
-没有所有者的文件
-没有所属组的文件
-o逻辑或
-a逻辑与
-uid指定所有者
| xargs tar cvzf可以将查询的结果压缩
-type 按照文件类型来查看
f:普通文件
d:目录文件
l:符号链接文件

常见的文件相关命令--文件创建、查找、编辑等操作  Linux基础命令3

文章插图
s:套接字文件
b:块设备文件
c:字符设备文件
p:管道文件
例子
find /etc -name fstab在/etc目录搜索文件名为fstab的文件
find / -user admin 全盘搜索归于admin用户的文件
find / -name fstab -exec cp -rf {} . \; 将搜索结果复制到当前目录下
find /opt -type f - -ok rm{} \;查找/opt目录下有无属主的文件,如果有直接删除
注意:\转义符 将后面的变量转为单纯的字符
{}是find到的每一个文件,找到一个文件,运行一次命令,找到几个文件就运行几次命令
find /etc -type f \( - -o - \)查看/etc目录下没有属主或属组的文件
find /etc -type f -perm -2777 \( -size +20k -size -50k \)查看/etc目录下具有2777权限的文件,并且文件大小大于20k,小于50k
find / -type d -name fstab 全盘搜索名字为fstab的目录文件
按照文件的时间戳来查找文件
以天为单位
-atime n 依据访问时间来查找文件
-mtime依据修改时间来查找文件
-ctime依据更改时间来查找文件
以分钟为单位
-amin
-mmin
-cmin
find -atime 1
find -atime +1
按照文件的权限来查找文件
find -perm 220匹配所有者和所有组只有写权限,其他用户没有权限的文件(只匹配220)
find -perm -220匹配所有者和组都包含写权限的文件(会匹配220、777等,不会匹配200、020)
find -perm /220匹配所有者包含写权限或组包含写权限的文件(会匹配200、020、220、777等)
名字————在库文件中快速检索存在该名称的文件名的路径
该搜索是在库文件中搜索(库文件通过命令生成,第一次使用命令时需要执行生成索引数据库);库文件名称:/var/lib//.db
fstab 快速搜索fstab文件
find搜索是需要严格匹配fstab,搜索是只要有关键词fstab就匹配
查找命令对应的文件
【参数】 命令名————搜索命令所在路径及帮助文档所在位置
-b 只查找可执行文件
-m 之查找帮助文件
也是基于命令所生成的索引库文件进行搜索,相比于更快;与不同的是,能快速找到命令本身以及命令所对应的资料(命令手册等)的位置
top 查找topt命令对应的命令本身的位置以及命令所对应资料的位置
which
which 命令名————搜索命令所在的路径和别名
不太关心是否有帮助文档
which top 查找top命令对应的命令本身的位置和别名(没有别名则不显示)
查看文件的相关属性 file
file 【参数】 文件名————查看文件类型(不要通过颜色区分)
-b 只显示文件类型,不显示文件名称
-c 显示文件名称时不显示文件类型
-s 显示文件的简要信息
-z 不转换压缩文件的格式
-L 支持符号连接
文件类型
普通文件( files):存储数据信息,细分为二进制文件(可执行程序、图像等)和文本文件(使用ASCII或等字符编码)
目录文件():存放文件和其它目录的一种特殊文件
符号链接文件(Links):类似于的快捷方式
套接字文件():与网络通信相关的文件类型
设备文件( files):将I/O设备视为特殊文件,不同的设别对应不同的名称(例如sda、eth0等);分为块设备和字符设备两种
管道文件(FIFOs):用于进程间通信的特殊文件
du
du 【参数】 【文件或目录】————查看当前指定文件或目录(会递归显示子目录)占用磁盘空间大小
-h 以容易阅读的方式显示(KB为单位)
-m 以MB为单位输出
-s 显示目录下所有文件总的占用大小
du -h --max-depth=1只显示第一级目录下所使用的硬盘空间数
stat
stat 文件———— 查看文件的存储细节和时间等信息()
stat Music/ 查看目录Music的时间信息
: 最后一次查看文件内容的时间(访问时间)
:最后一次修改文件属性的时间(更换时间)
:最后一次修改文件内容的时间(修改时间)
ls -l 查看文件显示出来的时间指的是最后修改的时间
修改文件内容后,为什么c和m的时间有时候会一起更改?
因为修改文件内容后,不仅文件内容改变了,文件的大小也可能会改变
查看文件的内容 cat
cat 【参数】 文件名————查看内容较少的纯文本文件()
-b 对输出内容中的非空行标注行号
-n 对输出内容中的所有行标注行号
more
more 文件名————查看内容较多的纯文本文件(一页一页分屏显示文件的内容)
常用的操作命令
Enter向下n行;默认1行
空格键向下滚动一屏
常见的文件相关命令--文件创建、查找、编辑等操作  Linux基础命令3

文章插图
ctrl+b/b返回上一屏
q中途退出more;当浏览到最后一行时会自动退出
-num这里的num是一个数字,用来指定分页显示时每页的行数 。
+num指定从文件的第num行开始显示
浏览到最后一页会自动退出
less
less 文件————查看内容较多的纯文本文件,并且具有搜索功能
man命令就是通过调用less来查看帮助文档的,所以less和man的操作都是一致的
常用操作命令
Enter向下移动一行
y向上移动一行
空格键向下滚动一屏
b向上滚动一屏
?向上搜索“字符串”的功能
/向下搜索“字符串”的功能
n 查找下一个搜索的内容
浏览到最后一也不会自动退出,需要输入q来退出
head
head 【参数】 文件名————用于查看文件的前N行
-n num:查看文件的前num行
-c num:显示指定文件的前num个字符
head -n 10 文件名 查看文件的前10行(默认前10行)
tail
tail 【参数】 文件名————查看文件的后N行或刷新文件的最新内容
-n num查看文件的末尾num行
-c num显示指定文件的末尾num个字符
-f 表示持续侦测文件按内容,ctrl+c结束侦测
+num从第num行开始显示指定文件的内容
tail -n 10 文件名查看文件的后10行
tail -f /var/log/持续刷新日志文件并显示出来
统计/提取文件信息 grep
grep 【参数】 字符串 文件名———— 按照行做文件的信息提取;显示出文件中所有带字符串的行
-n 显示行数
-v 反向选择(列出没有匹配的行)
-i 忽略大小写
-A n显示匹配到的字符所在的行及其后n行
-B n显示匹配到的字符所在的行及其前n行
-C n 显示匹配到的字符所在的行及其前后n行
-r递归搜索目录
-c对匹配的行计数
-l只显示包含匹配模式的文件名
-h抑制包含匹配模式的文件名的显示
grep -rnl "" /var/log 在该目录下查找包含admin内容的文件有哪些
wc
wc 【参数】 文件————对文件做统计工作(word );统计文本文件的行数、字数、字节数等
-l 只显示行数
-w 显示单词数
-c 显示字节数
wc - l /etc/ 显示文件的行数--显示当前系统中有多少个用户(有多少行就有多少个用户)
cut
cut 【参数】文件————按照列做文件的信息提取
-d 间隔符
-f 第几列的信息
cut -d : -f 1 /etc/ 以:为间隔符,显示第一列的信息,提取/etc/文件中用户的名字分别是什么
编辑文件内容 tr
替换文本内容中的字符()
tr命令没有能力去读取一个文件,所以我们可以使用cat命令结合管道符将文本内容传递给tr命令进行操作
cat 文件名 | tr [a-z] [A-Z] 将文件中的小写字符都替换为大写字符
|将前面字符的输出结果当作后面字符的输入
执行此命令之后文件的内容不会改变,因为没有执行写入的操作
uniq
uniq 文件名————去除文本中连续的重复行()
只会去除相邻的重复行,不相邻的重复行不会去除
也可以通过排序命令进行先进行排序,然后在通过此uniq进行去重处理
执行此命令之后文件的内容不会改变,因为没有执行写入的操作
diff
diff 【参数】 【文件1】 【文件2】————用来对文件做比较()
--brief 比较文件a和b是否相同
-c将两文件不同的信息显示出来(哪行前有符号就表示不同)
sort
sort 【参数】 文件————对文本内容进行排序(默认按照首字母排序)
-n 按照数值型排序
-u 去除重复行(uniq是去除连续的相同行,sort -u是只要有相同的行就会去除)
-t 指定间隔符
-k 设置字段范围
sort -t : -k 3 -n 文件 文件以:作为分割符分为多段,通过第三段的内容按照数值型排序
sort 文件名 | uniq 对文件排序并去重
执行此命令之后文件的内容不会改变,因为没有执行写入的操作
创建/删除文件与目录 touch
touch 【参数】 文件————创建空白文件(一般文件、文本文件、配置文件),设置文件时间(无法修改文件的更改时间)等
-a 修改 读取时间 atime
-m 修改 修改时间 mtime
-d 同时修改atime和mtime时间
【常见的文件相关命令--文件创建、查找、编辑等操作Linux基础命令3】touch 文件名创建文件