Linux shell练习题——grep、|、ln、chmod、vim

练习⼀: 复习

1. 打开终端窗⼝, 使⽤ pwd 命令查看⾃⼰所在⽬录.
pwd
2. 使⽤ cd 命令通过相对路径切换到根(/)⽬录
cd ../..
3. 使⽤ cd - 切换到上次所在的⽬录
cd -
4. 使⽤ ls 命令以列表的形式查看当前⽬录下所有的⽂件(包括隐藏⽂件),并将输出结果重定向到桌⾯的 my.txt ⽂件中.
ls -la > Desktop/my.txt
5. 在当前⽬录中使⽤ cat 命令查看⽂件内容.
cat Desktop/my.txt
6. 使⽤ cd 命令通过绝对路径⽅式切换到桌⾯⽬录下
cd /home/zhen/Desktop
7. 使⽤ mkdir -p 命令在桌⾯⽬录创建 hello1 ⽬录、hello2 ⽬录, 并在hello1⽬录创建⼦⽬录 world1, 在 hello2 ⽬录下创建⼦⽬录 world2.
mkdir -p hello1/world1 hello2/world2
8. 在桌⾯创建 a.txt、b.txt、c.log、d.log 四个⽂件.
touch a.txt b.txt c.log d.log
①. 双击打开 a.txt, 并在⽂件中输⼊内容 hello a.txt
②. 双击打开 b.txt, 并在⽂件中输⼊内容 hello.b.txt
③. 双击打开 c.log, 并在⽂件中输⼊内容 hello c.log
④. 双击打开 d.log, 并在⽂件中输⼊内容 hello d.log
9. 使⽤ ls *.log 查看所有的以 log 结尾的⽂件, 并将所有以 log 结尾的⽂件名写⼊到 桌⾯的 file.log ⽂件中
ls *.log > file.log
10. 使⽤ cat 命令将 a.txt b.txt ⽂件内容合并到 ab.txt ⽂件, 并将 ab.txt⽂件移动到 hello1/world1 ⽬录中.
cat a.txt b.txt > ab.txt
mv ab.txt hello1/world1
11. 使⽤ cat 命令将 c.log d.log ⽂件内容合并到 cd.log ⽂件, 并将 cd.log⽂件移动到 hello2/world2 ⽬录中.
cat c.log d.log > cd.log
mv cd.log hello2/world2/cd.log
12. 使⽤ tree 命令查看桌⾯⽬录结构, 并将输出结果存储到桌⾯的abcd.txt ⽂件中.
tree > abcd.txt
13. 使⽤ cat 命令查看 abcd.txt ⽂件内容
cat abcd.txt
14. 使⽤ mkdir 命令创建 backup ⽬录, 将 hello1、hello2 两个⽬录拷⻉到 backup ⽬录中.
mkdir backup
cp -r hello1 hello2 backup
15. 使⽤ ls --help 命令将 ls 帮助信息保存到桌⾯⽬录下 help.txt ⽂件中
ls --help > help.txt
16. 使⽤ rm 命令删除 abcd.txt ⽂件
rm abcd.txt
17. 使⽤ rm 命令删除 hello1、hello2 两个⽬录
rm -r hello1 hello2
18. 使⽤ mv 命令将 help.txt ⽂件重命名为 ls_help.txt, 并移动到 backup⽬录中.
mv help.txt ls_help.txt
19. 使⽤ rm *.txt *.log 删除桌⾯以 log 结尾、以 txt 结尾的所有⽂件.(注意: 如果桌⾯有其他重要⽂件,⼀定要备份好).
rm *.txt *.log
20. 最后桌⾯就剩下 backup ⽬录.

练习⼆: grep

1. 在 test.txt 中使⽤ grep 命令查找 包含数字 12 的所有⾏.
grep 12 test.txt
2. 在 test.txt 中使⽤ grep 命令查找包含 will 的所有⾏.
grep 'will' test.txt
3. 在 test.txt 中使⽤ grep 命令查找以 t 或者 a 开头的所有⾏
grep '^[ta]' test.txt
4. 在 test.txt 中使⽤ grep 命令查找以 years 结尾的所有⾏
grep 'years$' test.txt
5. 在 test.txt 中使⽤ grep ‘^…e’ test.txt 命令查找满⾜条件的所有⾏
grep '^..e' test.txt

练习三: 管道

1. 使⽤ cd 命令切换到 /usr/bin ⽬录下
cd /usr/bin
2. 使⽤管道 ls | grep ‘^n’ 将以 n 开头的⽂件名写⼊到桌⾯的 files.txt ⽂件中
ls | grep '^n' > /home/zhen/Desktop/file.txt
3. 使⽤管道以列表的形式将所有的⾮m结尾的⽂件名字追加写⼊到桌⾯的 file.txt ⽂件中
ls | grep -v 'm$' >> /home/zhen/Desktop/file.txt

练习四: ln

1. 使⽤ echo ‘hello world’ > hello.txt 命令在桌⾯创建 hello.txt ⽂件.
echo 'hello world' > hello.txt
2. 使⽤ mkdir 在桌⾯创建 folder ⽬录
mkdir folder
3. 使⽤ ln -s 命令在桌⾯创建 hello.txt ⽂件的软链接 symbolic_link
ln -s hello.txt symbolic_link
4. 使⽤ cat symbolic_link 命令通过软链接查看 hello.txt ⽂本内容
cat symbolic_link
5. 使⽤ mv 命令将 symbolic_link 移动到 folder ⽬录下
mv symbolic_link folder/
6. 使⽤ cd 命令切换到 folder ⽬录下
cd folder
7. 使⽤ cat symbolic_link 命令通过软链接再次查看 hello.txt ⽂本内容,是否能查看? 提示信息是什么?
不能查看,报错:cat: symbolic_link: No such file or directory
8. 使⽤ rm 命令删除软连接 symbolic_link
rm symbolic_link
9. 使⽤ cd 命令回到桌⾯
cd ..
10. 使⽤ ln -s 命令通过绝对路径⽅式创建对 hello.txt ⽂件的软连接symbolic_link
ln -s /home/zhen/Desktop/hello.txt symbolic_link
11. 使⽤ mv 命令将 symbolic_link 移动到folder⽬录下
mv symbolic_link folder
12. 使⽤ cat symbolic_link 命令通过软链接再次查看 hello.txt ⽂本内容,是否能查看?
cd floder
cat symbolic_link
13. 使⽤ cd 命令切换到桌⾯
cd ..
14. 使⽤ rm 删除源⽂件 hello.txt
rm hello.txt
15. 使⽤ cd 切换到folder ⽬录, 使⽤ cat 命令通过软连接 symbolic_link查看⽂件内容, 是否能够查看?
不能,报错:
cat: symoblic_link: No such file or directory
16. 使⽤ cd 命令切换到桌⾯
cd ..
17. 使⽤ echo ‘hello world’ > hello.txt 命令在桌⾯创建 hello.txt ⽂件.
echo 'hello world' > hello.txt
18. 使⽤ ln 命令创建对 hello.txt ⽂件的硬链接 hard_link
ln hello.txt hard_link
19. 使⽤ rm 命令删除源⽂件 hello.txt
rm hello.txt
20. 使⽤ cat hard_link 命令查看⽂件内容, 是否能够查看?
cat hard_link
可以查看,硬链接相当于备份

练习五: chmod

1. 使⽤ cd 命令进⼊桌⾯⽬录
cd /home/zhen/Desktop
2. 使⽤ touch 命令创建 hello1.txt、hello2.txt ⽂件
touch hello1.txt hello2.txt
3. 使⽤ chmod 字⺟法给 hello1.txt ⽂件设置权限: ⽤户 rw ⽤户组: r 其他: x
chmod u=rw,g=r,o=x hello1.txt
4. 使⽤ chmod 字⺟法给 hello2.txt ⽂件设置权限: ⽤户r ⽤户组: x 其他:rw
chmod u=r,g=x,o=rw hello2.txt
5. 双击打开 hello2.txt, 是否能够编辑该⽂件?
可以打开,编辑的内容不能保存
6. 在桌⾯创建⽬录 folder
mkdir folder
7. 在 folder ⽬录中创建 a.txt b.txt ⽂件
touch folder/a.txt folder/b.txt
8. 使⽤ chmod 命令去掉 folder⽬录的⽤户的 r 权限
chmod u-r folder
9. 使⽤ ls folder 命令尝试查看⽂件列表, 注意是否能够查看?
ls folder
不能,报:ls: cannot open directory 'folder/': Permission denied
10. 使⽤ chmod 命令给 folder⽬录⽤户增加 r权限
chmod u+r folder
11. 使⽤ ls folder 命令能够查看⽂件列表
ls folder
12. 使⽤ chmod 命令去掉 folder ⽬录⽤户的 w 权限
chmod u-w folder
13. 使⽤ cd 命令切换到 folder ⽬录中, 尝试使⽤ touch 命令创建⽂件test.txt
cd folder
touch test.txt
不可以,创建报错:touch: cannot touch 'test.txt': Permission denied
14. 使⽤ cd 回到 folder ⽬录的上⼀级⽬录
cd ..
15. 使⽤ chmod 命令为 folder ⽬录增加 w 权限
chmod u+w folder
16. 再次尝试在 folder ⽬录中创建 test.txt ⽂件
touch folder/test.txt
可以创建

练习六:vim

1. 使⽤ cd 命令切换到桌⾯⽬录
cd /home/zhen/Desktop
2. 使⽤ vim 创建 hello.txt ⽂件
vim hello.txt
3. 输⼊ i 切换到编辑模式
i
4. 在 hello.txt ⽂件中输⼊以下内容

《咏泰⼭》

远看泰⼭⿊乎乎,

上头细来下头粗.

如把泰⼭倒过来,

下头细来上头粗.

5. 使⽤ ESC 键切换到命令模式
ESC
6. 输⼊冒号(:w) 完成⽂件内容保存.
:w
7. 再次输⼊冒号(:set nu) 显示⽂件⾏号.
:set nu
8. 再次输⼊冒号(:3) 光标移动到第3⾏
:3
9. 在命令模式下, 输⼊O在第3⾏上⾯增加⼀⾏, 内容以下:

以上两句诗歌充分表达了诗人对泰山的暧昧.

O
以上两句诗歌充分表达了诗人对泰山的暧昧.
10. 在命令模式下, 输⼊ G 光标定位到⽂件末尾
Esc
G
11. 在命令模式下, 输⼊ o 在末尾⾏后⾯增加⼀样, 内容如下:

以上两句诗歌充分表达了诗人乱七八糟的心态.

O
以上两句诗歌充分表达了诗人乱七八糟的心态.
  1. 在命令模式下, 输⼊ v 选中诗歌的前 4 ⾏
Esc
v
13. 在命令模式下, 将前4⾏中的泰⼭两个字替换成⻩⼭.
:1,4s/泰山/黄山/g
14. 在命令模式下, 拷⻉最后两⾏内容
2yy
15. 在命令模式下, 将拷⻉的内容粘贴到第3⾏下⽅.
:4
p
16. 在命令模式下, 使⽤ dd 删除第3⾏内容.
:3
dd
17. 在命令模式下, 退出保存该⽂件.
:wq

你可能感兴趣的:(linux,vim,ubuntu,shell,bash)