文件系统文件系统结构
tip:[start]仅举例常见内容tip:[end]
/
根目录bin
可执行文件命令 (ls,…)etc
配置文件 (nginx代理服务器配置文件,…)var
日志log文件lib
存头文件/安装包home
用户的家目录 (/home/acs,…)proc
进程信息文件 (cpuinfo系统资源,…)
路径
- 绝对路径:从根目录开始描述
/home/acs/main.cpp
- 相对路径:从当前路径(在home下)开始描述
acs/main.cpp
- 当前目录:
./
- 上级目录:
../
- 家目录:
~/
==/home/acs
- 根目录:
/
文件管理常用指令
homework n show/create/test [n]
:仅在acwing服务器中适用,作业相关ctrl c
:取消命令,并且换行,关掉当前进程history
:显示历史操作ctrl u
:清空本行命令tab
:可以补全命令和文件名,如果补全不了快速按两下tab键,可以显示备选选项ls
:列出当前目录下所有文件,蓝色的是文件夹,白色的是普通文件,绿色的是可执行文件ls -l
:文件长信息 权限 大小 修改时间ls -lh
:人性化输出长信息(带h的都是长信息)ls -a
:隐藏文件也可以看(文件要是.开头就是隐藏文件)ls -A
:不显示当前和上一级目录ll
:是ls -la的简写
pwd
:显示当前路径(绝对路径)cd XXX
:进入XXX目录下,目录可以是相对路径也可以是绝对路径cd ..
:返回上层目录cd -
:返回上一次访问的目录,一直用就是两个目录来回切换cd
:不管在什么地方 cd就会返回家目录
cp XXX YYY
:将XXX复制成YYY,XXX和YYY可以是一个路径/文件cp a/tmp.txt b
:复制+粘贴文件cp a/tmp.txt b/tmp2.txt
:复制+粘贴+重命名cp a b -r
:复制+粘贴a文件夹到b文件夹下cp a c -r
:将a在当前文件夹下复制一份命名为c(此时c不存在)
mv XXX YYY
:将XXX文件移动到YYY,和cp命令一样,XXX和YYY可以是一个路径,重命名也是用这个命令mv a/tmp.txt b
:剪切+粘贴+重命名- 与cp用法相同
mkdir XXX
:创建目录XXXmkdir y c
:创建y和c两个文件夹,带空格要加转义字符\
mkdir y\ c
:创建y c一个文件夹mkdir a/b/c -p
:创建一串目录,-p有就跳过没有就创建
rm XXX
:删除普通文件rm XXX -r
:删除文件夹rm tmp1.txt tmp2.txt
:删除多个文件- 支持正则:
rm *.txt
删除全部以txt为后缀的文件 rm * -r
:删除全部文件rm a/*
:删除a目录下全部文件,不删除文件夹rm a/* -r
:删除a目录下全部文件,不删除保护文件rm a/* -rf
:删除a目录下全部文件,包括保护文件(危!)rm /* -rf
:删除所有文件,’/’表示根目录!
- 支持正则:
touch XXX
:创建一个文件cat XXX
:展示文件XXX中的内容复制文本
- windows/Linux下:
Ctrl + insert
- Mac下:
command + c
- windows/Linux下:
粘贴文本
- windows/Linux下:
Shift + insert
- Mac下:
command + v
- windows/Linux下:
练习
(0) 创建好作业后,先进入文件夹/home/acs/homework/lesson_1/acs@07e1e01d2ed1:~$ homework 1 createacs@07e1e01d2ed1:~$ cd ~/acs@07e1e01d2ed1:~$ lshomeworkacs@07e1e01d2ed1:~$ cd homeworkacs@07e1e01d2ed1:~/homework$ lslesson_1acs@07e1e01d2ed1:~/homework$ cd lesson_1/(0) 进入homework_0文件夹,分别创建文件夹dir_a, dir_b, dir_cacs@07e1e01d2ed1:~/homework/lesson_1$ lshomework_0 homework_2 homework_4 homework_6 homework_8homework_1 homework_3 homework_5 homework_7 homework_9acs@07e1e01d2ed1:~/homework/lesson_1$ cd homework_0acs@07e1e01d2ed1:~/homework/lesson_1/homework_0$ mkdir dir_a dir_b dir_cacs@07e1e01d2ed1:~/homework/lesson_1/homework_0$ lsdir_a dir_b dir_c(1) 进入homework_1文件夹,将a.txt, b.txt, c.txt 分别复制成: a.txt.bak, b.txt.bak, c.txt.bakacs@07e1e01d2ed1:~/homework/lesson_1/homework_0$ cd ../homework_1acs@07e1e01d2ed1:~/homework/lesson_1/homework_1$ lsa.txt b.txt c.txtacs@07e1e01d2ed1:~/homework/lesson_1/homework_1$ cp a.txt a.txt.bakacs@07e1e01d2ed1:~/homework/lesson_1/homework_1$ cp b.txt b.txt.bakacs@07e1e01d2ed1:~/homework/lesson_1/homework_1$ cp c.txt c.txt.bak(2) 进入homework_2文件夹,将a.txt, b.txt, c.txt 分别重命名为: a_new.txt, b_new.txt, c_new.txtacs@07e1e01d2ed1:~/homework/lesson_1/homework_1$ cd ../homework_2acs@07e1e01d2ed1:~/homework/lesson_1/homework_2$ mv a.txt a_new.txtacs@07e1e01d2ed1:~/homework/lesson_1/homework_2$ mv b.txt b_new.txtacs@07e1e01d2ed1:~/homework/lesson_1/homework_2$ mv c.txt c_new.txt(3) 进入homework_3文件夹,将dir_a文件夹下的a.txt, b.txt, c.txt分别移动到文件夹dir_b下acs@07e1e01d2ed1:~/homework/lesson_1/homework_2$ cd ../homework_3acs@07e1e01d2ed1:~/homework/lesson_1/homework_3$ mv dir_a/a.txt dir_bacs@07e1e01d2ed1:~/homework/lesson_1/homework_3$ mv dir_a/b.txt dir_bacs@07e1e01d2ed1:~/homework/lesson_1/homework_3$ mv dir_a/c.txt dir_bacs@07e1e01d2ed1:~/homework/lesson_1/homework_3$ ls dir_b/a.txt b.txt c.txtacs@07e1e01d2ed1:~/homework/lesson_1/homework_3$ ls dir_a(4) 进入homework_4文件夹,将普通文件a.txt, b.txt, c.txt删除acs@07e1e01d2ed1:~/homework/lesson_1/homework_3$ cd ../homework_4acs@07e1e01d2ed1:~/homework/lesson_1/homework_4$ rm a.txt b.txt c.txtacs@07e1e01d2ed1:~/homework/lesson_1/homework_4$ ls(5) 进入homework_5文件夹,将文件夹dir_a, dir_b, dir_c删除acs@07e1e01d2ed1:~/homework/lesson_1/homework_4$ cd ../homework_5acs@07e1e01d2ed1:~/homework/lesson_1/homework_5$ rm dir_a dir_b dir_c -racs@07e1e01d2ed1:~/homework/lesson_1/homework_5$ ls(6) 进入homework_6文件夹,查看task.txt的内容,并按其指示进行操作acs@07e1e01d2ed1:~/homework/lesson_1/homework_5$ cd ../homework_6acs@07e1e01d2ed1:~/homework/lesson_1/homework_6$ cat task.txt将task.txt重命名为done.txt, 创建目录dir_a,将done.txt移动到目录dir_a下acs@07e1e01d2ed1:~/homework/lesson_1/homework_6$ mv task.txt done.txtacs@07e1e01d2ed1:~/homework/lesson_1/homework_6$ mkdir dir_aacs@07e1e01d2ed1:~/homework/lesson_1/homework_6$ mv done.txt dir_a/acs@07e1e01d2ed1:~/homework/lesson_1/homework_6$ ls dir_a/done.txt(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;acs@07e1e01d2ed1:~/homework/lesson_1/homework_6/dir_a$ cd ../homework_7acs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ mkdir dir_0 dir_1 dir_2acs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ lsa.txt b.txt c.txt dir_0 dir_1 dir_2acs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ cp a.txt dir_0/a0.txtacs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ cp b.txt dir_0/b0.txtacs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ cp c.txt dir_0/c0.txtacs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ lsa.txt b.txt c.txt dir_0 dir_1 dir_2acs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ cp a.txt dir_1/a1.txtacs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ cp b.txt dir_1/b1.txtacs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ cp c.txt dir_1/c1.txtacs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ lsa.txt b.txt c.txt dir_0 dir_1 dir_2acs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ cp a.txt dir_2/a2.txtacs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ cp b.txt dir_2/b2.txtacs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ cp c.txt dir_2/c2.txtacs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ cd dir_0acs@07e1e01d2ed1:~/homework/lesson_1/homework_7/dir_0$ lsa0.txt b0.txt c0.txtacs@07e1e01d2ed1:~/homework/lesson_1/homework_7/dir_0$ cd ../acs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ ls dir_1a1.txt b1.txt c1.txtacs@07e1e01d2ed1:~/homework/lesson_1/homework_7$ ls dir_2a2.txt b2.txt c2.txt(8) 进入homework_8文件夹,分别在dir_a, dir_b, dir_c文件夹下查看task.txt的内容,并分别按照指示进行操作acs@07e1e01d2ed1:~/homework/lesson_1$ cd homework_8acs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ lsdir_a dir_b dir_cacs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ lsdir_a dir_b dir_cacs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ cat dir_a/task.txt将a.txt删除acs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ rm dir_a/a.txtacs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ cat dir_b/task.txt将b.txt重命名为b_new.txtacs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ ls dir_bb.txt task.txtacs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ mv b.txt b_new.txtmv: cannot stat 'b.txt': No such file or directoryacs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ mv dir_b/b.txt dir_b/b_new.txtacs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ cat dir_c/task.txt将c.txt复制成c.txt.bakacs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ cp dir_c/c.txt dir_c/c.txt.bakacs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ ls dir_cc.txt c.txt.bak task.txt(9) 进入homework_9文件夹,将其中所有txt类型的文件删除acs@07e1e01d2ed1:~/homework/lesson_1/homework_8$ cd ../homework_9acs@07e1e01d2ed1:~/homework/lesson_1/homework_9$ lsfile_0.dmg file_12.dmg file_16.dmg file_2.doc file_23.txt file_27.txt file_4.dmg file_8.dmgfile_1.ppt file_13.ppt file_17.ppt file_20.dmg file_24.dmg file_28.dmg file_5.ppt file_9.pptfile_10.doc file_14.doc file_18.doc file_21.ppt file_25.ppt file_29.ppt file_6.docfile_11.txt file_15.txt file_19.txt file_22.doc file_26.doc file_3.txt file_7.txtacs@07e1e01d2ed1:~/homework/lesson_1/homework_9$ rm *.txt -racs@07e1e01d2ed1:~/homework/lesson_1/homework_9$ lsfile_0.dmg file_12.dmg file_16.dmg file_2.doc file_22.doc file_26.doc file_4.dmg file_8.dmgfile_1.ppt file_13.ppt file_17.ppt file_20.dmg file_24.dmg file_28.dmg file_5.ppt file_9.pptfile_10.doc file_14.doc file_18.doc file_21.ppt file_25.ppt file_29.ppt file_6.doc(10) homework 1 test 可以评测lesson_1的所有作业acs@07e1e01d2ed1:~/homework/lesson_1/homework_9$ cd ../../../acs@07e1e01d2ed1:~$ homework 1 testhomework_0 is Right!homework_1 is Right!homework_2 is Right!homework_3 is Right!homework_4 is Right!homework_5 is Right!homework_6 is Right!homework_7 is Right!homework_8 is Right!homework_9 is Right!score: 100/100