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系统中的工作效率。建议:
- 循序渐进:从基础命令开始,逐步学习更复杂的操作
- 实践为主:在实际环境中练习这些命令
- 查阅手册:使用
man
和--help
获取详细帮助 - 安全第一:在执行危险命令前仔细确认
- 备份重要数据:在进行系统级操作前做好备份
记住,Linux是一个强大的操作系统,这些命令只是冰山一角。随着深入学习,您会发现更多有用的工具和技巧!✌️✌️✌️
希望以上内容对您有所帮助💕(如有错误或问题,请评论或私信指正,虚心接受👻)
如果觉得有用,欢迎关注获取更多实用信息🫡!
持续更新,助您解决更多问题👌!
文章作者:爱吃香肥带鱼的胖圆圆
最后更新:2025年