RH033Linux基础笔记七之文件的搜索及高级文件权限和用户组操作文档格式.docx
《RH033Linux基础笔记七之文件的搜索及高级文件权限和用户组操作文档格式.docx》由会员分享,可在线阅读,更多相关《RH033Linux基础笔记七之文件的搜索及高级文件权限和用户组操作文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
功能超级大的搜索工具。
语法:
find[路径]
[参数][表达式]
下面是find常用的参数:
-user:
根据文件拥有者寻找文件
-group:
根据文件所属组寻找文件
-name:
根据文件名寻找文件
-perm:
根据文件权限寻找文件
-size:
根据文件大小寻找文件
-type:
根据文件类型寻找文件,参数对应c、b、l、f、d
-o:
表达式或
-not:
表达式非
现在我们测试第一个user参数,查找/home下所有者为root的文件:
find/home-userroot
然后查找/etc下面与root有关的文件:
find/etc-userroot
第二个参数-group:
根据文件所属组寻找文件,找/boot目录下root组的文件
name:
根据文件名寻找文件,查找网卡配置文件
find/-nameifcfg-eth0这个命令就可以找到网卡的配置文件,你们44,ifcfg-eth0就是网卡的配置文件,上周我们是讲过的
根据文件权限寻找文件,自己创建一个权限是725的文件在家目录
然后用命令在根下找,找到这个文件:
find/-perm725
根据文件大小寻找文件,查找/下面大小40M以上的文件,你们44
这里就有技巧了:
大小前面用+表示大于这个值
-表示小于这个值
不带符号就表示等于了
单位也有讲究:
k是小写的,M和G是大写的
这个一定要注意哈。
不然你命令就运行不了
我们看下单位M小写出错的效果哈。
-nouser
#查无有效属主的文件,即文件的属主在/etc/passwd中不存在
-ctime
-n+n
#按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup
#查无有效属组的文件,即文件的属组在/etc/groups中不存在
-newer
f1!
f2
#查更改时间比f1新但比f2旧的文件
-type
b/d/c/p/l/f
#查是块设备、目录、字符设备、管道、符号链接、普通文件
-size
n[c]
#查长度为n块[或n字节]的文件
-depth
#使查找在进入子目录前先行查找完本目录
-fstype
#查位于某一类型文件系统中的文件,这些文件系统类型通常可在/etc/fstab中找到
-mount
#查文件时不跨越文件系统mount点
-follow
#如果遇到符号链接文件,就跟踪链接所指的文件
-cpio
#对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune
#忽略某个目录
这些命令你们了解下吧,知道有这个功能就行了,如果确实要用,再来研究
刚才有朋友问到,通配符号的问题,那下面大家查找conf结尾的文件44
正规的写法是这样的find/-name"
*.conf"
需要用引号把内容包起来,这样系统不容易误解,不用也行。
查找以两个小写字母和两个数字开头的txt文件,物们先建立两个文件:
aa11.txt和bb22.txt
find/-name"
[a-z][a-z][0-9][0-9].txt"
具体的你们需要灵活运行,我也就只是告诉你们方法
与是直接在后面加,不用其他参数
我要找conf结尾,还要是20k以上的文件,大家44
-size+20k
还有个简单的查找命令locate,一般我用这个
locate[关键字段]
大家找找网卡配置文件,用这个命令:
locateifcfg-eth0
所有文件名及其所在路径包含关键字段的文件与目录都会显示,locate先将当前目录结构做成一个数据库,然后再在此数据库中搜索匹配记录.
第一次使用这个命令需要运行:
updatedb更新数据库
locate是在数据库中查找,所以速度快,但是数据库是有个计划任务来管理更新
下面创建一个123321文件在家目录里,然后用locate查找这个文件
我们看到建立123321文件后,locate123321没找到哈,updatedb后就找到了哈。
/etc/passwd(默认权限644)
michael:
x:
500:
/home/michael:
/bin/bash
用户名:
密码:
UID:
GID:
用户描述:
用户主目录:
用户登录Shell
复习下,/etc/shadow这个文件大家要注意了(默认权限400)
$1$/Ix5lJZO$2wXjm0hqGQvN7vtwB.K021:
14204:
0:
99999:
7:
:
以冒号分割,上面是一行哈
第一位
是帐户名字就是michael
是通过md5加密的密码
就是自1970/1/1起,密码被修改的天数
就是两次修改口令的间隔最小天数,0就代表没有限制
就是99999天了,这个是用户过期日期,从1970/1/1开始算
就是用户过期7天后失效
最后这个是保留字段
大家了解就行了
在很久以前,密码是放在PASSWD文件里的,为了使LINUX更安全,后来就把密码单独存放在SHADOW中,而且文件权限是400
我们可以用pwunconv,把密码放在/etc/passwd,大家44,如果用root修改,需要加!
强行写入。
输入这个命令你再看你/etc/passwd文件。
usermod指令,我们可以用参数来指定修改内容
#usermod<
参数>
[目标]
<
用户名>
-c:
改变用户的全名
-d:
改变用户的主目录
-e:
设置用户密码的过期时间
-g:
改变用户的gid
-G:
将用户添加入一个新组
-l:
改变用户的登录用名
-s:
改变用户的默认shell
-u:
改变用户的uid
-p:
改变用户的密码
-L:
锁住密码,使帐号
-U:
为用户密码解锁。
这个大家做了解吧
还有几个组管理的命令,我也给大家列出来
groupadd:
添加一个组
groupdel:
删除一个已存在组
groupmod–n新组名原组名,为一个组更改名字
gpasswd–a用户名用户组,将一个用户添加入一个组。
重点来咯
who:
查询当前在线的用户
w:
查询当前在线用户的详细信息
groups:
查询用户所属的组
id:
显示当前用户信息
finger:
查询用户信息
uname:
显示系统信息
-a系统所有信息
-r系统内核版本
hostname:
显示主机名
关于修改主机名字需要修改3三个地方:
1、hostname的命令
2、修改/etc/hosts
3、修改/etc/sysconfig/network
这三个文件的主机名字必须一样,不然你的服务器会出现问题,如果hosts里没有设置本地解析,就可以不管,3个都要改哈,修改主机名后需要重新启动系统后生效。
last:
列出最近的用户登录
lastlog:
列出每一个用户的最近登录情况
free:
显示内存使用状况
好了,下周的课程文件的强制位冒险位,访问控制列表,文件属性的介绍哈。