Linux
第一章
linux目录结构
linux的目录结构是一个树形结构,win系统可以拥有多个盘符,但是linux没有盘符这个概念,只有一个根目录”/“所有文件都在它下面。
在linux系统中,路径之间的层级关系使用”/“来表示,而在win系统中,路径之间的层级关系使用“\”来表示。
1 | /usr/local/hello.txt |
linux命令入门
通用格式
在linux中,命令都有其通用的格式:command [-options][parameter]
- command:命令本身;
- -options:可选(非必填) 命令的一些选项,可以通过选项控制命令的行为细节;
- parameter:可选(非必填) 命令的参数,多数用于命令的指向目标。
ls命令
ls命令的作用是列出目录下的内容
1 | ls [-a -l -h][linux路径] |
如果直接使用ls命令本体,表示以平铺形式,列出当前工作目录下的内容(文件或文件夹)
当我们启动终端时,系统会默认将目录设置在用户的HOME目录。那么什么是HOME目录呢?每个Linux操作用户在linux系统的个人账户目录。win系统和linux系统均设有用户的HOME账户。
- 命令中的参数
路径中可以写上你想查看指定的文件夹,比如ls /
表示查看根目录下的所有文件
命令中的选项
-a:all的意思,即列出全部文件(包含隐藏的文件/文件夹)只有通过-a选项才能看到隐藏文件或文件夹
-l:表示以列表竖向排列的形式展示内容b
-h:表示以易于阅读的形式列出文件的大小,比如Kb,Mb,Gb.注意,h一定要和l一起用才有作用
语法中的选项是可以组合使用的
1 | ls -la |
这三种语法都是成立的
cd命令
更改当前所在的工作目录。cd命令来自英文(change directory)
1 | cd [linux命令] |
如果后面的参数不写,表示回到用户的HOME目录下面。写的话,就表示切换到对应的目录下去。
pwd命令
展示当前所在的工作目录。pwd命令来自英文(print work directory)
pwd无选项,无参数,直接输入即可
相对路径和绝对路径
绝对路径是以根目录为起点,描述路径的一种写法,路径描述以/开头
相对路径是以当前目录为起点,描述路径的一种写法,路径描述无需以/开头
特殊路径符
. 表示当前目录,比如 cd ./Desktop
表示切换到当前目录下的Desktop目录内,和cd Desktop效果一致
.. 表示上一级目录,比如 cd ..
即可切换到上一级目录,cd ../..
切换到上二级的目录
~ 表示HOME目录,比如cd~
即可切换到HOME目录
mkdir命令
创建新的目录(文件夹)。mkdir命令来自英文(make directory)
1 | mkdir [-p] linux路径 |
参数必填,即创建文件夹的路径,相对路径或绝对路径均可
-p可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录。比如说
1 | mkdir -p Desktop/1/2/3 |
1、2和3文件夹都是之前没有的,如果不加-p,那么会报错,因为这些文件夹属于多层级的目录。
注意:创建文件夹需要修改权限,请确保操作均在HOME目录内
touch命令
创建文件
1 | touch linux路径 |
参数必填,即创建文件的路径,相对路径或绝对路径均可
cat命令
查看文件的内容
1 | cat linux路径 |
参数必填,即需要查看文件的路径,相对路径或绝对路径均可
more命令
more同样可以查看文件内容,与cat不同的是cat是直接将内容全部显示出来。而more支持翻页。
more的语法与cat类似,这里就不过多赘述了。
cp命令
cp命令可以用于复制文件/文件夹,cp命令来自英文单词:copy
1 | cp [-r] 参数1 参数2 |
-r:可选,用于复制文件夹使用,表示递归
参数1:linux路径,表示被复制的文件或文件夹
参数2:linux路径,表示要复制去的地方
mv命令
移动文件/文件夹,mv命令来自英文单词:move
1 | mv 参数1 参数2 |
参数1:linux路径,表示被移动的文件或文件夹
参数2:linux路径,表示要移动去的地方,如果目标不存在,则进行改名
rm命令
删除文件/文件夹,rm命令来自英文单词:remove
1 | rm [-r -f] 参数1 参数2 ……参数N |
-r:删除文件夹
-f:表示force,强制删除,不会弹出提示确认信息
普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示,所以一般用户 用不到-f选项
参数1、参数2……:表示要删除的文件或文件夹路径,按照空格隔开
通配符(*):匹配任意内容
aaa*
:表示匹配任意以aaa开头的内容*aaa
:表示匹配任意以aaa结尾的内容*aaa*
:表示匹配任何包含aaa的内容
which命令
查看所使用的一系列命令的程序文件存放在哪里
1 | which 要查找的命令 |
比如 which cd
可以查看cd命令的程序文件存放的位置
find命令
搜索指定文件
按文件名查找
1
find 起始路径 -name ”被查找文件名“
同样,查找命令中也能使用通配符来做模糊匹配
按文件大小查找
1
find 起始路径 -size +n [KMG]
+/-:表示大于和小于
n:表示大小数字
KMG:表示大小单位,kb/mb/gb
实例:
查找小于100kb的文件:find / -size -10k
grep命令
通过关键字过滤文件行。
1 | grep [-n] 关键字 文件路径 |
-n:表示在结果中显示匹配和行的行号
关键字:表示过滤的关键字,带有空格或其他特殊符号,建议使用” “将关键字包围起来
文件路径:表示要过滤内容的文件路径,可作为内容输入端口
示例:
比如说我们在文档中写若干行文字,我们将 ”a“ 作为关键字,那么这行命令就会输出包含关键字 a 的所有行,并将关键字标红。此外,如果加上-n,那么会显示该句话的行数。
wc命令
统计文件的行数、单词数量等
1 | wc [-c -m -l -w] 文件路径 |
-c:统计bytes数量
-m:统计字符数量
-l:统计行数
-w:统计单词数量
文件路径:被统计的文件
管道符(|)
将管道符左边命令的结果作为右边命令的输入
echo命令
在命令行内输出指定内容
1 | echo 输出的内容 |
如果内容带有空格或\等特殊符号,建议用双引号包围起来
反引号(`)
被它包围的内容将会作为命令执行
重定向符
>
:将左边命令的结果覆盖写入到符号右侧的文件
>>
:将左侧命令的结果追加写入到符号右侧的文件
tail命令
查看文件尾部内容,跟踪文件的最新更改
1 | tail [-f -num] linux路径 |
-f:表示持续跟踪。终端指令不会断掉,只要操作者做了更改,就立马会检测到文件的更改
-num:查看尾部多少行,不写默认为10行。注意-num在实际写的时候num要写成指定的数字
vi/vim编辑器
介绍
vi是visual interface的简称,是linux中最经典的文本编辑器。
vim是vi的加强版本,兼容vi的所有指令,不仅能编辑文本,还具有shell程序编辑的功能,以不同颜色的字体来辨别语法的正确性。
工作模式
命令模式
所敲的按键编辑器都理解为命令,不能自由进行命令编辑
输入模式
对文件内容进行自由编辑
底线命令模式
通常用于文件的保存退出
当我们进入vim时,默认进入到命令模式,可以通过一定的指令切换成输入模式。当然也可以从输入模式切换回命令模式。此外,还能通过命令模式进入底线命令模式。