Linux

Linux

第一章 起步

安装步骤
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(在命令行环境下编辑文本文件)

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和名称。

详解


第四节 辅助命令

Part01 history

详解

Part02 echo

详解

Part03 help

详解

Part04 shutdown

详解

Part05 backslash

详解

Part06 curl

详解

Part07 wget

详解

Part08 nohup(选学)

详解

总结

代码重工之Linux1.1

版权声明:本文为wylja原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/wylja/p/16837563.html