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