标签:替换 too 出现 res 方法 test sysconf egrep sem
1 显示/var目录下所有以1开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录
ls -d /var/l*[0-9]*[[:lower:]]
2 显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录
ls -d /etc/[0-9]*[^0-9]
3 显示/etc目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录
ls -d /etc/[^a-Z][a-Z]*
4 显示/etc目录下所有以rc开头,并后面是0-6之间的数字,其它为任意字符的文件或目录
ls -d /etc/rc[0-6]*
5 显示/etc目录下,所有以.d结尾的文件或目录
ls -d /etc/*.d
6 显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录
ls -d /etc/[mnrp]*.conf
7 只显示/root下的隐藏文件和目录
ls -a --ignore=[^.]* /root
ls -a -I "[^.]*" /root
ls -d .* /root
8 只显示/etc下的非隐藏目录
ls -d /etc/*/
9 显示/etc目录下所有以k开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录
ls -d /etc/k*[[:digit:]]*[[lower]]
1 显示/proc目录下名字由任意三位数字组成的文件或目录
ls -d /proc/[0-9][0-9][0-9]
2 显示/var/log目录下文件名包含符号及数字的文件或目录
ls -d /var/log/*[[:punct:]]*[0-9]*
3 显示/usr/share/man目录下所有以m开头,以一个数字和x结尾的文件或目录
ls -d /usr/share/man/m*[0-9]x
4 显示/etc目录下,所有以一个大写字母开头,以两个数字结尾的文件或目录
ls -d /etc/[[:upper]]*[0-9][0-9]
5 显示/etc目录下,文件名至少包含一个小写字母和一个数字并以.conf结尾的文件或目录
ls -d /etc/[[:lower]]*[0-9]*.conf
6 只显示用户家目录下的非隐藏目录
ls -d ~/*/
7 定义别名命令baketc,每天将/etc目录下所有文件,备份到/testdir独立的子目录下,并要求子目录格式为 backupYYYY-mm-dd, 备份过程可见
alias baketc=‘mkdir -p /testdir/backup$(date +%F);cp -av /etc/* /testdir/backup$(date +%F)‘
8 创建/testdir/rootdir目录,并复制/root下所有文件到该目录内,要求保留原有权限
9 将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
cat /etc/issue |tr a-z A-Z > /tmp/issue.out
tr a-z A-z < /etc/issue > /tmp/issue.out
1 将当前系统登陆用户的信息转换为大写后保存至/tmp/who.out文件中
who | tr [a-z] [A-Z] >tmp/who.out
2 一个Linux用户给root发邮件,要求邮件标题为“help”,邮件正文如下:Hello,I am 用户名,The system version is here,please help me to check it ,thanks 操作系统版本信息
echo -e Hello,I am `whoami`,The system version is here,Please help me to check it,Thanks."\n"`cat /etc/rebhat-release` | mail -s help root
3 将/root/下文件列表,显示成一行,并文件名之间用空格隔开
ls -l /root/ |tr "\n" "
1 计算1+2+3+..+99+100的总和 echo 1+2 |bc echo { 1..100}
echo {1..100} |tr " " + |bc
2 处理字符串“xt.,l 1 jr#hat-releasemn 2 c*/fe 3 uz 4”,只保留其中的数字和空格
echo "xt.,l 1 ji#hat-releasemn 2 c*/fe 3 uz 4" | tr -cd [:digit:][:blank:]
3 将PATH变量每个目录显示在独立的一行
echo $PATH |tr : "\n"
4 创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为“Gentoo Distrbution”
5 创建下面的用户,组和组成员关系
名字为admins的组
用户natasha,使用admins作为附属组
用户harry,也使用admins作为附属组
用户sarah,不可交互登陆系统,且不是admins的成员,
natrsha,harry,sarah密码都是centos
6 当用户xiaoming对/testdir目录无执行权限时,意味着无法做哪些操作?
7 当用户xiaoqiang对/testdir目录无读权限时,意味着无法做哪些操作?
8 当用户wangcai对/testdir目录无写权限时,该目录下的只读文件filel是否可以修改和删除?
9 当用户wangcai对/testdir目录有写和执行权限时,该目录下的只读文件filel是否可修改和删除?
1 刘备关羽张飞三个用户有一个共享目录叫shuguo,要求三人的主组不一样的情况下,三人在shuguo目录下所创建的文件 ,彼此之间可以读取及修改。但不能删除其他人创建的文件。
2 在/testdir/dir里创建的新文件自动属于g1组,组g2的成员如:alice能对这些新文件有读写权限,组g3的成员如: tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。
3 备份/testdir/dir里所有文件的ACL权限到/root/acl.txt中,清除/testdir/dir中所有ACL权限,最后还原ACL权限
4 利用df,取出分区利用率的最大值,只要数字。
df |tr -s " " : |cut -d: -f5 |sort -n |tail -n1 |cut -d% -f1
5 通过查看httpd的访问日志/var/log/httpd/access_log来显示出访问网站最多的来源ip列表,显示结果时显示出访问次数。
cut -d" " -f1 access_log |sort |unip -c |sort -nr
网站的部署过程
[root@centos6 ~]# service httpd restart
[root@centos6 ~]# iptables -F
[root@centos6 ~]# cd /var/www/html/
[root@centos6 html]# vim index.html
6 以数字方式显示/etc/passwd文件的权限
stat -c %a /etc/passwd
stat /etc/passwd |head -4 |tail -1 |tr [:punct:] - |cut -d- -f3 |cut -c 2-4
7 找出ifconfig “网卡名” 命令结果中本机的IPv4地址
ifconfig eth0 |head -2 |tail -1 |tr -s " " : |cut -d: -f4
8 查出分区空间使率的最大百分比值
9 查出用户UID最大值的用户名,UID及shell类型
cat /etc/passed |cut -d : -f1,3,7 | sort -t: -k2 -n |tail -n 1
1 查出/tmp的权限,以数字方式显示
2 统计当前本机运行的进程数,并按从大到小排序 ps axo comm
ps axo comm | sort -r | unip -c |sort -nr
3 去除配置文件中的注释行和空白行 (正则表达式)
grep -v "^#\|^[[:blank:]]*$" /etc/httpd.conf
4 显示/proc/meminfo文件中以大小s开头的行(要求:使用两种方法)
cat /proc/meminfo |grep "^s\|S"
cat /proc/meminfo |grep -i ^s
grep ^[sS] /prec/meminfo
grep -e ^s -e ^S /prec/meminfo
5 显示/etc/passwd文件中不以/bin/bash结尾的行
cat etc/passwd |grep -v "/bin/bash$"
6 显示用户rpc默认的shell程序
grep -w "^rpc" /etc/passwd |cut -d: -f7
7 找出/etc/passwd中的两位或三位数
cat /etc/passwd | grep -o "\<[[:digit:]]\{2,3\}\>"
8 添加用户bash,basher,sh,nologin(其shell为/sbin/nologin),找出 /etc/passwd用户名同shell名的行
cat /etc/passwd | grep "\(^.*\)\>.*\<\1$"
9 利用df和grep,取出磁盘个分区利用率,并从大到小排序
df |grep -o "[0-9]\{1,3\}%" | grep -o "[0-9]\+" | sort -nr
df |grep "^/dev/sd" |grep -o "[[:digit:]]\{1,3\}%" |tr -d% |sort -nr
1 显示Centos7的/etc/grep2.cfg文件中,至少以一个空白字符开头的且后面存非空白字符的行
cat /etc/grub2.cfg | grep "^[[:space:]]\+[^[:space:]]"
2 找出“netstat -tan”命令的结果中以‘LISTEN’后跟任意多个空白字符结尾的行
netstat -tan |grep "LISTEN[[:space:]]\+$"
3 显示Centos7上所有系统用户的用户名和UID
cat /etc/passwd |cut -d: -f1,3 |grep "\<[0-9]\{1,3\}\>"
4 显示三个用户root,mage,wang的UID和默认的shell
cat /etc/passwd |egrep "^(root|mage|wang)\>"|cut -d: -f3,7
5 找出/etc/rc.d/init.d/functions文件中行首为某单词(包括下划线)后面跟一个小括号的行
egrep "^[_[:alnum:]]+\(\)" /etc/rc.d/init.d/functions
6 使用egrep取出/etc/rc.d/init.d/functions中其基名
echo /etc/tc.d/init.d/functions |egrep -o "[^/]+$"
7 使用egrep取出上面路径的目录名
echo /etc/tc.d/init.d/functions | egrep -o ".*/." |egrep -o ".*/"
8 统计last命令中以root登录的每个主机IP地址登录次数
last |grep "^root\>" |egrep -o "([[:digit:]]{1,3}.){3}[[:digit:]]{1,3}" |sort -nr |unip -c
9 利用扩展正则表达式分别表示0-9,10-99,100-199,200-249,250-255
[0-9]
[0-9][0-9]
1[0-9]{2}
2[0-4][0-9]
25[0-5]
1 显示ifconfig命令结果中所有IPv4地址
ifconfig | egrep "\<(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])" -o
2 将此字符串:welcome to magedu linux 中的每个字符去重并排序,重复次数的排到前面
echo welcome to magedu linux | grep -o . | sort | uniq -c | sort -nr
3 复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首地空白字符
4 复制/etc/rc.d/init.d/functions文件至/tmp目录,用查找替换命令为/tmp/functions的每行开头为空白字符的行的行首添加一个#好
5 在vim中设置tab缩进为4个字符
vim /etc/vimrc
set tabstop=4
6 复制/etc/rc.d/init.d/functions文件至/tmp目录,替换/tmp/functions文件中的/etc/sysconfing/init为/var/log
:%s,/etc/systionfig/init,/var/log,g
7 删除/tmp/functions文件中所有以#开头,且#后面至少有一个空白字符的行的行首的# 号
%s@^#\([[:space:]]\+.*\)@\1@g
标签:替换 too 出现 res 方法 test sysconf egrep sem
原文地址:http://blog.51cto.com/13570199/2068738