文件操作
文件操作
1、文件权限
在Linux系统中,每一个文件都是自己的操作权限,常用操作权限:
权限:644 = (r+w)(r)(r)
权限:755 = (r+w+x)(r+x)(r+x)
权限:777 = (r+w+x)(r+w+x)(r+w+x)
一般情况下,每一个文件的权限都有3位数字
第1列:文件拥有者权限
第2列:组内用户权限
第3列:组外用户权限
在这3位数字中,每一个数字都可以由三个数字组成:
r :可读权限(权重值:4)
w :可写权限(权重值:2)
x :可执行权限(权重值:1)
2、与文件相关指令
ls [参数] [路径或文件名] :查看文件信息
-l :list缩写,等价于ll,代表以列表形式显示文件信息
-a :all缩写,显示所有文件信息,也包括隐藏文件
第1列:文件权限
文件权限一共有10列:
第1列代表文件类型,可以是-(普通文件)、d(文件夹)、l(软链接-快捷方式)
第234列代表文件拥有者权限,r(4)+w(2) = 6
第567列代表组内用户权限,r(4) = 4
第8910列代表组外用户权限,r(4) = 4
所以我们通过分析可知,install.log文件的权限为644
第2列:文件节点数
第3列:文件拥有者
第4列:文件所属组
第5列:文件大小
第6列:文件的修改时间
第7列:文件名称
3、目录管理
1)mkdir 目录名 :创建目录
-p :递归创建目录
-m :创建目录时指定目录权限
2)rmdir 目录名 :删除目录
-p :递归删除目录(慎用)
4、文件管理
1)touch 文件名 :创建文件但不打开
2)rm 文件名 :删除文件
-r :递归删除(重要,可以删除文件或文件夹)
-f :关闭删除确认(直接删除)
5、复制与剪切操作
1)cp [参数] <源文件路径> <目标文件路径> :复制文件或文件夹
-R :递归复制
-p :复制时保持文件的原有属性
-v :显示复制进度
2)mv [参数] [源文件或目录] <目标文件或目录> :剪切或重命名文件
-v :剪切文件时显示进度
① 剪切功能
② 重命名文件
6、wc文件统计
wc [参数] <文件列表> :文件统计
-c :统计多少个字符
-l :统计多少行(重点)
-w :统计多少个单词
7、grep搜索匹配行(重点)
grep [参数] <'字符串'> <源文件>
-n :搜索匹配行号
-c :统计所有匹配行
-i :搜索匹配行时忽略大小写
在实际项目应用中,搜索匹配行常与管道命令|结合在一起使用,如下图所示:
8、显示文件内容
- cat :正序显示文件内容
- tac :倒序显示文件内容
- tail :显示文件的最后n行代码 tail -10 文件名称
例1:cat与tac使用
例2:tail方法使用
9、文件权限
1)chmod :更改文件权限(如644、755、777)
-R :递归修改
2)chown :更改文件拥有者(如root、自定义用户)
-R :递归修改
3)chgrp :更改文件所属组(如root、自定义组)
-R :递归修改
10、链接文件
在Windows中,软件都可以拥有自己的快捷方式,我们通过点击快捷方式可以实现启动软件的功能。这一点,在Linux操作系统中,可以通过软硬链接来实现。
创建链接文件的基本语法:
ln [参数] <源文件或目录> <目标文件或目录> :创建链接文件(快捷方式)
-s :创建软链接文件(类似上午的grub.conf文件)
-d :创建硬链接文件(了解)
特别说明:创建软链接文件时,其源文件与目标文件路径必须使用全路径(从根路径开始以一级一级向下)
① 软链接文件
② 硬链接文件(了解)
Linux软链接文件详解:
在Windows操作系统中,我们对软链接(快捷方式)的操作对源文件没有任何影响,但是Linux中的软链接文件操作会影响源文件:
1)在软链接文件中的操作都会影响源文件,如删除代码
2)删除源文件,则软链接就成了死链接