Linux实用命令

文章目录

一.系统与设置命令

1. Linux的用户与用户组
  • 添加用户 useradd aaa
  • 为新增用户设置密码 passwd aaa
  • 切换用户 su 用户名
    su -c ls root(通过root账户执行ls命令)
  • 删除用户 userdel
    userdel test 删除test用户(不会删除home目录)
    userdel -r test 删除用户以及home目录
  • 修改用户名称: usermod -l 新名称 aaa(使用前退出用户)
    退出当前用户ctrl+d
    修改用户属性和配置usermod
  • 查看所有用户sudo grep bash /etc/passwd
  • 添加组 groupadd 用户组名
  • 修改组 groupmod -n 新组名 用户组名
  • 查询用户所属组 groups 用户名
  • 删除用户组 groupdel 用户组名
  • 添加某个用户,顺便给这个用户指定组 useradd 用户名 -g 用户组名
  • 管理组内成员 gpasswd 组名
    gpasswd用于将一个用户添加到组或者从组中删除
    添加gpasswd -a 用户名 组名
    查看grep '组名' /etc/group
  • 显示用户logname
  • 修改用户的用户组chgrp -v 组名 用户名
2.当前用户的详细信息 id
3.提高普通用户的权限sudo

通过root权限操作文件sudo -u root ls

4.实时显示进程的信息 top

实时显示进程的信息(显示完整命令) top -c

实时显示指定进程的信息 top -p PID

按q退出
原文地址

5.查看进程信息ps

所有进程信息 ps -a

所有进程详细信息ps -ef

指定用户的的进程信息 ps -u 用户名

6.杀死进程kill

杀死指定进程kill PID

强制杀死kill -9 PID

杀死指定用户下的进程kill -9 $(ps -ef | grep 用户名)

方式二 killall -u 用户名

7.关机重启
复制代码
重启命令:reboot
关机命令:立即关机halt

方式二 sudo shutdown

取消关机 shutdown -c

立即关机 shutdown -h now

一分钟后关机 shutdown +1 "警告信息"

一分钟后重启 shutdown -r +1 "警告信息"

帝乙岩

8.显示当前登陆系统的用户who

显示标题 who -H
原文地址

9.校正服务器时间,时区 timedatectl

ntp时间服务器

查看时区timedatectl list-timezones

回车下一页,q退出

设置时区 timedatectl set-timezone "Asia/Shanghai"

禁用时间同步set-ntp false

开启时间同步set-ntp true

设置时间 timedatectl set-time "2024-01-01 00:00:00"

10.清屏命令clear

二.目录管理

1.ls列出目录内容(list)
复制代码
	格式:ls [参数] [文件或目录]
		常用
			ls -l		--> 此命令非常常用,提供简化版命令 ll
			ll /home/		--> 显示指定目录下的内容

ls -al 显示所有文件与文件夹

-a或--all 下所有文件和目录。注意隐藏文件、特殊目录、. 和 ...

-l 使用详细格式列表。

-t 用文件和目录的更改时间排序。

-r 反向排序

--help 在线帮助。

2.cd切换目录(change directory)

相对路径 cd 目录

绝对路径 cd /目录

cd ~ ,当前用户目录

cd / ,根目录

cd - ,上一次访问的目录

cd ... ,上一级目录

cd ,缺省当前用户目录

3.pwd显示当前目录(print working directory)
4.mkdir 创建目录(make directoriy)
复制代码
		-p 父目录不存在情况下先生成父目录 (parents)
		-v 显示命令执行过程中的详细信息
5.rm删除文件或目录。(remove)
复制代码
	语法:rm [-dfirv][--help][--version][文件或目录...]
		-f或--force  强制删除文件或目录。 
		-r或-R或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
	例
		rm ./ip2.log
		rm -f ./ip2.log			#强制删除文件
		rm -f ./xxx
		rm -rf ./xxx			#强制删除目录
		rm -rf ./* 删除当前目录下所有东西
6.cp 复制文件或目录。(copy)
复制代码
	语法:cp [参数]   [源文件或目录]  [目标文件或目录]
		-r或--recursive  递归处理,将指定目录下的文件与子目录一并处理。
	例
		cp ./abc ./xxx				#无法复制目录,更改文件名字
		cp -r ./abc ./xxx			#复制目录必须使用 -r参数,
		cp ip.log ip2.log
		cp -b ip.log ip2.log
7.mv移动或更名现有的文件或目录。(move)
复制代码
	语法:mv  [源文件或目录][目标文件或目录]
		-f或--force  若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录。
	例
		mv ./abc/123/ ./xxx/111		重命名	#移动一个空目录 或 一个文件
		mv -f ip.log ./abc/ip.log
		mv ip.log ./abc/ip.log
		mv abc*  xxx.log #移动一个空目录 或 一个文件,*前为批量移动的共有文件名
8.文件权限:chmod 变更文件或目录的权限。(change mode)
复制代码
	语法:chmod [参数] [<权限范围><符号><权限代号>]
		-R或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
		权限范围的表示法如下: 
			u:User,即文件或目录的拥有者。 
			g:Group,即文件或目录的所属群组。 
			o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。 
			a:All,即全部的用户,包含拥有者,所属群组以及其他用户。
		符号:
			+ 添加权限
			-取消权限
		有关权限代号的部分,列表于下: 
			r:读取权限,数字代号为"4"。 
			w:写入权限,数字代号为"2"。 
			x:执行或切换权限,数字代号为"1"。 
			-:不具任何权限,数字代号为"0"。 
		例
			mkdir xxx
			ll | grep xxx
			chmod u-rwx xxx		#取消xxx目录,用户"读写执行"权限
			chmod g-rwx xxx 	#取消xxx目录,组"读写执行"权限
			chmod u+rwx xxx		#增加xxx目录,用户"读写执行"权限

常用

chmod 777 xxx #给xxx目录添加所有权限

chmod -R 777 添加权限到指定目录及子文件
原文地址

复制代码
	linux 权限格式:<类型><用户><组><其他用户>
9.chown 分配文件所属用户及所属组

chown 属于用户名 文件名

chown 属于用户名:属于组名 文件名

chown -R 属于用户名:属于组名 文件名 修改所有文件

三.文件管理

1.touch 创建文件

touch 文件名

touch 文件名{1...10}.txt 创建多个文件

stat 文件名 查看文件的详细信息

2.vi 或 vim 命令
复制代码
	2.1基本操作
			输入"vim 文件名"进入"一般模式"
			按下"i"从一般模式,进入"插入模式"
			按下"esc"从"插入模式"退出到"一般模式"
			在"一般模式"下,输入":wq",保存并退出编辑。
			在"一般模式下",输入""q!" 不保存并退出编辑
	2.2vi基本概念
			基本上vi可以分为三种模式 
			    1) 命令行模式command mode) 
				  控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。 
			    2) 插入模式(Insert mode) 
				  只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。 
			    3) 底行模式(last line mode) 
				  将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号......等。 
	2.3常用命令
			插入(从一般模式进入到插入模式)
				i	在光标前插入
				shift + i		在光标当前行开始插入
				a	在光标后插入
				shift + a	在光标当前行末尾插入
				o	在光标当前行的下一行插入新行
				shift + o	在光标当前行的上一行插入新行
			复制或粘贴(在插入模式下)
				yy	单行复制
					将光标移动到将要复制的行处
				nyy	多行复制
					将光标移动到将要复制的首行处
				p	粘贴
					将光标移动到将要粘贴的行处
			定位	
				gg	到文本的第一行
				shift + g	到文本的最后一行

g 到文本的最后一行

vim 文件名 +行号 打开文件到到指定

删除

dd 删除光标所在行

ndd 删除n行

ctrl+L清屏

ctrl+u删除字符

退出后自动创建文件

shift+zz 保存退出

:q 退出vi(没有做任何修改时)

:q! 强制退出不保存

:w 保存不退出

:wq 保存后退出

其它

查看行:set number
原文地址

2.4异常处理

问题:当文件编辑状态卡死,退出后导致报错

ll -al 显示隐藏文件

rm -rf 文件名.swp

生成.swp文件,按a

rm -rf 文件名.swp 删除swp文件

帝乙岩

3.cat显示文本文件内容(小文件)(catenate)
复制代码
	cat 文件名

cat -n 文件名 显示行号

4.less分页显示文件内容,操作更详细。
复制代码
	语法:less [参数] 文件
		-m  显示类似more命令的百分比
		-N  显示每行的行号
	操作
		空格键:前进一页 或 page down
		b:后退一页 或 page up
		d:前进半页
		u:后退半页
		回车键:前进一行 或 方向键向下
		y:后退一行	或 方向键向上
		/字符串:向下搜索
		?字符串:向上搜索
		v:进入vim编辑器
		左右方向键:相当于水平滚动条
		q:退出
	less -mN /root/install.log
5.tail用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
复制代码
	格式:tail[必要参数][选择参数][文件]

-数字 文件名 显示最后几行

-n +2 显示2行到末尾

-f 循环读取

-c 数字 文件名 显示最后多少个字符

ping 127.0.0.1 > ip.log &

tail -f ip.log

& 表示后台运行,否则占用终端

ctrl + c 退出

tail -50f catalina.out 动态查看日志末尾的50行
原文地址

6.head 查看文件前面内容
7.grep过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用,使用上十分灵活。(Global Regular Expression Print)
复制代码
	格式:grep [option] pattern [file]

grep 关键字 文件名 把包含关键字的行展示出来

grep -n 关键字 文件名 把包含关键字的行展示出来并加行号

grep -i 关键字 文件名 把包含关键字的行展示出来,搜索忽略大小写

grep -v 关键字 文件名 把不包含关键字的行展示出来

例:

grep 参数 过滤条件 文件

grep -i control /root/install.log

#查看install.log文件中含有"control"字符的内容

复制代码
	其他命令 |  grep  参数  过滤条件
	cat /root/install.log | grep -i control		#在cat命令输出结果基础上,进行过滤

ps -ef | grep sshd 查找进程sshd

ps -ef | grep sshd | grep -v "grep" 查找指定的进程信息,不包含grep进程

ps -ef | grep -c sshd 查找进程个数

帝乙岩

8.echo 展示文本

echo 字符串 展示文本

echo 字符串 > 文件名 将字符串写到文件中(覆盖)

echo 字符串 >> 文件名 将字符串写到文件中(不覆盖)

echo 文件内容 > 文件路径(快速生成简单内容文件)

cat 不存在的目录 & >> error.log 将命令的失败结果追加error.log文件的后面

9.awk 是一种处理文本文件的语言,是一个强大的文本分析工具

awk [参数选项] '语法'文件

cat a.txt | awk '/a|b/' 查找文件a.txt中含有a和b的内容

cat a.txt | awk -F ' ' '{print 1,2,$3}' 查找文件a.txt按照空格进行切割,并按列打印

复制代码
cat a.txt | awk -F ' ' '{OFS="=="}{print $1,$2,$3}'查找文件a.txt按照空格进行切割,多字符串间按照==进行分割,并按列打印

toupper() 字符串转成大写

tolower() 字符串转成小写

length() 返回字符长度

cat a.txt | awk -F ' ' '{print toupper($1)}' 查找文件a.txt按照空格进行切割,转为大写并按列打印

cat a.txt | awk -F ' ' 'BEGIN{}{totel=totel+$4}END{print totel}'第四列的和

cat a.txt | awk -F ' ' 'BEGIN{}{totel=totel+$4}END{print totel.NR}'第四列的和及个数

cat a.txt | awk -F ' ' 'BEGIN{}{totel=totel+$4}END{print totel.NR.(totel/NR)}'第四列的和及个数及平均分
原文地址

10.软连接(快捷方式)

ln -s 目标文件路径 快捷方式路径

例:

当前目录下创建软连接

ln -s aaa/bbb/a.txt a.txt

11.find查找文件或目录。
复制代码
	语法:find [目录...] [参数] 
	-name 文件或目录名
		find /root/ -name 'test*'

find . -name ".txt" 当前目录下查找.txt结尾的文件
-ctime -n或+n 按照时间来查找文件,-n指n天以内,+n指n天以前
find . -ctime -1 查找一天内的操作过的文件
find / -name "
.txt" 在根目录下查找.txt结尾的文

四:备份与压缩

1.gzip 压缩文件

gzip 文件名

gzip * 压缩当前目录下所有文件

gzip -dv * 解压所有文件并列出详细信息

2.gunzip 解压文件

gunzip * 解压所有

3.tar 打包压缩和解压(常用)
复制代码
			-c 建立一个压缩文件的参数指令(create)--压缩
			-x 解开一个压缩文件的参数指令(extract)--解压
			-z 是否需要用 gzip 压缩
			-v 压缩的过程中显示文件(verbose)
			-f 使用档名,在 f 之后要立即接档名(file)
				常用解压参数组合:zxvf
				常用压缩参数组合:zcvf
		压缩
			tar -zcvf a.tar ./bbb/
		解压
			rm -rf ./ccc  			#将"ccc"移除,再解压
			ll | grep -i ccc
			tar -zxvf ./ccc.tar  -C解压到指定目录

查看

tar -ztvf aaa.gz

rz 上传文件

unzip 解压zip压缩包 -d 解压到指定目录

4.zip 压缩文件

zip 必要参数 选择参数 文件

zip -q -r aaa.zip aaa 压缩文件aaa到aaa.zip

5.unzip 解压

unzip 必要参数 选择参数 文件

-l 显示压缩文件

-d 解压文件

unzip -l aaa.zip 查看压缩文件内容

unzip -d bbb aaa.zip 解压aaa.zip到bbb文件中
原文地址

6.bzip2 压缩文件更小,压缩时间长

bzip2 参数选项 文件

默认删除压缩原始文件

bzip2 a.txt 压缩文件

7.bunzip2 解压

bunzip2 参数选项 文件

bunzip2 -v a.txt.bz2 解压并显示详细信息

帝乙岩

五.网络与磁盘管理

1.ifconfig 查询网卡信息(常用)

ifconfig ens37 down 关闭ens37网卡

ifconfig ens37 up 启动ens37网卡

ifconfig ens37 192.168.31.199 修改ip地址

ifconfig ens37 192.168.31.199 netmask 255.255.255.0 修改ip和子网掩码

2.ping 判断网络通畅(常用)

ping www.baidu.com

ctrl + c 退出

ping - c www.baidu.com 指定返回次数

3.netstat 显示网络状态

netstat -a 显示所有详细链接情况

netstat -i 显示网卡列表

4.lsblk 查看磁盘使用情况

lsblk -f 显示系统信息

5.df 文件系统层角度展示磁盘使用情况

df 文件名 查看文件使用情况

df --total 显示所有信息

df -h 将结果变成KB,MB,GB,形式展示(常用)
原文地址

6.mount 挂载linux系统外的设备(例如u盘)

mount 参数选项 目录

注意:

目录事先存在,可以用mkdir命令新建目录;

挂载点目录不可被其他进程使用到;

挂载点下原有文件将被隐藏;

例:

mkdir aaa

mount -t auto /dev/cdrom aaa 挂载到aaa文件

umount aaa 卸载

7.yum 下载,安装软件,解决软件依赖

注意: 权限和网络畅通

yum -y install tree 安装tree并默认都同意

yum remove tree 卸载tree

yum list tom* 查找以tom开头的软件

更改yum源

yum -y install wget 下载下载工具

cd /etc/yum.repos.d/

mv CentOS-Base.repo CentOS-Base.repo.back 备份文件

wget -0 CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 阿里云源

cat CentOS-Base.repo 查看修改结果

yum clean all 清理之前的缓存,并重新加载yum

yum makecache 建立一个缓存文件

yum seatch tomcat 查看阿里云是否可用

帝乙岩

8.rpm 只能安装已经下载到本地机器上的rpm包

其它命令

1.rmdir 删除空的文件夹

rmdir -p aaa/bbb 删除多级文件夹

2.管道 |
复制代码
	"命令1"的输出内容,将作为"命令2"的输入内容。一般与grep命令一起使用。
	格式:命令1 | 命令2

问题记录:

在新建用户的时候切换到新建用户的终端,只是显示$符号。

使用命令绑定bash即可。

usermod -s /bin/bash aaa

相关推荐
qq_3129201123 分钟前
Nginx限流与防爬虫与安全配置方案
运维·爬虫·nginx·安全
GanGuaGua30 分钟前
Linux系统:线程的互斥和安全
linux·运维·服务器·c语言·c++·安全
lsnm39 分钟前
【LINUX网络】IP——网络层
linux·服务器·网络·c++·网络协议·tcp/ip
全糖去冰吃不了苦39 分钟前
ELK 集群部署实战
运维·jenkins
不掰手腕1 小时前
在UnionTech OS Server 20 (统信UOS服务器版) 上离线安装PostgreSQL (pgsql) 数据库
linux·数据库·postgresql
Lynnxiaowen1 小时前
今天继续昨天的正则表达式进行学习
linux·运维·学习·正则表达式·云计算·bash
努力学习的小廉2 小时前
深入了解linux系统—— POSIX信号量
linux·运维·服务器
刘一说2 小时前
CentOS部署ELK Stack完整指南
linux·elk·centos
从零开始的ops生活2 小时前
【Day 50 】Linux-nginx反向代理与负载均衡
linux·nginx
IT成长日记2 小时前
【Linux基础】Linux系统配置IP详解:从入门到精通
linux·运维·tcp/ip·ip地址配置