1 文件系统
home
是用户工作目录,bin
存各种可执行文件,var/log
存日志,lib
存头文件/各种静态的库,proc/cpuinfo
存的是 CPU
的信息,etc
存各种配置,root
为根目录
登陆后看到的目录是 home/acs
/
表示根目录,.
表示当前目录,..
表示上一目录,~/
表示家目录
输入 homework
会显示课程用法
homework 数字 show
显示作业内容
命令
+ --help
能够显示该条命令的参数
2 常用命令介绍
ctrl c
: 取消命令,并且换行ctrl u
: 清空本行命令tab
键:可以补全命令和文件名,如果补全不了快速按两下tab
键,可以显示备选选项↑
可以把上一条命令写出来,再↑
可以写上上条命令ls
: 列出当前目录下所有文件,蓝色的是文件夹,白色的是普通文件,绿色的是可执行文件ls -a
: 显示隐藏文件ls -l
: 显示详细信息ls -lh
: 将详细信息里的大小转为多少kls | wc -l
:查看ls
下有多少个文件pwd
: 显示当前路径cd XXX
:进入XXX
目录下,cd ..
返回上层目录cd -
:在上一个访问目录和当前目录来回切换cp XXX YYY
: 将XXX
文件复制成YYY
,XXX
和YYY
可以是一个路径,比如../dir_c/a.txt
,表示上层目录下的dir_c
文件夹下的文件a.txt
cp XXX YYY -r
:将XXX
目录(文件夹)复制到YYY
下- 也可以实现重命名,比如:
cp ./a/tmp.text ./b/tmp2.txt
。实际上cp
命令的本质是复制+粘贴+重命名 mkdir XXX
: 创建目录XXX
mkdir -p
:如果文件夹不存在,则创建rm XXX
: 删除普通文件;rm XXX -r
: 删除文件夹- 支持正则表达式,删除所有
.txt
类型文件:rm *.txt
- 删除所有文件(不包括文件夹):
rm *
- 正则表达式删除所有文件夹:
rm * -r
- 支持正则表达式,删除所有
mv XXX YYY
: 将XXX
文件移动到YYY
,和cp
命令一样,XXX
和YYY
可以是一个路径;重命名也是用这个命令touch XXX
: 创建一个文件cat XXX
: 展示文件XXX
中的内容- 复制文本
- windows/Linux下:
Ctrl + insert
- Mac下:
command + c
- win11下:
Ctrl + fn + insert
- windows/Linux下:
- 粘贴文本
- windows/Linux下:
Shift + insert
- Mac下:
command + v
- win11下:
Shift + fn + insert
- windows/Linux下:
history
:查看历史输入指令tree
:以树形显示文件目录结构
3 创建作业 & 测试作业的正确性
homework 1 create 可以重新创建所有lesson_1的作业
homework 1 create id 可以单独创建lesson_1的第id个作业. e.g.
homework 1 create 0 可以只重新创建lesson_1的第0个作业
homework 1 test 可以评测lesson_1的所有作业
4 作业与解答
作业前
创建好作业后,先进入文件夹 /home/acs/homework/lesson_1/
homework 1 create
cd homework/lesson_1
homework_0
进入 homework_0
文件夹,分别创建文件夹 dir_a
, dir_b
, dir_c
cd homework_0
mkdir dir_a dir_b dir_c
homework_1
进入 homework_1
文件夹,将 a.txt, b.txt, c.txt
分别复制成: a.txt.bak, b.txt.bak, c.txt.bak
cd homework_1
cp a.txt a.txt.bak
cp b.txt b.txt.bak
cp c.txt c.txt.bak
homework_2
进入 homework_2
文件夹,将 a.txt, b.txt, c.txt
分别重命名为: a_new.txt, b_new.txt, c_new.txt
cd homework_2
mv a.txt a_new.txt
mv b.txt b_new.txt
mv c.txt c_new.txt
homework_3
进入 homework_3
文件夹,将 dir_a
文件夹下的 a.txt, b.txt, c.txt
分别移动到文件夹 dir_b
下
cd homework_3
mv dir_a/a.txt dir_b
mv dir_a/b.txt dir_b
mv dir_a/c.txt dir_b
homework_4
进入 homework_4
文件夹,将普通文件 a.txt, b.txt, c.txt
删除
cd homework_4
rm a.txt
rm b.txt
rm c.txt
homework_5
进入 homework_5
文件夹,将文件夹 dir_a, dir_b, dir_c
删除
cd homework_5
rm dir_a -r
rm dir_b -r
rm dir_c -r
homework_6
进入 homework_6
文件夹,查看 task.txt
的内容,并按其指示进行操作
cd homework_6
cat task.txt
mv task.txt done.txt
mkdir dir_a
mv done.txt dir_a
homework_7
进入 homework_7
文件夹,创建文件夹 dir_0, dir_1, dir_2
,
- 将
a.txt, b.txt, c.txt
复制到dir_0
下,重命名为a0.txt, b0.txt, c0.txt
; - 将
a.txt, b.txt, c.txt
复制到dir_1
下,重命名为a1.txt, b1.txt, c1.txt
; - 将
a.txt, b.txt, c.txt
复制到dir_2
下,重命名为a2.txt, b2.txt, c2.txt
;
cd homework_7
mkdir dir_0
mkdir dir_1
mkdir dir_2
cp a.txt dir_0/a0.txt
cp b.txt dir_0/b0.txt
cp c.txt dir_0/c0.txt
cp a.txt dir_1/a1.txt
cp b.txt dir_1/b1.txt
cp c.txt dir_1/c1.txt
cp a.txt dir_2/a2.txt
cp b.txt dir_2/b2.txt
cp c.txt dir_2/c2.txt
homework_8
进入 homework_8
文件夹,分别在 dir_a, dir_b, dir_c
文件夹下查看 task.txt
的内容,并分别按照指示进行操作
cd homework_8
cd dir_a
cat task.txt
rm a.txt
cd ../
cd dir_b
cat task.txt
mv b.txt b_new.txt
cd ../
cd dir_c
cat task.txt
cp c.txt c.txt.bak
homework_9
进入 homework_9
文件夹,将其中所有 txt
类型的文件删除
cd homework_9
rm *.txt