赞
踩
1、显示/etc目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录列表
ls -d /etc/l*[[:digit:]]*[[:lower:]]
2、显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录列表
ls -d /etc/[[:digit:]]*[^[:digit:]]
3、显示/etc目录下以非字母开头,后面跟了一个字母及其他任意长度任意字符的文件或目录列表
ls -d /etc/[^[:alpha:]][[:alpha:]]*
4、显示/etc目录下所有以rc开头,并后面是0-6之间的数字,其他以任意字符的文件或目录列表
ls -d /etc/rc[0-6]*
5、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录列表
ls -d /etc/[mnrp]*.conf
6、只显示/root下的隐藏文件或目录列表
ls -d /root/.*
7、只显示/etc下的非隐藏目录列表
ls -d /etc/[^.]*/
8、如何创建/testdir/dir1/x,/testdir/dir1/y,/testdir/dir1/x/a,/testdir/dir1/x/b,/testdir/dir1/y/a,
/testdir/dir1/y/b
mkdir -p /testdir/dir1/{x..y}/{a..b}
tree
9、如何创建/testdir/dir2/x,/testdir/dir2/y,/testdir/dir2/x/a,/testdir/dir2/x/b
mkdir -pv testdir/dir2/{x/{a,b},y}
10、如何创建/testdir/dir3、/testdir/dir4、/testdir/dir5、/testdir/dir5/dir6、/testdir/dir5/dir7
mkdir -pv testdir/dir{3,4,5/dir{6,7}}
11、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
tr 'a-z' 'A-Z' < /etc/issue > /tmp/issue.out
12、将当前系统登录用户的信息转换为大写后保存至/tmp/who.out文件中
who | tr 'a-z' 'A-Z' > /tmp/who.out
13、一个linux用户给root发邮件,要求邮件标题为“help” ,邮件正文如下:
Hello,I am 用户名 ,The system version is here,please help me to check it .Thank you!
操作系统版本信息
mail -s help root <<EOF
> Hello,I am `whoami`,The system version is here,please help me to check it.Thank you!
> `cat /etc/redhat-release `
> EOF
14、将/root下文件列表,显示成一行,并文件名之间用空格隔开
ls /root | tr '/n' ' '
15、计算1+2+3+…+99+100的总和
seq -s + 1 100 | bc
echo {1..100} | tr ' ' + | bc
16、删除windwos文本中的回车字符,即“/r”
file windows.txt
windows.txt: ASCII text, with CRLF line terminator
hexdump -C windows.txt
00000000 61 0d 0a 62 0d 0a 63 |a..b..c|
00000007
tr -d '\015' < windows.txt > linux.txt
hexdump -C linux.txt
00000000 61 0a 62 0a 63 |a.b.c|
00000005
17、处理字符串“xt.,l 1 jr#!$mn 2 c*/fe 3 uz 4”,只保留其中的数字和空格
echo “xt.,l 1 jr#linux.txtmn 2 c*/fe 3 uz 4” | tr -cd [:digit:][:space:]
1 2 3 4
-cd取补集,除了后面条件的其他全删
tr -dc abc
aaasdfa
adafafsfg
ctrl+d 结束返回
18、将PATH变量每个目录显示在独立的一行
echo $PATH | tr ':' '\n'
19、将指定文件中0-9分别替代成a-j
tr '0-9' 'a-j' <num.txt
20、将文件/etc/centos-release中每个单词(由字母组成)显示在独立的一行,并无空行
tr -c [:alpha:] '\n' < /etc/centos-release | tr -s [:space:]
21、创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为“Gentoo Distribution”
useradd -G bin,root -s /bin/csh -c "Gentoo Distribution" gentoo
id gentoo
uid=1002(gentoo) gid=1003(gentoo) groups=1003(gentoo),1(bin),0(root)
22、创建下面的用户、组和组成员关系
名字为webs的组
用户nginx,使用webs作为附加组
用户varnish,使用webs作为附加组
用户mysql,不可交互登录系统,且不是webs的成员,nginx,varnish,mysql密码都是magedu
groupadd webs seradd nginx -G webs useradd varnish -G webs useradd mysql -s /sbin/nologin echo magedu | passwd --stdin nginx Changing password for user nginx. passwd: all authentication tokens updated successfully. echo magedu | passwd --stdin varnish > /dev/null echo magedu | passwd --stdin mysql > /dev/null groupmems -l -g webs nginx varnish groups nginx nginx : nginx webs groups varnish varnish : varnish webs 查看命令:cat /etc/passwd 查看命令:getent passwd 名称 nginx:x:1003:1005::/home/nginx:/bin/bash varnish:x:1004:1006::/home/varnish:/bin/bash mysql:x:1005:1007::/home/mysql:/sbin/nologin
23、当用户docker对/testdir 目录无执行权限时,意味着无法做哪些操作?
无法cd,无法列出目录里的文件
24、当用户mongodb对/testdir 目录无读权限时,意味着无法做哪些操作?
能进入进行创建删除操作,无法列出文件
25、当用户redis 对/testdir 目录无写权限时,该目录下的只读文件file1是否可修改和删除?
不可以
26、当用户zabbix对/testdir 目录有写和执行权限时,该目录下的只读文件file1是否可修改和删除?
不能修改(文件没有写权限) 能删除(目录有写权限)
27、复制/etc/fstab文件到/var/tmp下,设置文件所有者为tomcat读写权限,所属组为apps组有读写权限,其他人无权限
cp /etc/fstab /var/tmp
useradd tomcat ; groupadd apps ; chown tomcat:apps /var/tmp ; chmod 660 /var/tmp
28、误删除了用户git的家目录,请重建并恢复该用户家目录及相应的权限属性
cp -r /etc/skel/ /home/git/
chown git:git /home/git/
chmod 600 /home/git/
skel目录下有创建家目录所需的隐藏配置文件(默认配置/etc/default/useradd)
cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
ls -a /etc/skel/
. .. .bash_logout .bash_profile .bashrc
29、在vim中设置tab缩进为4个字符
方法1:全局生效
vim /etc/vimrc
set ts=4
:wq!
方法2:个人
vim ~/.vimrc
set ts=4
:wq!
方法3:仅当前文本编辑中有效
:set ts=4
30、复制/etc/rc.d/init.d/functions文件至/tmp目录,替换/tmp/functions文件中的/etc/sysconfig/init为/var/log
cp -a /etc/rc.d/init.d/functions /tmp/funtions
vim /tmp/funtions
普通模式下
:%s@/etc/sysconfig/init@/var/log@g
31、删除/tmp/functions文件中所有以#开头,且#后面至少有一个空白字符的行的行首的#号(明明有简单的,为什么要用难的_〆(´Д` )…审题万岁)
:%s/^# / /g
:%s@^#\([[:space:]]\+\)@\1@g
解读:全文把"# "用” “替换
%全文 s查找并替换 ^#行首锚定,确认所有以#开头 \([[:space:]]\+.*\)正则表达式,\+表示至少有一
个空格 \1表示从左侧起第一个左括号以及与之匹配右括号之间的模式所匹配到的字符,及[[:space:]]\+
可使用diff对两个文件进行比较
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。