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

posted @ 2021-08-23 21:21  SeanSiyang  阅读(325)  评论(0编辑  收藏  举报