🌹史上最全的后端必备Linux常用命令汇总(超全面!超详细!)收藏这一篇就够了!🌹

本文涉及的产品
云防火墙,500元 1000GB
简介:  Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器操作系统方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。目前Linux存在着许多不同的Linux发行版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机。

一、引言


1.JPG


1.1、Linux引言


   Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix多用户多任务支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器操作系统方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。目前Linux存在着许多不同的Linux发行版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机。


2.JPG


1.2、Linux的诞生


   20世纪80年代,计算机硬件的性能不断提高,PC的市场不断扩大,当时可供计算机选用的操作系统主要有Unix、DOS和MacOS这几种。Unix价格昂贵,不能运行于PC。DOS显得简陋,且源代码被软件厂商严格保密;


   MacOS是一种专门用于苹果计算机的操作系统。此时,计算机科学领域迫切需要一个更加完善、强大、廉价和完全开放的操作系统。由于供教学使用的典型操作系统很少,因此当时在荷兰当教授的美国人AndrewS.Tanenbaum编写了一个操作系统,名为MINIX,为了向学生讲述操作系统内部工作原理。MINIX虽然很好,但只是一个用于教学目的的简单操作系统,而不是一个强有力的实用操作系统,然而最大的好处就是公开源代码。全世界学计算机的学生都通过钻研MINIX源代码来了解电脑里运行的MINIX操作系统,芬兰赫尔辛基大学大学二年级的学生Linus Torvalds就是其中一个,在吸收了MINIX精华的基础上,Linus于1991年写出了属于自己的Linux操作系统,版本为Linux0.01,是Linux时代开始的标志。他利用Unix的核心,去除繁杂的核心程序,改写成适用于一般计算机的x86系统,并放在网络上供大家下载,1994年推出完整的核心Version1.0,至此,Linux逐渐成为功能完善、稳定的操作系统,并被广泛使用。


   Linux出现于1991年,是由芬兰赫尔辛基大学学生,Linus Torvalds和后来加入的众多爱好者共同开发完成。


3.JPG


1.3、Linux的特点


1.3.1、完全免费


   Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。


1.3.2、多用户、多任务


   Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行,丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,出色的速度性能。


1.4、Centos


1.4.1、简介


   CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器,)以CentOS替代商业版的Red Hat、Enterprise Linux使用。两者的不同,在于CentOS完全开源


1.4.2、 centos 和 readheat区别


   目前的Linux操作系统主要应用于生产环境,主流企业的Linux系统仍旧是RedHat或者CentOS,他们出自于同样的源代码,但centos完全免费。其独有的yum命令支持在线升级,可以即时更新系统,不像RedHat 那样需要花钱购买支持服务!


1.5、Linux目录结构


4.JPG


  1. bin  (binaries):存放二进制可执行文件。
  2. sbin  (super user binaries):存放二进制可执行文件,只有root才能访问。
  3. etc (etcetera):存放系统配置文件。
  4. usr  (unix shared resources):用于存放共享的系统资源。
  5. home:存放用户文件的根目录。
  6. root :超级用户目录。
  7. dev (devices):用于存放设备文件。
  8. lib  (library):存放跟文件系统中的程序运行所需要的共享库及内核模块。
  9. mnt  (mount):系统管理员安装临时文件系统的安装点。
  10. boot 存放用于系统引导时使用的各种文件。
  11. tmp  (temporary)用于存放各种临时文件。
  12. var  (variable)用于存放运行时需要改变数据的文件。

二、Linux常用命令


2.1、Linux命令格式


命令  -选项  参数    
如:  ls -l /usr 
复制代码


2.2、ls


2.2.1、概述


   ls(list)命令用于显示文件和目录列表


2.2.2、常用参数


  1. -l(long):长格式显示文件和目录信息。ls -l 简写就是ll
  2. -a(all):显示所有文件和目录。
  3. -R:递归显示指定目录下的文件清单,即会显示指定目录分支内各子目录中的文件清单。
  4. -h:人性化显示文件大小。


2.2.3、细节


5.JPG


文件类型   文件权限       链接数    属主      属组    大小     日期     时间     文件名
   d     rwxr -xr -x     8     xiaolin   root    4096    Apr 22  09:42    jdk11
复制代码


第一个信息(第一位):

  1. d:表示当前类型为目录
  2. -:代表当前类型问文件


第二个信息(后面9位):

  1. 第一个3位:代表当前文件创建者( user)的操作权限 r(读) 、w(写)、x(执行)。
  2. 中间的3位 :代表当前文件创建者的同组(group)用户对文件的操作权限 。
  3. 最后的3位 :代表当前文件创建者的不同组(other)用户对该文件的操作权限。


第三个信息(再后面1位):表示文件链接数。


第四个信息:链接数后面的表示当前文件的创建者。


第五个信息:当前文件创建者后面表示当前文件创建者所在的组是哪个组。


第六个信息:所在组后面表示当前文件占用的空间大小。


第七个信息:文件最后一次修改的时间。


第八个信息:文件名或者目录名。


2.3、操作文件命令


2.3.1、cd


   cd命令用来切换目录。可以随意切换到想要的目录。


2.3.2、pwd(print working directory)


   显示当前工作目录


2.3.3、touch


   创建空文件


2.3.4、mkdir(make directoriy)


   创建目录,他有一个参数:-p(parents),表示如果父目录不存在的话先生成父目录。


2.3.5、cp(copy)


cp  文件名  目录:复制文件到指定目录中
cp  -r(recursive) 目录名 目录:复制指定目录到指定目录中,-r表示递归处理,将指定目录下的文件与子目录一并拷贝。
复制代码


2.3.6、mv(move)


   移动文件或目录、文件或目录改名


mv 文件名 新文件名:表示文件改名
mv 文件名 目录名: 表示文件移动
mv 目录名 不存在目录名:表示目录改名 
复制代码


2.3.7、rm


   他有几个常用的参数


-r:同时删除该目录下的所有文件(recursive)
-f:强制删除文件或目录(force)
复制代码

   经常使用组合命令是:rm -rf


2.3.8、rmdir(remove directoriy)


   删除空目录,如果不是空目录会提示报错。


2.3.9、cat(catenate)


   显示文本文件内容,用来展示少量内容,仅限一个屏幕


2.3.10、head


   查看文本中开头或结尾部分的内容


# 查看a.log文件的前5行
head  -n  5  a.log 
复制代码


2.3.11、tail


# 循环读取(fellow,实时展示文件的内容变化)
tail  -f  b.log 
复制代码


2.3.12、echo


   输出命令


# 用来向屏幕输出一句话
echo   I love baby
# 将这段内容输入到 aa.txt文件中,运行两次就是追加
echo I Love baby  >>  aa.txt
复制代码


2.4、网络相关命令


2.4.1、ip addr


   查看IP地址,简化写法为:ip a


2.4.2、ping


   测试网络连通性


2.5、tar命令


tar命令相当于windows的好压,用于解压或者压缩文件。


# 打包命令
tar -cvf 打包文件名 源文件
复制代码


他有几个参数:

  1. -c(create):建立一个压缩文件的参数指令。
  2. -x(extract):解开一个压缩文件的参数指令。
  3. -z :是否需要用 gzip 压缩,  .tar.gz(打包并且用了gzip的压缩)。
  4. -v :压缩的过程中显示文件(verbose)。
  5. -f:使用档名。


通常使用的组合命令:

  1. tar -cvf aaa.tar file1.txt file2.txt:将file1和file2打包成aaa.tar。
  2. tar -zcvf aaa.tar.gz file1.txt file2.txt :将file1和file2打包成aaa.tar
  3. tar -zxvf aaa.tar.gz:将aaa.tar.gz解压


2.6、systemctl 服务命令(Centos独有)


他用于查看服务的状态。


# 查看某个服务的运行状态
systemctl status 服务名
# 启动某个服务
systemctl start 服务名
# 重启某个服务
systemctl restart 服务名
# 停止某个服务
systemctl stop 服务名
复制代码


2.7、进程相关命令


2.7.1、ps


查询在当前控制台上运行的进程。


# 查询系统中所有运行的进程,包括后台进程,其中参数a是所有进程,参数x包括不占用控制台的进程,参数u显示用户。
ps  -aux 
# 查询系统中所有运行的进程,包括后台进程,而且可以显示出每个进程的父进程号。
ps  -ef
ps -aux|grep 进程 服务名
复制代码


2.7.2、top


动态显示系统进程


2.7.3、kill


杀死进程,


# 上述命令中1314是进程号;一般在执行kill命令之前,先用ps或pstree来查询一下将要被杀掉的进程的进程号。 
kill  1314
# 强制终止1314号进程的运行,其中参数-9代表强制的意思,实际上kill命令是向该进程发送信号,该进程接到信号后决定是否停止运行,有些守护进程必须要收到参数9才终止运行。
kill  -9  1314
复制代码


2.8、vi/vim编辑器


2.8.1、概述


vi / vim是Unix / Linux上最常用的文本编辑器而且功能非常强大。


6.JPG


2.8.2、三种模式


vi编辑器有三种模式:


  1. 编辑模式(命令模式) :所有的机键动作都会理解为编辑整个文档的操作,默认为编辑模式。
  2. 输入模式:大部分机键动作都会理解为输入的字符。
  3. 末行模式:在末行模式,输入很多文件管理命令。


模式之间可以互相转换:


  1. 编辑模式-->输入模式:
    (1). i:在光标所在字符前开始插入。
    (2). a:在光标所在字符后开始插入。
    (3). o:在光标所在行的下面另起一新行插入。
    (4). s:删除光标所在的字符并开始插入。
    (5). I:在光标所在行的行首开始插入 如果行首有空格则在空格之后插入。
    (6).A:在光标所在你行的行尾开始插入。
    (7).O:在光标所在行的上面另起一行开始插入。
    (8).S:删除光标所在行并开始插入。
  2. 输入模式-->编辑模式:ESC(键盘左上方的按键)。
  3. 编辑模式--->末行模式:输入
  4. 末行模式:-->编辑模式:ESC(键盘左上方的按键)(一次或者多次)


2.8.3、常用命令


  1. i:在光标前插入。
  2. I:在光标当前行开始插入。
  3. a:在光标后插入。
  4. A:在光标当前行末尾插入。
  5. o:在光标当前行的下一行插入新行。
  6. O:在光标当前行的上一行插入新行。
  7. :set nu:显示行号。
  8. :set nonu:取消行号。
  9. gg:到文本的第一行。
  10. G:到文本的最后一行。
  11. :n:到文本的第n行。
  12. u:undo,取消上一步操作。
  13. Ctrl + r:redo,返回到undo之前。
  14. :wq:保存退出。
  15. 按住shift:保存退出,与“:wq”作用相同。
  16. :wq!:强制保存退出
  17. :q:退出不保存。
  18. :q!:强制退出不保存。
  19. yy:复制光标所在行 (编辑模式)。
  20. 2yy 从光标行开始复制2行(编辑模式)。
  21. p::粘贴命令。
  22. u:撤销(编辑模式)。
  23. 1,$d:全部删除(末行模式)。


2.8.4、移动光标和翻屏操作


2.8.4.1、逐字符移动


  1. h:左移动。
  2. l:右移动。
  3. j:向下移动。
  4. k:向上移动。


2.8.4.2、行内跳转和行间跳转


  1. 0:跳转到行首。
  2. $:跳转到行尾。
  3. G::跳转行最后一行(需要在编辑模式下输入按键盘的G)。
  4. gg: 跳转到第一行(需要在编辑模式下按键盘两下gg)。
  5. ctrl+f:向下翻一页。
  6. ctrl+b:向上翻一页。


2.8.4、查找和替换


  1. /需要匹配的条件:从前往后查找。


/s
复制代码
  1. ?需要匹配的条件:从后往前查找。


?s
复制代码


  1. n:  下一个匹配的字符串(编辑模式)。
  2. N: 上一个匹配的字符串(编辑模式)。
  3. g:全局替换。
  4. i:忽略大小写


2.9、软件相关命令


2.9.1、rpm命令


2.9.1.1、rpm概述


   RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括RedHat、CentOS、SUSE等Linux的分发版本都有采用,可以算是公认的行业标准了。RPM文件在Linux系统中的安装最为简便,


2.9.1.2、rpm命令


rpm命令常用的参数:


  1. i(install):安装应用程序。
  2. e(erase):卸载应用程序。
  3. vh(verbose   hash):显示安装进度。
  4. U(update) :升级软件包。
  5. qa(query all): 显示所有已安装软件包。


# 显示进度安装 gcc-c++-4.4.7-3.el6.x86_64.rpm
rmp  -ivh  gcc-c++-4.4.7-3.el6.x86_64.rpm
复制代码


2.9.2、yum命令


   Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。使用YUM命令必须连接外部网络


2.10、用户和组相关命令


   用户的定义是一类用户具有访问某个资源或服务的能力。     用户组(存放一些列用户的容器),同时用户组还拥有具有访问某个资源的权限


  1. whoami:查看当前用户。
  2. exit:退出用户。
  3. groupadd:添加组.
  4. groupdel:删除组。
  5. useradd:添加用户,可以带一个参数-g,指定组名称,如果创建用户的时候,不指定组名,那么系统会自动创建一个和用户名一样的组名。
  6. passwd 用户名:设置用户密码。
  7. su 用户名:切换用户。


2.11、权限相关命令


   权限的定义是某一个特定的人资源或者服务的访问能力。     Linux文件有三种典型的权限,即r读权限、w写权限和x执行权限。在长格式输出中在文件类型的后面有9列权限位,实际上这是针对不同用户而设定的。r=4,w=2,x=1

   r(read):表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。     w(write):表表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。     x(excute):表表示可写入,表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。


2.12、搜索相关命令


2.12.3、文件相关


  1. whereis  命令名:搜索该命令所在路径及帮助文档所在位置。


whereis  ls
复制代码


7.JPG


  1. which:搜索命令所在路径及别名


which ls
复制代码


8.JPG


  1. find 搜索范围 搜索条件:find是在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配。


# 不区分大小写
find /root -iname install.log 
复制代码


2.12.4、字符串搜索


基本格式为:grep [选项] 字符串 文件名。


可选项为:

  1. -i:忽略大小写。
  2. -v:排除指定字符串。


2.12.5、find命令和grep命令的区别


find命令:在系统中搜索符合条件的文件名。

grep命令:在文件中搜索符合条件的字符串。


2.13、防火墙


   centos7的防火墙程序服务名为:firewalld,他的相关命令如下:


  1. 防火墙配置命令:firewall-cmd。
  2. 防火墙帮助:fireweall-cmd --help。
  3. 查看防火墙状态:firewall-cmd --state。
  4. 查看所有打开的端口:firewall-cmd --zone=public --list-ports。
  5. 开启端口:firewall-cmd --zone=public --add-port=端口号/tcp --permanent(--permanent参数为永久生效,不加则重启后失效)
  6. 更新防火墙规则:firewall-cmd --reload。
  7. 删除端口:firewall-cmd --zone=public --remove-port=端口号/tcp --permanent。



相关文章
|
3天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
18 3
|
3天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
16 2
|
3天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
18 3
|
6天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
30 6
|
7天前
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
21 7
|
9天前
|
监控 Linux
Linux常用命令-2
本文继续介绍Linux常用命令,涵盖目录操作、文件操作、系统信息和进程管理等类别。具体包括mkdir、rmdir、cp、mv、rm、touch、whereis、whatis、dmesg、free、date、cal、ps、kill、killall和top等命令的使用方法和常用参数。
38 7
|
7天前
|
监控 Linux Perl
Linux 命令小技巧:显示文件指定行的内容
在 Linux 系统中,处理文本文件是一项常见任务。本文介绍了如何使用 head、tail、sed 和 awk 等命令快速显示文件中的指定行内容,帮助你高效处理文本文件。通过实际应用场景和案例分析,展示了这些命令在代码审查、日志分析和文本处理中的具体用途。同时,还提供了注意事项和技巧,帮助你更好地掌握这些命令。
21 4
|
6天前
|
缓存 网络协议 Linux
Linux ip命令常用操作
Linux的 `ip`命令是一个强大且灵活的网络管理工具,能够执行从基本的网络接口配置到高级的路由和VLAN管理等多种操作。通过熟练掌握这些常用操作,用户可以更加高效地管理和配置Linux系统的网络环境。无论是在日常管理还是故障排除中,`ip`命令都是必不可少的工具。
11 2
|
7天前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
24 3
|
9天前
|
Linux Shell
Linux常用命令-1
本课程要求学生熟悉Linux系统终端窗口和命令基础,掌握文件目录类、系统信息类、进程管理类及其他常用命令,学时为3-6小时。课程内容涵盖Linux命令的特点、常见命令的使用方法及其应用场景,如文件浏览、目录切换、内容显示等。建议学生逐个操作命令并及时反馈问题。
38 5