1、基础命令

1.1、更新仓库源:

yum -y install epel-release

1.2、卸载软件:

rpm -e --nodeps mariadb包(ndoeps忽略依赖关系)

1.3、关于ls命令

选项符号

英文全称

功能描述

典型示例

-a

all

显示所有文件 / 目录(含隐藏文件、. 当前目录、.. 父目录)

ls -a(查看当前目录所有内容)

-A

almost all

显示所有文件 / 目录(含隐藏文件,但排除 ...

ls -A(仅看真实隐藏文件)

-d

directory

仅显示目录本身,不展开目录内内容(默认 ls 目录名 会列目录内文件)

ls -d /home(仅显示 /home 目录)

-l

long listing format

以长格式显示文件详细信息(权限、所有者、大小、修改时间等)

ls -l file.txt(查看文件元数据)

-h

human-readable

-l 搭配,将文件大小转为人类易读格式(KB/MB/GB,而非字节)

ls -lh(显示 “1.2K”“500M”)

-i

inode

显示文件的 inode 编号(文件系统中唯一标识文件的索引节点)

ls -i(每行开头显示 inode 号)

-F

classify

为文件添加类型标识(/ 目录、* 可执行文件、@ 符号链接、= 套接字)

ls -F(区分 docs/script.sh*

-t

time

按文件修改时间排序(最新修改的排在最前)

ls -lt(长格式 + 按修改时间升序)

-r

reverse

按反向顺序排序(需配合其他排序选项,如倒序)

ls -ltr(按修改时间倒序,最旧在上)

-S

size

按文件大小排序(从大到小)

ls -lS(长格式 + 按大小降序)

-U

unsorted

不排序,按文件在磁盘的存储顺序显示(无排序开销,速度最快)

ls -U(大目录快速查看)

-R

recursive

递归显示所有子目录的内容(遍历当前目录下所有层级)

ls -lR /home/user(递归看子目录详情)

-x

-

按水平方向(行)排序显示(默认是垂直方向(列)排序)

ls -x(文件按行排列:a.txt b.txt)

-1(数字 1)

-

强制每行只显示一个文件 / 目录(适合脚本处理或输出到文件)

ls -1 > file_list.txt(输出到文件)

--time=atime

-

-l 搭配,长格式中显示 “访问时间”(文件最后被读取的时间)

ls -l --time=atime(看访问时间)

--time=ctime

-

-l 搭配,长格式中显示 “状态修改时间”(文件权限 / 所有者等元数据变化时间)

ls -l --time=ctime(看元数据修改时间)

1.4、查看目录默认权限掩码

umask 

1.5、cp 命令

cp 文件 路径
cp -r 目录 路径

1.6、动态查看文件

tail -f

1.7、命令合并多个文件内容到一行

paste -d      指定合并分割符,默认是 tab

paste  -s     默认是纵向合并,-s 横向合并

1.8、Ubuntu日志

日志文件路径

主要内容描述

/var/log/syslog

系统核心日志,包含大部分系统进程、服务的日志信息(如启动、错误等)

/var/log/auth.log

认证相关日志,记录用户登录、sudo 操作、SSH 连接等安全相关事件

/var/log/kern.log

内核日志,记录内核事件、驱动加载、硬件相关信息和错误

/var/log/dmesg

系统启动时的内核缓冲日志,包含硬件检测和初始化信息

/var/log/boot.log

系统启动过程的日志,记录启动时服务的启动情况

/var/log/apt/history.log

APT 包管理工具的操作历史,记录软件安装、升级、卸载等操作

/var/log/apt/term.log

APT 操作的详细终端输出日志

/var/log/ufw.log

UFW(Uncomplicated Firewall)防火墙日志,记录防火墙规则匹配和网络访问事件

/var/log/cron.log

定时任务(cron)的执行日志,记录任务的启动、完成或失败情况

/var/log/messages

系统通用消息日志(部分 Ubuntu 版本可能没有,内容通常整合到 syslog)

/var/log/user.log

用户级别的日志,记录用户进程和应用程序的相关信息

/var/log/Xorg.0.log

X 服务器(图形界面)日志,记录图形驱动和桌面环境相关的错误和信息

/var/log/lightdm/

LightDM 显示管理器的日志(如果使用 LightDM 作为登录管理器)

/var/log/apache2//var/log/nginx/

Web 服务器(Apache 或 Nginx)的访问日志和错误日志(需安装对应服务)

/var/log/mysql//var/log/postgresql/

数据库服务(MySQL 或 PostgreSQL)的日志(需安装对应服务)

1.9、端口号

一、Linux 中最常用的知名端口(0-1023)

这类端口与系统核心服务强绑定,通常需要 root 权限才能启动对应的服务进程,以下是高频使用的端口及对应服务:

端口号

协议

对应服务 / 应用

功能说明

20

TCP

FTP (Data)

文件传输协议的数据连接端口,用于传输文件内容

21

TCP

FTP (Control)

FTP 的控制连接端口,用于发送指令(如登录、上传 / 下载命令)

22

TCP

SSH

安全外壳协议,Linux 远程登录的默认端口(替代不安全的 Telnet),支持加密传输

23

TCP

Telnet

远程登录协议(未加密,安全性低,已基本被 SSH 取代)

25

TCP

SMTP

简单邮件传输协议,用于发送邮件(如 Postfix、Sendmail 服务)

53

UDP/TCP

DNS

域名系统协议,UDP 用于普通域名解析,TCP 用于域名区域传输(如主从 DNS 同步)

80

TCP

HTTP

超文本传输协议,Web 服务的默认端口(如 Nginx、Apache 服务)

110

TCP

POP3

邮局协议版本 3,用于客户端从邮件服务器接收邮件(如 Dovecot 服务)

111

TCP/UDP

RPC

远程过程调用协议,用于分布式系统中进程间通信(如 NFS 服务依赖)

143

TCP

IMAP4

互联网邮件访问协议版本 4,比 POP3 更灵活(支持邮件文件夹同步,如 Dovecot 服务)

443

TCP

HTTPS

加密的 HTTP 协议,基于 TLS/SSL 加密传输,Web 安全访问的默认端口(如电商、支付网站)

3306

TCP

MySQL

MySQL 数据库的默认连接端口(MariaDB 兼容此端口)

3389

TCP

RDP

远程桌面协议(主要用于 Windows,但 Linux 可通过 xrdp 服务支持此端口远程登录)

5432

TCP

PostgreSQL

PostgreSQL 开源数据库的默认端口

6379

TCP

Redis

Redis 内存数据库的默认端口(未加密,生产环境需配置密码和 TLS)

8080

TCP

HTTP (Alternative)

常用的 “备用 HTTP 端口”,用于开发环境或多 Web 服务共存场景(如 Tomcat 默认端口)

二、注册端口(1024-49151)

这类端口需主动注册(非强制),常用于 Linux 中的应用服务或自定义服务,常见示例:

  • 8080/8081:Web 应用服务器(如 Tomcat、Jetty)的默认端口(避免与 80 端口冲突);

  • 8443:HTTPS 应用服务的备用端口(如 Tomcat 的 HTTPS 默认端口);

  • 9090:Prometheus 监控系统的默认端口;

  • 9200:Elasticsearch 搜索引擎的 HTTP 访问端口;

  • 9300:Elasticsearch 集群节点间通信的端口;

  • 15672:RabbitMQ 消息队列的 Web 管理界面端口;

  • 27017:MongoDB 数据库的默认端口。

三、动态 / 私有端口(49152-65535)

这类端口无需注册,由 Linux 系统自动分配给 “客户端发起的临时连接”(如浏览器访问网页时,客户端临时使用的端口),服务端不会使用此类端口提供对外服务。

四、Linux 端口相关常用命令

在实际运维中,需通过命令查看、管理端口状态,以下是高频命令:

  1. 查看端口占用情况(最常用)

    bash

    # 查看所有端口(TCP+UDP)的占用及对应进程
    netstat -tulnp  
    # 或用 ss 命令(比 netstat 更高效,推荐)
    ss -tulnp  
    
    # 过滤特定端口(如 22 端口)
    ss -tulnp | grep 22  
    
    • 参数说明:-t(TCP)、-u(UDP)、-l(监听中)、-n(显示端口号,而非服务名)、-p(显示对应进程)。

  2. 查看端口对应的进程

    bash

    # 查看占用 80 端口的进程
    lsof -i :80  
    
  3. 测试端口连通性

    bash

    # 测试本地 22 端口是否开放
    telnet localhost 22  
    # 或用 nc 命令(支持 TCP/UDP,更灵活)
    nc -zv localhost 22  # -z 表示仅检测端口,不发送数据;-v 显示详细信息
    

五、注意事项

  1. 端口与权限:知名端口(0-1023)需 root 权限才能绑定(如普通用户无法启动监听 80 端口的 Nginx);

  2. 端口安全:生产环境中,需通过防火墙(如 iptablesfirewalld)限制端口访问(如仅开放 22、80、443 等必要端口);

  3. 端口冲突:若启动服务时提示 “端口已被占用”,需用 sslsof 找到占用进程,停止进程或修改服务的端口配置。

2.0、Linux文件类型

- 普通文件 白色

d 目录文件 蓝色

p 管道文件 黄色

s 套接字 紫色

c 字符设备 黄色

l 链接文件 青色

b 块设备 黄色

蓝色:目录(directory,权限标识 d)

白色:普通文件(regular file,无特殊标识)

绿色:可执行文件(具有执行权限的文件)

青色:符号链接(symbolic link,权限标识 l)

紫色:套接字文件(socket,权限标识 s)

黄色 / 棕色:

● 管道文件(fifo/pipe,权限标识 p)

● 字符设备文件(character device,权限标识 c)

● 块设备文件(block device,权限标识 b)

红色:

● 压缩文件(如 .tar、.zip 等)

● 错误文件或无权限访问的文件

2.1、切换java版本

#Debian/Ubuntu切换 Java 版本
update-alternatives --config java

2.2、保存当前磁盘分区的分区表

sfdisk -d

2.3、查看二进制的内容

hexdump -C

2.4、用于查看网络 端口之间连接关系

netstat -ntp
-n:以数字形式显示地址和端口
-t:仅显示 TCP 协议相关的连接
-p:显示进程标识符(PID)和程序名称
-u:仅显示 UDP 协议相关的连接

2.5、用于查看系统版本信息

#ubuntu
lsb_release -a

#红帽
cat /etc/redhat-release

#通用
cat /etc/os-release

2.数据库命令

2.1、创建数据库:

create database 数据库名;

2.2、创建用户并且给予权限:

create user 'user1'@'localhost' identified by '123456';
grant all on testdb.* to 'user1'@'localhost';
flush privileges; -- 刷新权限,使修改生效


或者
(MySQL 8.0 之前)grant all on testdb.* to 'user1'@'localhost' identified by '123456';

2.3、Slave相关信息的命令

重置从库

reset slave all;

查看主库的二进制日志

show master status;

查看从库复制状态

show slave status\G 

查看配置从库(Slave)连接主库帮助

help change master to

数据库中用于锁定/释放当前会话持有的表级锁的命令

#锁上
lock tables;
#解锁
unlock tables;

3.系统文件

3.1、Linux系统目录介绍

● /(根):系统的根目录

● /bin:存放系统基础命令

● /boot:系统启动的文件

● /dev:设备文件

● /etc:系统配置文件

● /root:超管家目录

● /home:普通用户家目录

● /lib: 存放系统运行所需的共享库文件

● /tmp:临时目录

● /var:经常变化的文件

● /proc:虚拟文件系统

3.2、Linux系统颜色辨别文件的方法

● 蓝色表示:目录

● 白色表示:普通文件

● 浅蓝色表示:符号链接

● 绿色表示:可执行

● 红色表示:压缩包

● 黄色表示:设备

● 红色闪动文件表示:缺失或者不完整文件

● 紫色表示:套接字(用于实现进程间通信

3.3、存放地址

● 历史命令文件:~/.bash_history

● 内存使用情况:/proc/meminfo

● 系统版本信息:/etc/os-release

● 系统组基本信息:/etc/group

● 开机自动挂载:/etc/fstab

● 系统主机名:/etc/hostname

● 系统用户基本信息:/etc/passwd`

4.网络服务

4.1:响应Status

http 响应状态码 Status-Code 以3位数字组成,用来标识该请求是否成功,比如是正常还是错误等,HTTP/1.1 中状态码可以分为五大类。

状态码

说明

1xx

信息,服务器收到请求,需要请求者继续执行操作

2xx

成功,操作被成功接收并处理

3xx

重定向,需要进一步的操作以完成请求

4xx

客户端错误,请求包含语法错误或无法完成请求 404

5xx

服务器错误,服务器在处理请求的过程中发生了错误

4.2 响应Code

  • 以下是常见状态码

状态码

说明

200

表示成功客户端成功接收到了服务端返回的数据,这是最常见的状态码

206

客户端发完请求后,服务端只是返回了部分数据,就会出现该状态码,例如当下载一个很大的文件时,在没有下载完成前就会出现该状态码

301

永久重定向(redirect) http-->https

302

临时重定向(redirect)

400

客户端请求语法错误,服务端无法理解

401

服务端开启了用户认证,而客户端没有提供正确的验证信息

403

服务端不允许客户端访问,或者没有找到默认返回页面(默认所有的web服务器返回的页面都是index.html、也可以调整默认返回页面app.html)

404

客户端请求的资源不存在 (路径写错了;服务端真的没有;)

413

客户端向服务端上传一个比较大的文件,并且文件大小超过了服务端的限制 1MB;

500

服务端出现了内部错误,需要进行人为排查故障 (连接数据库类服务异常,会出现500错误)

502

服务器充当代理角色时,后端被代理的服务器不可用或者没有正常回应

503

服务当前不可用,由于超载或系统维护,服务器暂时的无法处理客户端请求

504

服务器充当代理角色时,后端的服务端没有按时返回数据,超时了