Linux命令大全【超级全】

本文详细介绍了Linux系统中的用户与账户管理、系统操作、目录与文件操作、文档处理、压缩与解压、网络相关、硬盘管理和软件安装卸载的相关命令,包括添加、删除和修改用户、组管理、进程监控、日期时间调整、文件查看、权限修改、压缩格式如gzip、tar、zip的使用以及网络状态检查等。这些命令是Linux系统管理的基础,对于日常维护和问题排查至关重要。
摘要由CSDN通过智能技术生成


1 用户与账户相关

1.1 账户管理

1.1.1 添加用户
语法:useradd [参数] 用户名	#添加用户
参数:
 -c<备注>:修改用户帐号的备注文字。 
 -e<有效期限>:修改帐号的有效期限。 
 -g<群组>:修改用户所属的群组。 
 -n:取消建立以用户名称为名的群组. 
 -U:解除密码锁定。
1.1.2 密码管理
语法:passwd [参数] 用户名	#给指定用户设置密码
参数:
 -d:删除密码。本参数仅有系统管理者才能使用。 
 -f:强制该用户下次登录后修改密码
 -l:锁住密码。 
 -u:解开已上锁的帐号。
1.1.3 修改用户
语法:usermod [参数] 用户名	#修改用户相关信息
选项:
 -c<备注>:修改用户帐号的备注文字。 
 -e<有效期限>:修改帐号的有效期限。 
 -g<群组>:修改用户所属的群组。 
 -l<帐号名称>:修改用户帐号名称。 
 -L:锁定用户密码,使密码无效。 
 -U:解除密码锁定。

1.2 用户组管理

1.2.1 添加/删除组
语法:
 groupadd 用户组名	#创建用户组
 groupdel 用户组名	#删除用户组
 groups 用户名		 #查询用户所属组
1.2.2 修改组
语法:groupmod [参数] 用户组名	#修改用户组
参数:
 -g <组识编号>:设置欲使用的群组识别码。 
 -n <新群组名称>:设置欲使用的群组名称。 
1.2.3 组成员管理用户
语法: gpasswd (可选项)用户名 组名		#将一个用户添加到组或者从组中删除。
参数:
 -a:添加用户到组;
 -d:从组删除用户;
 -A:指定管理员;
 -M:指定组成员和-A的用途差不多;
 -r:删除密码;
 -R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。

1.3 其他操作

1.3.1 显示用户
语法:logname #显示当前登录账号的信息
1.3.2 切换用户
语法:su 用户名	#切换用户
举例:
 su 		#切换到root用户 
 su root	#切换到root用户 
 su itcast 	#切换到itcast用户 
1.3.3 详细信息
语法:id 	#查看当前用户的详细信息(用户id,群组id,所属组)
1.3.4 sudo
语法:sudo  	#提高权限
用法:
sudo -l  			#显示自己的权限
sudo 命令 		   #让当前用户使用系统管理者的身份,去执行某个命令
sudo -u 用户名 命令	 #以指定用户的身份,去执行某个命令

2 系统操作相关

2.1 日期管理

语法:date [参数]	#显示或修改系统时间
参数:
 -s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;

2.2 进程相关

2.2.1 top
语法:
 top		#实时显示所有的进程信息 
 top –c		#实现显示所有的进程信息 
 top –p PID #实时显示指定进程的信息 
 q			#结束监控
2.2.2 ps
语法:ps [参数] 	#查看进程信息
参数:
 -A:进程信息信息(部分)
 -u : 显示指定用户信息
 -ef :显示所有进程信息(完整)
举例:
 ps 			#显示当前正在运行的进程信息
 ps -A 		#显示系统中所有的进程信息
 ps -ef 		#显示系统中所有的进程信息(完整信息)
 ps –u 用户名 #显示指定用户的进程信息
2.2.3 kill
语法:kill [参数] [进程] 	#中断执行中的程序
参数:
 -l<信息编号> : 若不加信息编号选项,则-l参数会列出全部的信息名称,进程:可以是程序的PID或者PGID,也可以是工作编号
 -u 用户名: 杀死这个用户中所有进程
举例:
 kill 进程PID 					#杀死指定进程
 kill -9 进程PID 					#彻底杀死指定进程
 kill -9 $(ps –ef | grep 用户名) 	#彻底杀死指定用户所有进程
 killall –u 用户名				 	#杀死指定用户所有进程

2.3 关机命令

语法:shutdown [参数] time [message]	#关机
参数:
 -t seconds : 设定在几秒钟之后进行关机程序。
 -k : 并不会真的关机,只是将警告讯息传送给所有使用者。
 -r : 关机后重新开机。
 -h : 关机后停机。
 -n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机。
 -c : 取消目前已经进行中的关机动作。
 -f : 关机时,不做 fcsk 动作(检查 Linux 档系统)。
 -F : 关机时,强迫进行 fsck 动作。
 time : 设定关机的时间。
 message : 传送给所有使用者的警告讯息。
举例:
 shutdown					#不同的版本有所差异
 shutdown –h now			#麻溜的立马关机
 shutdown +1 "警告信息" 	 #墨迹一分钟再关机,并出现警告信息
 shutdown –r +1 "警告信息" 	 #墨迹一分钟再重启,并出现警告信息
 shutdown -c 				#取消当前关机操作

2.4 重启命令

语法:reboot [参数]		#重启
参数:
-n : 在重开机前不做将记忆体资料写回硬盘的动作
-w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里
-d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d) 
-f : 强迫重开机,不呼叫 shutdown 这个指令
-i : 在重开机之前先把所有网络相关的装置先停止
举例:
 reboot 	#立马重启

2.5 who命令

语法:who [参数] #显示当前登录系统的用户
参数:
 -H: 显示标题信息
 -u:显示闲置时间,如果一份之后有操作,则显示点,如果超过24小时无操作,则显示old字符串
 -q:只显示登入系统的账号名称和总人数
 -s:次参数将忽略不予处理,仅负责解决who指令其版本的兼容性问题
 -w:显示用户的信息状态栏
举例:
 who 	#显示当前登录系统的用户
 who –H #显示明细(标题)信息

2.6 timedatectl命令

语法:timedatectl 	#校正服务器时间、时区
举例:
 timedatectl status 						#显示系统的当前时间和日期
 timedatectl list-timezones 				#查看所有可用的时区
 timedatectl set-timezone "Asia/Shanghai" 	#设置本地时区
 timedatectl set-ntp false 					#禁用时间同步
 timedatectl set-time "2019-03-11 20:45:00" #设置时间
 timedatectl set-ntp true 					#启用时间同步

2.7 clear命令

语法:clear	#清除当前屏幕; 也可以使用快捷键  ctrl+L

3 目录相关

3.1 目录相关命令

ls #列出目录
	ls 显示不隐藏的文件与文件夹
    ls -l 显示不隐藏的文件与文件夹的详细信息
    ls –al 显示所有文件与文件夹的详细信息
    
cd #切换目录
	cd [相对路径或绝对路径] 切换目录
	
pwd #显示目前的目录
	pwd –P 查看当前所在目录
	
mkdir #创建新目录
	mkdir [-p] 文件夹的名字 创建目录,-p参数可以确保目录名称存在,不存在的就建一个
	
rmdir #删除空目录
	rmdir [-p] 文件夹名字 删除空的目录,-p参数表示在子目录被删除后使它也成为空目录的话,则顺便一并删除。
	例如:rmdir -p bbb/ccc 删除ccc,如果删完之后bbb是空的,bbb也一起删除
	
cp #复制文件或目录
	cp aaa/a.txt ccc 将aaa文件夹中的a.txt文件拷贝到ccc文件夹中
	cp –r aaa/* ccc 将aaa文件夹中所有内容拷贝到ccc文件夹中
	
rm #删除文件或目录
	rm –r 目录路径 删除目录和目录里面所有的内容
	
mv #移动文件或目录,修改文件或者目录的名字
	mv 数据源 目的地 改名、移动

3.2 chgrp命令

语法:chgrp [选项参数][所属群组][文件或目录...]  #更改属组
参数:
-c:效果类似"-v"参数,但仅回报更改的部分。
-f:不显示错误信息。
-h:只对符号连接的文件作修改,而不更动其他任何相关文件。
-R:递归处理,将指定目录下的所有文件及子目录一并处理。
-v:显示指令执行过程。
举例:
chgrp -v root aaa 	#将aaa的属组改为root

3.3 chown命令

语法:chown [参数选项] 属主名 文件名 		#更改属主
	 chown [参数选项] 属主名:属组名 文件名 	#更改属主和属组
参数:
 -R 处理指定目录以及其子目录下的所有文件
举例:
 chown root aaa 		#将aaa的属主改为root
 chown root:root bbb  	#将bbb的属主和属组改为root
 chown –R root:root aaa #将aaa文件夹和里面所有的属主和属组改为root

3.4 chmod命令

语法:chmod [参数选项] 数字权限或符号权限 文件或目录		#修改文件的权限(属主、属组、其他用户)
参数:
 -c : 若该档案权限确实已经更改,才显示其更改动作
 -f : 若该档案权限无法被更改也不要显示错误讯息
 -v : 显示权限变更的详细资料
 -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递归的方式逐个变更) 
数字权限: 
 就是刚刚提到的数字类型的权限属性,为 rwx 对应数值相加的和。
符号权限:
 u:user属主权限 
 g:group属组权限 
 o:others其他权限
 a:全部身份 
举例:
 chmod –R 770 aaa 			#修改aaa文件夹及内容对属主和属组拥有所有权限,其他用户没有任何权限
 chmod u=rwx,g=rx,o=r a.txt  #修改a.txt文件对属主有所有权,属组拥有读和执行权限,其他用户只有读的权限

3.5 touch命令

语法:touch [参数选项] 文件名	#如果文件不存在就创建文件,如果存在就修改时间属性
参数:
 -a 改变档案的读取时间记录。
 -m 改变档案的修改时间记录。 
 -c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
 -d 设定时间与日期,可以使用各种不同的格式。 
 -t 设定档案的时间记录,格式与 date 指令相同。 
举例:
 touch a.txt 		#不存在就创建,存在就修改时间属性
 touch a{1..10}.txt #批量创建空文件
 stat a.txt 		#查看文件的详细信息

4 文档操作相关

4.1 vi/vim编辑器

#编辑文件
语法:vim 文件名	#文件编辑器。如果文件存在就打开文件并编辑,如果文件不存在就创建并打开编辑

#模式切换
进入编辑模式  可以使用字母: i,a,o任意字母
退出编辑模式  可以按1次esc按键
进入底行模式  可以使用字母冒号 :
退出底行模式  可以按两次esc按键

#模式介绍:
编辑模式  处于此模式时,可以对文件的内容进行修改;
命令模式  处于此模式时,只能看文件的内容,同时此模式也是默认模式,是转换另外两种模式的中转站;
底行模式  处于此模式时,可以对文件本身操作,例如:文件保存,文件退出,等;

#底行模式的语法:
 q 		#不保存,并推出
 q! 	#不保存,并强制推出
 wq 	#保存,并推出
 wq! 	#保存,并强制推出

#异常处理:
如果vim异常退出, 在磁盘上可能会保存有交换文件, 需要将后缀名为.swp的文件删除即可恢复;

4.2 文件查看

cat命令
语法:cat [参数选项] 文件 	#查看小型文件,一次性显示全部
参数:
 -n:由 1 开始对所有输出的行数编号。
举例:
 cat a.txt 		#查看a.txt的内容
 cat –n a.txt 	#查看a.txt的内容(加入行号)
less命令
语法:less [参数选项] 文件 	#查看大文件
参数选项:
 -N:显示每行的行号
举例:
 less a.txt 		#查看a.txt的内容
 less –N a.txt 	#查看a.txt的内容(加入行号)

tail命令
语法:tail [参数选项] 文件 #查看文件的最后部分,或动态显示文件最后内容
参数:
 -数字:显示文件的最后几行
 -f :循环读取文档最后10行 
 -n <行数>:显示文件的内容,从指定行至文件末尾
 -c:显示最后指定的字节数
举例:
 tail –3 big.txt 	#显示文件最后3行
 tail -f big.txt 	#动态显示最后10行
 tail -4f big.txt 	#动态显示最后4行
 tail -n +2 big.txt #显示文件a.txt 的内容,从第 2 行至文件末尾
 tail -c 45 big.txt #显示最后一些字符

4.3 grep命令

语法:grep [参数选项] 关键字 文件 #根据关键词,搜索文本文件内容(对内容进行筛选)
参数:
 -n:把包含关键字的行展示出来
 -i :把包含关键字的行展示出来,搜索时,忽略大小写。
 -v : 把不包含关键字的行展示出来
举例:
 grep 关键字 small.txt 	#把包含关键字的行展示出来
 grep –n 关键字 small.txt 	#把包含关键字的行展示出来且加上行号
 grep –i 关键字 small.txt 	#把包含关键字的行展示出来,搜索时忽略大小写
 grep –v 关键字 small.txt	#把不包含关键字的行展示出来
 ps -ef | grep 关键字 		#查找指定的进程信息,包含grep进程
 ps -ef | grep 关键字 | grep -v "grep" #查找指定的进程信息,不包含grep进程
 ps -ef|grep -c sshd 	  #查找进程个数

4.4 echo命令

语法:echo 字符串 	#展示文本
举例:
 echo 字符串 >文件名 				#将字符串写到文件中(覆盖文件中内容)
 echo 字符串 >> 文件名 			#将字符串写到文件中(不覆盖文件中内容)
 cat 不存在的目录 &>> error.log 	#将命令的失败结果 追加 error.log文件的后面

4.5 awk命令

#AWK是一种处理文本文件的语言,是一个强大的文本分析工具。一般配合cat命令可以对cat打开的文件内容进行分析展示;
语法:awk [参数选项] "语法" 文件
参数:
 -F ','  		#使用逗号对文件内容进行分割
 $+数字 		   #可以获取分割后的第几段内容
 $0 			#表示获取当前行内容
 OFS='分隔符' 	  #以指定的分隔符连接分割的结果

#awk脚本:
BEGIN{ 这里面放的是执行前的语句 }
{这里面放的是处理每一行时要执行的语句}
END {这里面放的是处理完所有的行后要执行的语句 }

#awk的方法:
toupper($数字)
tolower($数字)
length($数字)

#awk的特殊变量:
NR 表示行号,从1开始
可以直接在{中使用自定义的变量名}

5 压缩与解压操作

5.1 ln命令

#创建软连接,也就是windows中的快捷方式;
语法:ln -s 目标文件路径 快捷方式路径

5.2 find命令

语法:find [参数选项] <指定目录> <指定条件> <指定内容> #在指定目录下查找文件
参数选项:
 -name filename 	#查找名为filename的文件
 -ctime -n或+n 	   #按时间来查找文件,-n指n行以内,+n指n行以前
例如:
 find . -name "*.java"  将当前目录及其子目录下所有后缀名是java的文件罗列出来

5.3 gz压缩与解压命令

5.3.1 gzip压缩
语法:gzip [参数选项] [文件] 	#压缩文件
参数:
 不加任何参数表示压缩文件
 -d 解压缩
 -v 显示指令执行过程
举例:
 gizp  a.txt	#压缩a.txt文件
 gzip *			#压缩当前目录下所有文件
 gzip -dv *		#解压当前文件夹下所有压缩文件并列出详细信息
5.3.2 gunzip解压
语法:gunzip [参数] [文件]		#解压文件
参数:
 -v 显示指令执行过程
举例:
 gunzip a.gz	#解压a文件;
 gunzip *		#解压当前文件夹下所有压缩文件并列出详细信息


gunzip 专门解压文件;
例如:
gunzip a.gz   解压a文件, *可以表示所有文件;

5.4 tar打包并压缩命令

语法:
 tar -zcvf 压缩文件名 文件名/文件夹名 压缩文件或者文件夹并指定压缩文件名	#打包,并压缩
 tar –zxvf 压缩文件名 解压指定的压缩文件							  #解压缩
参数:
 -c:建立新的压缩文件
 -v:显示指令执行过程
 -f<备份文件>:指定压缩文件
 -z:通过gzip指令处理压缩文件。
 -t:列出压缩文件中的内容
 -x:表示解压
举例:
 tar -q -r a.zip a #将a文件夹压缩成a.zip文件
 
注意:
 tar本身不具有压缩功能。他是调用gzip压缩功能实现的 。

5.5 zip格式解压与压缩

5.5.1 zip压缩
语法:zip [必要参数][选择参数][文件] #压缩文件
参数:
 -q 不显示指令执行过程。
 -r 递归处理,将指定目录下的所有文件和子目录一并处理。
举例:
 zip -q -r a.zip a #将a文件夹压缩成a.zip文件
 
注意:
 压缩出来的是".zip"扩展名的压缩文件。
 zip是个在windows中使用广泛的压缩程序(linux中一般使用tar.gz方式压缩文件)
5.5.2 unzip解压缩
语法:unzip [必要参数][选择参数][文件] #解压
参数:
 -l 显示压缩文件内所包含的文件。
 -d<目录> 指定文件解压缩后所要存储的目录
举例:
 unzip  a.zip 		#将a.zip解压到当前文件夹中
 unzip -d bb a.zip  #将a.zip解压到bb文件夹中

注意:只能解压".zip"扩展名的压缩文件。

6 网络相关

6.1 ifconfig命令

ifconfig 显示激活的网卡信息
ifconfig ens37 down 关闭网卡
ifconfig ens37 up 启动网卡
ifconfig ens37 192.168.23.199 配置ip地址
ifconfig ens37 192.168.23.133 netmask 255.255.255.0 配置ip地址和子网掩码

6.2 ping命令

语法:ping [参数选项]  ip地址  #检测是否与主机连通
参数选项:
 -c<完成次数>:设置完成要求回应的次数。
例如:
 ping www.baidu.com 	 #检测是否与百度连通
 ping -c 2 www.baidu.com #指定接收包的次数

6.3 netstat命令

语法:netstat [参数选项] #显示网络状态
参数:
 -a 显示所有连线中的Socket
 -i 显示网卡列表
举例:
 netstat –a 显示详细的连接状况
 netstat –i 显示网卡列表

7 硬盘相关

7.1 lsblk命令

语法:lsblk [参数选项]	 #列出硬盘的使用情况,理解为"list block"的英文缩写
参数:
 -f 显示系统信息
例如:
 lsblk 		#列出硬盘的使用情况
 lsblk –f 	#显示系统信息

7.2 df命令

语法:df [参数选项] 	#显示目前在Linux系统上,硬盘的使用情况
参数选项:
 --total:显示所有的信息
 -h:换算成KB,MB,GB等形式进行展示(方便阅读)
例如:
 df 		#显示整个硬盘使用情况
 df 文件夹   #显示文件夹使用情况
 df –total  #显示所有的信息
 df -h 		#将结果变成KB,MB,GB形式展示,利于阅读

7.3 mount命令

#作用:挂载Linux系统外的文件。(可以理解为是将linux系统外的软件或硬件与linux系统连接在一起,并被linux系统识别的一系列操作,就是挂载,例如:你把U盘插入电脑,电脑识别U盘,并读取到U盘中的内容就是挂载了U盘)
语法:mount [参数选项] 目录 #用于挂载Linux系统外的设备
例如:
 mkdir 文件夹 					  #创建文件夹(也是创建一个挂载点)
 mount -t auto /dev/cdrom 文件夹 #开始挂载
 umount 文件夹 				  #卸载

8 软件下载安装与卸载

8.1 yum命令

#Yum(全称为 Yellow dog Updater, Modified)是一个软件包管理器。能够从指定的服务器自动下载RPM软件安装包并且安装,还可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。 
#yum命令的作用: 可以完成软件的安装,下载或者卸载;

#yum常用命令:
yum check-update			#列出所有可更新的软件清单
yum update					#更新所有软件
yum install <package_name> 	#仅安装指定的软件
yum update <package_name>	#仅更新指定的软件
yum list 					#列出所有可安裝的软件清单
yum remove <package_name>	#删除软件包
yum search <keyword>		#查找软件包:
yum clean packages: 		#清除缓存目录下的软件包
yum clean headers  			#清除缓存目录下的 headers 
yum clean oldheaders 		#清除缓存目录下旧的 headers 
yum clean, yum clean all 	#清除缓存目录下的软件包及旧的headers
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

改变世界的李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值