目录
一、目录结构
1、Linux 目录简介
2、Windows 和 Linux 目录结构区别
3、Linux 目录结构视图
二、文件管理
1、改变目录:
2、创建文件
3、创建文件夹
4、复制
5、移动(剪切)
6、删除
7、查看
8、修改文件内容
1、重定向
2、gedit
3、vim
9、临时文件:
10、路径
Linux 的目录结构是一个层次化的文件系统结构,以单根的方式组织文件 (所有文件都放在根目录)
(1) 目录分隔符:
Windows:Windows 使用反斜杠(\)作为目录分隔符,例如 C:\Windows\System32
Linux:Linux 使用正斜杠(/)作为目录分隔符,例如 /var/log
(2) 根目录表示:
Windows:Windows使用盘符(如C:\、D:\)作为根目录的表示,每个盘符都有自己的文件系统。
Linux:Linux使用单个正斜杠(/)表示根目录,所有其他目录都在根目录下,构成了一个层次化的文件系统结构。
根目录(/):根目录是整个文件系统的起点,所有其他目录和文件都在根目录下面。
常见二级目录:
bin:包含可执行的二进制文件(命令),这些命令可以被所有系统用户使用。
boot:包含启动Linux系统所需的文件。
dev:包含设备文件,用于与系统中的硬件设备进行交互。
etc:包含系统的配置文件。
home:在 home 目录下,每个用户都有一个单独的子目录,用于存储用户的个人文件和设置。
root:系统管理员(超级用户)的主目录。
run:存储运行时的临时文件和进程信息,在重启后不会被清空。
sbin:包含系统管理员(超级用户)使用的系统管理命令。
tmp:用于存储临时文件,这些文件在系统重启后会被清除。
usr:包含用户安装的应用程序、库文件和其他共享资源。它有类似于根目录的层次结构。
var:包含变量数据,如日志文件、邮件队列和临时文件等。
文件管理操作常用命令:
cd (Change Directory) 切换目录(通往其他文件夹的命令)
绝对路径:cd /home/user/Documents
相对路径:cd Documents
返回上级目录:cd ..
pwd(print work directory):返回从根目录开始到当前目录的完整路径。
list(ls) :最基本的列出文件和目录的命令,只显示文件和目录的名称,不提供其他详细信息。
ls -l /:以长格式(long format)列出文件和目录的内容。除了文件和目录的名称外,还会显示了更多的详细信息,包括文件的权限、所有者、大小、创建日期和时间等。
第一个字符表示文件类型:
- 普通文件:文本文件、二进制文件、压缩文件……
d 目录文件:蓝色
touch + 路径和名字
在根目录里的 aaa 目录里的 bbb 目录创建一个文件 ccc
mkdir + 路径和文件夹名
在根目录里的 aaa 目录里的 bbb 目录创建一个文件夹 c1:
递归创建文件夹:
mkdir /home/a1/b1/c1 是错的,因为a1下还没有b1这个文件夹
正确的命令:mkdir -p /home/a1/b1/c1
-p 用于创建多层级的目录结构。作用是告诉 mkdir 命令创建指定路径中的所有父级目录(如果它们不存在),以确保目标路径的完整目录结构存在。
cp 源文件路径 目标文件夹路径
把 d1 复制到 a1 文件夹下:
把d1复制到桌面:
cp -r 源文件路径 目标文件夹路径:递归复制整个目录,包括目录下的所有文件和子目录。
mv 源文件路径 目标文件路径
把c1文件夹移动到与bbb同级:
把c1下的d1移动到桌面:
移动文件并改名(复制也可以改名)
不移动文件直接改名:
▲ 如果移动的目标文件夹下有相同名字的文件怎么办:
如图,在这两个路径下分别创建一个名叫d333的文件,并写入不同的内容
此时将桌面的 d333 移动到 c1 下,会弹出 “是否覆盖”的提示,如果敲 n 则文件的位置不会发生改变(即文件没有移动)
rm -rf 文件或目录的路径 rm:remove -rf:强制删除
删除aaa下的c1:
删除aaa文件夹下的所有文件,但不删除其他文件夹(*表示通配符)
1、通配符匹配相似处:同时删除b1、d1
2、把要删除的文件逐条列出来:同时删除c2、d3
cat + 文件路径
head -3:表示查看文件前三行
tail -3:
more:有翻页功能(小文件里cat和more功能一样)
用重定向符号(>)可覆盖文件内容
gedit 是一个图形化的文本编辑器,可以在终端输入 gedit + 文件名对文件进行增删改等操作。
(1) vim 有三种工作模式:命令模式、插入模式和末行模式。
命令模式:启动Vim时处于命令模式。在该模式下,键入的字符会被解释为命令,不能输入文本。
插入模式:
用于输入和编辑文本的模式。从命令模式按下 "i" 键进入插入模式,此时键入的字符将被视为文本内容。完成文本的输入后点击 [Esc] 键返回命令模式。
进入插入模式有四种键:i、a、o、r
i:在光标当前位置之前插入文本;(最常用)
a:在光标当前位置之后插入文本;
o:在当前行的下方插入一个新行;
r:用于替换光标所在位置的字符。
末行模式:
又称为最后行模式,在命令模式下输入冒号:可进入这个模式,在这种模式下vi 会在屏幕的最后一行显示一个冒号并等待用户输入命令。
(2) 文本编辑:
在命令模式下,可以使用以下命令进行文本编辑:
dd:删除当前行
yy:复制当前行
p:粘贴复制或删除的内容
u:撤销上一次操作
set nu:启用行号显示
set nonu:禁用行号显示
v:启动可视模式
(3) 光标定位:
h,j,k,和 l 是用于光标定位的键盘按键
h:向左移动光标
j:向下移动光标
k:向上移动光标
l:向右移动光标
还可以结合其他命令来进行更精确的光标定位:
0:将光标移动到当前行的行首
$:将光标移动到当前行的行尾
gg:将光标移动到文件的第一行
G:将光标移动到文件的最后一行
/
(4) 扩展命令:
① 退出:在末行模式下:
:wq:保存文件并退出 Vim。
:w:仅保存文件,不退出 Vim。
:q:退出 Vim,但只有在没有未保存的更改时才会生效。
:q!:这将强制退出 Vim。
② 查找替换: :s(范围)/原内容/新内容/g(全局替换)
③ 另存为 : w /aaa/6.txt (另存为 /aaa/6.txt)
在编辑文本时意外退出,系统自动备份了一份隐藏文件.1.txt.swp
解决方法:检查改路径下的文件并将备份文件删除
绝对路径:从根开始描述,可以找到所有文件 例:/aaa/1.txt
缺点:路径名太长
相对路径:. 当前目录 (./ 和 不打 ./ 含义相同)
.. 上一级目录
作用:可以省去输入过长的路径名