Linux命令非常多,而且随着新的版本和工具的出现,新的命令也不断涌现。以下是为你分类列出一些常见的Linux命令,并附带注释。
文件和目录操作
-
ls:列出目录内容。
bash
ls -l # 长格式显示目录内容 |
-
cd:改变当前目录。
bash
cd /home/user # 进入/home/user目录 |
-
pwd:显示当前工作目录。
bash
pwd # 显示当前目录路径 |
-
mkdir:创建新目录。
bash
mkdir newdir # 创建名为newdir的新目录 |
-
rmdir:删除空目录。
bash
rmdir emptydir # 删除名为emptydir的空目录 |
-
cp:复制文件或目录。
bash
cp source.txt dest.txt # 将source.txt复制到dest.txt |
-
mv:移动或重命名文件或目录。
bash
mv oldname.txt newname.txt # 将oldname.txt重命名为newname.txt |
-
rm:删除文件或目录。
bash
rm -r dir # 递归删除名为dir的目录及其内容 |
文本处理
-
cat:显示文件内容。
bash
cat file.txt # 显示file.txt的内容 |
-
grep:在文件中搜索指定模式。
bash
grep "pattern" file.txt # 在file.txt中搜索包含"pattern"的行 |
-
sed:流编辑器,用于文本替换。
bash
sed 's/old/new/' file.txt # 将file.txt中的"old"替换为"new" |
-
awk:文本处理工具,通常用于数据提取和报告生成。
bash
awk '{print $1}' file.txt # 打印file.txt的第一列 |
系统信息和监控
-
df:显示磁盘使用情况。
bash
df -h # 以人类可读的方式显示磁盘使用情况 |
-
du:显示文件和目录的磁盘使用情况。
bash
du -sh dir # 显示dir目录的总磁盘使用情况 |
-
top:实时显示系统中运行的进程。
bash
top # 显示当前运行的进程信息 |
-
free:显示内存使用情况。
bash
free -h # 以人类可读的方式显示内存使用情况 |
权限和网络
-
chmod:改变文件或目录的权限。
bash
chmod 755 script.sh # 将script.sh的权限设置为755 |
-
chown:改变文件或目录的所有者和所属组。
bash
chown user:group file.txt # 将file.txt的所有者改为user,所属组改为group |
-
ping:测试网络连接。
bash
ping www.google.com # 向www.google.com发送ping请求 |
-
ifconfig 或 ip addr:显示或配置网络接口。
bash
ifconfig # 显示网络接口信息 |
压缩和解压
-
tar:打包和解包文件。
bash
tar -czvf archive.tar.gz dir # 将dir目录打包为archive.tar.gz |
tar -xzvf archive.tar.gz # 解压archive.tar.gz到当前目录 |
-
gzip 和 gunzip:压缩和解压gzip格式的文件。
bash
gzip file.txt # 将file.txt压缩为file.txt.gz |
gunzip file.txt.gz # 解压file.txt.gz为file.txt |
用户和组管理
- useradd:添加新用户。
bash
useradd newuser # 添加名为newuser的新用户 |
- adduser:添加新用户(在某些发行版中是useradd的友好前端)。
bash
adduser newuser # 添加名为newuser的新用户 |
- passwd:更改用户密码。
bash
passwd newuser # 更改newuser用户的密码 |
- usermod:修改用户属性。
bash
usermod -aG sudo newuser # 将newuser添加到sudo组 |
- userdel:删除用户。
bash
userdel -r newuser # 删除newuser用户及其家目录 |
- groupadd:添加新组。
bash
groupadd newgroup # 添加名为newgroup的新组 |
- groupmod:修改组属性。
bash
groupmod -n newgroupname oldgroupname # 将oldgroupname重命名为newgroupname |
- groupdel:删除组。
bash
groupdel newgroup # 删除名为newgroup的组 |
进程管理
- ps:显示当前进程状态。
bash
ps -ef # 显示所有进程的详细信息 |
- kill:终止进程。
bash
kill PID # 终止进程ID为PID的进程 |
- nohup:运行命令忽略挂起(挂断)信号。
bash
nohup command & # 在后台运行command,忽略挂断信号 |
- fg 和 bg:将作业放到前台或后台运行。
bash
fg %1 # 将作业ID为1的作业放到前台运行 |
bg %2 # 将作业ID为2的作业放到后台运行 |
系统和服务管理
- systemctl:控制
systemd
系统和服务管理器。
bash
systemctl start sshd # 启动sshd服务 |
systemctl stop sshd # 停止sshd服务 |
systemctl restart sshd # 重启sshd服务 |
systemctl status sshd # 查看sshd服务的状态 |
- service:启动、停止、重启和检查系统服务的状态(在某些旧版Linux中仍在使用)。
bash
service sshd start # 启动sshd服务 |
- chkconfig 和 systemctl enable/disable:管理服务的自启动。
bash
systemctl enable sshd # 设置sshd服务开机自启 |
查找和搜索
- find:在目录树中查找文件。
bash
find /home -name "*.txt" # 在/home目录中查找所有以.txt结尾的文件 |
- locate:快速查找文件,基于预先构建的数据库。
bash
updatedb # 更新数据库 |
locate filename # 查找filename |
- whereis 和 which:查找命令的二进制文件、源代码和帮助文件。
bash
whereis ls # 显示ls命令的相关文件位置 |
which ls # 显示ls命令的二进制文件路径 |
其他常用命令
- echo:显示一行文本或将文本重定向到文件。
bash
echo "Hello, World!" # 输出Hello, World!到终端 |
echo "Text" > file.txt # 将Text写入file.txt文件 |
- date:显示或设置系统日期和时间。
bash
date # 显示当前日期和时间 |
date -s "YYYY-MM-DD HH:MM:SS" # 设置系统日期和时间 |
- reboot 和 shutdown:重启或关闭系统。
bash
shutdown -h now # 立即关机 |
reboot # 重启系统 |
- man:显示命令的手册页。
bash
man ls # 显示ls命令的手册页 |
文本处理与编辑
- cut:从文本文件中剪切列或字段。
bash
cut -d: -f1 /etc/passwd # 使用冒号作为分隔符,显示/etc/passwd中的第一列 |
- sort:对文本行进行排序。
bash
sort file.txt # 对file.txt中的行进行排序 |
- uniq:报告或删除文件中的重复行。
bash
uniq file.txt # 显示file.txt中的唯一行 |
- wc:计算文件中的字节数、字数、行数。
bash
wc file.txt # 显示file.txt的字节数、字数和行数 |
- nano 和 vi / vim:文本编辑器。
bash
nano file.txt # 使用nano编辑器编辑file.txt |
vi file.txt # 使用vi编辑器编辑file.txt |
网络与通信
- ping:发送ICMP ECHO_REQUEST到网络主机。
bash
ping -c 4 google.com # 向google.com发送4个ping请求 |
- ifconfig 或 ip addr:显示或配置网络接口。
bash
ifconfig eth0 # 显示eth0网络接口的信息 |
- netstat:显示网络连接、路由表、接口统计等网络相关信息。
bash
netstat -tuln # 显示所有监听的TCP和UDP端口 |
- ssh:安全地登录到远程主机。
bash
ssh user@remotehost # 使用SSH登录到remotehost上的user账户 |
- scp:安全地复制文件到远程主机或从远程主机复制文件。
bash
scp file.txt user@remotehost:/path/to/destination # 将file.txt复制到remotehost的指定路径 |
系统信息
- uname:显示系统信息。
bash
uname -a # 显示所有系统信息 |
- df:显示磁盘分区上的使用情况。
bash
df -h # 以人类可读的格式显示磁盘使用情况 |
- du:显示目录或文件的磁盘使用情况。
bash
du -sh directory # 显示directory的总磁盘使用情况 |
- top 和 htop:实时显示进程活动。
bash
top # 显示系统进程信息 |
注意:htop
是top
的一个增强版本,提供了更友好的界面和更多的功能,但可能不是所有系统都预装了。
- free:显示内存使用情况。
bash
free -h # 以人类可读的格式显示内存使用情况 |
打包与压缩
- tar:打包和解包文件。
bash
tar -czvf archive.tar.gz directory # 将directory打包为archive.tar.gz |
- gzip 和 gunzip:压缩和解压gzip格式的文件。
bash
gzip file.txt # 将file.txt压缩为file.txt.gz |
gunzip file.txt.gz # 解压file.txt.gz为file.txt |
- bzip2 和 bunzip2:压缩和解压bzip2格式的文件。
bash
bzip2 file.txt # 将file.txt压缩为file.txt.bz2 |
bunzip2 file.txt.bz2 # 解压file.txt.bz2为file.txt |
这些命令只是Linux命令集合中的一小部分,实际上Linux提供了大量的命令和工具,用于执行各种任务。对于每个命令,通常都有许多选项和参数可以调整其行为,因此建议查阅手册页(通过man
命令)或在线文档以获取更详细的信息和用法示例。