Linux 常用命令
笔记来源:B站兄弟连Linux视频教程
权限管理命令
chmod命令
作用:改变文件或目录权限
语法一:
chmod [{ugoa}{+-=}{rwx}] [文件或目录]
'ugoa’中的 ‘a’ 表示所有人 all
语法一例子:
chmod u+r hello.c
chmod u=wrx hello.c
语法二:
chmod [mode=421] [文件或目录]
‘r’、‘w’、'x’三个权限分别代表数字4、2和1
'chmod’后面写的三个数字分别为每类用户的权限数字和
语法二例子:
root@lcz-server:~/test/linux_learn# ls -l hello.py
-rw-r--r-- 1 root root 17 Jul 28 14:56 hello.py
root@lcz-server:~/test/linux_learn# chmod 764 hello.py
root@lcz-server:~/test/linux_learn# ls -l hello.py
-rwxrw-r-- 1 root root 17 Jul 28 14:56 hello.py
可以看出上面例子中,chmod 后写的数字为 ‘764’,代表的权限为 ‘rwxrw-r–’
参数:
-R : 递归修改,目录下的文件也一起修改
进一步理解目录与文件的权限:
代表字符 | 权限 | 对文件含义 | 对目录的含义 |
---|---|---|---|
r | 读权限 | 可以查看文件内容 | 可列出目录里内容 |
w | 写权限 | 可以修改文件内容 | 可以在目录中创建删除文件 |
x | 执行权限 | 可以执行文件 | 可以进入目录 |
如果目录有’w’权限,则可以删除目录下的文件,不管这个文件有没有’w’权限
只有两种人可以改权限,一个是所有者,另一个是超级管理员root
chown
作用:改变所有者为
语法:
chown [用户] [文件或目录]
改变文件的所有者只有管理员root才能做到
chgrp
作用:改变所属组
语法:同上
创建一个文件的默认所属组是其所有者的缺省组
umask
作用:显示,设置文件的缺省权限
默认新创建的文件是没有’x’的可执行权限的,不管系统默认缺省权限又没有’x’
语法一:
umask -S
显示文件的缺省权限,结果格式参考’chmod命令’中的表格
语法一例子:
root@lcz-server:~/notebook# umask -S
u=rwx,g=rx,o=rx
语法二:
umask
同样也是显示文件缺省权限
语法二例子:
root@lcz-server:~/notebook# umask
0022
上面结果的四个数字中,第一个代表的是特殊权限,先不谈;后面三个代表的是三类用户还没有的权限,即此命令的022代表着语法一中的755,即rwx|r-x|r-x
语法三:
umask [mode=421]
这里的mode同语法二的结果,即三个数字代表为还没有的权限
没事别乱改缺省权限
文件搜索命令
find命令
作用: 搜索文件
语法一:通过文件名搜索
find [搜索范围] -name {匹配表达式}
示例:
root@lcz-server:~/notebook# find /etc -name init
/etc/apparmor/init
/etc/init
root@lcz-server:~/notebook# find /etc -name *init*
/etc/security/namespace.init
/etc/kernel/postinst.d/initramfs-tools
···
root@lcz-server:~/notebook# find /etc -name init??
/etc/init.d
‘*’ 表示通配符可以匹配零个或多个字符,’?’ 匹配单个字符
语法一改:不区分大小写,其他一样
find [搜索范围] -iname {匹配表达式}
语法二:通过大小搜索
find [搜索范围] -size {+/-/空}{数字}
‘+’表示大于,‘-’小于,不加等于
数字表示要求的文件大小,单位为数据块,一个数据块0.5KB,即512字节
语法三:根据所有者查找
find [搜索范围] -user [用户名]
语法三改:根据所属组查找
find [搜索范围] -group [所属组名]
语法四:根据时间属性来查找
找出规定时间内外被弄过的文件:
find [查找范围] [参数] {+/-}[时间:分钟]
参数含义:
-amin : 文件被访问过
-cmin :文件属性被修改过
-mmin :文件内容被修改过
语法五:根据类型查找
f:文件,d:目录,l软链接文件
find [文件范围] -type {f/d/l}
语法六:多条件查找
参数用于连接不同条件:
find [文件范围] <条件一> [参数] <条件二>
参数:
-a :两个条件都满足,即and
-o :两个条件满足一个,即or
示例:
找出大小小于100MB的文件:
find /etc -2048000 -a -type f
语法七: 查找出文件后并进行操作
<find语句> -exec/ok [命令] {} \;
-exec会全部执行,而ok会一条条询问
最后的符号组合 ‘{} \;’ 为固定格式,花括号后有空格
示例:找出文件并查看详细信息:
find /etc -name init* -a -type f -exec ls -l {} \;
语法八:通过i节点查找
当名字很难打出来是可用:
find [文件范围] -inum [inode编号]
此法还可以找出此节点有无硬链接
locate命令
同样也是查找命令,不过 loacte 并不是直接在硬盘里面找,而是在它自己的文件资料库里找,所以查找速度会很快,但资料库并不会实时更新,要更新可用:
updatedb
并不是所有目录都在locate的文件资料库的范围里面,比如 '/tmp’里的东西是找不到的
语法:
locate [文件名]
具体参数略
which命令和whereis命令
命令搜索:
where 命令会找出命令所在的位置,而且会告知有无别名
whereis 找出命令外还会找出帮助文档的路径
语法:
which [命令]
whereis [命令]
grep命令
作用:与以上查找命令不同,此命令是在文件内部进行查找
语法:
grep [参数] [匹配表达式] [所查文件路径]
参数:
-i :不区分大小写
-v :排除指定字符串,反向查找
帮助命令
man命令
作用:可查看命令和配置文件的说明文档,文档的操作跟more一样
一般多个配置文件中 ‘.1’ 代表命令的帮助,’.5’代表配置文件的帮助
语法:
man [帮助类型:数字] [命令或配置文件]
帮助类型:
不写 :多种同名帮助中优先显示命令帮助
1 :命令帮助
5 :配置文件帮助
小技巧:可以简短地查出命令帮助信息:
whatis [命令]
[命令] --help
info [命令]
help命令
作用:获得linux内置命令的帮助信息
内置命令并没有所在的路径,help可以查找shell脚本关键字的帮助信息
help [内置命令]