Linux常用指令(命令)超级无敌全合集加图文说明

2022-11-28 15:42:29 浏览数 (1)

Linux常用指令(命令)

指令与选项

什么是Linux的指令? 指在Linux终端(命令行)中输入的内容就称之为指令。 一个完整的指令的标准格式:Linux通用的格式 #指令主体(空格) [选项](空格) [操作对象] 一个指令可以包含多个选项 操作对象也可以是多个 ​ 例如:需要让张三同学帮忙去楼下小卖铺买一瓶农夫山泉水和清风餐巾纸,在这个指令中“买东西”是指令的主体,买的水和餐巾纸是操作的对象,农夫山泉、清风是操作的选项。

基础指令

1、ls指令

含义:ls (list) 用法1:#ls 含义:列出当前工作目录下的所有文件/文件夹的名称

用法2:#ls 路径 含义:列出指定路径下的所有文件/文件夹的名称 关于路径(重要): 路径可以分为两种:相对路径、绝对路径。 相对路径:相对首先得有一个参照物(一般就是当前的工作路径); ** 相对路径的写法:在相对路径中通常会用到2个符号“./”【表示当前目录下】、“…/”【上一级目录下】。** 绝对路径:绝对路径不需要参照物,直接从根“/”开始寻找对应路径;

用法3:#ls 选项 路径 含义:在列出指定路径下的文件/文件夹的名称,并以指定的格式进行显示。 常见的语法: ls -l 可以简写成 ll #ls -l 路径 #ls -la 路径 选项解释: -l:表示list,表示以详细列表的形式进行展示 ** -a:表示显示所有的文件/文件夹(包含了隐藏文件/文件夹)** 上述列表中的第一列字符表示文档的类型,其中“-”表示改行对应的文档类型为文件,“d”表示文档类型为文件夹

在Linux中隐藏文档一般都是以“.”开头。 用法4:#ls -lh 路径 含义:列出指定路径下的所有文件/文件夹的名称,以列表的形式并且在显示文档大小的时候以可读性较高的形式显示 参数含义:

2、pwd指令

用法:#pwd (print working directory,打印当前工作目录)

3、cd指令

命令:#cd (change directory,改变目录) 作用:用于切换当前的工作目录的 语法:#cd 路径 案例:当前在“/”下,需要使用绝对路径切换到/usr/local。

案例:当前在/usr/local下,需要使用相对路径切换目录到home目录去。

补充: 在Linux中有一个特殊的符号“~”,表示当前用户的家目录。 切换的方式:#cd ~

4、mkdir指令

指令:mkdir (make directory,创建目录) 语法1:#mkdir 路径【路径,可以是文件夹名称也可以是包含名称的一个完整路径】 案例:在当前路径下创建出目录“test123”

注意:ls列出的结果颜色说明,其中蓝色的名称表示文件夹,白色的表示文件,绿色的其权限为拥有所有权限。 案例:在指定路径下创建出一个文件夹“test”

语法2:#mkdir -p 路径 含义:当一次性创建多层不存在的目录的时候,添加-p参数,否则会报错

语法3:**#mkdir 路径1 路径2 路径3 …. ** 【表示一次性创建多个目录】

5、touch指令

指令:touch 作用:创建文件 语法:#touch 文件路径 【路径可以是直接的文件名也可以是路径】 案例:使用touch来在当前路径下创建一个文件,命名为test.txt

案例:使用touch来同时创建多个文件

案例:使用touch来在/usr目录中创建文件test.text

6、cp指令

指令:cp (copy,复制) 作用:复制文件/文件夹到指定的位置 语法:#cp 被复制的文档路径文档被复制到的路径 案例:使用cp命令来复制一个文件

注意:Linux在复制过程中是可以重新对新位置的文件进行重命名的,但是如果不是必须的需要,则建议保持前后名称一致。 案例:使用cp命令来复制一个文件夹 注意:当使用cp命令进行文件夹复制操作的时候需要添加选项“-r”【-r表示递归复制】,否则目录将被忽略

7、mv指令

指令:mv (move,移动,剪切) 作用:移动文档到新的位置 语法:#mv 需要移动的文档路径 需要保存的位置路径 确认:移动之后原始的文件还在不在原来的位置?原始文件是不在原始位置的 案例:使用mv命令移动一个文件

案例:使用mv命令移动一个文件夹

补充:在Linux中重命名的命令也是mv,语法和移动语法一样。

8、rm指令

指令:rm (remove,移除、删除) 作用:移除/删除文档 语法:#rm 选项需要移除的文档路径 选项: -f:force,强制删除,不提示是否删除 -r:表示递归 案例:删除一个文件

在删除的时候如果不带选项,会提示是否删除,如果需要确认则输入“y/yes”,否则输入“n/no”按下回车。 注意:如果在删除的时候不想频繁的确认,则可以在指令中添加选项“-f”,表示force(强制)。 案例:删除一个文件夹

注意:删除一个目录的时候需要做递归删除,并且一般也不需要进行删除确认询问,所以移除目录的时候一般需要使用-rf选项。 案例:删除多个文档

案例:要删除一个目录下有公共特性的文档,例如都以aa开头

其中称之为通配符,意思表示任意的字符,Linux,则表示只要文件以Linux开头,后续字符则不管

9、vim指令

指令:vim (vim是一款文本编辑器) 语法:#vim 文件的路径 作用:打开一个文件(可以不存在,也可以存在) 案例:使用vim来打开文件 退出打开的文件:在没有按下其他命令的时候,按下shift 英文冒号,输入q,按下回车即可

配置域名解析

vim /etc/hosts

更多vim使用查看链接 编辑器之神-vim编辑器

10、输出重定向

一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候需要使用到的输出重定向技术。 ‘>’:覆盖输出,会覆盖掉原先的文件内容 ‘>>’:追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加 语法:#正常执行的指令 > / >> 文件的路径 注意:文件可以不存在,不存在则新建 案例:使用覆盖重定向,保存ls -la 的执行结果,保存到当前目录下的ls.txt

案例:使用追加重定向,保存ls -la的执行结果到ls.txt中

11、cat指令

作用1:cat有直接打开一个文件的功能。 语法1:#cat 文件的路径

作用2:cat还可以对文件进行合并 语法2:#cat 待合并的文件路径1 待合并的文件路径2 …. 文件路径n > 合并之后的文件路径 例如,合并3个文件,并存到一个文件中【配合输出重定向使用】

查看当前系统发行版本信息

代码语言:javascript复制
[root@localhost etc]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)

查看当前系统版本信息

代码语言:javascript复制
[root@localhost ~]# cat /proc/version
Linux version 3.10.0-1160.36.2.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Wed Jul 21 11:57:15 UTC 2021

进阶指令

1、df指令(查看磁盘的空间)

作用:查看磁盘的空间 语法:#df -h -h表示以可读性较高的形式展示大小

2、free指令(查看内存使用情况)

作用:查看内存使用情况 语法:#free -m -m表示以mb为单位查看

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

3、head指令(查看一个文件的前n行)

作用:查看一个文件的前n行,如果不指定n,则默认显示前10行。 语法:#head -n 文件路径 【n表示数字】

4、tail指令(查看一个文件的未n行)

作用1:查看一个文件的未n行,如果n不指定默认显示后10行 语法:#tail -n 文件的路径 n同样表示数字

作用2:可以通过tail指令来查看一个文件的动态变化内容【变化的内容不能是用户手动增加的语法:#tail -f 文件路径 例:tail -100f xxx.log 该命令一般用于查看系统的日志比较多。

5、less指令(查看文件,以较少的内容进行输出)

作用:查看文件,以较少的内容进行输出,按下辅助功能键(数字 回车、空格键 上下方向键)查看更多 语法:#less 需要查看的文件路径 在退出的只需要按下q键即可。 查看系统日志的时候可以 less xxx.log,进入后可以通过输入斜杆/加上要检索的日志,可以快速定位要查看的日志位置。

6、wc指令(统计文件内容信息)

作用:统计文件内容信息(包含行数、单词数、字节数) 语法:#wc -lwc 需要统计的文件路径 -l:表示lines,行数 -w:表示words,单词数 依照空格来判断单词数量 -c:表示bytes,字节数

7、date指令(表示操作时间日期)

作用:表示操作时间日期(读取、设置) 语法1:#date 输出的形式:Fri Jul 16 17:20:25 HKT 2021 语法2:#date %F (等价于#date “ %Y-%m-%d” ) 输出形式:2021-07-16 语法3:#date “ %F %T” 引号表示让"年月日与时分秒"成为一个不可分割的整体 等价操作#date " %Y-%m-%d %H:%M:%S" 输出的形式:2021-07-1617:19:23

语法4:获取之前或者之后的某个时间(备份) #date -d “**-**1 day” “ %Y-%m-%d %H:%M:%S”

符号的可选值: (之后) 或者- (之前) 单位的可选值:day(天)、month(月份)、year(年) %F:表示完整的年月日 %T:表示完整的时分秒 %Y:表示四位年份 %m:表示两位月份(带前导0) %d:表示日期(带前导0) %H:表示小时(带前导0) %M:表示分钟(带前导0) %S:表示秒数(带前导0)

8、cal指令(操作日历)

作用:用来操作日历的 语法1:#cal 等价于#cal -1 直接输出当前月份的日历 语法2:#cal -3 表示输出上一个月 本月 下个月的日历 语法3:#cal -y 年份 表示输出某一个年份的日历

9、clear/ctrl L指令(清除终端中已经存在的命令和结果)

作用:清除终端中已经存在的命令和结果(信息)。 语法:clear 或者快捷键:ctrl L 需要注意的是,该命令并不是真的清除了之前的信息,而是把之前的信息的隐藏到了最上面,通过滚动条继续查看以前的信息。

10、管道

管道符:| 作用:管道一般可以用于“过滤”,“特殊”,“扩展处理”。 语法:管道不能单独使用,必须需要配合前面所讲的一些指令来一起使用,其作用主要是辅助作用①过滤案例(100%使用):需要通过管道查询出根目录下包含“y”字母的文档名称。 #ls / | grep y 针对上面这个命令说明: ①以管道作为分界线,前面的命令有个输出,后面需要先输入,然后再过滤,最后再输出,通俗的讲就是管道前面的输出就是后面指令的输入; ②grep指令:主要用于过滤 ②特殊用法案例:通过管道的操作方法来实现less的等价效果(了解) 之前通过less查看一个文件,可以#less 路径 现在通过管道还可以这么:#cat 路径|less ③扩展处理:请使用学过的命令,来统计某个目录下的文档的总个数? 答:#ls / | wc -l

11、更新linux系统时间

  • 修改系统时区(不修改的话,你同步时间会发现总是不对)

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime --这里我修改为了上海

  • 安装ntpdate

yum -y install ntpdate

  • 更新时间

ntpdate ntp1.aliyun.com --其余的可以百度ntp服务器就有了

  • 将时间同步到BIOS里面,这样下次启动时,就会自动更新了

clock -w

12、查看防火墙状态和开放端口

centos7

代码语言:javascript复制
#查看firewall服务状态
systemctl status firewalld

#出现Active: active (running)切高亮显示则表示是启动状态。
#出现 Active: inactive (dead)灰色表示停止,看单词也行。
#查看firewall的状态
firewall-cmd --state

#开启、重启、关闭、firewalld.service服务
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop

#查看防火墙规则
firewall-cmd --list-all

#查询、开放、关闭端口
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

# 参数解释
1.- firwall-cmd:是Linux提供的操作firewall的一个工具;
2. --permanent:表示设置为持久;
3. --add-port:标识添加的端口;

centos6

service方式
代码语言:javascript复制
#查看防火墙状态: 
[root@centos6 ~]# service iptables status
iptables:未运行防火墙。
#开启防火墙:
[root@centos6 ~]# service iptables start
#关闭防火墙:
[root@centos6 ~]# service iptables stop
# 永久关闭防火墙
[root@centos6 ~]# chkconfig iptables off  
# 永久关闭后重启
[root@centos6 ~]# chkconfig iptables on 
#开启80端口
[root@centos6 ~]# vim /etc/sysconfig/iptables
# 加入如下代码
[root@centos6 ~]# -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
#保存退出后重启防火墙
[root@centos6 ~]# service iptables restart
iptables方式
代码语言:javascript复制
#先进入init.d目录,命令如下:
[root@centos6 ~]# cd /etc/init.d/
[root@centos6 init.d]# 
#然后查看防火墙状态:
[root@centos6 init.d]# /etc/init.d/iptables status
#暂时关闭防火墙:
[root@centos6 init.d]# /etc/init.d/iptables stop
#重启iptables:
[root@centos6 init.d]# /etc/init.d/iptables restart

高级指令

1、hostname指令(操作服务器的主机名)

作用:操作服务器的主机名读取、设置) 语法1:#hostname 含义:表示输出完整的主机名 语法2:#hostname -f 含义:表示输出当前主机名中的FQDN(全限定域名

2、id指令(查看一个用户的一些基本信息)

作用:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id…),该指令如果不指定用户则默认当前用户。 语法1:#id 默认显示当前执行该命令的用户的基本信息 语法2:#id 用户名 显示指定用户的基本信息

验证上述信息是否正确? 验证用户信息:通过文件/etc/passwd 验证用户组信息:通过文件/etc/group

3、whoami指令(我是谁)

作用:“我是谁?”显示当前登录的用户名,一般用于shell脚本,用于获取当前操作的用户名方便记录日志。 语法:#whoami

4、ps -ef指令(查看服务器的进程信息)

指令:ps 作用:主要是查看服务器的进程信息 选项含义: -e:等价于“-A”,表示列出全部的进程 -f:显示全部的列(显示全字段) 执行结果:

列的含义: UID:该进程执行的用户id; PID:进程id; PPID:该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程(parent process ID); C:Cpu的占用率,其形式是百分数; STIME:进行的启动时间; TTY:终端设备,发起该进程的设备识别符号,如果显示“?”则表示该进程并不是由终端设备发起; TIME:进程的执行时间; CMD:该进程的名称或者对应的路径; 案例:(100%使用的命令)在ps的结果中过滤出想要查看的进程状态 #ps -ef|grep "进程名称" 再例如查看nginx的进程:

5、top指令(查看服务器的进程占的资源)

作用:查看服务器的进程占的资源(100%使用) 语法: 进入命令:#top (动态显示) 退出命令:按下q键 输出的结果:

表头含义: PID:进程id; USER:该进程对应的用户; PR:优先级; VIRT:虚拟内存; RES:常驻内存; SHR:共享内存; ** 计算一个进程实际使用的内存= 常驻内存(RES)- 共享内存(SHR)** S:表示进程的状态status(sleeping,其中S表示睡眠,R表示运行); %CPU:表示CPU的占用百分比; %MEM:表示内存的占用百分比; TIME :执行的时间; COMMAND:进程的名称或者路径; 在运行top的时候,可以按下方便的快捷键: M:表示将结果按照内存(MEM)从高到低进行降序排列; P:表示将结果按照CPU使用率从高到低进行降序排列; 1:当服务器拥有多个cpu的时候可以使用“1”快捷键来切换是否展示显示各个cpu的详细信息;

6、du -sh指令(查看目录的真实大小)

作用:查看目录的真实大小 语法:#du -sh 目录路径 选项含义: -s:summaries,只显示汇总的大小 -h:表示以高可读性的形式进行显示 案例:统计"/usr"目录的实际大小

案例:统计“/etc”目录实际大小

7、find指令(查找文件)

作用:用于查找文件(其参数有55个之多) 语法:#find 路径范围选项选项的值 选项: -name:按照文档名称进行搜索(支持模糊搜索) -type:按照文档的类型进行搜索 文档类型:“-”表示文件(在使用find的时候需要用f来替换),“d”表示文件夹 案例:使用find来搜索test.txt 案例:搜索/usr目录下所有的txt后缀文件

代码语言:javascript复制
[root@localhost ~]# find / -name test.txt
/usr/aaa/test.txt
[root@localhost ~]# find /usr -name test.txt
/usr/aaa/test.txt
[root@localhost ~]# find /usr -name *.txt
/usr/lib/firmware/TDA7706_OM_v2.5.1_boot.txt
/usr/lib/firmware/TDA7706_OM_v3.0.2_boot.txt
/usr/lib/firmware/ar3k/1020200/RamPatch.txt
/usr/aaa/test.txt

案例:使用find来搜索/usr/aaa/目录下所有的文件

find /usr/aaa -type f

代码语言:javascript复制
[root@localhost debug]# find /usr/aaa -type f
/usr/aaa/test.txt

案例:使用find来搜索/usr/src/目录下所有的文件夹

find /usr/src -type d

代码语言:javascript复制
[root@localhost debug]# find /usr/src -type d
/usr/src
/usr/src/debug
/usr/src/kernels

8、service指令(控制一些软件的服务启动/停止/重启)

作用:用于控制一些软件的服务启动/停止/重启 语法:#service 服务名start/stop/restart 例如:需要启动本机安装的Apache(网站服务器软件),其服务名httpd #service httpd start 通过ps命令来检查httpd服务是否启动: #ps -ef|grep httpd

9、kill指令(杀死进程)

作用:表示杀死进程 (当遇到僵尸进程或者出于某些原因需要关闭进程的时候) 语法:#kill 进程PID (语法需要配合ps一起使用) 案例:需要kill掉Apache的进程

与kill命令作用相似但是比kill更加好用的杀死进程的命令:killall 语法:#killall 进程名称

10、ifconfig指令(操作网卡相关的指令)

作用:用于操作网卡相关的指令。 简单语法:#ifconfig (获取网卡信息) Eth0表示Linux中的一个网卡,ens192是其名称。Lo(loop,本地回还网卡,其ip地址一般都是127.0.0.1)也是一个网卡名称。

注意:inet addr就是网卡的ip地址

11、reboot指令(重启)

作用:重新启动计算机 语法1:#reboot 重启 语法2:#reboot -w 模拟重启,但是不重启(只写关机与开机的日志信息)

12、shutdown指令(关机)

作用:关机 (慎用) 语法1:#shutdown -h now “关机提示” 或者 #shutdown -h 15:25 “关机提示” 案例:设置Linux系统关机时间在12:00

如果想要取消关机计划的话,则可以按照以下方式去尝试: ①针对于centos7.x之前的版本:ctrl c ②针对于centos7.x(包含)之后的版本:#shutdown -c 除了shutdown关机以外,还有以下几个关机命令: #init 0 #halt #poweroff

13、uptime指令(输出计算机的持续在线时间)

作用:输出计算机的持续在线时间(计算机从开机到现在运行的时间语法:#uptime

代码语言:javascript复制
[root@localhost debug]# uptime
 23:04:50 up 9 days,  7:41,  1 user,  load average: 0.00, 0.01, 0.05

14、uname指令(获取计算机操作系统相关信息)

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

代码语言:javascript复制
[root@localhost debug]# uname
Linux
[root@localhost debug]# uname -a
Linux localhost.localdomain 3.10.0-1127.8.2.el7.x86_64 #1 SMP Tue May 12 16:57:42 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

15、netstat -tnlp指令(查看网络连接状态和端口使用情况)

作用:查看网络连接状态和端口使用情况 语法:#netstat -tnlp

代码语言:javascript复制
[root@localhost debug]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1065/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1442/master
tcp        0      0 0.0.0.0:8101            0.0.0.0:*               LISTEN      1895/docker-proxy
tcp        0      0 0.0.0.0:8102            0.0.0.0:*               LISTEN      1979/docker-proxy
tcp6       0      0 :::22                   :::*                    LISTEN      1065/sshd
tcp6       0      0 ::1:25                  :::*                    LISTEN      1442/master

选项说明: ** -t:表示只列出tcp协议的连接;** ** -n:表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示;** ** -l:表示过滤出“state(状态)”列中其值为LISTEN(监听)的连接;** ** -p:表示显示发起连接的进程pid和进程名称;**

16、man指令(手册)

作用:manual,手册(包含了Linux中全部命令手册,英文) 语法:#man 命令 (退出按下q键) ​

案例:通过man命令查询cp指令的用法 #man cp ​ 呜啦啦啦啦 看官喜欢的话点赞收藏或者关注一下吧

0 人点赞