Linux-文件属性及查找

1,文件属性

1,文件类型

文件类型:第一个字母表示含义
-:普通文件
d:目录
l:表示软链接文件
b:设备文件

2,文件权限

1)、补充:属主、属组、其他用户概念
linux权限机制采用UGO模式
u(user,属主,或叫所属用户,所有者,拥有者)
g(group,属组,或叫所属组,所在组)
o(other,其他用户,即除了属主、属组)

在linux中的每个用户必须属于一个或者多个组,不能独立于组外。
在linux中每个文件有属主、属组、其他用户的概念
(1)属主:一般为文件的创建者,就是该文件的属主
(2)属组:当某个用户创建了一个文件后,该用户的基本组,就是文件的属组
(3)其他用户:除了属主、属组,就是文件的其它用户

验证步骤
在root账号下,把jack基本组改成g1(usermod -g g1 jack)
切换账号jack(su - jack)
在jack的家目录中,新建文件(touch testing)
在命令行ll查看文件,结果文件的属主是jack,属组是g1

2)、权限表示

三种身份:user属主、group属组、others其他用户
每个身份都有的权限:读、写、可执行
所以,文件的基本权限就有9个,每3个一组

这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]

3)修改文件权限
chmod(英文单词change mode的缩写):更改文件9个属性

(1)、格式:chmod [–选项] 模式 目录或文件名
选项:
-R:连同目录下所有文件及子目录都进行变更

(2)、两种设置方法:字母+符号、数字
1)字母+符号
在这里插入图片描述

将文件权限设置为 rwxr-xr–
chmod u=rwx,g=rx,o=r 文件名或文件夹名

-----以下使用+ -
将所有人的可执行权限去掉,不改变其它已经存在的权限
chmod a-x 文件名或文件夹名(a可以省略)
去除属主执行的权限,增加属组写的权限
chmod u-x,g+w 文件名或文件夹名
给所有用户添加读的权限
chmod a+r 文件名或文件夹名
对于目录test以及test下的所有文件增加执行权限(前提:文件夹test中有文件a)
chmod -R a+x test

2)数字(常用)
每种身份(user/group/others)各自权限分数累加

假设权限为: rwxr-xr–
分数为:
在这里插入图片描述

示例
将权限设置为754,相当于 rwxr-xr–
chmod 754 文件或文件夹

3,链接数

新文件一般都为1,建立硬链接后此数会增加
如果是目录,则指目录中包含的子目录数,空目录为2,因为空目录中至少包含“.”和“…”目录

4,chown改变属主和属组必须使用root账号

chown(英文单词change own的缩写)
更改文件或目录的属主,也可以同时更改文件属组

选项:
-R:连同目录下所有文件及子目录都进行变更

语法:
chown 属主名 目录或文件名
chown 属主名:属组名 目录或文件名

示例(必须使用root账号)
改变属主
chown u1 testing
改变数组
chown :g1 testing
两个一起改
chown u1:g1 testing

2,命令:查找

1,查找文件内容中的关键字

1)vi,less中查找
vi install.log
/iso
n向下搜索
N向上搜索

less install.log
/iso
n向下搜索
N向上搜索
2)grep(文件里搜索包含关键字的行)
grep [-选项] ‘搜寻字符串’ filename
在grep命令中输入字符串参数时,最好用单引号或双引号括起来
选项:
-i:搜索时忽略大小
-n:显示匹配行及行号
-v:显示不包含匹配文本的所有行
示例
把文件fa中包含linux的行查找出来
grep ‘linux’ fa
把文件fa和fb中包含linux的行都查找出来(多个文件中间加空格)
grep ‘linux’ fa fb
把文件fa中包含linux(忽略大小写)的行都查找出来
grep -i “linux” fa
显示行号
grep -in linux fa
显示不包含匹配文本的所有行
grep -v “linux” fa
查询/root中install.log文件中,包含iso的行
grep ‘ios’ install.log
3)grep增加模糊搜索
在搜索条件中可以使用正则表达式来进行模糊匹配搜索
如果要使用通配符,最好加上-E选项(有时不加也可以,最好加上)
(1)文件名称使用通配符
通配符*:匹配0个到多个字符
查找文件名以f开头的所有文件中,包含linux的行
grep -E linux f*
(2)文件内容中使用通配符
通配符:匹配正则表达式的开始行,m 表示匹配以m开头
匹配以t开头的行
grep -E “^t” fa

通配符|:表示或者
在/etc/passwd查找以jack或root开头的行
grep -E “jack|root” /etc/passwd

2,查找文件目录位置

格式:find [路径] [-选项] 文件名
注意:停止搜索用ctrl+c

常用的四种搜索方式:
1,按照文件或目录名搜索
-name 通过名称来搜索
查找/root中文件名为fa的位置
find /root -name “fa”
查询文件名中以f开头的
find /root -name “f*”
2,按照文件或目录大小搜索
-size大小,+大于、-小于、不加也不减表示等于;单位b(字节),k(默认),M
find /root -size +1b -name “f” -ls
find /root -size -1b -name “f” -ls
3 ,文件或目录所属的用户来搜索
-user 所属用户,用户名
find /home -user jack -ls
4 ,按照类型搜索
-type类型, f普通文件、d目录、l链接
find /root -type d
find /root -type f
find /root -type l

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值