Skip to content

常用的 Linux 命令及其简要说明和示例: ​

ls - 列出目录内容 ​

bash
ls

列出当前目录的文件和子目录。

cd - 更改当前目录 ​

bash
cd /path/to/directory

更改当前工作目录到指定的目录。

pwd - 显示当前工作目录 ​

bash
pwd

显示当前工作目录的完整路径。

cp - 复制文件或目录 ​

bash
cp source_file destination_file

将 source_file 复制到 destination_file。

mv - 移动或重命名文件或目录 ​

bash
mv source_file destination_file

将 source_file 移动到 destination_file,或重命名为 destination_file。

rm - 删除文件或目录 ​

bash
rm file

删除指定的文件。要删除目录及其内容,使用 rm -r directory。

mkdir - 创建新目录 ​

bash
mkdir directory_name

创建一个名为 directory_name 的新目录。

rmdir - 删除空目录 ​

bash
rmdir directory_name

删除一个名为 directory_name 的空目录。

touch - 创建空文件或更新文件时间戳 ​

bash
touch file_name

创建一个名为 file_name 的空文件,或更新现有文件的时间戳。

cat - 显示文件内容 ​

bash
cat file_name

显示 file_name 的内容。

less - 分页显示文件内容 ​

bash
less file_name

分页显示 file_name 的内容,可以使用键盘上的方向键进行导航。

grep - 搜索文件中的文本 ​

bash
grep "search_text" file_name

在 file_name 中搜索 search_text。

find - 查找文件或目录 ​

bash
find /path/to/search -name "file_name"

在指定路径下查找名为 file_name 的文件或目录。

chmod - 更改文件权限 ​

bash
chmod 755 file_name

将 file_name 的权限更改为 755(所有者有读、写、执行权限,组和其他用户有读和执行权限)。

chown - 更改文件所有者 ​

bash
chown user:group file_name

将 file_name 的所有者更改为 user,组更改为 group。

df - 显示磁盘空间使用情况 ​

bash
df -h

以人类可读的格式显示磁盘空间使用情况。

du - 显示目录或文件的磁盘使用情况 ​

bash
du -sh directory_name

显示 directory_name 的磁盘使用情况,以人类可读的格式。

top - 显示系统资源使用情况 ​

bash
top

显示系统资源使用情况,包括 CPU、内存等。

ps - 显示当前进程 ​

bash
ps aux

显示所有用户的所有进程。

kill - 终止进程 ​

bash
kill PID

终止指定 PID 的进程。

free - 显示内存使用情况 ​

bash
free -h

显示内存使用情况,以人类可读的格式。

显示系统信息 ​

bash
cat /var/run/motd.dynamic

ifconfig - 显示和配置网络接口 ​

bash
ifconfig

显示所有网络接口的配置信息。

ip - 显示和配置网络接口(现代替代 ifconfig) ​

bash
ip addr

显示所有网络接口的 IP 地址信息。

ping - 测试网络连接 ​

bash
ping www.example.com

向 www.example.com 发送 ICMP 回显请求,测试网络连接。

netstat - 显示网络连接、路由表、接口统计等 ​

bash
netstat -tuln

显示所有正在监听的端口。

ss - 显示套接字统计信息(现代替代 netstat) ​

bash
ss -tuln

显示所有正在监听的 TCP 和 UDP 端口。

lsof - 列出打开的文件 ​

bash
lsof -i :80

列出监听端口 80 的所有进程。

scp - 远程复制文件 ​

bash
scp local_file user@remote_host:/remote/path

将本地文件 local_file 复制到远程主机 remote_host 的 /remote/path 目录。

rsync - 远程同步文件和目录 ​

bash
rsync -avz local_file user@remote_host:/remote/path

将本地文件 local_file 同步到远程主机 remote_host 的 /remote/path 目录。

wget - 下载文件 ​

bash
wget http://www.example.com/file

从指定 URL 下载文件。

curl - 传输数据 ​

bash
curl -O http://www.example.com/file

从指定 URL 下载文件并保存为原文件名。

tar - 创建和解压归档文件 ​

bash
tar -czvf archive.tar.gz directory

将 directory 压缩成 archive.tar.gz。

gzip - 压缩文件 ​

bash
gzip file

压缩 file,生成 file.gz。

gunzip - 解压缩文件 ​

bash
gunzip file.gz

解压缩 file.gz,生成 file。

unzip - 解压缩 ZIP 文件 ​

bash
unzip file.zip

解压缩 file.zip。

zip - 创建 ZIP 文件 ​

bash
zip archive.zip file1 file2

将 file1 和 file2 压缩成 archive.zip。

ssh - 远程登录 ​

bash
ssh user@remote_host

通过 SSH 登录到远程主机 remote_host。

sudo - 以超级用户权限执行命令 ​

bash
sudo command

以超级用户权限执行 command。

chroot - 更改根目录 ​

bash
chroot /new/root

将根目录更改为 /new/root。

mount - 挂载文件系统 ​

bash
mount /dev/sdX1 /mnt

将设备 /dev/sdX1 挂载到 /mnt。

umount - 卸载文件系统 ​

bash
umount /mnt

卸载挂载在 /mnt 的文件系统。

当然,以下是更多常用的 Linux 命令,包括 telnet、nslookup 以及其他一些实用的命令:

telnet - 远程登录到另一台主机 ​

bash
telnet remote_host port

使用 telnet 连接到 remote_host 的指定端口。

nslookup - 查询域名服务器 ​

bash
nslookup www.example.com

查询 www.example.com 的 DNS 记录。

dig - 域名查询工具 ​

bash
dig www.example.com

查询 www.example.com 的 DNS 记录。

host - 查询域名的 DNS 记录 ​

bash
host www.example.com

查询 www.example.com 的 DNS 记录。

sudo lsof -i -P -n | grep LISTEN - 查看正在监听的端口 ​

bash
sudo lsof -i -P -n | grep LISTEN

列出所有正在监听的端口及其对应的进程。

traceroute - 跟踪路由 ​

bash
traceroute www.example.com

跟踪到 www.example.com 的路由路径。

route - 显示和操作 IP 路由表 ​

bash
route -n

显示当前的 IP 路由表。

iptables - 配置防火墙规则 ​

bash
iptables -L

列出当前的防火墙规则。

ufw - 简单的防火墙配置工具 ​

bash
sudo ufw status

显示当前的防火墙状态。

systemctl - 控制系统服务 ​

bash
sudo systemctl status service_name

显示 service_name 的状态。

journalctl - 查看系统日志 ​

bash
journalctl -xe

显示详细的系统日志。

dmesg - 显示内核消息缓冲区 ​

bash
dmesg

显示内核消息缓冲区的内容。

free - 显示内存使用情况 ​

bash
free -h

以人类可读的格式显示内存使用情况。

htop - 交互式进程查看器 ​

bash
htop

启动 htop,提供一个交互式的进程查看器。

iostat - 报告 CPU 和设备 I/O 统计信息 ​

bash
iostat

显示 CPU 和设备 I/O 统计信息。

vmstat - 报告虚拟内存统计信息 ​

bash
vmstat

显示虚拟内存统计信息。

crontab - 计划任务 ​

bash
crontab -e

编辑当前用户的 cron 表。

at - 计划一次性任务 ​

bash
at now + 5 minutes

计划在 5 分钟后执行一次性任务。

awk - 文本处理工具 ​

bash
awk '{print $1}' file

打印 file 中每行的第一个字段。

sed - 流编辑器 ​

bash
sed 's/old_text/new_text/g' file

将 file 中的 old_text 替换为 new_text。

sudo ufw allow 6000/tcp - 允许 TCP 端口 6000 的流量 ​

bash
sudo ufw allow 6000/tcp

允许 TCP 端口 6000 的流量通过防火墙。

sudo systemctl reload postgresql - 重新加载 PostgreSQL 服务 ​

bash
sudo systemctl reload postgresql

重新加载 PostgreSQL 服务配置。

sudo systemctl restart apache2 - 重启 Apache 服务 ​

bash
sudo systemctl restart apache2

重启 Apache 服务。

sudo systemctl enable nginx - 启用 Nginx 服务 ​

bash
sudo systemctl enable nginx

启用 Nginx 服务,使其在系统启动时自动启动。

sudo systemctl disable sshd - 禁用 SSH 服务 ​

bash
sudo systemctl disable sshd

禁用 SSH 服务,使其在系统启动时不自动启动。

sudo systemctl status mysql - 查看 MySQL 服务状态 ​

bash
sudo systemctl status mysql

查看 MySQL 服务的当前状态。

sudo apt update - 更新包列表 ​

bash
sudo apt update

更新包列表,以便获取最新的软件包信息。

sudo apt upgrade - 升级所有已安装的包 ​

bash
sudo apt upgrade

升级所有已安装的软件包到最新版本。

sudo apt install package_name - 安装软件包 ​

bash
sudo apt install package_name

安装指定的软件包。

sudo apt remove package_name - 卸载软件包 ​

bash
sudo apt remove package_name

卸载指定的软件包。

sudo yum update - 更新包列表(适用于基于 Red Hat 的系统) ​

bash
sudo yum update

更新包列表,以便获取最新的软件包信息。

sudo yum install package_name - 安装软件包(适用于基于 Red Hat 的系统) ​

bash
sudo yum install package_name

安装指定的软件包。

sudo yum remove package_name - 卸载软件包(适用于基于 Red Hat 的系统) ​

bash
sudo yum remove package_name

卸载指定的软件包。

sudo dnf update - 更新包列表(适用于 Fedora) ​

bash
sudo dnf update

更新包列表,以便获取最新的软件包信息。

sudo dnf install package_name - 安装软件包(适用于 Fedora) ​

bash
sudo dnf install package_name

安装指定的软件包。

sudo dnf remove package_name - 卸载软件包(适用于 Fedora) ​

bash
sudo dnf remove package_name

卸载指定的软件包。

sudo useradd username - 添加新用户 ​

bash
sudo useradd username

添加一个新用户 username。

sudo userdel username - 删除用户 ​

bash
sudo userdel username

删除用户 username。

sudo passwd username - 更改用户密码 ​

bash
sudo passwd username

更改用户 username 的密码。

sudo groupadd groupname - 添加新组 ​

bash
sudo groupadd groupname

添加一个新组 groupname。

sudo groupdel groupname - 删除组 ​

bash
sudo groupdel groupname

删除组 groupname。

sudo usermod -aG groupname username - 将用户添加到组 ​

bash
sudo usermod -aG groupname username

将用户 username 添加到组 groupname。

sudo chage -E 2023-12-31 username - 设置用户账户过期日期 ​

bash
sudo chage -E 2023-12-31 username

设置用户 username 的账户过期日期为 2023 年 12 月 31 日。

sudo crontab -u username -e - 编辑指定用户的 cron 表 ​

bash
sudo crontab -u username -e

编辑用户 username 的 cron 表。

sudo crontab -u username -l - 列出指定用户的 cron 表 ​

bash
sudo crontab -u username -l

列出用户 username 的 cron 表。

sudo crontab -u username -r - 删除指定用户的 cron 表 ​

bash
sudo crontab -u username -r

删除用户 username 的 cron 表。

sudo tail -f /var/log/syslog - 实时查看系统日志 ​

bash
sudo tail -f /var/log/syslog

实时查看系统日志文件 /var/log/syslog。

sudo tail -f /var/log/auth.log - 实时查看认证日志 ​

bash
sudo tail -f /var/log/auth.log

实时查看认证日志文件 /var/log/auth.log。

当然,以下是更多关于用户管理和权限管理的 Linux 命令示例:

添加新用户 ​

bash
sudo useradd -m -s /bin/bash username

添加一个新用户 username,创建用户的主目录并设置默认 shell 为 /bin/bash。

设置用户密码 ​

bash
sudo passwd username

为用户 username 设置密码。

修改用户信息 ​

bash
sudo usermod -c "Full Name" username

修改用户 username 的描述信息为 "Full Name"。

修改用户的主目录 ​

bash
sudo usermod -d /new/home/directory username

修改用户 username 的主目录为 /new/home/directory。

修改用户的默认 shell ​

bash
sudo usermod -s /bin/zsh username

修改用户 username 的默认 shell 为 /bin/zsh。

删除用户 ​

bash
sudo userdel username

删除用户 username。

删除用户及其主目录 ​

bash
sudo userdel -r username

删除用户 username 及其主目录。

添加新组 ​

bash
sudo groupadd groupname

添加一个新组 groupname。

删除组 ​

bash
sudo groupdel groupname

删除组 groupname。

将用户添加到组 ​

bash
sudo usermod -aG groupname username

将用户 username 添加到组 groupname。

将用户从组中移除 ​

bash
sudo gpasswd -d username groupname

将用户 username 从组 groupname 中移除。

切换到 root 用户 ​

bash
sudo -i

切换到 root 用户,获得完全的管理权限。

以其他用户身份执行命令 ​

bash
sudo -u username command

以用户 username 的身份执行 command。

编辑 sudoers 文件 ​

bash
sudo visudo

编辑 sudoers 文件,配置 sudo 权限。

授予用户 sudo 权限 ​

bash
sudo usermod -aG sudo username

将用户 username 添加到 sudo 组,授予 sudo 权限。

移除用户的 sudo 权限 ​

bash
sudo deluser username sudo

将用户 username 从 sudo 组中移除,取消 sudo 权限。

查看当前用户 ​

bash
whoami

显示当前用户名。

查看用户信息 ​

bash
id username

显示用户 username 的用户 ID、组 ID 和组信息。

查看用户列表 ​

bash
cat /etc/passwd

显示系统中所有用户的列表。

查看组列表 ​

bash
cat /etc/group

显示系统中所有组的列表。