Linux 常见文件管理命令
Linux文件系统
根目录:/
从根目录开始,下面有一堆小目录
root:根用户的目录
bin:可执行文件命令
etc:配置文件
var:日志
lib:安装包或头文件,库文件
home:所有用户的家目录
proc:进程相关的信息,比如cpu信息
~:/home/acs,家目录,也就是用户的目录
~代表的位置:
这个是常用的工作目录
pwd输出当前路径的绝对路径
对路径的描述
-
绝对路径:从根目录开始描述,即 /
ls /home/ace/main.cpp
-
相对路径:从当前路径开始,去描述目标路径
若当前路径是 /home/acs
ls tmp/main.cpp
如何区分相对路径与绝对路径:
绝对路径的开头一定是根目录,即 /
相对路径开头不是斜杠
. 与 ..
. 表示当前目录
.. 表示上一级目录
~/ 表示家目录,即 /home/acs/
回到家目录:
cd ~/
家目录就是用户的目录,一个Linux服务器上可以有很多个用户
~/ <==> /home/acs/
文件管理常用命令
- ctrl c
- ctrl u
- tab键
- ls
- pwd
- cd XXX
- cp XXX YYY
- mkdir XXX
- rm XXX
- mv XXX YYY
- touch XXX
- cat XXX
ctrl c
取消命令,并且换行
给当前正在运行的进程,传一个终止信号,用于取消命令,并且换行
使用top
命令时,它会一直运行,所以可以用 ctrl c
关掉
若输入一个指令时,突然不想输入这一行了,按下ctrl c
就会直接跳一行
ctrl u
清空本行命令
tab键
补全命令
可以补全命令和文件名,如果补全不了,快速按两下Tab键,可以显示备选选项
输入完命令,按了两下tab后,会出现下面的列表,然后又回到输入的那个命令中
若系统发现目录下只有一个文件,按tab键会直接补全
方向键:上
重新获取历史命令
ls命令
列出当前目录下所有文件,蓝色是文件夹,白色是普通文件,绿色是可执行文件
参数:-l,获取每个文件的详细信息,长信息
ls -l
第一列是权限信息
d表示 文件夹
-表示 普通文件
r表示 读
w表示 写
x表示 执行
参数:-h,人性化输出,显示大小更容易读
ls -lh
输出的信息,更容易看懂
参数:-a,查看隐藏文件
文件名若以.开头,则文件会被隐藏
-a会显示当前目录和上层目录,-A不会显示当前目录和上层目录
ll命令
等价于
ls -la
pwd命令
显示当前路径
cd命令
进入XXX目录下,cd .. 返回上层目录
cd后面可以是相对路径也可以是绝对路径
直接输入cd
就会返回家目录
参数:..
cd ..
返回上一层目录
参数:-
cd -
返回上一个待过的目录,也就是跳转前的那个目录
返回进入此目录之前所在的目录
如果不断cd -
就是来回切
cp命令
将XXX文件复制成YYY,XXX和YYY可以是同一个路径
cp可兼带重命名的效果
cp = 复制 + 粘贴 + 重命名
cp a/tmp.txt b
把文件夹a中的tmp文件复制到文件夹b中
复制的时候顺带重命名
若要复制目录,需要加参数 -r
cp a b -r
将目录a复制到了目录b中
若文件夹名字有空格,则输入时要输入 y\ c
删掉文件夹,若要处理文件夹,一般要加参数 -r
若想把a复制到当前文件夹,但不能重名
cp a c -r
mkdir命令
创建目录XXX
mkdir /home/acs/a
若要连续创建多个文件夹,需要参数 -p
mkdir a/b/c -p
若要查看指令的解释
mkdir --h
mkdir --hlep
查看历史输入过的所有指令
history
rm命令
删除普通文件
可以同时删除多个文件
rm tmp.txt tmp1.txt
也支持正则表达式的形式删除多个文件
rm *.txt
若要删除文件夹,则需要加参数 -r
rm a -r
若有的文件是保护文件,可以使用参数 -f
rm a -f
若只想删除目录内的内容,而不想删除掉这个目录
rm a/*
会删除a中的文件,而不会删除目录,若要删除目录,要加 -r
删除当前目录下所有文件、文件夹
rm * -r
删除当前目录下所有文件
rm *
危险指令
rm /* -rf
touch命令
创建一个文件用 touch
创建一个文件夹用 mkdir
mv命令
将XXX文件移动到YYY,和cp命令一样,XXX和YYY可以是同一个路径,重命名也是用这个命令
mv = 剪切+粘贴+重命名
等同于拖拽
mv tmp.txt b
重命名功能
mv tmp.txt tmp1.txt
mv tmp.txt tmp.cpp
cp是把A复制到B
mv是把A移动到B,A不在原来的地方了
mv指令也可以对目录进行操作
mv a b/
cat命令
展示文件XXX中的内容,无法对文件夹使用
课后练习
查看作业要求
homework 1 show
创建作业环境
homework 1 create
若把作业里面第三个题目的内容全删了,想只恢复第三个题目
homework 1 create 3
测验
homework 1 test
创建环境后,有课程目录,进入课程目录后,有题目
cd homework/lesson_1/homework_0
作业0
进入homework_0文件夹,分别创建文件夹dir_a,dir_b,dir_c
cd homework/lesson_1/homework_0
ls
mkdir dir_a dir_b dir_c
cd ..
homework 1 test
作业1
进入homework_1文件夹,将a.txt,b.txt,c.txt分别复制成:a.txt.bak,b.txt.bak,c.txt.bak
cd homework/lesson_1/homework_1
cp a.txt a.txt.bak
cp b.txt b.txt.bak
cp c.txt c.txt.bak
cp是复制,但不会删除被复制的文件
作业2
进入homework_2文件夹,将a.txt,b.txt,c.txt分别重命名为:a_new.txt,b_new.txt,c_new.txt
cd homework/lesson_1/homework_2
mv a.txt a_new.txt
mv b.txt b_new.txt
mv c.txt b_new.txt
作业3
进入homework_3文件夹,将dir_a文件夹下的a.txt,b.txt,c.txt,分别移动到文件夹dir_b下
cd homework/lesson_1/homework_3
mv dir_a/a.txt dir_b
mv dir_a/b.txt dir_b
mv dir_a/c.txt dir_b
作业4
进入homework_4文件夹,将普通文件a.txt,b.txt,c.txt删除
cd homework/lesson_1/homework_4
rm a.txt b.txt c.txt
作业5
进入homework_5文件夹,将文件夹dir_a,dir_b,dir_c删除
cd homework/lesson_1/homework_5
rm dir_a dir_b dir_c -r
作业6
进入homework_6文件夹,查看task.txt的内容,并按其指示进行操作
cd homework/lesson_1/homework_6
cat task.txt
将task.txt重命名为done.txt,创建目录dir_a,将done.txt移动到目录dir_a下
mv task.txt done.txt
mkdir dir_a
mv done.txt dir_a
作业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/lesson_1/homework_7
mkdir dir_0 dir_1 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
作业8
进入homework_8文件夹,分别在dir_a,dir_b,dir_c文件夹下查看task.txt的内容,并分别按照指示进行操作
cd homework/lesson_1/homework_8
cd dir_a
cat task.txt
将a.txt删除
rm a.txt
cd ../dir_b
cat task.txt
将b.txt重命名为b_new.txt
mv b.txt b_new.txt
ls
b_new.txt task.txt
cd ../dir_c
cat task.txt
将c.txt复制成c.txt.bak
cp c.txt c.txt.bak
ls
c.txt c.txt.bak task.txt
作业9
进入homework_9文件夹,将其中所有txt类型的文件删除
cd homework/lesson_1/homework_9
rm *.txt
总结
重命名:mv XXX YYY
复制:cp XXX YYY
移动/剪切:mv XXX YYY
展示文件内容:cat XXX
创建文件:touch XXX
创建文件夹:mkdir XXX
创建多级目录:mkdir A/B/C -p
删除文件:rm XXX
删除文件夹:rm XXX -r
删除保护文件:rm XXX -f
当前路径:pwd
补全命令/文件名:tab键
列出当前目录所有文件:ls
输出信息人性化:ls -h
输出更多的信息:ls -l
切换目录:cd XXX
取消命令:ctrl c
消除本行输入:ctrl u
在当前目录下查找子目录与文件:find