不熟悉Linux指令?看这篇就够了!

前言

在深入学习后端进阶技术时,我们经常会和Linux系统打交道,因为Linux是目前应用最广泛的服务器操作系统,能长时间稳定地跑我们编写的程序代码,几乎成为程序代码运行的最佳系统环境。相较于windows系统,它短小而精悍,但是很多东西都需要使用指令来控制

而屏幕面前的你,是否还在为看不懂Linux指令而困惑呢?

今天,我将向大家分享一些我自己在学习操作Linux系统时,经常用到的指令,并结合指令的运行效果图来介绍每条指令的作用

本文概要

1.基础指令

2.进阶指令

3.高级指令

可以使用侧边栏的目录来查阅想看的指令哦!


一、什么是Linux指令?

1、概念:

指令:在Linux终端(命令行)输入的内容

2、通用格式

#指令主体(空格) [选项](空格) [操作对象]

注意:

一个指令可以包含多个选项、多个操作对象。 选项可以连着写,如-l,-a,-la


二、基础指令

1、ls指令

1.含义:list(列表)

2.作用:列出当前工作目录下的所有文件/文件夹的名称

3.用法:

(1)#ls 路径

显示指定目录下的所有文件/文件夹的名称

不填路径的话,默认为当前的工作目录

示例:

关于路径(非常重要):

相对路径:相对首先得有一个参照物(一般就是当前的工作路径);

相对路径的写法:在相对路径中通常会用到2个符号“./”【表示当前目录下】、“../”【上一级目录下】。

绝对路径:绝对路径不需要参照物,直接从根“/”开始寻找对应路径;

在linux终端中,不输入路径, 默认为当前工作目录

(2)#ls 选项 路径

选项解释:

-l:表示list,表示以详细列表的形式进行展示

-a:表示显示所有的文件/文件夹(包含了隐藏文件/文件夹

-lh:以列表的形式并且在显示文档大小的时候以可读性较高的形式显示默认以字节B为单位

常见的语法:

#ls -l 路径

以详细列表的形式展示指定路径下的所有文件/文件夹名称

简写为 #ll

注意:ls列出的结果颜色说明,其中蓝色的名称表示文件夹黑色的表示文件绿色的其权限为拥有所有权限

#ls -la 路径

以列表形式显示所有的文件/文件夹(包含了隐藏文件/文件夹

在Linux中隐藏文档一般都是以“.”开头。

#ls -lh 路径

列出指定路径下的所有文件/文件夹的名称,以列表的形式并且在显示文档大小的时候以可读性较高的形式显示

4.用法总结(以下忽略路径):

#ls

#ls -l (常用) 简写为 #ll

#ls -la

#ls -lh

2、pwd指令

1.作用:print working directory,打印当前工作目录

2.用法:

#pwd

3、cd指令

1.作用:change directory,改变目录,进入用户输入的目录

2.用法:

#cd 路径

4、mkdir指令

1.作用: make directory,创建目录

2.用法:

(1)#mkdir 路径

【路径,可以是文件夹名称也可以是包含名称的一个完整路径】

#mkdir ./test

在当前路径下创建出目录“test”

(2)#mkdir -p 路径

当一次性创建多层不存在的目录的时候,添加-p参数,否则会报错

(3)#mkdir 路径1 路径2 路径3

创建多个文件或文件夹

#mkdir ./test1 ../etc/test2

3.用法总结

#mkdir 路径

#mkdir -p 路径

#mkdir 路径1 路径2 路径3

5、touch指令

1.作用:创建文件

2.用法:

#touch 文件路径1 【文件路径2 【文件路径3 ....】】

示例:

#touch ./test.txt

在当前文件夹下创建test.txt文件

6、cp指令

1.作用:copy,复制

2.用法:

#cp 被复制的文档路径 文档被复制到的路径

示例:

(1)复制文件

#cp ./test.txt ../test.txt

将当前目录的test.txt文件复制到上个工作目录中

注意:Linux在复制过程中是可以重新对新位置的文件进行重命名的,但是如果不是必须的需要,则建议保持前后名称一致。

(2)复制文件夹

#cp -r ./test ../test

将当前工作目录的test文件夹复制到上一个工作目录下

注意:当使用cp命令进行文件夹复制操作的时候需要添加选项“-r” -recursive

【-r表示递归复制】,否则目录将被忽略

7、mv指令

1.作用:move,移动,剪切

2.用法:#mv 需要移动的文档路径 需要保存的位置路径

注意: 使用#mv移动文件语法格式和移动文件夹相同,移动文件夹不需要加 -r

示例:

#mv ./test ../test

将当前目录的test文件夹剪切移动到上一个工作目录

重命名操作也是使用 #mv

#mv ./test.txt ./test1.txt

将当前目录的test.txt文件更名为test1.txt

8、rm指令

1.作用:remove,移除、删除

2.用法:#rm 选项 需要移除的文档路径

3.选项:

-f:force,强制删除,否则会每个文件都询问是否删除

-r:表示递归,移除文件夹的时候需要使用

示例:

#rm ./test.txt

删除当前目录的text.txt文件,没加-f选项,会询问是否确定删除

#rm -f ./test.txt

强制删除当前目录的text.txt文件,不会询问是否确定删除

#rm -rf ./test

强制删除当前目录的text.txt文件夹,一定要加-r,否则会报错

不加-r报错示例:

4.用法总结

#rm 文件路径

#rm -f 文件路径

#rm -rf 文件夹路径

#rm 文件路径1 [文件路径2 [文件路径3.....]] ---删除多个文件

9、vim指令

1.作用:打开并进入一个文件(文件可以不存在,会自动创建)

2.用法:#vim 文件的路径

示例:

#vim ./test.txt

打开进入当前目录下的test.txt文件

10、输出重定向

1.作用:将一些命令的执行结果保存到文件中

2.用法:#正常执行的指令 (> 或 >>) 文件的路径

>:覆盖输出,会覆盖掉原先的文件内容

>>:追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加

示例:

#ls -la > ls.txt

使用覆盖重定向,将 ls -la 的执行结果,保存到当前目录下的ls.txt

#ls -la >> ls.txt

使用追加重定向,将 ls -la 的执行结果追加到ls.txt中

11、cat指令

1.作用:

(1)直接读取一个文件,并把内容显示在终端

(2)对两个文件进行合并

2.用法:

(1)#cat 文件的路径

(2)#cat 待合并的文件路径1 待合并的文件路径2 …. 文件路径n > 合并之后的文件路径

示例:

#cat test.txt

#cat ./test1.txt ./test2.txt > ./test3.txt

注意:这里只能使用覆盖 >,若使用追加>>, 效果等于>

示例如下:


二、进阶指令

1、df指令

1.作用:查看磁盘的空间

2.用法:

#df -h

-h表示以可读性较高的形式展示大小

2、free指令

1.作用:查看内存使用情况

2.用法:

#free -m

-m表示以mb为单位查看

上图中,剩余的真实可用的内存为1665mb。

Swap:用于临时内存,当系统真实内存不够用的时候可以临时使用磁盘空间来充当内存。

3、head指令

1.作用:查看一个文件的前n行,如果不指定n,则默认显示前10行

2.用法:

#head -n 文件路径 【n表示数字】

4、tail指令

1.作用:查看一个文件的末尾n行,如果n不指定默认显示后10行

2.用法:

#tail -n 文件的路径 n同样表示数字

也可通过tail指令来查看一个文件的动态变化内容【变化的内容不能是用户手动增加的

一般用来查看日志 语法:#tail -f 文件路径

5、less指令

1.作用:查看文件,以较少的内容进行输出,按下辅助功能键(数字+回车、空格键+上下方向键)来查看更多

2.用法:

#less 需要查看的文件路径

退出查看只需要按下q键即可。

6、wc指令

1.作用:统计文件内容信息(包含行数、单词数、字节数)

2.用法:

#wc -lwc 需要统计的文件路径

-l:表示lines,行数

-w:表示words,单词数 依照空格来判断单词数量(不支持统计中文)

-c:表示bytes,字节数

7、date指令

1.作用:表示操作时间日期(读取、设置)

2.用法:

语法1:#date

输出的形式:2022年 2月 12日 星期六 15:54:28

语法2:#date +%F (等价于#date “+%Y-%m-%d” )

输出形式:2022-02-12

语法3:#date “+%F %T” (等价操作#date “+%Y-%m-%d %H:%M:%S”)

输出的形式:2022-02-12 15:54:28

语法4:获取之前或者之后的某个时间

#date -d “-1 day” “+%F %T”

输出的形式:2022-02-11 15:54:28

符号的可选值:+(之后) 或者 - (之前)

单位的可选值:day(天)、month(月份)、year(年)

3.日期输出格式补充

%F:表示完整的年月日

%T:表示完整的时分秒

%Y:表示四位年份

%m:表示两位月份(带前导0)

%d:表示日期(带前导0)

%H:表示小时(带前导0)

%M:表示分钟(带前导0)

%S:表示秒数(带前导0)

8、cal指令

1.作用:操作日历

2.用法:

语法1:#cal 等价于 #cal -1 直接输出当前月份的日历

语法2:#cal -3 表示输出上一个月+本月+下个月的日历

语法3:#cal -y 年份 表示输出某一个年份的日历

9、clear/ctrl + L指令

1.作用:清除终端中已经存在的命令和结果(信息)。

2.用法:

#clear 或者快捷键:ctrl + L

注意:该命令并不是真的清除了之前的信息,而是把之前的信息的隐藏到了最上面,通过滚动条继续查看以前的信息。

10、管道(重要)

管道符:|

1.作用:一般可以用于“过滤”,“特殊”,“扩展处理”。

2.用法示例:

(1)过滤(重要)

#ls /root | grep y

列出root文件夹下所有名称含 ‘y’ 的文件/文件夹

grep指令:主要用于过滤

(2)统计某个目录下的文档的总个数

#ls /root | wc -l

3.注意:

管道不能单独使用,必须需要配合前面所讲的一些指令来一起使用,其作用主要是辅助作用

管道前面的输出就是管道后面指令的输入


三、高级指令

1、hostname指令

1.作用:操作服务器的主机名读取、设置)

2.用法:

语法1:#hostname 含义:表示输出完整的主机名

语法2:#hostname -f 含义:表示输出当前主机名中的FQDN(全限定域名)

2、id指令

1.作用:查看一个用户的基本信息(包含用户id,用户组id,附加组id…)

2.用法:

语法1:#id 默认显示当前执行该命令的用户的基本信息

语法2:#id 用户名 显示指定用户的基本信息

3、whoami指令

1.作用:显示当前登录的用户名

2.用法:

4、ps -ef指令(重点)

1.作用:查看服务器的进程信息

-e:等价于“-A”,表示列出全部的进程

-f:显示全部的列(显示全字段)

2.用法:

3.列的含义:

UID:该进程执行的用户id;

PID:进程id;

PPID:该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程(parent process ID);

C:Cpu的占用率,其形式是百分数;

STIME:进行的启动时间;

TTY:终端设备,发起该进程的设备识别符号,如果显示“?”则表示该进程并不是由终端设备发起;

TIME:进程的执行时间;

CMD:该进程的名称或者对应的路径;

5、top指令(重点)

1.作用:查看服务器的进程占的资源

2.用法:

进入命令:#top (动态显示)

退出命令:按下q键

3.表头含义:

PID:进程id;

USER:该进程对应的用户;

PR:优先级;

VIRT:虚拟内存;

RES:常驻内存;

SHR:共享内存;

计算一个进程实际使用的内存 = 常驻内存(RES)- 共享内存(SHR)

S:表示进程的状态status(sleeping,其中S表示睡眠,R表示运行);

%CPU:表示CPU的占用百分比;

%MEM:表示内存的占用百分比;

TIME+:执行的时间;

COMMAND:进程的名称或者路径;

6、du -sh指令

1.作用:查看目录的真实大小

-s:summaries,只显示汇总的大小

-h:表示以高可读性的形式进行显示

2.用法:

#du -sh 文档路径

7、find指令

1.作用:用于查找文件

2.用法:

#find 路径范围 选项 选项的值

3.选项类型

-name:按照文档名称进行搜索(支持模糊搜索)

-type:按照文档的类型进行搜索

文档类型:“-”表示文件(在使用find的时候需要用f来替换),“d”表示文件夹

示例:

搜索etc目录下所有的conf后缀文件

搜索/etc/目录下所有的文件夹

8、service指令

1.作用:用于控制一些软件的服务启动/停止/重启

2.用法:

#service 服务名 start或stop或restart

示例:

#service mysql start

打开mysql服务

可以使用 #ps -ef 检查服务是否已经打开

9、kill指令

1.作用:杀死进程

2.用法:

#kill 进程PID

先通过 #ps -ef 来查询进程的id,然后用 #kill 杀死

#ps -ef | grep httpd

表示查询所有进程,并过滤出名称含httpd的进程

10、ifconfig指令

1.作用:用于操作网卡相关的指令。

2.用法:

#ifconfig

获取网卡信息

11、reboot指令

1.作用:重新启动计算机

2.用法:

#reboot

12、shutdown指令

1.作用:关机

2.用法:

语法1:#shutdown -h now “关机提示”

立刻关机

语法2:#shutdown -h 15:25 “关机提示”

定时关机

可以使用 #shutdown -c 取消关机

13、uptime指令

1.作用:输出计算机的持续在线时间(计算机从开机到现在运行的时间

2.用法:

14、uname指令

1.作用:获取计算机操作系统相关信息

2.用法:

语法1:#uname 获取操作系统的类型

语法2:#uname -a all,表示获取全部的系统信息(类型、全部主机名、内核版本、发布时间、开源计划)

15、netstat -tnlp指令

1.作用:查看网络连接状态

选项

-t:表示只列出tcp协议的连接;

-n:表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示;

-l:表示过滤出“state(状态)”列中其值为LISTEN(监听)的连接;

-p:表示显示发起连接的进程pid和进程名称

2.用法:

#netstat -tnlp


总结

linux的常用指令就是这么多啦,其中基础指令是最常用最基本的,必须熟练掌握,进阶和高级指令在开发中会用到比较多。只要每个命令都亲手敲过一遍,看到效果,那么很快就记住了,之后实际操作linux系统中再不断巩固就好了。

如果各位觉得这篇文章对你们有帮助,记得点赞支持哦!

本站文章资源均来源自网络,除非特别声明,否则均不代表站方观点,并仅供查阅,不作为任何参考依据!
如有侵权请及时跟我们联系,本站将及时删除!
如遇版权问题,请查看 本站版权声明
THE END
分享
二维码
海报
不熟悉Linux指令?看这篇就够了!
在深入学习后端进阶技术时,我们经常会和Linux系统打交道,因为Linux是目前应用最广泛的服务器操作系统,能长时间稳定地跑我们编写的程序代码,几乎成为程序代码...
<<上一篇
下一篇>>