常用的 Linux 命令及其简要说明和示例:
ls - 列出目录内容
ls列出当前目录的文件和子目录。
cd - 更改当前目录
cd /path/to/directory更改当前工作目录到指定的目录。
pwd - 显示当前工作目录
pwd显示当前工作目录的完整路径。
cp - 复制文件或目录
cp source_file destination_file将 source_file 复制到 destination_file。
mv - 移动或重命名文件或目录
mv source_file destination_file将 source_file 移动到 destination_file,或重命名为 destination_file。
rm - 删除文件或目录
rm file删除指定的文件。要删除目录及其内容,使用 rm -r directory。
mkdir - 创建新目录
mkdir directory_name创建一个名为 directory_name 的新目录。
rmdir - 删除空目录
rmdir directory_name删除一个名为 directory_name 的空目录。
touch - 创建空文件或更新文件时间戳
touch file_name创建一个名为 file_name 的空文件,或更新现有文件的时间戳。
cat - 显示文件内容
cat file_name显示 file_name 的内容。
less - 分页显示文件内容
less file_name分页显示 file_name 的内容,可以使用键盘上的方向键进行导航。
grep - 搜索文件中的文本
grep "search_text" file_name在 file_name 中搜索 search_text。
find - 查找文件或目录
find /path/to/search -name "file_name"在指定路径下查找名为 file_name 的文件或目录。
chmod - 更改文件权限
chmod 755 file_name将 file_name 的权限更改为 755(所有者有读、写、执行权限,组和其他用户有读和执行权限)。
chown - 更改文件所有者
chown user:group file_name将 file_name 的所有者更改为 user,组更改为 group。
df - 显示磁盘空间使用情况
df -h以人类可读的格式显示磁盘空间使用情况。
du - 显示目录或文件的磁盘使用情况
du -sh directory_name显示 directory_name 的磁盘使用情况,以人类可读的格式。
top - 显示系统资源使用情况
top显示系统资源使用情况,包括 CPU、内存等。
ps - 显示当前进程
ps aux显示所有用户的所有进程。
kill - 终止进程
kill PID终止指定 PID 的进程。
free - 显示内存使用情况
free -h显示内存使用情况,以人类可读的格式。
显示系统信息
cat /var/run/motd.dynamicifconfig - 显示和配置网络接口
ifconfig显示所有网络接口的配置信息。
ip - 显示和配置网络接口(现代替代 ifconfig)
ip addr显示所有网络接口的 IP 地址信息。
ping - 测试网络连接
ping www.example.com向 www.example.com 发送 ICMP 回显请求,测试网络连接。
netstat - 显示网络连接、路由表、接口统计等
netstat -tuln显示所有正在监听的端口。
ss - 显示套接字统计信息(现代替代 netstat)
ss -tuln显示所有正在监听的 TCP 和 UDP 端口。
lsof - 列出打开的文件
lsof -i :80列出监听端口 80 的所有进程。
scp - 远程复制文件
scp local_file user@remote_host:/remote/path将本地文件 local_file 复制到远程主机 remote_host 的 /remote/path 目录。
rsync - 远程同步文件和目录
rsync -avz local_file user@remote_host:/remote/path将本地文件 local_file 同步到远程主机 remote_host 的 /remote/path 目录。
wget - 下载文件
wget http://www.example.com/file从指定 URL 下载文件。
curl - 传输数据
curl -O http://www.example.com/file从指定 URL 下载文件并保存为原文件名。
tar - 创建和解压归档文件
tar -czvf archive.tar.gz directory将 directory 压缩成 archive.tar.gz。
gzip - 压缩文件
gzip file压缩 file,生成 file.gz。
gunzip - 解压缩文件
gunzip file.gz解压缩 file.gz,生成 file。
unzip - 解压缩 ZIP 文件
unzip file.zip解压缩 file.zip。
zip - 创建 ZIP 文件
zip archive.zip file1 file2将 file1 和 file2 压缩成 archive.zip。
ssh - 远程登录
ssh user@remote_host通过 SSH 登录到远程主机 remote_host。
sudo - 以超级用户权限执行命令
sudo command以超级用户权限执行 command。
chroot - 更改根目录
chroot /new/root将根目录更改为 /new/root。
mount - 挂载文件系统
mount /dev/sdX1 /mnt将设备 /dev/sdX1 挂载到 /mnt。
umount - 卸载文件系统
umount /mnt卸载挂载在 /mnt 的文件系统。
当然,以下是更多常用的 Linux 命令,包括 telnet、nslookup 以及其他一些实用的命令:
telnet - 远程登录到另一台主机
telnet remote_host port使用 telnet 连接到 remote_host 的指定端口。
nslookup - 查询域名服务器
nslookup www.example.com查询 www.example.com 的 DNS 记录。
dig - 域名查询工具
dig www.example.com查询 www.example.com 的 DNS 记录。
host - 查询域名的 DNS 记录
host www.example.com查询 www.example.com 的 DNS 记录。
sudo lsof -i -P -n | grep LISTEN - 查看正在监听的端口
sudo lsof -i -P -n | grep LISTEN列出所有正在监听的端口及其对应的进程。
traceroute - 跟踪路由
traceroute www.example.com跟踪到 www.example.com 的路由路径。
route - 显示和操作 IP 路由表
route -n显示当前的 IP 路由表。
iptables - 配置防火墙规则
iptables -L列出当前的防火墙规则。
ufw - 简单的防火墙配置工具
sudo ufw status显示当前的防火墙状态。
systemctl - 控制系统服务
sudo systemctl status service_name显示 service_name 的状态。
journalctl - 查看系统日志
journalctl -xe显示详细的系统日志。
dmesg - 显示内核消息缓冲区
dmesg显示内核消息缓冲区的内容。
free - 显示内存使用情况
free -h以人类可读的格式显示内存使用情况。
htop - 交互式进程查看器
htop启动 htop,提供一个交互式的进程查看器。
iostat - 报告 CPU 和设备 I/O 统计信息
iostat显示 CPU 和设备 I/O 统计信息。
vmstat - 报告虚拟内存统计信息
vmstat显示虚拟内存统计信息。
crontab - 计划任务
crontab -e编辑当前用户的 cron 表。
at - 计划一次性任务
at now + 5 minutes计划在 5 分钟后执行一次性任务。
awk - 文本处理工具
awk '{print $1}' file打印 file 中每行的第一个字段。
sed - 流编辑器
sed 's/old_text/new_text/g' file将 file 中的 old_text 替换为 new_text。
sudo ufw allow 6000/tcp - 允许 TCP 端口 6000 的流量
sudo ufw allow 6000/tcp允许 TCP 端口 6000 的流量通过防火墙。
sudo systemctl reload postgresql - 重新加载 PostgreSQL 服务
sudo systemctl reload postgresql重新加载 PostgreSQL 服务配置。
sudo systemctl restart apache2 - 重启 Apache 服务
sudo systemctl restart apache2重启 Apache 服务。
sudo systemctl enable nginx - 启用 Nginx 服务
sudo systemctl enable nginx启用 Nginx 服务,使其在系统启动时自动启动。
sudo systemctl disable sshd - 禁用 SSH 服务
sudo systemctl disable sshd禁用 SSH 服务,使其在系统启动时不自动启动。
sudo systemctl status mysql - 查看 MySQL 服务状态
sudo systemctl status mysql查看 MySQL 服务的当前状态。
sudo apt update - 更新包列表
sudo apt update更新包列表,以便获取最新的软件包信息。
sudo apt upgrade - 升级所有已安装的包
sudo apt upgrade升级所有已安装的软件包到最新版本。
sudo apt install package_name - 安装软件包
sudo apt install package_name安装指定的软件包。
sudo apt remove package_name - 卸载软件包
sudo apt remove package_name卸载指定的软件包。
sudo yum update - 更新包列表(适用于基于 Red Hat 的系统)
sudo yum update更新包列表,以便获取最新的软件包信息。
sudo yum install package_name - 安装软件包(适用于基于 Red Hat 的系统)
sudo yum install package_name安装指定的软件包。
sudo yum remove package_name - 卸载软件包(适用于基于 Red Hat 的系统)
sudo yum remove package_name卸载指定的软件包。
sudo dnf update - 更新包列表(适用于 Fedora)
sudo dnf update更新包列表,以便获取最新的软件包信息。
sudo dnf install package_name - 安装软件包(适用于 Fedora)
sudo dnf install package_name安装指定的软件包。
sudo dnf remove package_name - 卸载软件包(适用于 Fedora)
sudo dnf remove package_name卸载指定的软件包。
sudo useradd username - 添加新用户
sudo useradd username添加一个新用户 username。
sudo userdel username - 删除用户
sudo userdel username删除用户 username。
sudo passwd username - 更改用户密码
sudo passwd username更改用户 username 的密码。
sudo groupadd groupname - 添加新组
sudo groupadd groupname添加一个新组 groupname。
sudo groupdel groupname - 删除组
sudo groupdel groupname删除组 groupname。
sudo usermod -aG groupname username - 将用户添加到组
sudo usermod -aG groupname username将用户 username 添加到组 groupname。
sudo chage -E 2023-12-31 username - 设置用户账户过期日期
sudo chage -E 2023-12-31 username设置用户 username 的账户过期日期为 2023 年 12 月 31 日。
sudo crontab -u username -e - 编辑指定用户的 cron 表
sudo crontab -u username -e编辑用户 username 的 cron 表。
sudo crontab -u username -l - 列出指定用户的 cron 表
sudo crontab -u username -l列出用户 username 的 cron 表。
sudo crontab -u username -r - 删除指定用户的 cron 表
sudo crontab -u username -r删除用户 username 的 cron 表。
sudo tail -f /var/log/syslog - 实时查看系统日志
sudo tail -f /var/log/syslog实时查看系统日志文件 /var/log/syslog。
sudo tail -f /var/log/auth.log - 实时查看认证日志
sudo tail -f /var/log/auth.log实时查看认证日志文件 /var/log/auth.log。
当然,以下是更多关于用户管理和权限管理的 Linux 命令示例:
添加新用户
sudo useradd -m -s /bin/bash username添加一个新用户 username,创建用户的主目录并设置默认 shell 为 /bin/bash。
设置用户密码
sudo passwd username为用户 username 设置密码。
修改用户信息
sudo usermod -c "Full Name" username修改用户 username 的描述信息为 "Full Name"。
修改用户的主目录
sudo usermod -d /new/home/directory username修改用户 username 的主目录为 /new/home/directory。
修改用户的默认 shell
sudo usermod -s /bin/zsh username修改用户 username 的默认 shell 为 /bin/zsh。
删除用户
sudo userdel username删除用户 username。
删除用户及其主目录
sudo userdel -r username删除用户 username 及其主目录。
添加新组
sudo groupadd groupname添加一个新组 groupname。
删除组
sudo groupdel groupname删除组 groupname。
将用户添加到组
sudo usermod -aG groupname username将用户 username 添加到组 groupname。
将用户从组中移除
sudo gpasswd -d username groupname将用户 username 从组 groupname 中移除。
切换到 root 用户
sudo -i切换到 root 用户,获得完全的管理权限。
以其他用户身份执行命令
sudo -u username command以用户 username 的身份执行 command。
编辑 sudoers 文件
sudo visudo编辑 sudoers 文件,配置 sudo 权限。
授予用户 sudo 权限
sudo usermod -aG sudo username将用户 username 添加到 sudo 组,授予 sudo 权限。
移除用户的 sudo 权限
sudo deluser username sudo将用户 username 从 sudo 组中移除,取消 sudo 权限。
查看当前用户
whoami显示当前用户名。
查看用户信息
id username显示用户 username 的用户 ID、组 ID 和组信息。
查看用户列表
cat /etc/passwd显示系统中所有用户的列表。
查看组列表
cat /etc/group显示系统中所有组的列表。