《Oracle DBA的UNIX 袖珍参考手册》笔记12
作者:nero 日期:2009-08-26
续上回~越来越简单了~
如果我们要查看某个目录的总大小,可以用 du -sk 命令。例如
'2.70'*orcl-/home/oracle>du -sk /home/oracle
1888 /home/oracle
定位包含特定字符串的文件
'2.70'*orcl-/home/oracle>find . -name "*.sql" -print|xargs grep -i v\$session
./1.sql:select * from v$session;
查找最近创建的文件
'2.70'*orcl-/home/oracle> find . -mtime -1 -print
.
./find
./.ICEauthority
./du
./.bash_history
./1.sql
./.gconfd
./.gconfd/saved_state
./.gnome2
下面的命令查找 1 天内创建的文件。
查找系统中的大文件
下面的命令查找大于 10000 字节的文件:
'2.70'*orcl-/home/oracle>find . -size +10000c -print
./Desktop/oracle dba?unix??????.pdf
./.nautilus/sysstat-5.0.5-19.el4.i386.rpm
./.bash_profile.swo
./.kde/share/config/khotkeysrc
./.kde/share/apps/kconf_update/update.log
./.recently-used
如果不加 c,那么就是查文件大于 10000 个块(512 字节)的文件。有的 Unix 下可以加k,单位就是kb 。
查找大小在某个区间内的文件: 例如,查找大小在 100 到 120 个字节的文件
# find . -size +100c -size -120c -print
如果要查找大小正好是多大的文件,可以这样:
# find . -size 100c -print
上面的命令查找大小正好是 100 个字节的文件。
批量删除修改时间大于7 天的文件
# find . -mtime +7 -exec rm {} \;
批量删除过期的trace 文件脚本(del.sh)
'2.70'*orcl-/home/oracle>cat -v del.sh
#!/bin/bash
for orACLE_SID in `cat /etc/oratab|\
egrep ':N|:Y'|cut -f1 -d':'`
do
orACLE_HOME=`cat /etc/oratab|grep ^$ORACLE_SID|cut -d":" -f2`
DBA=`echo $ORACLE_HOME|sed -e's:/product/.*::g'`/admin
find $DBA/$ORACLE_SID/bdump -name "*.trc" -mtime -10 -exec rm {} \;
find $DBA/$ORACLE_SID/udump -name "*.trc" -mtime -10 -exec rm {} \;
done
这里需要解释一下DBA=`echo $ORACLE_HOME|sed -e's:/product/.*::g'`/admin
'2.70'*orcl-/home/oracle>DBA=`echo $ORACLE_HOME|sed -e's:/product/.*::g'`/admin
'2.70'*orcl-/home/oracle>echo $DBA
/oracle/admin
将所有的/product/.*替换为空。这里就是把分割符号换成了冒号。你也可以这么来:
sed -e\'s%/product/.*%%g'`/admin
sed -e\'s#/product/.*##g'`/admin
:或#或%中间的特殊符号不被转义
生成空文件(touch)
touch 命令可以用来生成空文件,例如
'2.70'*orcl-/home/oracle>touch cjc.txt
修改默认的文件访问权限(Permissions)
使用umask 命令来设置默认的文件访问权限。掩码的值是服务器默认值(通常是777或者 644)和实际的Unix 用户默认文件权限的差值。例如,如果系统默认 777,用户创建文件的时候访问权限是 755,那么掩码就是 022。下面让我们先来理解 Unix下文件访问权限。
Unix 下文件访问权限分为 3 部分。每一部分代表不同类别用户的访问权限。这三类用户是:
文件所有者
和文件所有者在同一个组中的成员
其它的Unix 用户
因此,如果一个文件的访问权限是751,那么7 分配给所有者,5 分配给和所有者在同一个组中的其他成员,1 分配给其他用户。那么,这些数字到底代表什么意思呢?
访问权限值 含义
4 读权限
2 写权限
1 执行权限
通过上表我们可以推算出,7 代表全部权限,5 代表读和执行权限,以此类推。下面,让我们来看一个文件的具体权限。
plain text 纯文本
'2.70'*orcl-/home/oracle>ls -l cjc.txt
-rw-r--r-- 1 oracle oinstall 0 8月 25 19:25 cjc.txt
-l 列出文件的详细信息。
-表明这是一个plain 文件。如果是d 则表明是路径
这个文件的访问权限是644
不同的umask 的效果
假设系统默认的用户权限是 777,而我们不希望这样,就应该设置合适的umask。
Unix 的chown 命令可以修改文件的所有者。例如:
# chown oracle:oinstall *
'2.70'*orcl-/home/oracle>ls -al
-rw-r--r-- 1 oracle oinstall 229 8月 20 23:18 a.sh
-rw-r--r-- 1 oracle oinstall 0 8月 20 23:15 a.sh~
-rw------- 1 oracle oinstall 18268 8月 25 05:45 .bash_history
-rw-r--r-- 1 oracle oinstall 24 7月 28 15:43 .bash_logout
-rw-r--r-- 1 oracle oinstall 952 8月 25 19:19 .bash_profile
-rw-r--r-- 1 oracle oinstall 12288 7月 28 17:59 .bash_profile.swo
-rw-r--r-- 1 oracle oinstall 12288 7月 28 16:21 .bash_profile.swp
-rw-r--r-- 1 oracle oinstall 124 8月 10 22:44 .bashrc
-rw-r--r-- 1 oracle oinstall 235 8月 21 01:45 b.sh
-rw-r--r-- 1 oracle oinstall 0 8月 21 00:23 b.sh~
-rwxr-xr-x 1 oracle oinstall 248 8月 16 21:57 chaoge.sh
-rw-r--r-- 1 oracle oinstall 0 8月 16 21:53 chaoge.sh~
-rw-r--r-- 1 oracle oinstall 402 8月 19 20:06 chao.sh
上面的命令将文件所有者改成 oracle,所属的组改成 oinstall。如果想将所有子目录及其下面的都改掉,那么用-R 选项。
修改文件的访问权限
Unix 的chmod 命令可以修改文件的访问权限。例如:
# chmod 755 *
# chmod +x *
# chmod –r *
同样,如果想带子目录修改所有权限,也可以用 -R
如果我们要查看某个目录的总大小,可以用 du -sk 命令。例如
'2.70'*orcl-/home/oracle>du -sk /home/oracle
1888 /home/oracle
定位包含特定字符串的文件
'2.70'*orcl-/home/oracle>find . -name "*.sql" -print|xargs grep -i v\$session
./1.sql:select * from v$session;
查找最近创建的文件
'2.70'*orcl-/home/oracle> find . -mtime -1 -print
.
./find
./.ICEauthority
./du
./.bash_history
./1.sql
./.gconfd
./.gconfd/saved_state
./.gnome2
下面的命令查找 1 天内创建的文件。
查找系统中的大文件
下面的命令查找大于 10000 字节的文件:
'2.70'*orcl-/home/oracle>find . -size +10000c -print
./Desktop/oracle dba?unix??????.pdf
./.nautilus/sysstat-5.0.5-19.el4.i386.rpm
./.bash_profile.swo
./.kde/share/config/khotkeysrc
./.kde/share/apps/kconf_update/update.log
./.recently-used
如果不加 c,那么就是查文件大于 10000 个块(512 字节)的文件。有的 Unix 下可以加k,单位就是kb 。
查找大小在某个区间内的文件: 例如,查找大小在 100 到 120 个字节的文件
# find . -size +100c -size -120c -print
如果要查找大小正好是多大的文件,可以这样:
# find . -size 100c -print
上面的命令查找大小正好是 100 个字节的文件。
批量删除修改时间大于7 天的文件
# find . -mtime +7 -exec rm {} \;
批量删除过期的trace 文件脚本(del.sh)
'2.70'*orcl-/home/oracle>cat -v del.sh
#!/bin/bash
for orACLE_SID in `cat /etc/oratab|\
egrep ':N|:Y'|cut -f1 -d':'`
do
orACLE_HOME=`cat /etc/oratab|grep ^$ORACLE_SID|cut -d":" -f2`
DBA=`echo $ORACLE_HOME|sed -e's:/product/.*::g'`/admin
find $DBA/$ORACLE_SID/bdump -name "*.trc" -mtime -10 -exec rm {} \;
find $DBA/$ORACLE_SID/udump -name "*.trc" -mtime -10 -exec rm {} \;
done
这里需要解释一下DBA=`echo $ORACLE_HOME|sed -e's:/product/.*::g'`/admin
'2.70'*orcl-/home/oracle>DBA=`echo $ORACLE_HOME|sed -e's:/product/.*::g'`/admin
'2.70'*orcl-/home/oracle>echo $DBA
/oracle/admin
将所有的/product/.*替换为空。这里就是把分割符号换成了冒号。你也可以这么来:
sed -e\'s%/product/.*%%g'`/admin
sed -e\'s#/product/.*##g'`/admin
:或#或%中间的特殊符号不被转义
生成空文件(touch)
touch 命令可以用来生成空文件,例如
'2.70'*orcl-/home/oracle>touch cjc.txt
修改默认的文件访问权限(Permissions)
使用umask 命令来设置默认的文件访问权限。掩码的值是服务器默认值(通常是777或者 644)和实际的Unix 用户默认文件权限的差值。例如,如果系统默认 777,用户创建文件的时候访问权限是 755,那么掩码就是 022。下面让我们先来理解 Unix下文件访问权限。
Unix 下文件访问权限分为 3 部分。每一部分代表不同类别用户的访问权限。这三类用户是:
文件所有者
和文件所有者在同一个组中的成员
其它的Unix 用户
因此,如果一个文件的访问权限是751,那么7 分配给所有者,5 分配给和所有者在同一个组中的其他成员,1 分配给其他用户。那么,这些数字到底代表什么意思呢?
访问权限值 含义
4 读权限
2 写权限
1 执行权限
通过上表我们可以推算出,7 代表全部权限,5 代表读和执行权限,以此类推。下面,让我们来看一个文件的具体权限。
plain text 纯文本
'2.70'*orcl-/home/oracle>ls -l cjc.txt
-rw-r--r-- 1 oracle oinstall 0 8月 25 19:25 cjc.txt
-l 列出文件的详细信息。
-表明这是一个plain 文件。如果是d 则表明是路径
这个文件的访问权限是644
不同的umask 的效果
假设系统默认的用户权限是 777,而我们不希望这样,就应该设置合适的umask。
Unix 的chown 命令可以修改文件的所有者。例如:
# chown oracle:oinstall *
'2.70'*orcl-/home/oracle>ls -al
-rw-r--r-- 1 oracle oinstall 229 8月 20 23:18 a.sh
-rw-r--r-- 1 oracle oinstall 0 8月 20 23:15 a.sh~
-rw------- 1 oracle oinstall 18268 8月 25 05:45 .bash_history
-rw-r--r-- 1 oracle oinstall 24 7月 28 15:43 .bash_logout
-rw-r--r-- 1 oracle oinstall 952 8月 25 19:19 .bash_profile
-rw-r--r-- 1 oracle oinstall 12288 7月 28 17:59 .bash_profile.swo
-rw-r--r-- 1 oracle oinstall 12288 7月 28 16:21 .bash_profile.swp
-rw-r--r-- 1 oracle oinstall 124 8月 10 22:44 .bashrc
-rw-r--r-- 1 oracle oinstall 235 8月 21 01:45 b.sh
-rw-r--r-- 1 oracle oinstall 0 8月 21 00:23 b.sh~
-rwxr-xr-x 1 oracle oinstall 248 8月 16 21:57 chaoge.sh
-rw-r--r-- 1 oracle oinstall 0 8月 16 21:53 chaoge.sh~
-rw-r--r-- 1 oracle oinstall 402 8月 19 20:06 chao.sh
上面的命令将文件所有者改成 oracle,所属的组改成 oinstall。如果想将所有子目录及其下面的都改掉,那么用-R 选项。
修改文件的访问权限
Unix 的chmod 命令可以修改文件的访问权限。例如:
# chmod 755 *
# chmod +x *
# chmod –r *
同样,如果想带子目录修改所有权限,也可以用 -R
评论: 0 | 引用: 0 | 查看次数: 252
发表评论
上一篇
下一篇


文章来自:
Tags: 





