Linux
Linux
Linux
- 第一章 起步
- 第二章 常用命令
-
- 第一节 背景知识
- 1、Linux系统中一切皆文件
- 2、Linux文件系统
- 3、Linux系统中的路径
- 4、用户的家目录
- 5、文件扩展名不敏感
- 6、一级目录简介
- 第二节 文件和目录相关命令
-
- Part01 hotkey(快捷键)
- Part02 mkdir(创建目录)
- Part03 cd(进入目录)
- Part04 ls(查看目录内容)
- Part05 pwd(打印当前所在的目录)
- Part06 touch(新建空白文件)
- Part07 cp(复制文件或目录)
- Part08 mv(移动文件或目录)
- Part09 rm(删除文件或目录)
- Part10 vim(在命令行环境下编辑文本文件)
- Part11 cat(显示文件全部内容)
- Part12 less(分屏查看文件内容)
- Part13 tail(显示文件目录末尾内容)
- Part14 find(查找文件或目录)
- Part15 locate(查询文件或目录)
- Part16 grep(将文件内容中匹配的行返回)
- ④结论
- Part17 pipe(管道)
- Part18 tar(解压)
- 第三节 进程相关命令
- 第四节 辅助命令
- 总结
第一章 起步
安装步骤
Linux安装相关
第二章 常用命令
第一节 背景知识
1、Linux系统中一切皆文件
在Linux系统中任何东西都是以文件形式来存储的。这其中不仅包括我们熟知的文本文件、可执行文件等等,还包括硬件设备、虚拟设备、网络连接等等,甚至连目录其实都是一种特殊的文件。
2、Linux文件系统
Linux系统环境下的文件系统与Windows有很大区别。
在Windows中,每一个盘符下是一个独立的文件系统,硬盘有多少个分区就有多少个文件系统。
而在Linux系统中不管创建了多少个硬盘分区都只有一个文件系统。整个文件系统的根目录是 “/” ,从“/”出发可以找到Linux系统中的所有目录和文件。
3、Linux系统中的路径
绝对路径:从“/”根目录开始逐层查找文件和目录。
/etc/sysconfig/network-scripts
/tmp/vmware-root/vmware-db.pl.2267
相对路径:以当前目录或上一级目录为基准逐层查找文件和目录
当前目录:“./”
当前目录的上一级目录:…/(只有两个点,不是三个点,bug?)
“./”可以省略不写,也同样表示当前目录。
易错点:“/”代表的是最顶层、最上面的那个根目录,不是当前目录
判断是否是绝对路径:看是否开头有 “/” 就行
除非你现在所在的位置就是在根目录这里,否则==“/”和“./”==就完全是两码事
加了一个 . 意思就完全不一样了!!!
4、用户的家目录
Linux是一个多用户系统,每个登录到系统的用户都需要有一个自己专属的目录保存自己私有的文件。系统当然看到了这个需求,所以每创建一个普通用户,系统就会在 /home 目录下创建一个和用户同名的目录作为这个用户的家目录。
比如:创建一个名为tom的用户,它的家目录就是 /home/tom
可以使用 “~” 代表用户的家目录。
特殊的是作为系统的超级管理员,root用户的家目录是 /root目录。
5、文件扩展名不敏感
在Windows系统中,操作系统会负责根据文件扩展名识别文件类型,然后再根据文件类型匹配打开这种文件的应用程序。让用户不必记忆大量的对应关系,用哪个直接打开就好了。
而Linux是一个命令行系统,虽然现在也有了图形化界面,但是还是以命令行使用为主。
所以Linux系统中通常是使用命令去打开文件。而这个命令和文件是否匹配,那就需要运行命令的人自己注意。
6、一级目录简介
目录名 | 是否重要 | 作用 |
---|---|---|
/bin | bin是binary的缩写,这个目录存放着最经常使用的命令。 | |
/boot | 这里存放的是启动Linux时用到的引导程序文件。 | |
/dev | device(设备)的缩写,该目录下存放的是Linux的外部设备。 | |
/etc | √ | 存放系统和第三方应用程序的配置文件。 |
/home | √ | 存放普通用户家目录。 |
/lib和/lib64 | 系统开机所需要最基本的动态连接共享库。 | |
/media | 挂载Linux系统会自动识别的设备,例如U盘、光驱等。 | |
/mnt | 专门用于挂载操作的目录。 | |
/opt | √ | 存放安装第三方应用程序时使用的压缩包文件。 |
/proc | 这个目录是一个虚拟的目录,它是系统内存的映射。 | |
/root | √ | 超级管理员root用户的家目录。 |
/run | 存放进程产生的临时文件,关机重启后会消失。 | |
/sbin | s是Super User的意思,这里存放的是系统管理员使用的系统管理程序。 | |
/srv | service缩写,该目录存放一些服务启动之后需要提取的数据。 | |
/sys | 该目录下安装了2.6内核中新出现的一个文件系统sysfs。 | |
/tmp | 存放临时文件。 | |
/usr | √ | 应用程序的默认安装目录,类似于Windows下的program files目录。 |
/var | √ | 存放经常变化的内容,例如日志文件。 |
第二节 文件和目录相关命令
Part01 hotkey(快捷键)
按键 | 作用 |
---|---|
Ctrl+l | 清屏 |
Ctrl+c | 强制终止程序 |
Ctrl+Insert | 复制 |
Shift+Insert | 粘贴 |
Ctrl+s | 锁屏 |
Ctrl+q | 解除锁屏 |
tab | 自动补全 |
Part02 mkdir(创建目录)
命令:mkdir
对应单词:make directory
作用:创建目录
格式:mkdir [OPTION]… DIRECTORY…
创建单层目录:mkdir 新目录的路径
单层目录说明:
mkdir aaa/bbb/ccc
其中aaa/bbb是存在的目录,要创建的仅仅是ccc
创建多层目录:mkdir -p 新目录的路径
多层目录说明:
mkdir -p aaa/bbb/ccc/ddd
其中bbb/ccc/ddd都不存在,现在想一次性把这些目录都创建出来
Part03 cd(进入目录)
命令:cd
对应单词:change directory
作用:切换当前目录
格式: cd 目标目录路径
用法1:使用绝对路径
用法2:使用相对路径
用法3:使用 ~ 回到家目录
Part04 ls(查看目录内容)
命令:ls
对应单词:list
作用:列出目录中的内容,这里所说的目录可以是当前目录也可以是其他目录(需要指定路径)。
格式:ls [OPTION]… [FILE]…
常用参数
参数 | 说明 |
---|---|
-A | 显示目录内容时把隐藏资源也显示出来 |
-l | 以详细信息形式显示资源 |
-R | 递归查看目录内容 |
命令的参数既可以单独使用也可以组合使用。同时ls -l可以简写为ll。
Part05 pwd(打印当前所在的目录)
命令:pwd
对应单词:print work directory
作用:打印当前所在的目录
举例:
当前目录同样是baby,但是用pwd打印的完整路径却不同
- List item
Part06 touch(新建空白文件)
命令:touch
作用:创建空文件
格式:touch 新建文件的路径
Part07 cp(复制文件或目录)
命令:cp
对应单词:copy
作用:复制文件或目录
复制文件:cp 被复制的文件的路径 目标目录的路径
复制目录:cp -r 被复制的目录的路径 目标目录的路径
Part08 mv(移动文件或目录)
命令:mv
对应单词:move
作用:移动文件或目录
格式:mv 被移动的文件或目录的路径 目标目录
特殊效果:将目录或文件在当前位置移动可以起到重命名的作用
Part09 rm(删除文件或目录)
命令:rm
对应单词:remove
作用:删除目录或文件
删除文件:rm 被删除的文件的路径
强制删除文件:rm -f 被删除的文件的路径
递归删除目录:rm -r 被删除的目录的路径
强制删除目录:rm -rf 被删除的目录的路径
Part10 vim(在命令行环境下编辑文本文件)
Part11 cat(显示文件全部内容)
命令:cat
作用:显示文件全部内容
适用场景:较短小的文件
效果:
Part12 less(分屏查看文件内容)
1、简介
命令:less
作用:分屏查看文件内容
2、用法
①使用less命令打开文件
[root@localhost ~]# less long
②less环境
③控制方式
按键 | 效果 |
---|---|
空格 | 向下滚动一屏 |
b | 向上滚动一屏 |
回车 | 向下滚动一行 |
q | 退出 |
/关键词 | 搜索 n向下找 N向上找 |
= | 显示详细的文件信息 |
下图是显示详细文件信息的效果:
下图是显示到达文件末尾时的效果:
Part13 tail(显示文件目录末尾内容)
1、简介
命令:tail
效果:显示文件末尾的部分内容
2、基本用法
查看文件末尾5行的内容:
3、高级用法
实时查看文件末尾新增的内容:
新开一个窗口编辑这个文件:
用vim打开tail命令正在监控的文件:
在文件末尾新增内容并保存:
此时在tail命令所在的窗口下查看实时监控:
使用Ctrl+c退出实时监控。
Part14 find(查找文件或目录)
命令:find
作用:查找文件或目录
用法:find 查找范围 参数 表达式
示例解析:
Part15 locate(查询文件或目录)
1、简介
locate命令同样是用来查询文件或目录,但它是基于索引查询,速度快很多。那什么是索引呢?
2、索引
建立索引可以极大提升查询的速度。为什么会有这么显著的效果呢?我们拿查字典来举个例子。
- 没有索引:从正文第一页开始翻,在每一页中检查有没有自己要找的字。在最差的情况下需要逐页翻到字典的最后一页,这样做速度非常慢。
- 基于索引:字典正文前的检字表就是正文内容的索引。先从检字表里快速找到那个字,这里没有这个字的详细信息,只有这个字所在的页码。我们根据这个页码就可以直接到正文中直接翻到那一页,这样速度就非常快了。
另一个例子是我们想要到一幢大楼里找某一个房间,肯定是先在一楼看看楼层介绍信息,找到房间号直接去。肯定不能一个房间一个房间找。
3、locate命令的原理
系统启动时把每一个目录、每一个文件的完整路径保存到索引库中。使用locate命令搜索关键词时,就使用关键词查询索引库,把匹配的路径字符串返回。
而新建的文件或目录不会被系统吧路径存入索引库,那么使用locate命令就搜索不到。此时使用updatedb命令更新一下索引库就行了。
4、操作演示
①使用locate命令
②新建文件后再搜索
搜不到
③更新索引库后再搜索
搜到了
Part16 grep(将文件内容中匹配的行返回)
1、基本用法
命令:grep
作用:将文件内容中匹配的行返回
用法:grep 参数 查找内容 源文件
补充:grep命令的关键词匹配和vim中的关键词搜索的区别
- vim需要打开文件进入到vim命令自己的界面中而grep命令不需要
- grep命令显示搜索结果时可以将匹配行抽取出来显示,而vim是在全部文件内容中把关键词高亮显示
- grep命令可以同时搜索多个文件
- grep命令还有很多更丰富的其他用法
总之:同一个需求可以通过很多不同的路径来达到,谁也不能说有了面包就不许吃蛋糕。
2、特殊用法
下面我们要返回不匹配的行
①原始文件
②返回匹配的行并显示行号
③返回不匹配的行并显示行号
④结论
grep命令使用 -v参数可以返回不匹配的行
Part17 pipe(管道)
1、概述
管道不是命令,而是一个符号:| 。它的用法是:命令A | 命令B。作用是把命令A的输出作为命令B的输入。
2、举例
①需求
显示当前目录下的所有文件。如果使用“ll”命令那么文件和目录都会显示出来。
②文件和目录的特征
在显示的详细信息中,文件是以 “-”开头的,目录是以 “d”开头的。
③按照特征编写正则表达式
匹配以“-“开头的行:^-
④完整的命令
⑤工作机制解析
⑥管道可以多重使用
wc -l命令可以统计文本数据的行数
Part18 tar(解压)
1、简介
在Linux系统环境中,很多程序安装包都是以tar包的形式提供下载的:
所以通常我们需要从官网下载这些tar包,再上传到Linux服务器上,然后在Linux系统内解压。
2、tar包解压命令
tar -zxvf tar包路径
默认解压到当前目录下,如果当前目录下有同名的目录或文件会被直接覆盖,没有任何提示,这一点请大家注意。
参数作用说明:
参数名称 | 作用 |
---|---|
-z | 用 gzip 对存档压缩或解压 |
-x | 解压 |
-v | 详细显示处理的文件 |
-f | 指定存档或设备 (缺省为 /dev/rmt0) |
第三节 进程相关命令
Part01 ps
命令:ps
对应单词:process status
作用:查看当前正在运行的进程
常用参数组合:ps -ef
-e参数:对应单词entire,表示全部。具体指显示系统中全部的进程信息。
-f参数:对应单词full-formate,表示完整格式。
效果:
Part02 kill
命令:kill
作用:杀死进程
说明:kill命令本质上是给进程发送信号。
Part03 top
命令:top
作用:实时查看系统运行情况和健康状态。
Part04 netstat
命令:netstat
对应单词:net status
作用:查看网络状态
常用参数:netstat -anp
参数名 | 作用 |
---|---|
-a | 显示所有正在或不在侦听的套接字。 |
-n | 显示数字形式地址而不是去解析主机、端口或用户名。 |
-p | 显示套接字所属进程的PID和名称。 |