Linux常用命令参考手册

文件和目录操作

ls [选项] [目录]

列出目录中的文件和子目录。

ls -l /home

常用选项:

-l 以长格式显示 -a 显示所有文件,包括隐藏文件 -h 以人类可读的格式显示文件大小 -r 反向排序 -t 按修改时间排序
cd [目录]

切换当前工作目录。

cd /var/log

特殊用法:

  • cd ~cd 切换到当前用户的家目录
  • cd .. 切换到上一级目录
  • cd - 切换到上一个工作目录
pwd

显示当前工作目录的绝对路径。

pwd
mkdir [选项] 目录名

创建新目录。

mkdir -p project/docs

常用选项:

-p 递归创建目录,若父目录不存在则自动创建 -m 设置目录的权限,如 mkdir -m 755 dir
rm [选项] 文件或目录

删除文件或目录。

rm -rf old_files/

常用选项:

-f 强制删除,不提示确认 -r 递归删除目录及其内容 -i 删除前提示确认

警告:rm -rf / 会删除系统中所有文件,非常危险!

cp [选项] 源文件 目标文件

复制文件或目录。

cp -r source_dir/ dest_dir/

常用选项:

-r 递归复制目录及其内容 -i 若目标文件存在则提示确认 -v 显示复制过程 -a 保留文件的所有属性并递归复制
mv [选项] 源文件 目标文件

移动或重命名文件或目录。

mv oldname.txt newname.txt

常用选项:

-i 若目标文件存在则提示确认 -v 显示移动过程 -u 仅当源文件较新时才移动
cat [选项] 文件名

查看文件内容,连接文件并打印到标准输出。

cat /var/log/syslog

常用选项:

-n 显示行号 -b 显示行号,但不包括空白行 -s 将连续的空白行合并为一行
nano 文件名 或 vi 文件名

文本编辑器,用于创建或编辑文件。nano更简单易用,vi功能更强大。

nano config.txt

vi基本操作:

  • i 进入插入模式
  • Esc 退出插入模式
  • :w 保存文件
  • :q 退出编辑器
  • :wq 保存并退出
  • :q! 不保存强制退出
grep [选项] 模式 文件名

在文件中搜索匹配指定模式的行。

grep -i "error" /var/log/syslog

常用选项:

-i 忽略大小写 -r 递归搜索目录中的所有文件 -n 显示匹配行的行号 -v 显示不匹配的行 -E 使用扩展正则表达式

系统信息

uname [选项]

显示系统信息。

uname -a

常用选项:

-a 显示所有系统信息 -s 显示内核名称 -r 显示内核版本 -v 显示内核编译信息 -m 显示机器硬件名称
top

实时显示系统中进程的资源占用情况。

top

常用交互命令:

  • q 退出top
  • k 终止一个进程
  • h 显示帮助信息
  • P 按CPU使用率排序
  • M 按内存使用率排序
df [选项]

显示文件系统的磁盘空间使用情况。

df -h

常用选项:

-h 以人类可读的格式显示 -a 显示所有文件系统,包括虚拟文件系统 -T 显示文件系统类型
free [选项]

显示系统内存使用情况。

free -h

常用选项:

-h 以人类可读的格式显示 -s 间隔秒数 持续显示,每隔指定秒数刷新一次 -t 显示总计信息
uptime

显示系统运行时间和平均负载。

uptime

输出说明:

例如:15:45:23 up 2 days, 4:30, 2 users, load average: 0.15, 0.20, 0.18

分别表示:当前时间、系统运行时间、登录用户数、过去1分钟、5分钟、15分钟的系统平均负载

lsb_release [选项]

显示Linux发行版信息。

lsb_release -a

常用选项:

-a 显示所有信息 -d 显示描述信息 -r 显示发行版版本号

进程管理

ps [选项]

显示当前进程的状态。

ps aux

常用选项组合:

ps aux 显示所有用户的所有进程 ps -ef 以全格式显示所有进程 ps -l 显示当前用户的进程详细信息
kill [选项] 进程ID

发送信号给进程,通常用于终止进程。

kill -9 1234

常用信号:

-1 (HUP) 重新加载进程 -9 (KILL) 强制终止进程 -15 (TERM) 正常终止进程(默认)
pkill [选项] 进程名

根据进程名终止进程。

pkill -9 firefox

常用选项:

-i 忽略大小写 -9 发送KILL信号 -f 匹配完整的命令行而不仅仅是进程名
bg %工作号 或 fg %工作号

bg将挂起的进程放到后台运行,fg将后台进程调到前台运行。

bg %1

相关命令:

  • jobs 显示当前后台作业
  • command & 在后台运行命令
  • Ctrl+Z 暂停当前前台进程
nohup 命令 [参数]

在后台运行命令,即使终端关闭也不受影响。

nohup ./server.sh &

说明:

命令的输出默认重定向到当前目录的nohup.out文件

用户和权限

sudo 命令

以超级用户(root)权限执行命令。

sudo apt update

常用选项:

-i 切换到root用户的交互式shell -s 以root权限运行shell -u 用户名 以指定用户身份执行命令
chmod 权限 文件或目录

修改文件或目录的权限。

chmod 755 script.sh

权限说明:

权限由3位数字组成,分别代表所有者、所属组和其他用户的权限

r(读)=4, w(写)=2, x(执行)=1,例如755表示rwxr-xr-x

其他用法:

chmod u+x file

u表示所有者,+x添加执行权限

chown 用户[:组] 文件或目录

修改文件或目录的所有者和所属组。

chown www-data:www-data /var/www

常用选项:

-R 递归修改目录及其内容的所有者
useradd [选项] 用户名 或 userdel [选项] 用户名

useradd创建新用户,userdel删除用户。

sudo useradd -m -s /bin/bash newuser

常用选项(useradd):

-m 自动创建用户的家目录 -s 指定用户的默认shell -g 指定用户所属的主组 -G 指定用户所属的附加组

常用选项(userdel):

-r 删除用户的同时删除其家目录和邮件池
passwd [用户名]

修改用户密码,不指定用户名则修改当前用户密码。

sudo passwd newuser

网络操作

ping [选项] 主机名或IP地址

测试与目标主机的网络连接。

ping -c 4 google.com

常用选项:

-c 次数 指定发送数据包的次数 -i 间隔秒数 指定发送数据包的间隔时间 -s 字节数 指定发送数据包的大小
ifconfig 或 ip addr

显示或配置网络接口信息。ifconfig是传统命令,ip是新一代命令。

ip addr show

常用操作:

sudo ip link set eth0 up

启用eth0网络接口

sudo ip addr add 192.168.1.100/24 dev eth0

为eth0设置IP地址

netstat [选项] 或 ss [选项]

显示网络连接、路由表、接口统计等网络相关信息。ss是netstat的替代命令,效率更高。

ss -tuln

常用选项:

-t 显示TCP连接 -u 显示UDP连接 -l 显示监听状态的连接 -n 以数字形式显示地址和端口 -p 显示连接关联的进程
curl [选项] URL 或 wget [选项] URL

从网络上下载文件或获取资源。curl功能更强大,支持更多协议和操作;wget更专注于下载。

curl -O https://example.com/file.tar.gz

常用选项(curl):

-O 保存文件,使用远程文件名 -L 跟随重定向 -X 指定HTTP方法(GET, POST等) -d 发送POST数据

常用选项(wget):

-c 断点续传 -r 递归下载 -np 不追溯至父目录
ssh [选项] 用户名@主机名或IP

通过SSH协议远程登录到其他计算机。

ssh user@192.168.1.1

常用选项:

-p 端口 指定SSH端口 -i 密钥文件 使用指定的私钥文件进行认证 -X 启用X11转发
命令已复制到剪贴板