二、Linux 系统命令

一、系统命令

# 清屏 (Ctrl + L)
$ clear# 退出登录	
$ exit		# 历史命令
$ history		
$ history | grep 'java -jar'	

1. 系统信息

# 查看版本,当前操作系统发行版信息
$ cat /etc/redhat-release 
`
CentOS Linux release 7.2.1511 (Core) 
`# 查看操作系统位数
$ getconf LONG_BIT
`
64
`

2. hostname 查看当前主机名

  • 修改主机名
  1. vim /etc/hostname
  2. vi /etc/sysconfig/network
$ hostname
`
qs
`# 查看 IP 
$ hostname -i
`
192.168.137.2
`
$ hostname -I
`
192.168.31.43 192.168.122.1 172.17.0.1
`# 查看 Ip
$ ifconfig

3. uname 查看系统版本信息

# 查看 当前操作 版本信息
$ cat /proc/version
`
Linux version 3.10.0-514.26.2.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Jul 4 15:04:05 UTC 2017
`# 查看操作系统
$ cat /etc/redhat-release 
`
CentOS Linux release 8.4.2105
`
uname
`
Linux
`## 查看当前系统 内核版本
uname -r
`
3.10.0-514.26.2.el7.x86_64
`## 查看当前系统 内核信息
uname -a
`
Linux qs 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
`
## Linux: 内核名称(类别)
## qs: 主机名
## 3.10.0-514.26.2.el7.x86_64: 内核版本号
## UTC: 内核版本
## 2017: 内核编译日期
## x86_64: 硬件名
## x86_64: 处理器类型
## x86_64: 硬件平台类型
## GNU/Linux: 操作系统名称uname -an
`
Linux qs 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
`

3. 关机重启

## 1. 查看系统使用状态(确保没人在线)
## 显示当前 所有的登录用户 
who## 2. 网络状态(确认有哪些连接)
netsat -a## 3. 后台进程执行状态
## 注:列 COMMAND 带`[.]`的是内核进程,不带`[.]`的是用户态进程 
ps -aux## 4. 数据同步
## 虽然关机命令会执行同步动作,但仍强烈建议先多次执行 sync 主动同步
sync;sync;sync;

1. shutdown 关机重启
shutdown [Options] 时间---## [Options]
## 1. -c: 取消前一个关机命令
## 2. -h: 关机
## 3. -r: 重启---## 立即关机(root 用户使用)
shutdown -h now
## 过 30 分钟后自动关机
shutdown -h 30---## 立即重启(root 用户使用)
shutdown -r now
## 过 30 分钟自动重启(root 用户使用)
shutdown -r 30
## 在时间为`17:30`时候重启
shutdown -r 17:30
## 在时间为`00:30`时候重启(root 用户使用)
shutdown -r 00:30 	

2. halt 关机重启
  • 其他关机命令(不太安全,不建议使用)
## 最简单的关机命令,实际调用的是`shutdown -h`
## `halt`执行时将杀死应用进程,执行`sync`系统调用文件系统写操作完成后就会停止内核
halt [Options]---## [Options]
## 1. -n: 防止`sync`系统调用,在用`fsck`修补根分区之后,以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块
## 2. -w: 并不是真正的重启或关机,只是写`wtmp〔/var/log/wtmp〕`纪录
## 3. -d: 不写`wtmp`纪录〔已包含在选项[-n]中〕
## 4. -f: 没有调用`shutdown`而强制关机或重启
## 5. -i: 关机〔或重启〕前关掉所有的网络接口
## 6. -p: 该选项为缺省选项。就是关机时调用 poweroff---## 关机
init 0
## 重启
init 6---## 系统运行级别
0 关机
1 单用户
2 不完全多用户,不含 NFS 服务
3 完全多用户
4 未分配
5 图形界面
6 重启

3. poweroff 关机
## 关机
poweroff

4. reboot 安全重启
## 重启(安全)
## `reboot`命令和`shutdown`命令差不多
reboot
reboot -f## 使用`man reboot`时,会同时出现`halt、poweroff、reboot`的用法
man reboot

5. 退出登录
## 修改系统默认运行级别
cat /ect/inittab
`
id:3:initdefalult
`## 查询系统运行级别
runlevel## 退出登录
logout

2. 系统时间

## 当前系统时间
date        
## 当前系统时间,带时区                    
date -R
## 当前系统时间-格式化
date +"%Y-%m-%d %H:%M:%S"   

在这里插入图片描述


1. 设置时间
## 设置系统时间
sudo date -s "2014-01-01 10:10:10"
## 1. -s: 设置系统时间
## 格式: HH:MM:SS(24小时制)
## 格式: hh:mm:ss(12小时制) hh时mm分ss秒
## 格式: MMDDhhmm[[CC]YY][.ss] MM月DD日CC世纪YY年份后两位
sudo date -s "0412122323" # 2023年04月12日# 同步服务器时间
sudo ntpdate -u ntp.api.bz

2. 设置时区
## 查看时区
date -R## 方法1. 设置时区
sudo timedatectl set-timezone Asia/Shanghai
## 方法2. 设置时区
tzselect
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime## 查看时区
date -R

在这里插入图片描述


3. 防火墙

1. 安装
yum install firewalld

2. 启动关闭
  1. CentOS
## 查看防火墙状态
systemctl status firewalld			## 开启关闭防火墙服务
systemctl start firewalld.service
## 临时关闭	
systemctl stop firewalld.service 	
systemctl stop firewalld 
## 然后 reboot 永久关闭
systemctl disable firewalld
## 关闭防火墙
service iptables stop	
## 永久关闭防火墙
chkconfig iptables off	## 开机自启动防火墙服务
systemctl enable firewalld.service	
## 关闭开机自启动防火墙服务
systemctl disable firewalld.service	
  1. Ubantu
## 安装防火墙
sudo sudo apt-get install ufw## 查看防火墙版本
sudo ufw version
## 查看防火墙状态
sudo ufw status
`
Status: active # 活跃
Status: inactive # 不活跃
`## 开启防火墙
sudo ufw enable## 关闭防火墙 
sudo ufw disable## 重启防火墙
sudo ufw reload
## 注意:添加规则以后,需要使用该命令进行重启防火墙
## 设置默认允许外部访问本机
sudo ufw default allow## 设置默认拒绝外部访问主机
## 拒接所有外来访问,本机能正常访问外部
sudo ufw default deny## 允许外部访问 53 端口
sudo ufw allow 53
## 注意:开放成功以后,需要重启生效
## 查看 53 端口信息
sudo netstat -tunlp | grep 53
## 拒绝外部访问 53 端口
sudo ufw deny 53## 允许 某个IP 访问本机所有端口
sudo ufw allow from 192.168.0.1

3. firewall-cmd 命令
## 查看防火墙状态,`running`运行,`not running`关闭
firewall-cmd --state	
## 获取活动的区域			
firewall-cmd --get-active-zones## 获取所有支持的服务(每个服务以空格分隔)		
firewall-cmd --get-service			
## 获取所有永久支持的服务,就是重启后也支持的
firewall-cmd --get-service --permanent	## 在 0.3.0 之前的 FirewallD版本中,panic 选项是 –enable-panic 与 –disable-panic
## 查看应急模式的状态
firewall-cmd --query-panic	
## 开启应急模式阻断所有网络连接		
firewall-cmd --panic-on		
## 关闭应急模式		
firewall-cmd --panic-off			## 防火墙预定义的服务配置文件是xml文件,目录在`/etc/firewalld/services/`、`/usr/lib/firewalld/services/`
## 修改配置文件后,使用命令重新加载
firewall-cmd --reload				

4. 修改服务
# 查看开启的服务,服务空格隔开(例如: dhcpv6-client https ss)
firewall-cmd --permanent --zone=public --list-services	
firewall-cmd --permanent --list-services# 启用某个服务
firewall-cmd --zone=public --add-service=https				# 临时
firewall-cmd --permanent --zone=public --add-service=https	# 永久
firewall-cmd --permanent --zone=public --add-service=ftp	# 永久添加 ftp 服务 
firewall-cmd --reload										# 重启防火墙

5. 修改端口
# 查看开启的端口,端口空格隔开(例如: 8080-8081/tcp 8388/tcp 80/tcp)
firewall-cmd --permanent --zone=public --list-ports 
# 查看开启的端口号	
firewall-cmd --permanent --list-ports  
# 查询8080端口是否开放
firewall-cmd --query-port=8080/tcp# 开启某个端口
firewall-cmd  --zone=public --add-port=8080-8081/tcp 			# 临时(8080-8081)
firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp	# 永久
firewall-cmd --permanent --zone=public --add-port=21/tcp 		# 永久添加tcp 21 端口
firewall-cmd --permanent --add-port =8080-8085/tcp				# 添加8080-8085的端口区段,也可以是固定值,如3000# 关闭上面设置的端口
firewall-cmd --permanent --remove-port=8080-8085/tcp	# 需要注意的是,如果是加的区段值,删的时候也必须为区段值
firewall-cmd --reload									# 使用命令加载设置

6. 修改规则
# 3. 添加规则: 设置某个ip,访问某个服务(ip:192.168.0.4/24,访问:http)
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4"  source address="192.168.0.4/24" service name="http" accept"
# 删除上面设置的规则
firewall-cmd --permanent --zone=public --remove-rich-rule="rule family="ipv4"  source address="192.168.0.4/24" service name="http" accept"
  1. 在每次修改 服务、端口 和 规则 后 /etc/firewalld/zones/public.xml文件就会被修改。
  2. 所以也可以 修改文件,然后重新加载。
    在这里插入图片描述

7. 端口转发
# 1. 先开启允许伪装IP
# 检查是否允许伪装IP
firewall-cmd --query-masquerade # 允许防火墙伪装IP	
firewall-cmd --add-masquerade   	# 禁止防火墙伪装IP
firewall-cmd --remove-masquerade	# 2. 设置转发
# 转发tcp 22 端口至 3753	
firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=3753	# 转发 22 端口数据至另一个 ip 的相同端口上
firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toaddr=192.168.1.100	# 转发 22 端口数据至另一 ip 的 2055 端口上		
firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=2055:toaddr=192.168.1.100	

4. openssl

openssl version

二、用户和用户组

# 查看系统使用状态(确保没人在线)
# 显示当前 所有的登录用户 id <用户名>## 查看当前用户环境变量
env

1. 用户

## 查看所有用户
cat /etc/passwd## 显示所有可用的命令,别名和函数
compgen -u

1. 创建用户
## 新增用户
useradd 用户名
passwd 用户名
## 添加用户`test`
useradd test
## 为用户`test`设置密码
passwd test---## 创建用户`test`,并指定用户目录     		
useradd test -d /home/test---## 新建用户`qs`
## 添加到用户组`root`
## 但是不允许用户登录,仅仅可以`ftp`登录
## `ftp`登录后的默认目录是`/home/data` 
useradd -g root -d /home/data -s /sbin/nologin qs 

1. 用户文件 /etc/passwd
## 用户文件 
cat /etc/passwd---# 每条记录用冒号分隔(包含7个字段)
'root:x:0:0:root:/root:/bin/bash'
## 账号名称(root): 在系统中是唯一的(字符长度 1~12 个字符)
## 用户密码(x): 此字段存放加密口令(保存在`/etc/shadow`文件中)
## 用户标识码(UserID): 系统内部用它来标示用户
## 组标识码(GroupID): 系统内部用它来标识用户组(保存在`/etc/group`文件中) 
## 用户相关信息(root): 例如用户全名等 
## 用户目录: 用户登录系统后所进入的目录(家目录)
## 用户环境: 用户工作的环境(用户使用的 shell 类型)---## 使用 awk 或 cut 命令,仅打印出 Linux 系统中所有用户的用户名列表
awk -F':' '{ print $1}' /etc/passwd
cut -d: -f1 /etc/passwd

2. 用户密码文件 /etc/shadow
## 密码文件    
cat /etc/shadow---# 每条记录用冒号分隔,9个字段组成
'mysql:!:19112:0:99999:7:::'
## 用户名: 用户登录到系统时使用的名字,而且是惟一的 
## 口令: 存放加密的口令 
## 最后一次修改时间: 标识从某一时刻起到用户最后一次修改时间 
## 最大时间间隔: 口令保持有效的最大天数,即多少天后必须修改口令 
## 最小时间间隔: 再次修改口令之间的最小天数 
## 警告时间: 从系统开始警告到口令正式失效的天数 
## 不活动时间: 口令过期少天后,该账号被禁用 
## 失效时间: 指示口令失效的绝对天数(从1970年1月1日开始计算)
## 标志: 未使用 

3. sudo 权限文件 /etc/sudoers
# 增加 sudo 权限
vim /etc/sudoers## 修改文件里面的
#root ALL=(ALL) ALL
#用户名 ALL=(ALL) ALL

2. 删除用户
# 删除用户`test`,不会删除用户目录
userdel test    # 删除用户`test`,以及用户目录       		
userdel –r test                		

3. 切换用户
## 切换用户`test`              
su test  ## 切换用户`test`,并切换`用户环境`【推荐使用】				
su - test# 退出
Ctrl+D# 查看用户的`UID`和`GID`
id '用户名'							
## /usr/local/suninfo/oma/oma/third/openssh/bin/ssh.exe ## 切换远程用户
ssh -l test -p 22 192.168.19.128
ssh -p 22 root@192.168.100.101

4. 修改密码
# 修改 root 密码
sudo passwd root

2. 用户组

  • 当在创建一个新用户 user 时,若没有指定他所属于的组。就建立一个和该用户同名的私有组。
  • 创建用户时,也可以指定所在组并创建。
# 当前登录用户所属所有组列表
groups

1. 创建用户组
## 创建用户组`public`
groupadd public      ## 创建用户并指定组    
useradd user1 –g public

1. 用户组文件
# 组信息文件   
cat /etc/group  ---'root:x:0:'
## 组名: 用户所属组 
## 组口令: 一般不用GID(组ID) 
## 用户列表: 属于该组的所有用户

2. 用户组密码文件
cat /etc/gshadow---'mysql:!::'

2. 删除用户组
## 如果该组有用户成员,必须先删除用户才能删除组
groupdel public

3. last 最近登录信息列表

## 最近登录的 5 个账号
last -n 5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/57539.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【2022工业3D异常检测文献】Patch+FPFH: 结合3D手工点云描述符和颜色特征的异常检测方法

AN EMPIRICAL INVESTIGATION OF 3D ANOMALY DETECTION AND SEGMENTATION 1、Background PatchCore 方法&#xff1a; PatchCore是一种基于2D图像的异常检测方法&#xff0c;它使用预训练的深度学习模型&#xff08;如在ImageNet上预训练的模型&#xff09;来提取图像的局部特…

Memory Bus in SOC

在 SoC架构设计中&#xff0c;Memory Bus 是一个关键的组成部分&#xff0c;它负责连接 SoC 中的各个模块&#xff08;如 CPU、GPU、DMA、外设等&#xff09;与外部存储器&#xff08;如 DDR、NAND、Flash 等&#xff09;&#xff0c;起到连接处理器和存储器之间的桥梁作用&…

Qt优秀开源项目之二十四:EXCEL读写利器QXlsx

QXlsx是基于Qt5/Qt6的Excel文件&#xff08;*.xlsx&#xff09;的读写库。 github地址&#xff1a;https://github.com/QtExcel/QXlsx QXlsx既可以编译成库&#xff0c;也可以直接引用源码QXlsx-master\QXlsx\QXlsx.pri QXls提供了非常丰富的Examples&#xff0c;比如&#xff…

LED电子看板减少人工记录的错误

在当今快节奏的生产和管理环境中&#xff0c;准确性和效率是企业追求的关键目标。而传统的人工记录方式&#xff0c;常常因人为因素而出现各种错误&#xff0c;影响着企业的决策和运营。然而&#xff0c;随着科技的不断进步&#xff0c;LED 电子看板的出现为解决这一难题提供了…

八股面试3(自用)

基本数据类型和引用数据类型区别 java中数据类型分为基本数据类型和引用数据类型 8大基本数据类型 1.整数&#xff1a;int&#xff0c;long&#xff0c;short&#xff0c;byte 2.浮点类型&#xff1a;float&#xff0c;double 3.字符类型&#xff1a;char 4.布尔类型&…

无法获得下列许可 SOLIDWORKS Standard。 无法从使用许可服务器内读取数据,(-16,10009,10054)

无法获得下列许可 SOLIDWORKS Standard。 无法从使用许可服务器内读取数据&#xff0c;(-16,10009,10054) 错误如图 打开xxclean 扩展功能 服务无法启动

监督学习、无监督学习、半监督学习、强化学习、迁移学习、集成学习分别是什么对应什么应用场景

将对监督学习、无监督学习、半监督学习、强化学习、迁移学习和集成学习进行全面而详细的解释&#xff0c;包括定义、应用场景以及具体的算法/模型示例。 1. 监督学习 (Supervised Learning) 定义&#xff1a;监督学习是一种机器学习方法&#xff0c;其中模型通过已知的输入数…

【深度学习|地学应用】遥感与深度学习:揭示梦柯冰川奥秘的前沿应用与实践解析(二)

【深度学习|地学应用】遥感与深度学习&#xff1a;揭示梦柯冰川奥秘的前沿应用与实践解析&#xff08;二&#xff09; 【深度学习|地学应用】遥感与深度学习&#xff1a;揭示梦柯冰川奥秘的前沿应用与实践解析&#xff08;二&#xff09; 文章目录 【深度学习|地学应用】遥感与…

10.23Python_matplotlib_乱码问题

中英文问题解决方案 在使用 Matplotlib 绘图时&#xff0c;经常会出现中文字体显示问题。以下是一些解决方案&#xff1a; Windows 系统解决方案 在代码开始处添加以下代码&#xff0c;以支持中文显示&#xff1a; import matplotlib.pyplot as plt plt.rcParams[font.sans…

联想与Meta合作基于Llama大模型推出面向PC的个人AI智能体——AI Now | LeetTalk Daily...

“LeetTalk Daily”&#xff0c;每日科技前沿&#xff0c;由LeetTools AI精心筛选&#xff0c;为您带来最新鲜、最具洞察力的科技新闻。 联想集团昨日在美国西雅图召开年度Tech World大会。联想CEO杨元庆在主题演讲中&#xff0c;与Meta创始人兼CEO马克扎克伯格一道宣布&#x…

10.23六级翻译

be located in / situated 坐落于/位于with an average altitude of 100 meters海拔covers an area of 2.3 millions square kilometers面积with a total area of about 5000 square kilometers面积be covered by覆盖a thickness of 50-80 meters厚度one of the birthplace of发…

《15分钟轻松学Go》教程目录

在AI快速发展的时代&#xff0c;学习Go语言依然很有用。Go语言擅长处理高并发任务&#xff0c;也就是说可以同时处理很多请求&#xff0c;这对于需要快速响应的AI服务非常重要。另外&#xff0c;Go适合用来处理和传输大量数据&#xff0c;非常适合机器学习模型的数据预处理。 …

C++笔记---哈希表

1. 哈希的概念 哈希(hash)又称散列&#xff0c;是一种组织数据的方式。从译名来看&#xff0c;有散乱排列的意思。 本质就是通过哈希函数把关键字Key跟存储位置建立一个映射关系&#xff0c;查找时通过这个哈希函数计算出Key存储的位置&#xff0c;进行快速查找。 STL中的un…

@MassageMapping和@SendTo注解详解

MessageMapping注解是Spring Framework中用于WebSocket消息处理的注解&#xff0c;它用于将特定的消息路径映射到处理器方法上。SendTo注解指定了相应消息应该被发送到的目的地路径。 一、WebSocket配置类&#xff1a; Configuration EnableWebSocketMessageBroker public cl…

【Python数据库操作】使用SQLite和MySQL进行数据存储和查询!

【Python数据库操作】使用SQLite和MySQL进行数据存储和查询&#xff01; 在现代应用程序中&#xff0c;数据存储与管理是至关重要的。Python为开发者提供了多种与数据库进行交互的方式&#xff0c;其中SQLite和MySQL是最常用的两种数据库。本文将深入探讨如何使用Python进行SQ…

springboot jackson 数据脱敏

整体思路 对于一个class 包含多个字段&#xff0c;哪个字段是敏感字段&#xff0c;该字段是手机号 还是邮箱&#xff0c;希望如何进行脱敏&#xff0c;这些需要被定义&#xff0c;因此第一步定义《敏感注解》将注解放到指定得class的字段上&#xff0c;并且标记是邮箱 还是 手…

《Linux运维》之解决“Failed to start LSB: Bring up/down networking.“问题的方法

配置环境 使用镜像&#xff1a;CentOS-7-x86_64-Minimal-2009.iso 问题描述 当虚拟机需要配置多个网卡的时候&#xff0c;有时候如果更改完配置后&#xff0c;重启网络服务会发生失败的情况&#xff0c; 如以下情况 [rootlocalhost santi]# systemctl restart network Job …

No.20 笔记 | WEB安全 - 任意文件操作详解 part 2

一、文件后缀名验证 &#xff08;一&#xff09;验证方式分类 基于白名单验证&#xff1a;只允许上传白名单中指定后缀名的文件。基于黑名单验证&#xff1a;只允许上传黑名单中未包含后缀名的文件。 &#xff08;二&#xff09;实验准备 修改 Apache 的 httpd - conf 文件…

Shiro授权详解

在进行Shiro授权之前&#xff0c;了解相关术语对于理解整个过程至关重要。Shiro的授权机制以角色为中心&#xff0c;辅以权限&#xff0c;来控制主体对资源的访问。以下是常用术语的简要介绍&#xff1a; 授权 (Authorization) 授权是指确定主体是否有权访问某一资源或执行某一…

【Python小技巧】将df中字符串类型的数据转换为数值型,其它则保持不变

文章目录 一、目标二、实现代码 一、目标 将df中字符串类型的数据转换为数值型&#xff0c;其它则保持不变。 二、实现代码 import pandas as pddef convert_columns_to_numeric(df):for col in df.columns:try:df[col] pd.to_numeric(df[col])except ValueError:passretur…