013.文件与目录管理

发布时间 2023-04-07 15:56:51作者: Githubrysj

相关概念
我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /。
其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。
在开始本教程前我们需要先知道什么是绝对路径与相对路径。

绝对路径:
路径的写法,由根目录/写起,例如: /usr/share/doc 这个目录。

相对路径:
路径的写法,不是由/写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成:cd ../man这就是相对路径的写法。

常用指令集合

pwd 查看当前工作目录的绝对路径

ls    列出当前目录的文件与文件夹
ls -l    列出当前目录的文件与文件夹,内容单列显示
ls -a    列出当前目录的文件与文件夹(包括隐藏文件)

cd    切换到制定目录(绝对路径和相对路径)
cd~    回到自己的家目录
cd    回到自己的家目录 (cd+空格)
cd ..    回到当前目录的上级目录
cd ../..    回到当前目录的上2级目录 cd ../../.. 3级

mkdir 用于创建目录
mkdir /home/dog    在home下创建dog目录
mkdir -p /home/animal/cat3    创建多级目录,-p 创建多级目录的参数

rmdir    删除空目录
rmdir /home/dog    删除空目录dog

rm    既可以删除文件,也可以删除目录 -r常用参数 表示递归 -f常用参数 表示强制(不提示)
rm -rf /home/animal/    递归强制删除animal目录

touch 创建一个空文件
touch /home/hello.txt 在/home下创建一个空文件hello.txt

cp 拷贝指令
cp hello.txt cat2/ 场景:hello.txt 与 cat2 同在/home下 , 将hello.txt文件复制一份到cat2目录下
cp -r /home/cat/ /home/cat2 递归复制整个文件夹cat,粘贴到cat2下
\cp -r /home/cat/ /home/cat2 递归复制整个文件夹cat,粘贴到cat2下,强制覆盖无提示

mv 2个功能 1.移动文件或目录 2.重命名文件或目录
mv cat.txt dog.txt 将cat.txt重命名为dog.txt
mv hello.txt /root 将hello.txt文件移动到/root目录下
mv hello.txt /root/newhello.txt 将hello.txt文件移动到/root目录下,并重命名为newhello.txt
mv testdir /home 将整个testdir文件夹移动到/home目录下

cat 查看文件指令(只可以查看,不能修改)
cat /etc/profile 查看/etc下的profile文件
cat -n /etc/profile 查看/etc下的profile文件,并显示行号(-n的作用)

| |为管道指令

more more指令是一个基于vi编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键(交互指令)
more /etc/profile 使用more指令查看etc下的profile文件

快捷键
空格键 向下翻一页
Enter 向下翻一行
q 代表立刻离开more,不再显示该文件内容
Ctrl+F 向下滚动一屏
Ctrl+B 返回上一屏幕
= 输出行号
:f 输出文件名和当前行的行号
cat -n /etc/profile | more 查看/etc下的profile文件,并显示行号,并支持快捷键交互

less 用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端,less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,
而是根据需要加载,对于显示大型文件具有较高的效率
less /home/xiaoshuo.txt 查看文件xiaoshuo.txt