Linux系统终端操作指令大全

Linux系统终端操作指令大全


基础命令

1. 系统信息

# 查看系统版本信息
uname -a                    # 显示所有系统信息
cat /etc/os-release        # 查看操作系统版本
lsb_release -a             # 显示LSB版本信息
hostnamectl               # 显示系统主机名和操作系统信息

# 查看内核版本
uname -r                   # 显示内核版本
cat /proc/version          # 显示内核版本详细信息

# 查看系统架构
uname -m                   # 显示机器硬件名称
arch                       # 显示架构信息

2. 目录导航

pwd                        # 显示当前工作目录
cd                         # 切换到用户主目录
cd /                       # 切换到根目录
cd ..                      # 切换到上级目录
cd -                       # 切换到上一个工作目录
cd ~                       # 切换到用户主目录
cd /path/to/directory      # 切换到指定目录

3. 帮助命令

man command               # 显示命令手册页
info command              # 显示命令信息页
command --help            # 显示命令帮助信息
help                      # 显示shell内置命令帮助
whatis command            # 显示命令简短描述
apropos keyword           # 搜索包含关键词的命令

文件与目录操作

1. 列出文件

ls                         # 列出当前目录文件
ls -l                      # 长格式列出文件详细信息
ls -a                      # 列出所有文件(包括隐藏文件)
ls -la                     # 长格式列出所有文件
ls -lh                     # 以人类可读格式显示文件大小
ls -lt                     # 按修改时间排序
ls -ltr                    # 按修改时间倒序排序
ls -R                      # 递归列出子目录
ls -d */                   # 只列出目录
ls -1                      # 每行显示一个文件

2. 创建文件与目录

# 创建目录
mkdir directory_name       # 创建单个目录
mkdir -p /path/to/dir      # 创建多级目录
mkdir dir1 dir2 dir3       # 创建多个目录

# 创建文件
touch filename             # 创建空文件
touch file1 file2 file3    # 创建多个文件
echo "content" > file      # 创建文件并写入内容
cat > file                 # 创建文件并交互式输入内容

3. 复制文件与目录

cp source destination      # 复制文件
cp -r source_dir dest_dir  # 递归复制目录
cp -v file1 file2          # 详细模式复制
cp -p file1 file2          # 保留文件属性复制
cp -f file1 file2          # 强制覆盖复制
cp -i file1 file2          # 交互式复制(覆盖前询问)
cp -u file1 file2          # 只复制更新的文件
cp -a source dest          # 归档模式复制(保留所有属性)

4. 移动和重命名

mv oldname newname         # 重命名文件或目录
mv file1 file2 dir/        # 移动文件到目录
mv -i file1 file2          # 交互式移动
mv -f file1 file2          # 强制移动
mv -v file1 file2          # 详细模式移动

5. 删除文件与目录

rm filename                # 删除文件
rm -r directory            # 递归删除目录
rm -f filename             # 强制删除文件
rm -i filename             # 交互式删除
rm -v filename             # 详细模式删除
rm -rf directory           # 强制递归删除目录(危险!)
rmdir directory            # 删除空目录
rmdir -p /path/to/dir      # 删除目录及其父目录(如果为空)

6. 查找文件

# find命令
find /path -name "filename"           # 按名称查找文件
find /path -iname "filename"          # 忽略大小写查找
find /path -type f                    # 查找文件
find /path -type d                    # 查找目录
find /path -size +100M                # 查找大于100MB的文件
find /path -mtime -7                  # 查找7天内修改的文件
find /path -atime +30                 # 查找30天前访问的文件
find /path -user username             # 查找指定用户的文件
find /path -perm 644                  # 查找指定权限的文件
find /path -exec command {} \;        # 对查找结果执行命令

# locate命令(需要更新数据库)
locate filename                        # 快速查找文件
sudo updatedb                         # 更新locate数据库

# which命令
which command                          # 查找命令的完整路径
whereis command                        # 查找命令的二进制、源码和手册页位置

文件内容查看与编辑

1. 查看文件内容

cat filename              # 显示整个文件内容
cat -n filename           # 显示行号
cat -A filename           # 显示所有字符(包括控制字符)
cat file1 file2 > file3   # 合并文件

less filename             # 分页查看文件(可向前向后翻页)
more filename             # 分页查看文件(只能向前翻页)
head filename             # 显示文件前10行
head -n 20 filename       # 显示文件前20行
tail filename             # 显示文件后10行
tail -n 20 filename       # 显示文件后20行
tail -f filename          # 实时跟踪文件变化
tail -f +20 filename      # 从第20行开始跟踪

# 查看文件类型
file filename             # 显示文件类型
wc filename               # 统计文件行数、单词数、字符数
wc -l filename            # 只统计行数
wc -w filename            # 只统计单词数
wc -c filename            # 只统计字符数

2. 文本编辑器

# nano编辑器(简单易用)
nano filename             # 编辑文件
nano -w filename          # 不自动换行编辑

# vim编辑器(功能强大)
vim filename              # 编辑文件
vim +10 filename          # 从第10行开始编辑
vim -R filename           # 只读模式编辑

# vim基本操作
# 插入模式:按i键
# 命令模式:按Esc键
# 保存::w
# 退出::q
# 保存并退出::wq
# 强制退出::q!
# 查找:/pattern
# 替换::s/old/new/g

# emacs编辑器
emacs filename            # 编辑文件

3. 文本处理

# grep命令
grep "pattern" filename    # 在文件中搜索模式
grep -i "pattern" filename # 忽略大小写搜索
grep -v "pattern" filename # 反向搜索(不匹配的行)
grep -n "pattern" filename # 显示行号
grep -r "pattern" dir/     # 递归搜索目录
grep -l "pattern" dir/     # 只显示包含模式的文件名
grep -c "pattern" filename # 显示匹配行数

# sed命令(流编辑器)
sed 's/old/new/g' filename # 替换文本
sed 's/old/new/' filename  # 替换每行第一个匹配
sed '1,5d' filename        # 删除1-5行
sed '1i\new line' filename # 在第1行前插入新行
sed -n '1,5p' filename     # 只显示1-5行

# awk命令
awk '{print $1}' filename # 打印第一列
awk '{print $1, $3}' filename # 打印第1和第3列
awk '/pattern/' filename   # 打印包含模式的行
awk '{sum += $1} END {print sum}' filename # 计算第一列总和

权限管理

1. 文件权限

# 查看权限
ls -l filename            # 查看文件详细权限
stat filename             # 查看文件状态信息

# 权限说明
# rwx rwx rwx
# 所有者 用户组 其他用户
# r=4 (读) w=2 (写) x=1 (执行)

# chmod命令
chmod 755 filename        # 设置权限为rwxr-xr-x
chmod u+x filename        # 给所有者添加执行权限
chmod g-w filename        # 移除用户组写权限
chmod o=r filename        # 设置其他用户只有读权限
chmod +x filename         # 给所有用户添加执行权限
chmod -R 755 directory    # 递归设置目录权限

# 权限符号说明
# u: 所有者 g: 用户组 o: 其他用户 a: 所有用户
# +: 添加权限 -: 移除权限 =: 设置权限
# r: 读 w: 写 x: 执行

2. 文件所有者

# chown命令
chown user filename       # 改变文件所有者
chown user:group filename # 改变文件所有者和用户组
chown -R user directory   # 递归改变目录所有者

# chgrp命令
chgrp group filename      # 改变文件用户组
chgrp -R group directory  # 递归改变目录用户组

3. 特殊权限

# SUID (Set User ID)
chmod u+s filename        # 设置SUID位
chmod 4755 filename       # 设置SUID位(数字方式)

# SGID (Set Group ID)
chmod g+s directory       # 设置SGID位
chmod 2755 directory      # 设置SGID位(数字方式)

# Sticky Bit
chmod +t directory        # 设置Sticky Bit
chmod 1755 directory      # 设置Sticky Bit(数字方式)

# 查看特殊权限
ls -la filename           # 查看特殊权限位

用户与组管理

1. 用户管理

# 查看用户信息
who                       # 显示当前登录用户
whoami                    # 显示当前用户名
id                        # 显示用户ID和组信息
id username               # 显示指定用户信息
w                         # 显示详细登录信息
last                      # 显示登录历史
lastlog                   # 显示用户最后登录时间

# 添加用户
useradd username          # 创建新用户
useradd -m username       # 创建用户并创建主目录
useradd -s /bin/bash username # 指定shell
useradd -u 1000 username  # 指定用户ID
useradd -g groupname username # 指定主组

# 删除用户
userdel username          # 删除用户
userdel -r username       # 删除用户及其主目录

# 修改用户
usermod -l newname oldname # 修改用户名
usermod -d /new/home username # 修改主目录
usermod -s /bin/zsh username # 修改shell
usermod -L username       # 锁定用户账户
usermod -U username       # 解锁用户账户

2. 组管理

# 查看组信息
groups                    # 显示当前用户所属组
groups username           # 显示指定用户所属组
getent group              # 显示所有组信息

# 添加组
groupadd groupname        # 创建新组
groupadd -g 1000 groupname # 指定组ID

# 删除组
groupdel groupname        # 删除组

# 修改组
groupmod -n newname oldname # 修改组名
groupmod -g 2000 groupname # 修改组ID

# 管理组成员
usermod -a -G groupname username # 将用户添加到组
gpasswd -a username groupname # 将用户添加到组
gpasswd -d username groupname # 从组中移除用户

3. 密码管理

passwd                    # 修改当前用户密码
passwd username           # 修改指定用户密码
passwd -l username        # 锁定用户密码
passwd -u username        # 解锁用户密码
passwd -d username        # 删除用户密码
passwd -e username        # 强制用户下次登录时修改密码

# 密码策略
chage -l username         # 查看密码过期信息
chage -M 90 username      # 设置密码最大有效期90天
chage -W 7 username       # 设置密码过期前7天警告
chage -I 30 username      # 设置账户不活跃30天后锁定

进程管理

1. 查看进程

ps                        # 显示当前终端进程
ps aux                     # 显示所有进程详细信息
ps -ef                     # 显示所有进程
ps -u username             # 显示指定用户进程
ps -p pid                  # 显示指定PID进程
ps aux | grep process      # 搜索特定进程

# 实时进程监控
top                        # 实时显示进程信息
htop                       # 增强版top(需要安装)
iotop                      # 显示I/O使用情况
nethogs                    # 显示网络使用情况

# 进程树
pstree                     # 显示进程树
pstree -p                  # 显示进程树和PID
pstree -u                  # 显示进程树和用户

2. 进程控制

# 启动进程
command &                  # 后台运行命令
nohup command &            # 后台运行命令(忽略挂起信号)
screen -S session_name     # 创建screen会话
tmux new-session -s session_name # 创建tmux会话

# 终止进程
kill pid                   # 发送TERM信号终止进程
kill -9 pid                # 强制终止进程
kill -HUP pid              # 发送HUP信号(重新加载配置)
killall process_name       # 终止指定名称的所有进程
pkill process_name         # 根据名称终止进程

# 进程优先级
nice -n 10 command         # 以指定优先级运行命令
renice 10 pid              # 修改运行中进程的优先级

3. 系统负载

uptime                     # 显示系统运行时间和负载
loadavg                    # 显示系统负载平均值
free                       # 显示内存使用情况
free -h                    # 以人类可读格式显示内存
vmstat                     # 显示虚拟内存统计
vmstat 1 5                 # 每秒显示一次,共5次

系统信息查看

1. 硬件信息

# CPU信息
cat /proc/cpuinfo          # 显示CPU详细信息
lscpu                      # 显示CPU架构信息
nproc                      # 显示CPU核心数

# 内存信息
cat /proc/meminfo          # 显示内存详细信息
free -h                    # 显示内存使用情况
dmidecode -t memory        # 显示物理内存信息

# 磁盘信息
df -h                      # 显示磁盘使用情况
du -h                      # 显示目录大小
du -sh directory           # 显示目录总大小
du -h --max-depth=1        # 显示一级子目录大小

# 硬件设备
lspci                      # 显示PCI设备
lsusb                      # 显示USB设备
lsblk                      # 显示块设备
fdisk -l                   # 显示磁盘分区信息

2. 系统状态

# 系统资源
top                        # 实时系统监控
htop                       # 增强版系统监控
iotop                      # I/O监控
nethogs                    # 网络使用监控

# 系统统计
vmstat                     # 虚拟内存统计
iostat                     # I/O统计
mpstat                     # CPU统计
sar                        # 系统活动报告

# 系统日志
dmesg                      # 显示内核消息
journalctl                 # 显示systemd日志
journalctl -f              # 实时显示日志
journalctl -u service_name # 显示特定服务日志

网络操作

1. 网络配置

# 网络接口
ip addr                    # 显示网络接口信息
ip link                    # 显示网络接口状态
ip route                   # 显示路由表
ip neigh                   # 显示ARP表

# 传统命令
ifconfig                   # 显示网络接口信息
route -n                   # 显示路由表
netstat -i                 # 显示网络接口统计
netstat -r                 # 显示路由表

# 网络配置
ip addr add 192.168.1.100/24 dev eth0 # 添加IP地址
ip link set eth0 up        # 启用网络接口
ip link set eth0 down      # 禁用网络接口

2. 网络连接测试

ping hostname              # 测试网络连通性
ping -c 4 hostname         # 发送4个ping包
ping -i 0.2 hostname       # 每0.2秒发送一个包
ping -s 1500 hostname      # 发送1500字节的包

traceroute hostname        # 显示路由路径
mtr hostname               # 实时路由跟踪

telnet hostname port       # 测试端口连通性
nc -zv hostname port       # 测试端口连通性
ssh user@hostname          # SSH连接

3. 网络服务

# 端口监听
netstat -tuln              # 显示监听端口
ss -tuln                   # 显示监听端口(现代命令)
lsof -i                    # 显示网络连接
lsof -i :port              # 显示指定端口连接

# 网络服务管理
systemctl start service    # 启动服务
systemctl stop service     # 停止服务
systemctl restart service  # 重启服务
systemctl status service   # 查看服务状态
systemctl enable service   # 启用服务开机自启
systemctl disable service  # 禁用服务开机自启

4. 防火墙

# iptables
iptables -L                # 列出防火墙规则
iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 允许80端口
iptables -D INPUT -p tcp --dport 80 -j ACCEPT # 删除规则

# ufw (Ubuntu)
ufw status                 # 查看防火墙状态
ufw enable                 # 启用防火墙
ufw disable                # 禁用防火墙
ufw allow 80               # 允许80端口
ufw deny 22                # 拒绝22端口

# firewalld (CentOS/RHEL)
firewall-cmd --list-all    # 列出所有规则
firewall-cmd --add-port=80/tcp --permanent # 添加端口
firewall-cmd --reload      # 重新加载配置

软件包管理

1. Debian/Ubuntu (apt)

# 更新软件包列表
apt update                 # 更新软件包列表
apt upgrade                # 升级已安装的软件包
apt full-upgrade           # 完全升级(包括内核)

# 安装软件包
apt install package_name   # 安装软件包
apt install package1 package2 # 安装多个软件包
apt install --no-install-recommends package # 不安装推荐包

# 删除软件包
apt remove package_name    # 删除软件包
apt purge package_name     # 删除软件包和配置文件
apt autoremove             # 删除不再需要的依赖包

# 搜索软件包
apt search keyword         # 搜索软件包
apt show package_name      # 显示软件包详细信息
apt list --installed       # 列出已安装的软件包
apt list --upgradable      # 列出可升级的软件包

# 清理
apt clean                  # 清理下载的软件包
apt autoclean              # 清理过期的软件包

2. CentOS/RHEL/Fedora (yum/dnf)

# 更新软件包列表
yum update                 # 更新软件包
yum check-update           # 检查可更新的软件包
dnf update                 # 现代版本使用dnf

# 安装软件包
yum install package_name   # 安装软件包
yum install package1 package2 # 安装多个软件包
dnf install package_name   # 使用dnf安装

# 删除软件包
yum remove package_name    # 删除软件包
yum erase package_name     # 删除软件包
dnf remove package_name    # 使用dnf删除

# 搜索软件包
yum search keyword         # 搜索软件包
yum info package_name      # 显示软件包信息
yum list installed         # 列出已安装的软件包
yum list available         # 列出可用软件包

# 清理
yum clean all              # 清理所有缓存
yum autoremove             # 删除不再需要的依赖包

3. Arch Linux (pacman)

# 更新系统
pacman -Syu               # 同步并更新系统
pacman -Sy                # 同步软件包数据库

# 安装软件包
pacman -S package_name     # 安装软件包
pacman -S package1 package2 # 安装多个软件包

# 删除软件包
pacman -R package_name     # 删除软件包
pacman -Rs package_name    # 删除软件包和依赖
pacman -Rsc package_name   # 删除软件包、依赖和配置文件

# 搜索软件包
pacman -Ss keyword         # 搜索软件包
pacman -Si package_name    # 显示软件包信息
pacman -Q                  # 列出已安装的软件包
pacman -Qs keyword         # 搜索已安装的软件包

# 清理
pacman -Sc                 # 清理软件包缓存
pacman -Scc                # 清理所有缓存

4. 源码编译安装

# 下载源码
wget http://example.com/package.tar.gz
tar -xzf package.tar.gz
cd package

# 配置和编译
./configure                # 配置
make                       # 编译
make install               # 安装
make clean                 # 清理编译文件

# 或者使用cmake
mkdir build && cd build
cmake ..
make
make install

磁盘与存储管理

1. 磁盘分区

# 查看磁盘信息
fdisk -l                   # 列出所有磁盘分区
lsblk                      # 显示块设备树
blkid                      # 显示块设备UUID

# 创建分区
fdisk /dev/sda             # 对磁盘进行分区
parted /dev/sda            # 使用parted进行分区
gdisk /dev/sda             # 对GPT磁盘进行分区

# 格式化分区
mkfs.ext4 /dev/sda1        # 格式化为ext4文件系统
mkfs.xfs /dev/sda1         # 格式化为XFS文件系统
mkfs.vfat /dev/sda1        # 格式化为FAT文件系统

2. 挂载管理

# 挂载文件系统
mount /dev/sda1 /mnt       # 挂载分区到目录
mount -t ext4 /dev/sda1 /mnt # 指定文件系统类型
mount -o ro /dev/sda1 /mnt # 只读挂载

# 卸载文件系统
umount /mnt                # 卸载文件系统
umount -f /mnt             # 强制卸载
umount -l /mnt             # 延迟卸载

# 查看挂载信息
mount                      # 显示所有挂载点
df -h                      # 显示磁盘使用情况
findmnt                    # 显示挂载树

3. 自动挂载

# 编辑/etc/fstab文件
echo "/dev/sda1 /mnt ext4 defaults 0 2" >> /etc/fstab

# fstab字段说明
# 设备 挂载点 文件系统类型 选项 dump标志 fsck顺序

# 重新挂载所有文件系统
mount -a                   # 挂载/etc/fstab中的所有文件系统

4. LVM管理

# 创建物理卷
pvcreate /dev/sda1         # 创建物理卷
pvdisplay                  # 显示物理卷信息
pvscan                     # 扫描物理卷

# 创建卷组
vgcreate vg_name /dev/sda1 # 创建卷组
vgdisplay                  # 显示卷组信息
vgextend vg_name /dev/sdb1 # 扩展卷组

# 创建逻辑卷
lvcreate -L 10G -n lv_name vg_name # 创建10G逻辑卷
lvcreate -l 100%FREE -n lv_name vg_name # 使用所有可用空间
lvdisplay                  # 显示逻辑卷信息
lvextend -L +5G /dev/vg_name/lv_name # 扩展逻辑卷

5. RAID管理

# 创建RAID阵列
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1

# 查看RAID状态
cat /proc/mdstat           # 查看RAID状态
mdadm --detail /dev/md0    # 显示RAID详细信息

# 管理RAID
mdadm --add /dev/md0 /dev/sdc1 # 添加设备到RAID
mdadm --remove /dev/md0 /dev/sda1 # 从RAID移除设备

系统服务管理

1. systemd服务管理

# 服务控制
systemctl start service    # 启动服务
systemctl stop service     # 停止服务
systemctl restart service  # 重启服务
systemctl reload service   # 重新加载配置
systemctl status service   # 查看服务状态

# 服务启用/禁用
systemctl enable service   # 启用服务开机自启
systemctl disable service  # 禁用服务开机自启
systemctl is-enabled service # 检查服务是否启用

# 服务列表
systemctl list-units --type=service # 列出所有服务
systemctl list-units --type=service --state=running # 列出运行中的服务
systemctl list-unit-files --type=service # 列出服务文件

# 服务日志
journalctl -u service      # 查看服务日志
journalctl -u service -f   # 实时查看服务日志
journalctl -u service --since "1 hour ago" # 查看最近1小时的日志

2. 传统init脚本

# 服务控制
service service_name start # 启动服务
service service_name stop  # 停止服务
service service_name restart # 重启服务
service service_name status # 查看服务状态

# 或者使用/etc/init.d/
/etc/init.d/service_name start
/etc/init.d/service_name stop
/etc/init.d/service_name restart
/etc/init.d/service_name status

3. 系统启动管理

# 查看启动时间
systemd-analyze             # 分析启动时间
systemd-analyze blame       # 显示各服务启动时间
systemd-analyze critical-chain # 显示关键启动链

# 目标管理
systemctl get-default       # 获取默认目标
systemctl set-default multi-user.target # 设置默认目标
systemctl isolate multi-user.target # 切换到目标

# 常用目标
# graphical.target - 图形界面
# multi-user.target - 多用户文本界面
# rescue.target - 救援模式
# emergency.target - 紧急模式

日志查看

1. systemd日志

journalctl                 # 查看所有日志
journalctl -f              # 实时查看日志
journalctl -n 50           # 查看最近50条日志
journalctl --since "2023-01-01" # 查看指定日期后的日志
journalctl --since "1 hour ago" # 查看最近1小时的日志
journalctl -u service_name # 查看特定服务日志
journalctl -p err          # 只查看错误日志
journalctl -p warning      # 只查看警告日志
journalctl --disk-usage    # 查看日志磁盘使用情况
journalctl --vacuum-time=7d # 清理7天前的日志

2. 传统日志文件

# 系统日志
tail -f /var/log/messages  # 实时查看系统消息
tail -f /var/log/syslog    # 实时查看系统日志
cat /var/log/dmesg         # 查看内核消息

# 服务日志
tail -f /var/log/apache2/access.log # Apache访问日志
tail -f /var/log/apache2/error.log  # Apache错误日志
tail -f /var/log/nginx/access.log   # Nginx访问日志
tail -f /var/log/nginx/error.log    # Nginx错误日志
tail -f /var/log/mysql/error.log    # MySQL错误日志

# 用户日志
last                       # 查看用户登录历史
lastlog                    # 查看用户最后登录时间
w                          # 查看当前登录用户
who                        # 查看登录用户

3. 日志轮转

# logrotate配置
cat /etc/logrotate.conf    # 查看logrotate主配置
cat /etc/logrotate.d/*     # 查看各服务日志轮转配置

# 手动执行日志轮转
logrotate -f /etc/logrotate.conf # 强制执行日志轮转
logrotate -d /etc/logrotate.conf # 调试模式执行

安全相关

1. 用户安全

# 密码策略
passwd -l username         # 锁定用户账户
passwd -u username         # 解锁用户账户
chage -l username          # 查看密码过期信息
chage -M 90 username       # 设置密码90天过期

# 用户限制
ulimit -a                  # 查看用户限制
ulimit -n 1024             # 设置文件描述符限制
ulimit -u 100              # 设置进程数限制

# sudo配置
visudo                     # 编辑sudoers文件
sudo -l                    # 查看当前用户sudo权限

2. 文件安全

# 文件完整性检查
md5sum file                # 计算文件MD5值
sha256sum file             # 计算文件SHA256值
sha512sum file             # 计算文件SHA512值

# 文件属性
chattr +i file             # 设置不可变属性
chattr -i file             # 移除不可变属性
chattr +a file             # 设置只追加属性
lsattr file                # 查看文件属性

# 访问控制列表
setfacl -m u:user:rw file  # 设置用户ACL
setfacl -m g:group:r file  # 设置组ACL
getfacl file               # 查看文件ACL

3. 网络安全

# 端口扫描
nmap localhost             # 扫描本地端口
nmap -p 80,443 hostname    # 扫描指定端口
nmap -sS hostname          # SYN扫描

# 网络连接监控
netstat -tuln              # 查看监听端口
ss -tuln                   # 查看监听端口
lsof -i                    # 查看网络连接

# 防火墙规则
iptables -L                # 查看iptables规则
ufw status                 # 查看ufw状态
firewall-cmd --list-all    # 查看firewalld规则

4. 系统安全

# 安全审计
auditctl -l                # 列出审计规则
ausearch -k key            # 搜索审计事件
aureport                   # 生成审计报告

# 安全扫描
rkhunter --check           # Rootkit检测
chkrootkit                 # Rootkit检测
lynis audit system         # 系统安全审计

高级技巧

1. Shell脚本

#!/bin/bash
# 这是一个简单的shell脚本示例

# 变量定义
NAME="World"
echo "Hello, $NAME!"

# 条件判断
if [ -f "file.txt" ]; then
    echo "file.txt exists"
else
    echo "file.txt does not exist"
fi

# 循环
for i in {1..5}; do
    echo "Number: $i"
done

# 函数定义
function greet() {
    echo "Hello, $1!"
}
greet "Alice"

# 参数处理
echo "Script name: $0"
echo "First argument: $1"
echo "All arguments: $@"
echo "Number of arguments: $#"

2. 管道和重定向

# 管道
command1 | command2        # 将command1输出作为command2输入
ps aux | grep process      # 搜索进程
cat file | sort | uniq     # 排序并去重

# 重定向
command > file             # 输出重定向到文件
command >> file            # 追加输出到文件
command < file             # 从文件读取输入
command 2> file            # 错误输出重定向
command &> file            # 所有输出重定向

# 进程替换
command <(command2)        # 进程替换作为输入
command >(command2)        # 进程替换作为输出

3. 后台任务

# 后台运行
command &                  # 后台运行命令
nohup command &            # 后台运行并忽略挂起信号

# 任务控制
jobs                       # 查看后台任务
fg %1                      # 将任务1调到前台
bg %1                      # 将任务1调到后台
kill %1                    # 终止任务1

# screen会话
screen -S session_name     # 创建screen会话
screen -r session_name     # 恢复screen会话
screen -ls                 # 列出screen会话
screen -d session_name     # 分离screen会话

4. 性能优化

# 系统调优
echo 1 > /proc/sys/vm/drop_caches # 清理页面缓存
echo 2 > /proc/sys/vm/drop_caches # 清理inode和目录项缓存
echo 3 > /proc/sys/vm/drop_caches # 清理所有缓存

# 进程优先级
nice -n 10 command         # 以低优先级运行
renice 10 pid              # 修改运行中进程优先级

# 内存管理
swapon -s                  # 查看交换分区
swapon /dev/sda2           # 启用交换分区
swapoff /dev/sda2          # 禁用交换分区

5. 故障排除

# 系统诊断
dmesg | tail -20           # 查看最近内核消息
journalctl -p err          # 查看错误日志
systemctl --failed         # 查看失败的服务

# 网络诊断
ping -c 4 8.8.8.8          # 测试网络连通性
traceroute google.com      # 路由跟踪
nslookup domain.com        # DNS查询
dig domain.com             # DNS详细信息

# 磁盘诊断
smartctl -a /dev/sda       # 查看磁盘健康状态
badblocks -v /dev/sda      # 检查磁盘坏块
fsck /dev/sda1             # 检查文件系统

常用快捷键

1. Bash快捷键

Ctrl + A          # 移动到行首
Ctrl + E          # 移动到行尾
Ctrl + U          # 删除光标前的所有内容
Ctrl + K          # 删除光标后的所有内容
Ctrl + W          # 删除光标前的一个单词
Ctrl + L          # 清屏
Ctrl + C          # 中断当前命令
Ctrl + Z          # 暂停当前命令
Ctrl + D          # 退出当前shell
Ctrl + R          # 搜索命令历史

2. 命令历史

history                    # 显示命令历史
history 10                 # 显示最近10条命令
!n                         # 执行历史记录中的第n条命令
!!                         # 执行上一条命令
!string                    # 执行最近的以string开头的命令

总结

这个Linux终端操作指令大全涵盖了从基础命令到高级技巧的各个方面。掌握这些命令将大大提高在Linux系统中的工作效率。建议:

  1. 循序渐进:从基础命令开始,逐步学习更复杂的操作
  2. 实践为主:在实际环境中练习这些命令
  3. 查阅手册:使用man--help获取详细帮助
  4. 安全第一:在执行危险命令前仔细确认
  5. 备份重要数据:在进行系统级操作前做好备份

记住,Linux是一个强大的操作系统,这些命令只是冰山一角。随着深入学习,您会发现更多有用的工具和技巧!✌️✌️✌️


希望以上内容对您有所帮助💕(如有错误或问题,请评论或私信指正,虚心接受👻)
如果觉得有用,欢迎关注获取更多实用信息🫡!
持续更新,助您解决更多问题👌!


文章作者:爱吃香肥带鱼的胖圆圆
最后更新:2025年

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃香肥带鱼的胖圆圆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值