lftps=‘lftp 172.168.0.1/pub
编辑
/etc/bashrc
文件,在最后一行追加内容 "lftps=‘lftp 172.168.0.1/pub
",保存后执行source /etc/bashrc
/etc/passwd
文件中不以/bin/bash
结尾的行
grep -v ".+/bin/bash" /etc/passwd
/etc/passwd
文件中,包含二位数字或者三位数字的行。
egrep "\b[[:digit:]]{2,3}\b" /etc/passwd
/proc/meminfo
文件中以大写或小写S
开头的行;用三种方式实现
egrep -i "^s" /proc/meminfo
egrep "^[s|S].*" /proc/meminfo
sed -n "/^[s|S]/p" /proc/meminfo
sed "/^[s|S]/! d" /proc/meminfo
echo
输出一个绝对路径,使用egrep
取出路径名,类似执行dirname /etc/passwd
的结果
echo /etc/passwd | egrep -o ‘^/.+/‘
ifconfig
中的ip地址。要求结果只显示IP地址。
ifconfig | egrep -o "(([[:digit:]]{1,2}|1[[:digit:]]{2}|2[0-5]{2})\.){3}([[:digit:]]{1,2}|1[[:digit:]]{2}|2[0-5]{2})"
编辑
/etc/vimrc
文件,追加如下内容set ai set ts=4
#! /usr/bin/env bash
sum=0
for uname in user1 user2 user3; do
id $uname &> /dev/null && echo "$uname exists" || useradd $uname
uid=$(id -u $uname)
sum=$[$sum+$uid]
done
echo "uid sum = $sum"
- 常用用法:
find path 查找条件 处理动作
查找条件(可组合使用):
- -name string:根据文件名精确查找,可用glob通配符。
- -iname string:不区分大小写的
-name
。- -regex PATTERN:根据正则查找,匹配范围是整个路径,比如要查找
./fubar3
,应该用.*bar.
或.*b.*3’
,而不是f.*r3
。- -user USERNAME/UID:查找指定属主的文件。
- -group GNAME/GID:查找指定属组的文件。
- -uid UID:查找指定属主的文件
- -gid GID:查找指定属组的文件。
- -nouser:查找没有属主的文件。
- -nogroup:查找没有属组的文件。
- -type [fdcblps]:根据文件类型查找。
- -size [+-]n:根据文件大小查找,可用单位
[bcwkMG]
;+
表示大于,-
表示小于,不加表示精确匹配(也没那么精确,10M表示9-10M都符合条件)- -mtime [+-]days:
-
表示days
内修改过,+
表示days
前修改过,不加表示正好在days
修改过。- -ctime [+-]days:改变时间,
+-
含义同-mtime
。- -atime [+-]days:访问时间,
+-
含义同-mtime
。- -mmin n:
n分钟
前修改过文件内容,- -cmin n:
n分钟
前文件改变过。- -amin n:
n分钟
前文件被访问过。- -perm [=-/] MODE:按权限查找,
-
表示文件权限是MODE
超集,/
和+
表示权限中只要有一位能匹配就符合,不指定任何符号表示精确匹配。查找条件组合:
- -a:与条件
- -o:或条件
- -not:取反
处理动作
- -print:默认动作,打印结果到标准输出。
- -ls:以类似
ls -l
的格式打印每个文件的信息。- -delete:删除文件。
- -fls file:类似`-ls,但将结果保存到指定文件中。
- -ok COMMAND {};:交互模式执行指定命令,
{};
是固定写法,表示文件名占位符。- -exec COMMAND {};:非交互模式执行指定命令,
{};
是固定写法,表示文件名占位符。- 常用示例(引用课堂上的练习)
- 查找
/var
目录下属主为root
,且属组为find /var -user root -group mail
- 查找
/usr
目录下不属于root
,bin
或hadoop
的所有文件或目录;用两种方法
find /usr -not -user root -not -user bin -not -user hadoop
find /usr -not \( -user root -o -user bin -o -user hadoop \)
- 查找
/etc
目录下最近一周内
其内容修改过,且属主不是root
用户也不是hadoop
用户的文件或目录:find /etc -mtime 7 -not -user root -not -user hadoop
- 查找当前系统上没有
属主或属组
,且最近一周内
曾被访问过的文件或目录:find / \( -nouser -o -nogroup \) -atime -7
- 查找
/etc
目录下大于1M
且类型为普通文件
的所有文件:find /etc -size +1M -type f
- 查找
/etc
目录下所有用户
都没有写权限的文件:find /etc -not -perm +222 -type f
- 查找
/etc
目录至少有一类用户没有执行权限的文件:find /etc -not -perm -111 -type f
- 查找
/etc/init.d/
目录下,所有用户都有执行权限,且其它用户有写权限的所有文件:find /etc/init.d -perm -113 -type f
原文:http://blog.51cto.com/14058589/2324807