文件查找: 用户高级权限,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