Linux常用命令3
二、权限管理命令
概念解析:
-rw-r--r--2 root root 23 5月 1 2024 /etc/issue
权限位是9位
第一个字符代表文件类型:
- 普通文件
d 目录文件
l 链接文件
b 块设备文件
c 字符设备文件 (鼠标、键盘等)
s 套接字 (socket)(TCP 可以让不同主机之间建立连接用的)(Unix 可以让不同进程之间建立通信)
p 管道、
补充:进程之间是隔离的,每个进程只认识自己和内核,通过套接字或管道都可以实现进程之间的通信
之后的9为为权限:
字符表示 | r | w | x | r | w | x | r | w | x |
权限项 | 读 | 写 | 执行 | 读 | 写 | 执行 | 读 | 写 | 执行 |
数字表示 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
权限分配 | 文件所有者(u) | 文件所属组(g) | 其他用户(o)other | ||||||
1.命令名称:chmod (修改文件的权限)
命令格式: chmod u+x 文件
chmod g+w , o+w 文件
chmod u=rwx 文件
chmod 644 文件
2.命令名称:chown(修改文件或目录的所有者、所属组)
命令格式:chown user1 ss
chown user1: user2 ss
chown : user1 ss
ps: 默认文件创建者就是文件所有者,属于所有者的所属组
3、命令名称: umask (显示和设置掩码值)(目前只研究umask值的后三位)
对目录和文件生效,在默认掩码为0022下文件最大权限缺省为644,目录缺省最大权限为755。
umask 查看当前掩码值
umask 0002(修改掩码)(只在终端临时生效)
补充:临时只在当前终端生效。(切换终端后失效)
临时生效。(重启系统后失效)
永久生效。(切换终端或重启系统仍然生效)
二、查找命令
1、命令名称:which(查看命令文件位置和命令可能出现的别名)
别名: ls='ls --color=auto'中的ls --color=auto就是别名
补充命令:alias 创建命令别名()
格式:ls=’ls --color=auto’
2、locate(按照文件名找文件,按照数据库查找)
updatedb 强制更新数据库
locate命令的使用实例:
# locate /etc/sh,locate issue
3、命令名称:find(搜索系统中符合条件的文件和目录)
-name根据文件名查找
例:find ./ -nama fstab (查找fstab的文件或目录(精确查找))
通配符(模糊查找): * 任意多个字符(使用很多命令例如ls、cp、rm等)
? 任意一个字符
[] 指范围值,外侧加引号
find ./ -nama “fstab*” 查找fstab名字后任意字符的文件或目录
find ./ -nama “fstab??” 查找fstab名字后任意两个字符的文件或目录(?可以多加)
find ./ -nama “fstab[5-9]” or “fstab[123]” 查找fstab5到fsatb9的文件或目录123表示或1或2或3,不是找fstab123文件。
补充技巧:touch ./aaa{1..9} 创建aaa1到aaa9的文件
-size 根据大小查找
find ./ -size -10k 查找小于10k的文件或目录
find ./ -size -10M 查找小于10M的文件或目录
find ./- size +10G 查找大于10G的文件或目录
b
-user 根据所有者查找文件和目录
find / -user root查找根下所有root用户的文件和目录
-group根据所属组查找文件和目录
find/ -group root 查找根下所有root组的文件和目录
-perm 根据文件权限查询
find /boot -perm 764
按时间查找
按天 ctime atime mtime
按分钟 cmin amin mmin
c change 表示属性被修改过的:所有者、所属组、权限
a access 被访问过的(被查过的)
m modify 表示内容被修改过
find /etc -mmin -120 查找120分钟内内容被修改的
find /etc -ctime +7 查找七天之前属性被修改过的
-type 根据文件类型查找
例:-type f 二进制文件 (普通文件)
-type l 软链接文件
-type d 目录
- 逻辑连接符
-a (and 逻辑与)
-o (or逻辑或)
例:find /etc -size +1k -a -size -10k
#在etc目录查找大于1k且小于10k的文件
find .. -exec 命令 {} \;
{}示find查询的结果集
\是转义符,不使用命令别名,直接执行命令。
;分号是表示语句结束
转义符:在Linux中有个别名机制,如rm删除文件,执行的却是rm-i(用whichrm可以查看命令别名)使用rm删除文件前会提示确认信息,就因为rm-i这个参数。如果想使用命令原意,可以在加转义(取消别名、其他特殊含义)。如:\rm tese.txt不会提示,直接删除。
-inum 根据文件i节点查询
find ./ -inum “231906” -exec rm -rf {} \;
有一些文件的硬链接数量有很多,有相同的i节点,查找其中的一个文件的i节点号,一次性删除。
4.grep “字符串” 文件名(在文件内查找符合条件的字符串行)
命令所在路径:/bin/grep
-v 反向选择
-i 忽略大小写
5.管道符
命令1 | 命令2 将命令1的标准输出作为命令2的标准输入
