文件查找及條件判斷

文件查找:  用戶高級權限,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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章