Appearance
一,特殊符号考核(共26分,每个2分)
请解释如下符号的作用
tex
#:注释符号,不做命令输出
!(叹号):非。取反
>:清空输出重定向。先清空内容在输出内容
>>:追加输出重定向。在文件末尾追加内容
1>:正确清空输出重定向
1>>:正确追加输出重定向
2>:错误清空输出重定向
2>>:错误追加输出重定向
&>:正确或者错误都清空输出重定向
&>>:正确或者错误都住家输出重定向
``(反引号):优先执行代码
~:表示家目录
&&:并且。前面命令执行成功才会执行后面
||:或者。前面命令执行不成功才会执行后面
|(管道符):将左侧命令的结果传递到右侧末尾
二,命令相关概念考核(11分)
请解释什么叫做相对路径(3分)
相对路径用.
表示,从当前目录开始到目标目录
请解释什么叫做绝对路径(3分)
从根开始到目标路径
请解释什么叫做家目录(3分)
存储用户配置信息的目录叫做家目录
请解释什么叫做根(2分)
Linux一切从根/
开始,Linux下一切皆文件
三,命令应用考核(63分)
在根下创建一个目录,目录的名字叫做data(3分)
bash
mkdir /data
(接上题)在data目录里创建一个文件,文件名为:yunjisuan.txt(3分)
bash
touch /data/yunjisuan.txt
(接上题)给yunjisuan.txt增加内容“I am studying linux”(不能用vi或vim的方式)(3分)
bash
echo "I am studying linux" > yunjisuan.txt
(接上题)把yunjisuan.txt拷贝到根下的tmp目录里(3分)
bash
cp /data/yunjisuan.txt /tmp
(接上题)把/data目录移动到/root目录里(3分)
bash
mv /data /root/
(接上题)进入/root目录下的data目录里,然后在当前目录下创建文件yunjisuan01.txt和yunjisuan02.txt和yunjisuan03.txt和yunjisuan04.txt(要一次性创建多个文件)(3分)
bash
touch /root/data/yunjisuan{01..04}.txt
(接上题)回到root用户的家目录里,删除当前目录下的data目录里的所有文件,但唯独保留yunjisuan03.txt不删(要一次性删除来实现(至少两种方法))(6分)
第一种
bash
find ~/data -type f ! -name "yunjisuan03.txt" -delete
第二种
bash
rm -rf `find ~/data -type f ! -name "yunjisuan03.txt"`
第三种
bash
find ~/data -type f ! -name "yunjisuan03.txt" | xargs -I{} rm -rf {}
第四种
bash
find ~/data -type f ! -name "yunjisuan03.txt" -exec rm -rf {} \
第五种
bash
ls | rm -rf `grep -v "yunjisuan03.txt"`
第六种
bash
ls | grep -v "yunjisuan03.txt" | xargs -I{} rm -rf {}
(接上题)返回到上级目录,并删除当前目录下的data目录(3分)
bash
cd ..;rm -rf data
# 或
cd .. && rm -rf data
已知当前目录下,有若干文件和目录,删除以.sh结尾的所有文件(一条命令实现,至少两种方法)(6分)
第一种
bash
rm -rf `find -type f -name "*.sh"`
第二种
bash
find -type f -name "*.sh" -exec rm -rf {} \;
第三种
bash
find -type f -name "*.sh" -delete
第四种
bash
find -type f -name "*.sh" | xargs -I{} rm -rf {}
第五种
bash
rm -rf *.sh
第六种
bash
rm -rf `ls *.sh`
第七种
bash
ls *.sh | xargs -I{} rm -rf {}
已知当前目录下,有若干文件和目录,将所有以chen开头的目录移动到/tmp目录下(一条命令实现,至少两种方法)(6分)
第一种
bash
mv chen* /tmp/
第二种
bash
mv `find -type d -name "chen*"` /tmp/
第三种
bash
find -type d -name "chen*" -exec mv /tmp/
第四种
bash
find -type d -name "chen*" | xargs -I{} mv {} /tmp/
已知/data目录里,有若干文件和目录,找出所有文件名里含有字母LOL的文件,复制到/mnt目录里。(一条命令实现,至少两种方法)(6分)
第一种
bash
find -type f -name "*LOL*" -exec cp {} /mnt/ \;
第二种
bash
find -type f -name "*LOL*" | xargs -I{} cp {} /mnt/
已知yunjisuan.txt文件内容,保持原文件内容不变,输出内容时去掉某行内容后,输出结果。(一条命令实现,至少两种方法)(6分)
已知文件内容:
tex
I am yunjisuan
I am liuyang
I am sunjie
I am benet
I am liujialing
输出内容:
tex
I am yunjisuan
I am liuyang
I am benet
I am liujialing
第一种
bash
grep -v "sunjie" yunjisuan.txt
第二种
bash
sed '/sunjie/d' yunjisuan.txt
第三种
bash
awk '!/sunjie/' yunjisuan.txt
请用一条命令完成创建目录/yunjisuan/test,即创建/yunjisuan目录及/yunjisuan/test目录(一条命令实现)(3分)
bash
mkdir -p /yunjisuan/test
只查看文件ett.txt(共100行)内第20到第30行内容。(一条命令实现,至少两种方法)(6分)
第一种
bash
head -30 ett.txt | tail -11
第二种
bash
sed -n '20,30p' ett.txt
第三种
bash
awk 'NR>=20&&NR<=30' ett.txt
把/yunjisuan目录及其子目录下所有以扩展名.sh结尾的文件,文件中包含yunjisuan的字符串全部替换为welcome(一条命令实现)(3分)
第一种
bash
find /yunjisuan -type f -name "*.sh" -exec sed -i.bak 's/yunjisuan/welcome/g' {} \;
第二种
bash
find /yunjisuan -type f -name "*.sh" | xargs -I{} sed -i 's/yunjisuan/welcome/g' {}
第三种
bash
sed -i.bak 's/yunjisuan/welcome/g' `find . -type f -name "*.sh"`