openEuler常用操作指令
openEuler常用操作指令
一、前言
1.简介
openEuler是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持ARM、x86、RISC-V、loongArch、PowerPC、SW-64等多样性计算架构。
openEuler 官网:https://www.openeuler.openatom.cn/zh/
openEuler 下载:https://www.openeuler.openatom.cn/zh/download/
openEuler 文档中心:https://docs.openeuler.openatom.cn/zh/
二、正文
1.文件权限
- 用户类别说明表
符号 | 英文全称 | 中文解释 | 作用范围 |
---|---|---|---|
u | user | 用户(所有者) | 文件/目录的创建者 |
g | group | 用户组 | 文件所属组的成员 |
o | others | 其他用户 | 既不是所有者也不在所属组的用户 |
a | all | 所有用户 | 包含u+g+o三种用户 |
- 权限类型与数值对照表
符号 | 英文 | 中文 | 数值 | 对文件的影响 | 对目录的影响 |
---|---|---|---|---|---|
r | read | 读 | 4 | 可查看文件内容 | 可列出目录中的文件 |
w | write | 写 | 2 | 可修改文件内容 | 可创建/删除/重命名目录中的文件 |
x | execute | 执行 | 1 | 可作为程序执行 | 可进入目录(cd)并访问内部文件 |
- 组合权限示例表
数字表示 | 符号表示 | 权限说明 |
---|---|---|
7 (4+2+1) | rwx | 读 + 写 + 执行(完全权限) |
6 (4+2) | rw- | 读 + 写 |
5 (4+1) | r-x | 读 + 执行 |
4 (4) | r– | 只读 |
3 (2+1) | -wx | 写 + 执行(不常见组合) |
0 | — | 无任何权限 |
- 例如:
# 设置所有者可读写,组可读,其他用户无权限 (640)
chmod 640 script.sh# 给所有用户添加执行权限
chmod a+x script.sh# 移除其他用户的写权限
chmod o-w script.sh# 递归设置目录权限 (755)
chmod -R 755 directory/# 添加执行权限
chmod +x /etc/rc.d/rc.local# 权限数字表示法(rwx=4+2+1=7)
# 所有者rwx,组和其他r-x
chmod 755 script.sh# 查看文件列表详情
ll
# 输出:-rw-rw-r--. 1 comuser comuser 61003148 10月 21 15:28 Typora-linux-x64.tar.gz
# 说明:
# 1.从第二个字符起,rw- 表示'所属用户'拥有文件的读和写权限
# 2.后面 rw- 表示'所属用户组'拥有文件的读和写的权限
# 3.后面 r-- 表示'其它用户'拥有读的权限
# 最终:
# -rw-rw-r-- 用数字表示 = 664
2.文件编辑
# 打开或创建文件
vim test.txt
vi test.txt# 【进入编辑状态】
# 按 i 键 或 按 insert 键# 【退出编辑状态】
# 按 Esc 键# 保存文件,不退出 vim
:w
# 将内容保存到另外一个文件中,不退出 vim
:w test.txt
# 强制保存,不退出 vim
:w!
# 保存文件,退出 vim
:wq
# 强制保存文件,退出 vim
:wq!
# 不保存文件,退出 vim
:q
# 不保存文件,强制退出 vim
:q!
# 放弃所有修改,从上次保存文件开始编辑
:e!
3.目录与文件操作
- Linux文件类型颜色:Linux系统中,不同的文件类型会以不同颜色显示在终端中,便于用户快速识别
颜色 | 文件类型 | 示例文件/目录 |
---|---|---|
蓝色 | 目录 | /home , /etc |
绿色 | 可执行文件 | bash , install.sh |
红色 | 压缩文件/包 | .zip , .tar.gz , .rpm |
浅蓝色 | 符号链接(快捷方式) | /usr/bin/python -> python3 |
灰色 | 普通文件 | text.txt , README.md |
黄色 | 设备文件 | /dev/sda , /dev/tty1 |
紫红色 | 套接字文件 | /var/run/docker.sock |
青色 | 管道文件 | 命名管道(FIFO) |
黑底黄字 | 设置权限的文件 | 设置了SUID/SGID的可执行文件 |
- 目录导航
# 进入目录
cd /usr/local
# 返回上级目录
cd ../
# 显示当前目录
pwd
- 文件列表查看
# 简单列表
ls
# 详细列表(同ls -l)
ll
# 显示隐藏文件
ls -a
- 文件操作
# 复制文件
cp test.txt /opt/java
# 递归复制目录
cp -r text1/ /opt/test2
# 移动/重命名文件
mv test.txt /opt/java
mv test.txt test2.txt
# 删除文件
rm test.txt
# 强制删除文件
rm -rf test.txt
- 目录
# 强制递归删除目录
rm -rf /opt/java
# 创建目录
mkdir /opt/java
# 创建多级目录
mkdir -p /opt/java/jdk
# 同时创建多个目录
mkdir -p /opt/app/logs /opt/app/config
# 递归创建多个多级目录
mkdir -p /opt/{java/jdk,python/env,app/{logs,config}}
# 递归创建并设置权限
mkdir -p -m 755 /opt/app/{logs,config}
4.systemctl服务管理
# 启动服务
systemctl start firewalld.service
# 关闭服务
systemctl stop firewalld.service
# 重启服务
systemctl restart firewall.service
# 显示服务状态
systemctl status firewalld.service
# 开机启动服务
systemctl enable firewalld.service
# 开机禁用服务
systemctl disable firewalld.service
# 查看服务是否开机启动
systemctl is-enabled firewalld.service
# 查看已启动的服务列表
systemctl list-unit-files|grep enabled
5.防火墙管理
- 防火墙
# 查看版本
firewall-cmd --version
# 查看帮助
firewall-cmd --help
# 显示状态
firewall-cmd --state
# 查看所有打开的端口
firewall-cmd --zone=public --list-ports
# 更新防火墙规则
firewall-cmd --reload
# 查看区域信息
firewall-cmd --get-active-zones
# 查看指定接口所属区域
firewall-cmd --get-zone-of-interface=eth0
# 拒绝所有包
firewall-cmd --panic-on
# 取消拒绝状态
firewall-cmd --panic-off
# 查看是否拒绝
firewall-cmd --query-panic
# 查看服务列表
firewall-cmd --list-services
# 查看那些服务可以打开
firewall-cmd --get-serivces
- 端口【修改后,需要更新防火墙规则:firewall-cmd --reload】
# 新增端口到防火墙([--permanent]表示永久生效,没有此参数表示重启后失效)
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 查看某个端口是否添加到防火墙
firewall-cmd --zone=public --query-port=80/tcp
# 删除防火墙上的某个端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
- IP
# ip addr (显示更详细的信息,包括 MAC、IPv6、状态等)
ip addr# ifconfig (显示较基础的信息)
ifconfig
6.解压缩文件
- tar
# 解压 tar.gz
tar -zxvf apache-tomcat-7.0.90.tar.gz
# 打包 tar.gz
tar -czvf test.tar.gz /opt/test# 解压.tar
tar -xvf MySQL-5.6.43-1.el7.x86_64.rpm-bundle.tar
# 打包.tar
tar -cvf test.tar /opt/test# 解压.bz2
tar vjxf test.tar.bz2
- unzip
# 安装 unzip 工具
dnf install -y unzip zip# 开始解压
unzip test.zip
# 开始解压,指定路径
unzip test.zip -d /opt/test
# 检测压缩包
unzip -t test.zip
- cpio
# 解压并提取 CPIO 归档文件的内容到当前目录
cpio -idmv < 10201_database_linux_x86_64.cpio
- rpm2cpio
# 将 RPM 包转换为 CPIO 归档流(RPM 本质是 CPIO 格式的压缩包)
# 将 RPM 包中的所有文件(如库文件、配置文件等)解压到当前目录的对应路径中
rpm2cpio mysql-community-libs-8.0.34-1.el7.x86_64.rpm | cpio -idmv
- AppImage 文件格式解压
# 解压 AppImage 文件
./Another-Redis-Desktop-Manager-linux-1.7.1-x86_64.AppImage --appimage-extrac
7.软件包管理
- 推荐 DNF
# 安装软件包
dnf install [package name]
# 移除软件包
dnf remove [package name]
# 更新所有包
dnf update
# 搜索包
dnf search [keyword]
# 列出已安装包
dnf list installed
# 清理DNF包管理器的缓存文件
dnf clean all
# 重建DNF元数据缓存
dnf makecache
- 兼容 YUM
# 安装过程需要询问 yes/no
yum install [package name]
# 安装过程默认 yes
yum -y install [package name]# 卸载过程需要询问 yes/no
yum remove [package name]
# 卸载过程默认 yes
yum -y remove [package name]# 更新系统所有的依赖包
yum upgrade
# 更新系统所有的依赖包和更新系统内核
yum update
- RPM
# 安装rpm包
rpm -ivh [rpm package]
# 升级rpm包
rpm -Uvh [rpm package]
# 卸载rpm包
rpm -e [rpm package]#【追加参数】
# 可覆盖安装 使用如:rpm -ivh *.rpm --forece
--forece
# 强制安装当前软件包需要的依赖包(可用于删除软件包的依赖包)
--nodeps# 查询所有安装的rpm包
rpm -qa
# 查询rpm包的信息
rpm -qi [rpm package name]
# 查询rpm包是否安装
rpm -q [rpm package name]
# 模糊查询rpm包是否安装
rpm -qa | grep [rpm package name]
#--查询rpm包的文件组成
rpm -ql [rpm package name]
# 查询服务器的文件属于哪一个rpm包
rpm -qf [path + filename]
# 查询未安装的rpm包的文件组成
rpm -qilp [rpm package name]
# 综合参数使用
rpm -qil [rpm package name]# 列出与rpm包名相关的prm包
rpm -qa|grep [rpm package name]
# 卸载rpm包(从-qa查询的最后一包开始)(可不写版本号)(可追加--nodeps参数)
rpm -e [rpm package name]# 按时间顺序,输出已安装的rpm包
rpm -q --all --last > /opt/rpm-list.txt
8.进程控制
# 查询进程是否运行
ps -ef | grep java
# 查询占用端口的进程
lsof -i :<端口>
# 根据PID关闭进程
kill -9 <进程编号>
# 按名称终止进程
pkill [进程名称]
# 动态查看进程
top
# 增强版top(需安装)
htop
9.系统信息
- 系统概览
# 查看内核版本
uname -a
# 查看系统版本
cat /etc/os-release
# 查看磁盘空间
df -h
# 查看内存使用
free -h
# 完整硬件清单
lshw
# 系统基础信息
hostnamectl
- CPU
# 架构/型号/核心数/缓存
lscpu
cat /proc/cpuinfo
cat /proc/cpuinfo | grep "model name"
lscpu | grep -E 'Model name|Socket|Core|Thread'
- 内存
free -h
vmstat -s
dmidecode -t memory
top# htop
dnf install htop
htop
- 磁盘
lsblk
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT
df -h
fdisk -l
- GPU
# 核显/独显型号
lspci | grep -i vga