Skip to content

系统命令

安装软件 yum

作用:rpm 包软件管理器,可以在 linux 命令行中自动化安装并配置 linux 软件,并自动解决依赖问题。

注意

yum 命令需要 root 管理员权限,且需要联网!

shell
yum [-y] [install | remove | search] 软件名称
参数描述
-y自动安装
install安装
remove卸载
search搜索

示例:

shell
# 搜索 wget 软件
yum search wget
# 安装 wget 软件
yum -y install wget
# 卸载 wget 软件
yum -y remove wget

管理系统服务 systemctl

linux 系统很多软件(内置或第三方)均支持使用 systemctl 命令控制,例如启动、停止、开机自启等。能够被 systemctl 管理的软件,一般称之为 服务。

linux 系统内置的服务比较多,比如:

  • NetworkManager:主网络服务

  • network:副网络服务

  • firewalld:防火墙服务

  • sshd、ssh服务:finalshell 远程登录 linux 就是用的这个服务

除了内置的服务,还有安装时自动集成的第三方服务,如:

  • ntp 软件
  • httpd 软件

作用:控制服务 启动、关闭、查看运行状态、开机自启、关闭开机自启。

shell
systemctl start | stop | status | enable | disable 服务名称
参数描述
start开启服务
stop关闭服务
status查看服务运行状态
enable启用开机自启
disable关闭开机自启

示例:

shell
# 查看 firewalld 的状态
systemctl status firewalld
# 关闭 firewalld
systemctl stop firewalld
# 开启 firewalld
systemctl start firewalld
# 关闭 firewalld 开机自启
systemctl disable firewalld
# 开启 firewalld 开机自启
systemctl enable firewalld

软链接 ln

作用:将文件、文件夹链接到其他位置,类似于 windows 的快捷方式。

shell
ln -s 源文件 目标路径
参数描述
-s表示创建软链接

示例:

shell
# 查看 /etc/yum 文件夹
ls -l /etc/yum

# 将 /etc/yum 软链接到 home 目录
ln -s /etc/yum /home

查看时间 date

作用:查看系统时间。

shell
date [-d] [+格式化字符串]
参数描述
-d按照给定的字符串显示时间,一般用于日期计算
格式化字符串描述
%Y
%y年份的后两位数字
%m
%d
%H小时
%M分钟
%S
%s1970-01-01到现在的时间戳

示例:

shell
# 使用 date 命令,无参数,查看当前时间
date
# 按照 YYYY-MM-DD 的格式显示日期
date "+%Y-%m-%d"
# 按照 YYYY-MM-DD HH:mm:ss 的格式显示日期
date "+%Y-%M-%d %H:%M:%S"

-d 选项,一般用于参数计算:

shell
# 在当前时间的基础上加一天
date -d "+1Day"
# 在当前月份的基础上加一月
date -d "+1Month"
# 在当前年份的基础上加一年
date -d "+1Year"
# 在当前小时、分钟的基础上 加一小时三十分钟
date -d "+1hour +30minute"

校准时间

通过上面的 date 命令查看的日期是不准确的,因为 linux 系统默认的时区是非中国的东八区。

使用 root 权限,执行如下命令,可修改时区为东八区:

shell
# 移除 默认时区
rm -f /etc/localtime

# 切换时区为亚洲/上海
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ntp程序

作用:ntp 程序可以自动校准系统时间。

shell
# 安装
yum -y install ntp

# 设置开机自启
systemctl enable ntpd

# root 权限下,手动校准
ntpdate -u ntp.aliyun.com

查看ip地址 ifconfig

每台联网的电脑都会有一个地址,用于和其他计算机进行通讯。

shell
# 查看本机 ip
ifconfig

固定 ip 地址

步骤:

  1. 在 VMware 软件中,工具栏选择 “工具 -> 虚拟网络编辑器”,设置 “子网” 为 192.168.88.0,“子网掩码” 为 255.255.255.0,点击 “NAT设置” 设置 “网关” 为 192.168.88.2

  2. 在 linux 中,使用 root 权限,编辑 ``/etc/sysconfig/network-scripts/ifcfg-ens33 文件

  • 修改 BOOTPRORO="dhcp"BOOTPRORO="static"

  • 新增如下内容:

    shell
    IPADDR="192.168.88.222" # IP地址,前三位固定,最后一位可选:0~254
    NETMASK="255.255.255.0" # 子网掩码
    GATEWAY="192.168.88.2"  # 网关
    DNS1="192.168.88.2"     # 也设置为网关即可
  1. 执行 systemctl restart network,重启 linux 后 ip 就可以固定了。

修改主机名 hostnamectl

shell
# 查看主机名
hostname

# 修改主机名
hostnamectl set-hostname 新主机名

下载网络文件 wget

作用:通过命令下载网络文件。

shell
wget [-b] url
参数描述
-b后台下载,会将日志写入到当前工作目录的 wget-log 文件

示例:

shell
# 前台下载 apache-hadoop3.3.0
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.0.0/hadoop-3.0.0.tar.gz

# 后台下载
wget -b https://archive.apache.org/dist/hadoop/common/hadoop-3.0.0/hadoop-3.0.0.tar.gz

# 使用 tail 命令查看后台下载进度
tail -f wget-log

发起网络请求

作用:发起网络请求,如下载文件、获取信息等。

shell
curl [-o] url
参数描述
-o用于下载文件,当 url 是下载链接时,可以使用此选项保存文件。等同于 wget url

示例:

shell
# 向 cip.cc 发起网络请求
curl cip.cc
# 向 python.itheima.com 发起网络请求
curl python.itheima.com
# 使用 curl 下载 apache-hadoop3.3.0
curl https://archive.apache.org/dist/hadoop/common/hadoop-3.0.0/hadoop-3.0.0.tar.gz

端口

端口,是设备与外界通讯交流的出入口,端口可分为 物理端口 和 虚拟端口 两类。

linux 系统是一个超大号小区,可以支持 65535 个端口,这么多端口可分为3类使用:

  • 公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用。如SSH的22端口,HTTPS的443端口,非特殊需要,不要占用这个范围的端口。

  • 注册端口:1024~49151,通常可以随意使用,用于松散的绑定一个程序。

  • 动态端口:49152~65535,通常当程序对外进行网络链接时,用于临时使用。

image.png

如图中,计算机A的微信连接计算机B的微信,A使用的50001即动态端口,临时找一个端口作为出口,计算机B的微信使用端口5678,即注册端口,长期绑定此端口等待别人连接。

查看端口占用 nmap

shell
# 安装 nmap
yum -y install nmap
# 查看端口占用
nmap 127.0.0.1

查看指定端口的占用 netstat

shell
# 安装 netstat
yum -y install net-tools
# 查看 6000 端口被占用情况
netstat -anp | grep 6000
# 查看 12345 端口被占用情况(没有任何输出,表示未被占用)
netstat -anp | grep 12345

查看进程 ps

作用:查看系统中的进程信息。

shell
ps [-e -f]
参数描述
-e显示出全部的进程
-f以完全格式化的信息展示信息

image-20240713164347707

列名描述
UID进程所属的用户Id
PID进程的进程号Id
PPID进程的父Id
C此进程的 CPU 占用率
STIME进程的启动时间
TTY启动此进程的终端序号,? 表示非终端启动
TIME进程占用 CPU 的时间
CMD进程对应的名称 / 启动路径 / 启动命令

示例:

shell
# 查看所有进程
ps -e -f
# 启动tail命令,通过管道符过滤tail命令
tail
ps -e | grep tail
# 通过管道符过滤出进程Id为 xxxx 的进程信息
ps -ef | grep 15463

关闭进程 kill

shell
kill [-9] 进程Id
参数描述
-9强制关闭进程

示例:

shell
# 查看tail进程的ID
ps -ef | grep tail        # 17371
# 关闭进程(提示“已终止”)
kill 17371
# 启动tail进程,然后强制关闭 tail 进程(提示“已杀死”)
kill -9 17371

查看系统资源占用 top

作用:查看系统CPU、内存的使用情况。

shell
top

磁盘信息监控 df

作用:查看磁盘的使用情况。

shell
df -h
参数描述
-h携带单位

查看磁盘信息 iostat

作用:查看 CPU、磁盘的相关信息。

shell
iostat [-x] m n
参数描述
-x显示更多信息
m刷新间隔
n刷新几次

查看网络信息

作用:查看网络相关的统计。

shell
sar -n DEV m n
参数描述
-n查看网络
DEV表示查看网络接口
m刷新间隔
n刷新几次

查看环境变量 env

环境变量

环境变量是操作系统在运行的时候,记录一些关键性信息,用以辅助系统运行。

作用:查看环境变量。

shell
# 查看环境变量
env

# 查看环境变量中 PATH 的值
echo $PATH

上传和下载

TIP

finalshell 中提供了可视化的上传和下载操作,在下方的文件夹可视化面板中,选择要下载的文件,右击“下载”即可,上传文件时,将文件拖拽到文件夹可视化面板中即可。

当然,linux 也提供了命令的方式下载和上传,可以执行下面的命令:

shell
# 安装
yum -y install lrzsz

上传文件(速度太慢):

shell
rz		# 弹出提示框选择文件

下载文件:

shell
sz 文件名

压缩和解压

linux 和 Mac 系统常用的有两种压缩格式,分别是:

  • *.tar :称之为 tarball 归档文件,即把简单的文件组装到一个 .tar 文件内,并没有太大的体积减少,只是简单的归档;
  • .gz:.gzip格式的压缩文件,常见的如 .tar.gz 文件,它是使用 gzip 压缩算法将文件进行压缩,大大减少了体积。

tar 命令

作用:压缩和解压 .tar/ .tar.gz 文件。

shell
tar [-z -c -x -v -f -C] 要压缩文件1 要压缩文件2 ...
参数描述
-zgzip 模式,不适用就是简单的 .tar 格式
-c创建压缩文件,用于压缩操作
-x解压模式
-v显示压缩 / 解压过程
-f压缩后的文件名称,或被解压的文件名称
-C压缩的目的地,用于指定解压目录

示例:

shell
# 将多个文件压缩为 .tar 格式
tar -cvf test1.tar 1.txt 2.txt 3.txt

# 将多个文件压缩为 .tar.gz 格式
tar -czvf test2.tar.gz 1.txt 2.txt 3.txt

# 解压 .tar 和 .tar.gz
tar -xvf test1.tar
tar -xzvf test2.tar.gz

# 压缩文件夹下的所有内容
tar -czvf test3.tar.gz test

# 将 .tar.gz 解压到 public 目录下
tar -xzvf test3.tar.gz public/

zip 命令

作用:压缩文件为 zip 压缩包。

shell
zip [-r] 要压缩文件1 要压缩文件2 ...
参数描述
-r被压缩文件中包含文件夹时使用

示例:

shell
# 将多个文件压缩为 .zip 格式
zip -r test.zip public 1.txt 2.txt

unzip 命令

作用:解压 zip 压缩包。

::: dangers 注意

解压时如果出现同名的文件,会直接覆盖!

:::

shell
unzip 压缩包名称 [-d] 压缩路径
参数描述
-d解压到指定目录

示例:

shell
# 将 zip 解压到当前目录
unzip test.zip
# 将 zip 解压到指定目录
unzip test.zip -d public/

Released under the MIT License.