HCE课程-RH033Linux基础笔记七之文件的搜索及高级文件权限和用户、组操作

RHCE课程-初级部分7


文件的搜索及高级文件权限和用户、组操作

   

   今天的第一个命令:which

        which 显示一个可执行文件的完整路径,按照alias -> $PATH的顺序查找


   比如我们看 ls 的可执行文件放在哪的

image

   上面一行的ls的别名,默认是加入了--color=tty的参数,下面一行 /bin/ls 就是 ls 的可执行文件。我们可以去看看。

image

   青色的一般都是可执行文件。而且这个青色就是 ls 的第一个别名的原因,如果没有这个别名,默认是不会显示颜色,你们44找下cd rm 之类命令的可执行文件在哪.

image

   which这个命令在系统管理中有重要,大家一定要记住.


  下一个命令,whereis ,这个功能就更强大了

       whereis 搜索一个可执行工具及其相关配置、帮助

image

       前面ls: 是表示查找的这个命令
       /bin/ls 是可执行文件位置
       后面两个就是帮助文件了


   下面还是命令:find  功能超级大的搜索工具。  

        语法:
       find [路径]  [参数] [表达式]
      下面是find常用的参数:
           -user:根据文件拥有者寻找文件
           -group:根据文件所属组寻找文件
           -name:根据文件名寻找文件
           -perm:根据文件权限寻找文件
           -size:根据文件大小寻找文件
           -type:根据文件类型寻找文件,参数对应c、b、l、f、d
           -o :表达式或
           -not :表达式非


   现在我们测试第一个user参数,查找/home 下所有者为root的文件:find /home -user root

image

   然后查找/etc下面与root有关的文件:find /etc -user root

image

   

   第二个参数-group:根据文件所属组寻找文件,找 /boot 目录下 root组的文件

image

   

   name:根据文件名寻找文件,查找网卡配置文件

   find / -name ifcfg-eth0这个命令就可以找到网卡的配置文件,你们44,ifcfg-eth0就是网卡的配置文件,上周我们是讲过的

image


   -perm:根据文件权限寻找文件,自己创建一个权限是725的文件在家目录

image

   然后用命令在根下找,找到这个文件:find / -perm 725

image


   -size:根据文件大小寻找文件,查找/下面大小40M以上的文件,你们44

image


   这里就有技巧了:

        大小前面用:+ 表示大于这个值;- 表示小于这个值;不带符号就表示等于了。
      单位也有讲究k是小写的,
M和G是大写的


   这个一定要注意哈。不然你命令就运行不了


   我们看下单位M小写出错的效果哈。

image


   -type:根据文件类型寻找文件,参数对应c、b、l、f、d

image

       
       -ctime   -n +n   #按文件创建时间来查找文件,-n指n天以内,+n指n天以前  
       -nogroup   #查无有效属组的文件,即文件的属组在/etc/groups中不存在
       -nouser    #查无有效属主的文件,即文件的属主在/etc/passwd中不存在
       -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" ,需要用引号把内容包起来,这样系统不容易误解,不用也行。

image

   查找以两个小写字母和两个数字开头的txt文件,物们先建立两个文件:aa11.txt和bb22.txt

image

   find / -name "[a-z][a-z][0-9][0-9].txt"

image


   具体的你们需要灵活运行,我也就只是告诉你们方法

   

   -o :表达式或

    -not :表达式非
   
与是直接在后面加,不用其他参数

       

   我要找conf 结尾,还要是20k以上的文件,大家44

   find / -name "*.conf" -size +20k

image


   还有个简单的查找命令locate,一般我用这个

       语法:
           locate [关键字段]

   

   大家找找网卡配置文件,用这个命令:locate ifcfg-eth0


image

   所有文件名及其所在路径包含关键字段的文件与目录都会显示,locate先将当前目录结构做成一个数据库,然后再在此数据库中搜索匹配记录.
   第一次使用这个命令需要运行:updatedb 更新数据库
   locate 是在数据库中查找,所以速度快,但是数据库是有个计划任务来管理更新
下面创建一个 123321 文件在家目录里,然后用locate 查找这个文件

image

   我们看到建立123321文件后,locate 123321没找到哈,updatedb后就找到了哈。


   /etc/passwd (默认权限644)

image

   michael:x:500:500:michael:/home/michael:/bin/bash
   用户名:密码:UID:GID:用户描述:用户主目录:用户登录Shell

   

   /etc/shadow (默认权限400)

image

   michael:$1$/Ix5lJZO$2wXjm0hqGQvN7vtwB.K021:14204:0:99999:7:::
   以冒号分割,上面是一行哈
       第一位

image

image

image

image

image

image

image

   大家了解就行了
   在很久以前,密码是放在PASSWD文件里的,为了使LINUX更安全,后来就把密码单独存放在SHADOW中,而且文件权限是400
   我们可以用 pwunconv,把密码放在/etc/passwd ,大家44 ,如果用root修改,需要加!强行写入。输入这个命令你再看你/etc/passwd文件。

image



   usermod指令,我们可以用参数来指定修改内容

       #usermod <参数>  [目标]  <用户名>
           -c:改变用户的全名
           -d:改变用户的主目录
           -e:设置用户密码的过期时间
           -g:改变用户的gid
           -G:将用户添加入一个新组
           -l:改变用户的登录用名
           -s:改变用户的默认shell
           -u:改变用户的uid
           -p:改变用户的密码
           -L:锁住密码,使帐号
           -U:为用户密码解锁。


   这个大家做了解吧

   

   还有几个组管理的命令,我也给大家列出来

   groupadd:添加一个组
   groupdel:删除一个已存在组
   groupmod �Cn 新组名 原组名,为一个组更改名字
   gpasswd �Ca 用户名 用户组,将一个用户添加入一个组。

 

 重点来咯

   who:查询当前在线的用户

image

   w:查询当前在线用户的详细信息

image

   groups:查询用户所属的组

image

   id:显示当前用户信息

image

   finger:查询用户信息

image

   uname:显示系统信息
       -a系统所有信息
       -r系统内核版本

image

   hostname:显示主机名

image



   关于修改主机名字需要修改3三个地方:

       1、hostname 的命令
       2、修改/etc/hosts

image

image

       3、修改/etc/sysconfig/network

image

image

   这三个文件的主机名字必须一样,不然你的服务器会出现问题,如果hosts里没有设置本地解析,就可以不管,3个都要改哈,修改主机名后需要重新启动系统后生效。


   last:列出最近的用户登录

image

   lastlog:列出每一个用户的最近登录情况

image

   free:显示内存使用状况

image

   好了,下周的课程文件的强制位冒险位,访问控制列表,文件属性的介绍哈。


你可能感兴趣的:(rhce)