Linux笔记4——常用命令-3
权限管理命令
第一个字符代表文件类型
-:普通文件
d:目录文件
l:链接文件
b:块设备文件
c:字符设备文件
s:套接字(保存IP和端口的组合,用于服务器之间连接)
p:管道(用于进程之间连接)
chmod(修改文件的权限)
命令格式
- chmod u+x 文件
- chmod g+w,o+w 文件
- chmod u=rwx 文件
- chmod 644 文件(存在缺点)
chown(修改文件或目录的所有者、所属组)
命令格式(可以选择性修改)
- chown user1 ss
- chown user1:user2 ss
- chown :user1 ss
umask(显示和设置掩码值)
对目录和文件生效,可以定义新建文件、目录的默认权限,在默认掩码为0022下文件最大权限缺省为644,目录最大权限缺省为755;因为文件默认情况下不会开放执行权限
注:umask值可以更改,但只能是临时的,且仅限于当前的终端
查找命令
which(查看命令文件位置和命令可能出现的别名)
alias:查看修改命令别名,主要是为了方便常用命令的使用,在shell脚本中建议用命令的绝对路径,以下是linux中常用的一些命令别名
whereis(查找命令及帮助文档所在位置)
locate(按照文件名找文件,按照数据库查找)
updatedb:强制更新数据库
注:系统默认没有locate,需要手动安装,安装步骤和之前的tree差不多,且本身是包含式匹配,每次查找前需要手动更新数据库,要使用绝对路径查找
可以看到第一次没有查到,是因为创建好文件后没有更新到数据库中
find(搜索系统中符合条件的文件)
注:相较于locate来说要慢上一些
-name:根据文件名查找
通配符:*任意多个字符;?任意一个字符;[]指范围值,外侧加引号
-size:根据大小查找
例:find ./ -size -10k ——查找小于10k的文件或目录(会查看当前目录下所有文件)
-user:根据所有者查找
-group:根据所属组查找
注:用户被删除后,用户的UID和GID并不会被删除,所属文件目录会被另一个占用该UID和GID的用户占有,所以在删除用户前可以先查ID,改文件目录所有者跟权限
-perm:根据文件权限查找
按时间查找
按天:ctime atime mtime
按分钟:cmin amin mmin
c——change——表示属性被修改过:所有者、所属组、权限
a——access——被访问过,被查看过
m——modify——表示内容被修改过
-type:根据文件类型查找
- f:二进制文件(普通文件)
- l:软链接文件
- d:目录
-逻辑连接符:-a(and 逻辑与)-o(or 逻辑或)
-命令执行连接符(对查找的文件进一步处理)
- find ... -exec 命令 {} \\;
- {}表示find查询的结果集
- \\是转义符,可以直接执行命令本身,不用别名
- ;是表示语句结束
- \\命令:使用命令原意
注:如果执行的是剪切或删除的操作,需要事先通过find确定目标,防止误删重要目录文件
-inum:根据文件I节点查询
注:有一些文件I节点很多,有相同的I节点,可以查找其中一个文件的I节点,一次性删除
xargs命令:把前一个命令结果当成多个参数
grep \"字符串\" 文件名
注:在文件内查找符合条件的字符串行(包含式匹配)
命令所在路径:/dev/grep
- -v:反向选择
- -i:忽略大小写
管道符
命令1 | 命令2——将命令1的标准输出作为命令2的标准输入