linux常用命令二之权限,搜索与帮助命令

来源:互联网 发布:sql 用变量作为字段名 编辑:程序博客网 时间:2024/06/05 02:10

一:权限管理命令

 

命令名称: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
0 0
原创粉丝点击