文件查找:  用户高级权限,ip地址配置,条件测试

文件查找工具:
locate 
   非实时查找,在数据库查找
   非精确查找
   速度快
find
   实时查找
   精确查找
   速度慢

whatis   查找命令在哪个章节

loacte 
locate --> uodatedb

locate passwd

find  单独使用,查找当前目录下所有文件

find passwd   找到的就是叫passwd的文件

find [/path/to/dir,...] [ceriterial,...][action]
    
查找条件:
      -name "passwd*"根据文件名查找
      -iname "filename"   根据文件名查找,忽略名字大小写
      -user red     查找属主是red的
      -gourp
      -uid
      -gid
      -nouser    专门查找没有属主的文件
      -nogroup    没有属组
      -type      根据文件类型查找
          f
          d
          l
          b
          c
          s
          p
       
      -size      根据文件大小查找
       K,M,G
       +/-

       -amin   访问
       -mmin   修改
       -cmin   改变
       -atime
       -mtime
       -ctime
        n  表示时间
        +n   +2  2天以外
        -n   -2  2天以内
    
        -perm
          mode   权限的精确匹配
          -mode  
          /mode  
find /etc -perm 755
find /etc -perm -222
find /etc -perm /002

     -print   显示结果
     -ls      显示文件属性
     -exec COMMAND {} \;
     -ok

find /tmp/perm -perm /002 -exec chown user7 {} \;

find /tmp/perm -perm /002 -exec mv {} {}.old \;
      

ls -l `find /home -user redhat`   命名引用(不能用管道)

组合多个条件:
    关系有  &&  ||  !
    -a  表示与
    -o  表示或
    !  -not
    find / -not -name "passwd" -o -not -user re
dhat
    find / -not \(-name "passwd" -o -user redhat)

用户权限管理:
   touch 644
   mkdir 755
  
umask
777-umask目录
666-umask文件

umask 022
设置的umask值,只对当前shell有效
想要全局有效,在
/etc/bashrc   ~/.bashrc

666-023
777-023

suid   在执行具有s位权限的文件时,不是以用户自身身份运行,而是以属主的身份运行
功能永远放在属主位上     有执行权限时,显示s;
    chmod u+s a

sgid   在执行具有s位权限的文件时,不是以用户自身身份运行,而是以属组的身份运行
功能永远放在属组位上

myproject

/myproject root developer
775

sticky   让多个用户在公共场所具有写权限,但是没有删除权限

passwd --> /etc/shadow
-r------

cvs:
svn:

111
第一个1表示suid
第二个1表示sgid
第三个1表示sticky

如何将LINUX接入到tcp/ip网络:
ip地址
DNS
默认网关

主机名称

拨号设备:
pppX,ppp0

以太网设备 eth

IP地址:
ifconfig ethX ip/netmask
      立即生效
      重启系统或重启网络服务后会失效
route add -net|-host target gateway nexthop

打开窗口:

system-config-network-gui &

system-config-network-tui

setup

export LANG=en

实现系统语言选项的定义:
locale

    -a   修改所有支持的语言
  
 vim /etc/sysconfig/i18n  

ifdown ethX && ifup ethX   禁用再启用   设置好的ip地址才能生效
   
/etc/sysconfig/network-scripts/
   ifcfg-eth0
cat ifcfg-eth0

BOOTPROTO=dhcp           |   STATIC    |  NONE    |    BOOTP
          动态主机配置协议 静态
ONBOOT是否根据系统启动 自动激活=yes|no
IPADDR=   ip地址
NETMASK子网掩码=
GATEWAY默认网关=
PEERDNS=yes|no   172.16.3.1   255.255.0.0
NETWORK=
USERCTL=yes|no   普通用户是否有权限控制网络设备
TYPE=Etherent     表明网络设备的类型

重启网络服务
# ifdown ethX && ifup ethX
# service network restart
# /etc/init.d/network restart

DNS:
FODN: Full Qualified Domain Name

/etc/resolv.conf
nameserver ip   定义DNS服务器地址
search   是否搜索域名


定义本地名称解析:
/etc/hosts
IP   FQDN  alias

定义主机名:
#hostname
#hostname 主机名
操作系统重新登录就会失效

/etc/sysconfig/network    永久有效定义主机名
NETWORKING=yes|no
HOSTNAME=linux.a.org
GATEWAY=网管

Linux 配置一块网卡多个地址:
eth0
eth0:0
eth0:1


临时生效
# ifconfig eth0:0 IP/NETMASK

永久生效:
# vim /etc/sysconfig/network-sctips/ifcfg-eth0:0
Device=eth0:0
BOOTROTO=STATIC|NONE
IPADDR
NETMASK
ONBOOT=yes

指定路由:
route
     add   -net|-host target gateway nexthop
     del   -net|-host target
     -n    查看路由信息

route add default gateway 172.16.0.1   这种定义的方式暂时有效

#vim /etc/sysconfig/network-scripts/route-eth0
ADDRESS0=10.0.0.0
NETMASK0=255.0.0.0
GATEWAY0=192.168.0.254

脚本条件判断:

判断:bash
test expression
[ expression ]中括号两边必须有空格
` expression `
     
整数比较测试:
-gt   》
-ge   》=
-lt  
-le    《=
-eq    =
-ne

字符串测试
=,==   都表示测试  
>
<
-z $A
-n    

文件测试
-e    FILE是否存在
-f    文件是否是普通文件
-d    文件是否是目录
-h    文件是否是符号链接
-L    文件是否是符号链接
-r    文件是否是读权限
-w    当前用户是否对文件有写权限
-x    当前用户是否对文件有执行权限

组合条件测试:
-a  [ -x $FILE -a -w $FILE ]
-o
-not,!
[ ! -x $FILE ]

单分支:
if 测试条件;then
   语句1
   语句2
   ...

fi

 

bash命令的两个常用选项  -n  做语法测试
                        -x  类似单步执行

双分支:
if 测试条件;then
   语句1
   语句2
   ...
else
   语句1
   语句2
   ...
fi

多分支:if 测试条件1; then
           语句1
           语句2
           ...
        
        elif 测试条件1; then
           语句1
           语句2
           ...
        elif 测试条件1; then
           语句1
           语句2
           ...
        else 测试条件1; then
           语句1
           语句2
           ...

if [ -e $FILE -a -d $FILE ]
if [ -e $FILE ] && [ -d $FILE ]

组合条件测试:
-a
-o