持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第 9 天,点击查看活动详情
文章首发地址:村雨遥
前言
在日常工作开发过程中,难免会遇到和服务器打交道,而服务器可以说大部分应该都是采用的 Linux
系统。而说到 Linux
,如果之前没有接触过,那么肯定会很陌生。它的使用习惯也和 Window
有很大差异,尤其是作为服务器。出于性能考虑,服务器的 Linux
基本都是不带图形界面的,只有黑乎乎的控制台。这时候,要进行最简单的文件查看都只能用命令,而不是像在图形界面中用记事本打开。
当然,如果你稍微了解过 Linux
,那么你肯定知道 Linux
中的命令是超多的。这时候问题就来了,我们不可能去记那么多命令,也不可能完全记住。实际上,日常工作中也不会用到那么多命令,以下我就挑一些我在工作中用的最多的命令来讲解下他们的用法。
常用命令
pwd 命令
pwd
用于查看当前工作目录的路径,假设我们登录到服务器之后,一开始不知道自己处于哪一个目录,那么此时就可以使用 pwd
来查看当前路径。
cd 命令
毫无疑问,这是最基本也是最常用的命令了,主要功能是用来切换当前目录,其语法如下:
cd [目录名]
复制代码
其中,参数就是要切换到的目录名。说道这里,就要注意绝对路径和相对路径的区别。在 Linux
中,所谓绝对路径,就是从根目录开始,然后一直到当前文件或目录所在路径,以下是绝对路径的一个示例:
/home/cunyu/desktop
复制代码
而相对路径就是相对于当前文件或目录的路径,假设我们当前所在目录为 /home/cunyu
,假设我们要进入 /home/cunyu/desktop
目录下,那么就可以使用如下命令:
cd ./desktop
复制代码
而如果我们要进入 /home/cunyu1943
目录,则可以使用以下命令:
cd ../cunyu1943
复制代码
其中 .
表示当前目录,而 ..
则表示当前目录的上一级目录。
ls 命令
ls
命令其实就是 list
的缩写,主要用于查看文件夹中所包含的文件,同时也会列出所查看文件的权限,目录信息等,其语法如下:
ls [参数] [目录名]
复制代码
其中,参数和目录名都是可选参数,如果不带这两个参数,则列出当前文件夹的文件信息。
其中,最常搭配使用的参数总结如下表。
参数 | 说明 |
---|---|
-a |
列出目录所有文件,包含以 . 开头的隐藏文件 |
-A |
列出目录中除开以 . 和 .. 的其他文件 |
-l |
除文件名外,还会将文件权限、所有者、文件大小等详细信息列出来 |
-h |
将文件以易读大小显示,默认是以字节显示,添加该参数后会将文件大小转换为 M 、KB 等大小进行展示 |
cat 命令
使用 cat
命令,主要有三大功能,分别是:
- 显示整个文件内容
命令语法如下:
cat [文件名]
复制代码
- 从键盘创建一个文件
语法命令如下:
cat > [文件名]
复制代码
- 将多个文件合并为一个文件
语法命令如下:
cat 文件名1 文件名2 > 合并后的文件名
复制代码
more 命令
功能类似于 cat
命令,但不同的是 cat
会一次展示文件的所有内容,但 more
会以一页一页的方式来展示文件内容,我们可以通过空格键(space
)来向下翻页,通过 b
键来向上翻页。使用语法格式如下:
more [文件名]
复制代码
grep 命令
主要用来分析文件中一行的信息,如果其中有我们所查找的信息,就可以使用该命令将这一行显示出来。此外,我们通常把 grep
和管道符一起使用,从而对命令的输出进行筛选,其使用语法如下:
grep [参数] '查找的字符串' [文件名]
复制代码
常用的参数总结如下表:
参数 | 说明 |
---|---|
-a |
将二进制文件以文本文件的方式查找数据 |
-c |
统计所查找字符串出现的次数 |
-i |
忽略大小写 |
-v |
反向选择,即查找不含查找字符串的行 |
ps 命令
主要用来查询进程信息,表示 process
的意思,经常搭配参数来进行使用,其部分参数总结如下表:
参数 | 说明 |
---|---|
-A |
显示所有进程 |
-a |
不与终端有关的所有进程 |
-u |
有效用户的相关进程 |
-x |
常搭配 -a 参数,列出较为完整的信息 |
使用的时候,一般都是多个参数进行搭配使用,最常用的搭配莫过于以下几种:
ps aux
:查看系统所有进程数据ps ax
:查看不予终端相关的所有进程ps -lA
:查看系统所有进程数据ps axjf
:查看连同部分进程树状态
kill 命令
利用 ps
命令查询到进程的 PID
之后,我们就可以利用 kill
命令来向该进程传送一个信号,用于杀死进程,其基本语法如下:
kill -signal [PID]
复制代码
其中,sigal
常用的参数如下表:
代号 | 参数 | 说明 |
---|---|---|
1 |
SIGHUP |
启动被终止的进程 |
2 |
SIGINT |
相当于 Ctrl + C ,终端一个程序的运行 |
9 |
SIGKILL |
强制终端一个进程的运行 |
15 |
SIGTERM |
以正常的结束进程方式来终止进程 |
17 |
SIGSTOP |
相当于 Ctrl + Z ,用于暂停一个进程的运行 |
其中 signal
的参数可以用前面的数字代号来代替。
tar 命令
也就是 Linux
中的打包工具,默认是不会对文件进行压缩的。通过指定相应参数,就会调用相应压缩程序(gzip
或 bzip
等)进行解压缩,类似于 Windows
中的 360 压缩之类的工具。其常用参数如下表:
参数 | 说明 |
---|---|
-c |
新建打包文件 |
-t |
查看打包文件的内容含有的文件名 |
-f [文件名] |
用于指定打包文件名 |
-z |
通过 gzip 进行解压缩 |
-j |
通过 bzip2 进行解压缩 |
-x |
解压缩时,搭配 -C 指定解压目录 |
-C [dir] |
指定解压缩目录 |
看了这么多参数,可能你已经被绕晕了,没关系,我们只要记住以下最常用的三条命令即可。
- 压缩
tar -jcv -f filename.tar.bz2 [文件/目录名]
复制代码
- 查询
tar -jtv -f filename.tar.bz2
复制代码
- 解压
tar -jxv -f filename.tar.bz2 -C [欲解压缩目录]
复制代码
vim 命令
与其说这是一个命令,更不如说它是一个程序,主要用于文本编辑,后面跟着一个或多个文件名作为参数,若文件存在就打开文件,若不存在就创建一个文件。日常用的最多的,应该就是用来查询日志了吧,哈哈哈。其使用语法如下:
vim [文件名]
复制代码
进入 vim
之后,更多高级好玩的,可以参照下图。
总结
以上就是我在工作中使用评率最高的 10 个命令了,你是不是也和我一样经常和它们打交道呢?