@commandersu
2018-08-22T12:26:36.000000Z
字数 2096
阅读 1205
考题
# 用户的提示符,输入的#相当于注释,系统不运行
! 对后边的名字取反
> 输出重定向
>> 追加输出重定向
1>正确的输出重定向
1>>正确的追加输出重定向
2>错误的输出重定向
2>>错误的追加输出重定向
&>不管正确错误都输出重定向
' (反引号) 优先执行反引号里边的东西
~ 当前所处位置的路径(代表每个用户的家目录)
&& 并且的意思,前后必须都有文件名。
|(管道符) 默认为将管道符左边的命令结果,以字符串的形式,通过管道符转移到管道符右边的命令的末尾,作为右边命令执行的范围
二 命令想关概念考核
1请解释什么叫相对路径。
答:绝不从根出发,从当前位置出发(将当前位置当作虚拟的根)到想要的位置的距离的路径叫做相对路径。
2请解释什么叫绝对路径。
答:从根出发到想要的位置的路径叫做绝对路径
3请解释什么叫做家目录?
答:家目录就是用户自己的目录,
4请解释什么叫做根?
答:根目录就是最上级的目录,最初始的目录
1 在跟下创建一个目录,目录的名字叫data。
答: mkdir /data
2 在data目录里创建一个文件,文件名为:yunjisuan.txt
答:touch /data/yunjisuan.txt
3 给yunjisuan增加内容"I am studying linux" (不能用VI或VIM的方式)
答:echo "I am studying linux" >> yunjisuan.txt
4 把yunjisuan.txt拷贝到根下的tmp目录里
答:cp yunjisuan.txt /tmp
5 把/data目录移动到/root目录里
答:mv /data /root
6 进入/root目录下的data目录里,然后在当前目录下创建文件yunjisuan01.txt和yunjisuan02.txt和yunjisuan03.txt和yunjisuan04.txt(要一次性创建多个文件)
答:touch /root/data/yunjisuan{01..04}.txt
7 回到root用户组的家目录里,删除当下的data目录里的所有文件,但唯独留下yunjisuan03.txt不删(要一次性实现,至少两种方法)
答:第一种:find . ! -name "yunjisuan03.txt" | xargs rm -f
第二种:find . -type f | grep -v "yunjisuan03.txt" | xargs rm -f
第三种:rm find -type f | grep -v "yunjisuan03.txt"
-f
8 返回到上级目录并且删除当前目录下的data目录
答:cd .. && rm dtat -rf
9 一致当前目录下有有若干文件和目录,删除以".sh" 结尾的所有文件(一条命令实现,至少两种方法)
答:第一种:find . -type f -name“*.sh” | xargs rm -r
第二种:rm *.sh -f
10 已知当前目录下,有若干文件和目录,将所有以"chen"开头的目录移动答/tmp目录下(一条命令实现,至少两种方法)
答:第一种 find . -type -name "chen*" | xargs -i mv {} /tmp
第二种find . -type d | grep "chen*" | xargs -i mv {} /tmp
11 已知data目录里有若干文件和目录,找出所有文件名里含有字母LOL的文件,复制到/tmp目录里。(一条命令实现,至少两种方法)
答:第一种:find . -type f -name "LOL" | xargs -i cp {} /mnt(lol前后都有*)
第二种: find . -type f -name "LOL" -exec cp {} /mnt \;(lol前后都有*)
12 已知yunjisuan.txt的文件内容,保持源文件内容不变,输出时去掉某行内容,输出结果不变,(一条命令实现,至少两种方法)
已知文件内容:
I am yunjisuan
I am liuyang
I am sujie
I am benet
I am liujialing
输出内容
I am yunjisuan
I am liuyang
I am benet
I am liujialing
答:第一种:cat yunjisuan | grep -v "I am sujie"
grep -v "I am sujie" yunjisuan.txt
第二种:head -2 yunjisuan.txt && tail -2 yunjisuan.txt
13 请用一条命令创建/yunjisuan/test即创建yunjisuan目录,以及/yunjisuan/test目录(一条命令实现)
答:mkdir -p /yunjisuan/test
14 只查看文件ett.txt(共100行)内的第20行到第30行的内容(一条命令实现,至少两条)
答:第一种:head -30 ett | tail 11
第二种:sed -n '20,30p' ett
第三种: AWK "NR>=20&&NR<=30" ett
15 把/yunjisuan目录及其子目录下所有以拓展名.sh结尾的文件中包含yunjisuan的字符串替换成welcome(一条命令实现)
答:find /yunjisuan -type f -name "*.sh" | xargs sed -i 's#yunjisuan#welcome#g'