Windows
在Window下,打开‘我的电脑’,我们看到的是一个个的驱动器盘符:
每个驱动器都有自己的根目录,形成了多个树并列结构。
Linux
在Linux下,和Windows不同,没有盘符这个概念,只有一个根目录 / ,所有文件都在它下面
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg)
Centos 7案例:
在Terminal中输入ls
Centos 的文件结构 | |
---|---|
/bin | 可执行的二进制文件的目录,如常用的敏玲ls、tar、mv、cat等 |
/home | 普通用户的加目录 |
/root | root账户的家目录 |
/boot | 内核文件的引导目录,放置Linux系统启动时用到的一些文件 |
/sbing | 超级用户使用的指令文件 |
/temp | 临时文件目录,一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下。 |
/dev | 设备文件目录 万物皆文件 |
/usr | 第三方 程序目录 |
/etc | 配置程序目录,系统配置文件存放的目录。 |
/var | 可变文件,放置系统执行过程中进场变化的文件 |
/opt | 用户使用目录,给主机欸外安装软件所拜访的目录 |
学习终端命令的技巧:
- 不需要死记硬背,对于常用命令,用的多了,自然就记住了
- 不要尝试一次学会所有的命令,有些命令是非常不常用的,临时遇到,临时百度就可以
格式:(方括号 [ ] 代表非必填)
command [-options] [parameter]
说明:
command:命令名,相应功能的英文单词或单词缩写
[-options]:选项,可用来对命令进行控制,也可以省略
[parameter]:参数,传给命令的参数,可以是0个,也可以是多个
示例:
命令 -可选参数 +参数
查看文件的命令 ls
ls
-a查看所有文件,包含隐藏文件
-l list列出文件
Ls
Ls -a
Ls -l
Ls -al
对于ls命令还有好多参数,我们还可以通过help来查看ls的具体内容。
Ls --help
ls查看目录内容
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg)
ls常用参数 | 含义 |
---|---|
-a | 显示指定目录下所有子目录与文件,包括隐藏文件 |
-l | 以列表方式显示文件的详细信息 |
-h | 配合 -l 以人性化的方式显示文件大小 |
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg)
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg)
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg)
(2)、Linux 下文件和目录的特点
①.Linux 文件 或者 目录 名称最长可以有 256 个字符
②.以 . 开头的文件为隐藏文件,需要用 -a 参数才能显示
(创建文件时如果文件开头是以点“.”命名则创建的是隐藏文件)
③.“.”代表当前目录
④.“…”代表上一级目录
单位扩展:
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg)
命令 | 对应英文 | 作用 |
---|---|---|
ls | list | 查看当前文件夹下的内容 |
pwd | print work directory | 查看当前所在文件夹 |
cd [目录名] | change directory | 切换文件夹 |
touch [文件名] | touch | 如果文件不存在,新建文件 |
mkdir [目录名] | make directory | 创建目录 |
rm [文件名] | remove | 删除指定的文件名 |
clear | clear | 清屏 |
小技巧
ctrl + shift + =
放大终端窗口的字体显示ctrl + -
缩小终端窗口的字体显示cd 是英文单词 change directory 的简写,其功能为更改当前的工作目录,也是用户最常用的命令之一
注意:Linux 所有的 目录 和 文件名 都是大小写敏感的
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image009.png)
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image010.png)
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image011.png)
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image012.png)
扩展:
cd 加上目录名称,linux的路径分隔符: / 而windows 采用 \。
(1)、绝对路径 在输入路径时,最前面是 /
表示从根目录开始的具体目录位置。
(不管当前目录在哪里,都可以使用绝对路径)
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image013.png)
(2)、相对路径 在输入路径时,最前面不是 /,使用 . 或者 …
cd ./ 表示当前路径,cd …/ 上一层目录
相对路径 表示相对当前目录所在的目录位置。
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image014.png)
①.touch 创建文件命令
创建文件或修改文件时间
如果文件 不存在,可以创建一个空白文件
如果文件 已经存在,可以修改文件的末次修改日期
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image016.jpg)
②.mkdir 创建目录命令
创建一个新的目录
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image018.jpg)
注意: 如果当前目录已经存在此目录,则不能再次创建
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image020.jpg)
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image021.png)
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image023.jpg)
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image024.png)![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image026.jpg)
③.rm 删除文件或目录命令
删除文件或目录
使用 rm 命令要小心,因为文件删除后不能恢复
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image027.png)
删除文件:
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image029.jpg)
rm -f 文件名称
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image031.jpg)
不提示删除语,如果文件不存在也不会提示删除语。
删除目录:
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image032.png)
递归删除目录:
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image033.png)
不使用 -f
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image035.jpg)
①.cp 拷贝命令
cp 命令的功能是将给出的 文件 或 目录 复制到另一个 文件 或 目录 中
复制 文件
格式: cp 文件 目标目录
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image036.png)
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image038.jpg)
提示:-i 可以不用写,也会提示是否覆盖文件。
复制目录:
格式: cp -r 目录 目标目录
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image039.png)
②.mv 移动或重命名
mv 命令可以用来 移动 文件 或 目录,也可以给 文件或目录重命名
移动文件或者目录格式:
mv 文件/目录 目标目录
重命名:
mv 文件或者目录 目录/新文件名称或者目录名称
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image041.jpg)
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image042.png)
①.pwd 查看当前路径命令
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image043.png)
②.cat 查看文件命令
cat 会一次显示所有的内容,适合查看内容较少的文本文件
格式: cat 文件
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image045.jpg)
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image046.png)
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image048.jpg)
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image050.jpg)
③.more 命令
more 命令可以用于分屏显示文件内容,每次只显示一页内容
适合于 查看内容较多的文本文件
格式:more 文件名
使用 more 的操作键:
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image051.png)
④.less 分屏显示
格式 less 文件
使用 less 的操作键:
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image051.png)
在很多linux 发行版本中直接把vi做成 vim 软连接(快捷方式)
(1) .打开和新建文件
格式: vi 文件名
如果文件已经存在,会直接打开该文件,
如果文件不存在,则会新建一个文件
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image052.png)
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image054.jpg)![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image055.png)
(2) .打开文件并且定位行
例如在开发时,知道某一行代码有错误,可以快速定位到错误代码的位置。
格式: vi 文件名 +行数
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image056.png)
扩展: vi 文件名 + 表示直接定位到文件的末尾
(3) .删除交换文件
当我们打开编辑器,编写内容时,不小心关闭了命令行,再次打开文件时,
会出现如下错误显示。
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image058.jpg)W
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image060.jpg)
使用 ls -al 查看文件,发现了 隐藏的 .d.txt.swp 隐藏文件,
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image062.jpg)
删除交换文件。
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image063.png)
(4) .两种工作模式
①.命令模式
通过命令对文件进行常规的编辑操作,例如定位,翻页,复制,粘贴,删除…
末行模式命令
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image064.png)
②.编辑模式
正常的编写文字。
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image066.jpg)
①.移动和选择
上、下、左、右
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image067.png)
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image068.png)
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image069.png)
2)行内移动
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image070.png)
注意: 行首是数字0,不是字母o
3)移动行数
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image071.png)
4)屏幕移动
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image072.png)
H、M、L 可以将光标跳转到当前页面的顶部、中间、底部。
5)移动
a. 段落移动
Vi 中 使用空行开区分段落。
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image073.png)
b. 括号切换
在程序中,()、{}、[] 使用频率很高、并且都是成对出现,
使用 % 命令,可以在括号之间进行切换。
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image074.png)
6)选中文本
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image075.png)
小写v
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image076.png)
大写 V,选中整行
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image077.png)
注意: 光标向下移动的时候,需要关闭大写再使用j。
Crtl+ v 垂直选中
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image078.png)
②.编辑操作
删除
x:从后往前删除字符。
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image079.png)
dd:删除一行
复制和粘贴
y copy
nyy表示复制 n行,
yy 表示复制一行
p paste 粘贴
替换
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image080.png)
缩排
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image081.png)
按住shift 按两次>(>>) 或者< (<<),向右或者向左连续缩进4个空格。
③.撤销和重复
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image082.png)
④.查找
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image083.png)
n: 表示查找下一个
N: 表示查找上一个
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image085.jpg)
扩展:
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image086.png)
⑤.查找与替换
记忆命令格式: :%s/xx /xx /g
全局替换:
一次性替换所有的内容 :%s/旧文本/新文本/g
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image088.jpg)
可视区域替换:
?///g 注意没有%
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image090.jpg)
确认替换:
:%s///gc
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image092.jpg) ![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image094.jpg)
y yes 替换
N no 不替换
A all 替换所有
Q quit 退出替换
L last 替换最后一个,并把光标移动到行首。
^E ctrl+E 向下滚屏
^Y ctrl+Y 向上滚屏
⑥.插入命令
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image096.jpg)
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image097.png)
⑦.xxx
扩展:
文件的类型
普通文件 f 正常颜色
目录文件 d 蓝色
软连接文件 l 青色
设备文件 c 黄色
块文件 b 黄色
套接字文件 s 紫色
管道文件 p 黄色
![img](file:///C:/Users/物喜己悲/AppData/Local/Temp/msohtmlclip1/01/clip_image099.jpg)