导图社区 linux文件操作
linux文件操作的思维导图,文件(File)是一个具有符号名字的一组相关联元素的有序序列。文件可以包含的内容十分广泛,操作系统和用户都可以将具有一定独立功能的一个程序模块、一组数据或一组文字命名为一个文件。文件名:这个数据有序序列集合(文件)的名称。
编辑于2023-09-26 10:56:44 四川省linux文件操作
1.认识linux文件
1.文件的概念
文件(File)是一个具有符号名字的一组相关联元素的有序序列。文件可以包含的内容十分广泛,操作系统和用户都可以将具有一定独立功能的一个程序模块、一组数据或一组文字命名为一个文件。文件名:这个数据有序序列集合(文件)的名称
2.文件的类型
1.普通文件:是linux系统中最常见的文件类型,包括可读写的纯文本文件,二进制文件。文件详细列表中最左边以为为“_" eg:ls -l | grep^"-"
2.目录文件:就是windows中的wen'ji文件夹,它是一个容器。文件纤细列表中最左边的一位为“d” eg:ls -l | grep^"d"
3.链接文件:是基于一个文件在硬盘中存放位置的一个指针,有硬连接和软连接两种。文件详细列表最左边的一位为“l” eg:ls -l | grep^"|"
4.字符设备文件:是以字符流方式进行操作的接口设备,如键盘、鼠标等》文件详细列表中最左边一位是“c”表示字符设备文件 eg:ls -l | grep^"c"
5.块设备文件:是以数据块为单位进行随机访问的设备接口,如硬盘设备。文件详细列表中最左边一位为“b”表示快设备文件 eg:ls -l | grep^"b"
6.套接字文件:用于网络数据连接。文件详细列表最左边一位为“s”表示套接文件eg: find / type p -exec ls-l{}\
7.管道文件:是建立在文件内存中同时被两个进程读写的文件。文件详细列表中最左边一位为“p”表示管道文件 eg: find / type s -exec ls-l{}\
2.创建文件
1.touch命令创建文件: touch [选项] [文件]
-a:仅修改“读取时间”(atime)
-m:仅修改“修改时间”(mtime)
-d:同时修改atime和mtime
2.echo命令显示文件:echo [选项] [参数]
-e:激活转义字符
3.stat命令查看文件信息:stat [选项] [参数]
-File:显示文件名
-Size:显示文件大小
-Blocks:文件使用的数据块总数
-IO block:IO大小
-regular file:文件类型(常规文件)
-Device:设备编号
-lnode:lndoe号
-Links:链接数
-Access:文件的权限
-Gid、Uid:文件所有权的Gid、Uid
4.ln命令创建链接wen文件
3.文件的基本操作
1.cp复制文件:cp [选项] 源文件 目标文件
-a:尽可能将文件状态、权限等属性按照原状予以复制
-f:如果目标文件或目录存在,则先删除它们再进行复制(覆盖),并且不提示用户
-i:如果目标文件或目录存在,则提示是否覆盖已有文件
-R:递归复制目录,即包含目录下的各级子目录
-p:保留原始文件的属性
-d:若对象为“链接文件”,则保留该“链接文件”的属性
2.mv命令删除文件:mv [选项] 文件
-i:如果目标文件或目录存在,则提示是否覆盖目标文件或目录
-f:无论目标文件或目录是否存在,均直接覆盖目标文件或目录,不再提示
-r:删除文件或目录时给出提示
3.rm命令删除文件:rm [选项] 文件
-i:删除文件或目录时提示用户
-f:删除文件或目录时不提示用户
-R:递归删除目录,即包含目录下的文件和各级子目录主题
4.zip/unzip压缩、解压文件:zip\unzip [选项] 参数
5.tar文件打包:tar [选项] 参数
-c: create创建文件
-x(extract ['ekstrækt]): 提取解压还原文件
-v (verbose): 显示执行详细过程
-f (file):指定备份文件
-t (list): 列出压缩包中包括哪些文件,不解包,查看包中的内容
-C(大写) (directory) :指定解压位置
-z(zip):采用 zip压缩打包文件
4.文件内容的查找
1.cat命令查看短文件的内容:cat [选项] 文件
-b:对输出内容中的非空行标注行号
-n:对输出内容中的所有行标注行号
2.more命令分页显示文件内容:more [选项] 文件名
-num:这里的num是一个数字,用来指定分页显示时每页的行数(按住q退出)
+num:指定从文件的第num行开始显示
3.less命令显示查找文件内容:less [选项] [参数]
4.head命令查看文件头部内容:head [选项] [文件名]
-n num:显示指定文件内容的前num行
-c num:显示指定文件内容的前num个字符
5.tail命令查看文件尾部内容:tail [选项] [文件名]
-n num:显示指定文件内容的末尾num行
-c num:显示指定文件内容的末尾num个字符
-n +num:从第num行开始显示指定文件的内容
6.grep命令查看文件内容:grep [选项] [文件名] 注意:在grep命令中,字符“^“表示行开始,字符”$“表示行的结尾
-v:列出不匹配的行
-c:对匹配的行计数
-l:只显示包含匹配模式的文件名
-h:抑制包含匹配模式的文件名的显示
-n:每个匹配行只按照相对的行号显示
-i:对匹配模式不区分大小写
5.查找文件
1.find命令查找满足条件文件:find [路径] [匹配表达式]
-name filename:查找指定名称的文件
-user username:查找属于指定用户的文件
-group grpname:查找属于指定组的文件
-print: 显示查找结果
-size n: 查找大小为n块的文件,一块为512B。符号“+n”表示查找大小大于n块的文件;符号“-n”表示查找大小小于 n块的文件;符号“ nC”表示查找大小为 n个字符的文件
-inum n: 查找索引节点号为n的文件
-type: 查找指定类型的文件
-atime n: 查找 n天前被访问过的文件。“+n”表示查找超过 n天前被访问的文件;“-n”表示查找未超过 n天前被访问的文件
-mtime n: 类似于 atime,但检查的是文件内容被修改的时间
-ctime n: 类似于 atime, 但检查的是文件索引节点被改变的时间
-perm mode: 查找与给定权限匹配的文件,必须以八进制的形式给出访问权限
-new er file: 查找比指定文件更新的文件, 即最后修改时间离现在较近
-exec command {}\;: 对匹配指定条件的文件执行 command命令
-ok command {}\;: 与exec相同,但执行 command命令时请求用户确认
2.which:which [选项] 文件名称
-n:指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名
-p:与-n参数相同,但此处的包括了文件的路径
-w:指定输出时栏位的宽度
3.locate:locate [选项] [参数]
-c:查询指定文件的数目
-e:只显示当前存在的文件条目
-h:显示"locate"命令的帮助信息
-i:查找时忽略大小写区别
-n:最大显示条数" 至多显示"最大显示条数"条查询到的内容
-r:使用正则运算式做寻找的条件
4.whereis:
-b:只查找二进制文件
-B<目录>: 在指定的目录下查找二进制文件
-m:只查找说明文件
-s:只查找原始代码文件
whatis命令:whatis 命令名称:用于获取命令简介
6.切割文件替换
1.split:split [选项][要切割的文件][输出文件名] 注意:只能切割文本文件或二进制文件
-I<行数>:指定每多少行切成一个小文件
-b<字节>:指定每多少字节切成一个小文件(每 6行单位切割生成多个以a为前缀的文件)
2.cut:cut[选项][参数]
-b:以字节为单位进行分割-c:以字符为单位进行分割
-d:自定义分隔符,默认为制表符
-f:与-d一起使用,指定显示哪个区域
3.tr:tr[选项]…SET1[SET2]
-d: 删除匹配 SET1 的内容, 并不作替换
-s:压缩相同字符为一个字符
7.文件排序及统计
1.sort:sort[选项][参数]
-u:删除排序后相同的行
-r: 降序排序
o:将排序后的信息写到原文件中
-n:排序的依据以数字进行排序
-t:指定分隔符
-k:指定排序的字段数
2.uniq:uniq[-icu]
-i:忽略大小写字符的不同
-c:进行计数
-u : 只显示唯一的行
3.wc:wc[选项][参数]