二、权限管理命令:
-rw-r--r-- 1 root root 08-11 01:45 aa.txt
权限位是十位
第一位:代表文件类型
- 普通文件
d 目录文件
l 链接文件
b 块设备文件
c 字符设备文件
s 套接字
p 管道
其余九位为权限:
r w x r w x r w x
读 写 执行 读 写 执行 读 写 执行
4 2 1 4 2 1 4 2 1
文件所有者(u) 文件所属组(g) 其他用户(o)other
rwx rwx rwx ---
r=4
w=2
x=1
所有者 所属组 其他人
rw- r-- r--
6 4 4
所有者:创建文件的用户
所属组:默认和所有者名称相同
其他人:既不是所有者,也不在所属组中的用户
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
注:修改所有者和所属组的时候,需要真的存在修改的用户或组
3、命令名称:chgrp(改变文件或目录的所属组)
命令格式:chgrp 用户组 文件或目录
chgrp roushan ss
4、命令名称:umask(显示和设置掩码值)
命令格式:umask 需要设置的umask值
例如:umask 0007
对目录和文件生效,在默认掩码为0022下文件最大权限缺省为644,目录缺省最大权限 为755.
777 -022 ---------------- 755
默认掩码0022,只有后三位生效,第一位是不生效的
umask命令修改的是临时的,如果永久修改需要写到配置文件
默认文件的最大权限是666,默认目录的最大权限是777
所以文件和目录的最大权限与默认掩码0022相与,得到的文件最大缺省权限是644,目录的最大缺省权限是755
777
022
755
666
022
644
三、查找命令:
1、命令名称:which(查看命令文件位置和命令可能出现的别名)
alias(别名命令)
命令格式:alias “想要执行的命令=替代的命令及选项”
注:命令行修改的别名命令是临时生效的,如果想永久生效,需要写到配置文件中
配置文件路径为/root/.bashrc
取消别名的使用方式:
(1)使用命令的绝对路径
如:/usr/bin/ls
(2)使用转义字符加命令
如:\ls
2、whereis(查找命令及帮助文档所在位置)
注:whereis命令只能查看帮助文档的位置,无法cat进行查看
查看帮助文档需要使用man命令
如:man ls
man 命令使用后,q退出
3、locate(按照文件名查找,按照数据库查找)
updatedb 强制更新数据库 ,查找时,如果没有,可以尝试先更新再查找
locate命令的使用实例: # locate /etc/sh 搜索etc目录下所有以sh开头的文件。
在使用locate命令时,要使用绝对路径查询。
4、命令名称:find(搜索系统中符合条件的文件)
-name 根据文件名查找
通配符:
* 任意多个字符
? 任意一个字符
[] 指范围值,外侧加引号
-size 根据大小查找
find ./ -size -10k 查找小于10k的文件或目录
find ./ -size -10M 查找小于10M的文件或目录
find ./ -size +10G 查找大于10G的文件或目录
查找 / 下,大于1G的文件,找到了/proc/kcore,但是这个文件的128T表示的是系统最大支持的内存空间大小
-user 根据所有者查找
find / -user root 查找/下所有root用户的文件
-perm 根据文件权限查找
find /boot -perm 644
-按时间查找
按天 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 软连接文件
find查找出来,可以使用ll 查看文件的类型
-type d 目录
-逻辑连接符
-a (and 逻辑与)
-o (or 逻辑或)
例:find /etc -size +1k -a -size -10k
在etc目录小查找大于1k并且小于10k的文件
-命令执行连接符(对查找到的文件,进一步处理)
find ... -exec 命令 {} \;
注: -exec 只能在find命令中进行使用,其他命令没有这个用法
{}表示find查询的结果集 \是转义符,不适用命令别名,直接使用命令本身 ;
分号是表示语句结束 转义符:
在Linux中有个别名机制,如rm删除文件,执行的却是rm -i(用which rm 可 以查看命令别名)
使用rm删除文件前会提示确认信息,就因为rm -i 这个参数。
如果想使用 命令原意,可以在加\转义。
如:\rm tese.txt 不会提示,直接删除。
当执行mv等需要目标位置的命令,可以在{ } 后边添加,实现命令的功能。
-inum 根据文件i节点查询
find ./ inum 231906 -exec rm {} \;
有一些文件的硬链接数量有很多,有相同的i节点,查找其中的一个文件的i节点号,一次性删除。
xargs命令:把前一个命令输出的结果当成多个参数。
例: find / -name "aaa*" | xargs rm -rf
根据文件名aaa查到对应的文件,然后进行删除
注: 此种方式无法进行cp 、mv等操作
-exec和xargs的区别:
'find -exec CMD {} \;' :能表示查询结果的位置。ls、cp、mv、rm
| xargs:能够将查询结果进行拆分ls、rm
5.grep “字符串” 文件名(在文件内查找符合条件的字符串行)
命令所在路径:/bin/grep
-v 反向选择
-i 忽略大小写
6.管道符
命令1 | 命令2 将命令1 的标准输出作为命令2的标准输入
四.帮助命令:
1.man 命令 查看命令的帮助
命令名称:man
man -f 命令
#查看命令有哪些级别的帮助,在使用命令前要执行mandb生成man缓存信息,否则命令执 行不成功。
图形界面因为安装原因所以比字符界面man级别更多。
查看指定级别: man 级别 命令
man的级别:(开发时可能用到)
1:查看命令的帮助
2:查看可被内核调用的函数的帮助
3:查看函数和函数库的帮助
4:查看特殊文件的帮助(主要是/dev目录下的文件)
5:查看配置文件的帮助
6:查看游戏的帮助
7:查看其他杂项的帮助
8:查看系统管理员可用命令的帮助
9:查看和内核相关文件的帮助
2.help 内部命令 查看内部的帮助信息
type 命令 的方式查看命令是否为内部命令。
内部命令如cd、pwd、echo等。
外部命令如:ls、vi等命令。
3.命令 --help 查看命令的常见选项
4.info 命令 #比man更详细的帮助命令。
回车:进入子帮助页面(带有*号标记)
u:进入上层页面
n:进入下一个帮助小节
p:进入上一个帮助小节
q:退出
5.type查看命令类型(内建命令/外部命令)
[root@localhost ~]# type cd
cd is a shell builtin
[root@localhost ~]# type ls
ls is aliased to `ls --color=auto'
shell内嵌表示是内部命令,写入到系统内核中的命令
不是shel内嵌,就是外部命令
目录
/proc/ 虚拟目录。目录中所有信息都是内存的映射,通过这个虚拟的内存映射目录, 可以和内核内部数据结构进行交互,获取有关进程的信息,同时也可以在系统 运行中修改内核参数。与其他目录不同,/proc存在于内存中,而不是硬盘 上。
/proc/cpuinfo/ 关于系统CPU的详细信息,包括CPU名称、型号和类型等。