一:权限管理命令
命令名称:chown
命令原意:change file ownership
命令所在路径:/bin/chown
执行权限:所有用户
语法:chown 【用户】【文件或目录】
范例:chown pengliang japan.list 改变japan.list的所有者为penglinag
root和文件所有者可以改变文件的权限,
例如一个用户创建了一个文件,该文件的权限所有者和root都可以
注意:文件所有者可以改变文件的权限,但是不能改变文件的所有者,只有root可以
useradd【用户名】添加普通用户
groupadd【用户组名】添加用户组
命令名称:chgrp
原意:change file group ownership
命令所在路径:/bin/chgrp
执行权限:所有用户
语法:chgrp 【用户组】 【文件或目录】
功能描述:改变文件或目录的所属组
范例:chgrp dajia japan 改变文件japan的所属组为dajia
谁创建了文件谁就是文件的所有者,他的用户组就是他的缺省组,每个用户只能有一个缺省组,谁创建了文件,文件的用户组就是所有者的缺省组
当新建一个文件或目录是都有一个默认的权限,怎么样该默认权限呢
命令名称:umask
原意:the user file-creation mask
命令所在路径:shell内置命令
执行权限:所有用户
语法:umask 【-S】
-S以rwx形式显示新建文件缺省权限(即新建文件的默认权限)
功能描述:显示,设置文件的缺省权限
范例:umask -S
umask 显示文件的默认权限的掩码
掩码详解:比如umask命令后显示0022 第一个0是特殊的权限先不管, 022就是权限的掩码。有什么用呢?
可以计算出默认文件的权限,即777-022=755 755就是-rwxr-xr-x
linux的任何新建文件都没有x权限,目录有,安全性方面的考虑
更改默认权限
范例:比如要设置默认权限为754不能直接umask 754 可以计算掩码777-754=023
可以umask 023
一般不要改默认的缺省权限,系统默认的就很好了系统默认是(755)
二.文件搜索命令find
搜索会占用大量的资源,因此尽量在建文件的时候就规划好文件目录结构
不要再服务器高峰期的时候做搜索,搜索条件越精准越好
命令名称:find
命令所在路径:/bin/find
执行权限:所有用户
语法:find 【搜索范围】 【匹配条件】
功能描述:文件搜索
范例:
find/etc -name init 在/etc目录中查找文件init
find/etc -name *init* 搜索/etc目录下的所有文件名含有init的文件(*是通配符)
find/etc -name init??? 搜索init后面的跟三个字符的文件(?匹配单个字符)
find/etc -iname init 搜索init文件不区分大小写
根据大小查找
find/ -size +204800(LINUx中数据块是最小的单位,这里的单位是数据块,一个数据块为0.5K) 在根目录下查大于100M的文件(+n大于 -n小于 n等于)
根据所有者来查找
find/home -user shenchao 在/home下查找所有者为shenchao的文件
根据时间的属性来查找
-amin访问时间
-cmin文件属性
-mmin文件内容
find/etc -cmin -5 在/etc下查找5分钟内被修改过属性的文件
find/etc -mmin -30 在/etc下查找30分钟内被修改过内容的文件
稍微复杂的find
find/etc -size +163840 -a -size -204800 在/etc下查找大于80MB小于100MB的文件
-a两个条件同时满足(and)
-o两个条件满足任意一个即可(or)
find/etc -name inittab -exec ls -l {} \
在/etc下查找inittab文件并显示其详细信息
-exec/-ok命令 {} \;对搜索结果执行操作(\表示转义符,-ok会在执行前询问,-exec不会)
find/etc -name init* -a -exec -type f ls -l {} \ 查找以init开头的文件,并显示其详细信息
-type根据类型查找
f文件 d目录 l软链接文件
find/etc -name init* -a -type f 在/etc查找以init开头并且是文件
find/etc -name init* -a -type d 在/etc下查找以init开头并且是目录
-inum根据结点查找文件
find. -inum 31531 -exec rm {} \ 查找并删除i结点为31531的文件
命令名称:locate
命令所在路径:/usr/bin/locate
执行权限:所有用户
语法:locate 文件名
功能描述:在文件资料库中查找文件
范例:locate inittab
速度比较快!因为locate'在文件系统中维护着一个资料库,在/var/mlocate/mlocate.db
缺点:假使新建的文件没有收录更新在库中就会找不到!而find就不会
怎样更新?用命令:updatedb
此时便会被收录!
注意:但是查找的文件在/tmp临时文件夹中,即使update也是找不到的。
locate-i hehe.log 不区分大小写查找hehe.log
命令名称:which
命令所在路径:/usr/bin/which
执行权限:所有用户
语法:which命令
功能描述:搜索命令所在目录及别名信息
范例:which ls 查找ls命令所在的路径
which cp 查找cp命令所在的目录
结果中的alias ‘命令’=‘命令别名’
如:
which cp 查找cp命令所在的目录结果显示 aliascp='cp -i'后面的cp -i就是cp的别名
命令名称:grep
命令所在路径:/bin/grep
执行权限:所有用户
语法:grep -iv 【指定字串】【文件】
功能描述:在文件中搜寻字串匹配的行并输出
-i不区分大小写
-v排除指定字串
范例:grep mysql /root/install.log
在linux中#表示注释行
grep-v ^# /etc/inittab 去掉以#开头的行,比如读取apache的配置文件时用,用来排除注释的干扰
三.文件搜索命令--帮助命令
命令名称:man
原意:manual
命令所在路径:/usr/bin/man
执行权限:所有用户
语法:man 【命令或配置文件】
功能描述:获得帮助信息
范例:man ls 查看ls的帮助信息
man services 查看配置文件的services的帮助信息(注意。此处的配置文件不要加绝对路径,只要名称就可以了)就是查看配置文件的作用等
帮助类型的说明:
1表示命令说明
5表示文件说明
下面是一些查看命令或简短的作用
whatis【命令名称】 查看ls命令的作用
apropos【配置文件名】 查看配置文件的作用
【命令】 --help 列出命令的属性
如ls --help 列出ls命令的属性(-a -l等)
man很有用,可以查看命令的格式等,不必强记
命令名称:help
所在路径:Shell内置命令
执行权限:所有用户
语法:help 命令
功能描述:获得Shell内置命令的帮助信息
范例:help umask 查看umask命令的帮助信息
内置命令是没有路径的
如which cd会找不到路径
manumask找不到umask的帮助信息,找到的是shell的帮助信息
helpumask可以找到umask的帮助信息
因此找不到shell命令的格式的话,可以help