Linux 操作系统拥有丰富的命令行工具,其中许多是日常管理和维护工作中不可或缺的一部分。然而,还有一些命令虽然功能强大却鲜为人知。本文将介绍一些这类命令,并提供详细的使用说明。
1. sudo !
用途:
当你忘记在命令前加上sudo
导致命令因权限不足而失败时,你可以使用sudo !
来快速重新执行上一条命令,且自动加上sudo
。
示例:
假设你想删除一个目录,但没有使用sudo
:
rm -rf /var/log/somefile
如果返回权限错误,你可以直接输入:
sudo !
这样会执行带有sudo
的命令:
sudo rm -rf /var/log/somefile
注意:
使用时请谨慎,特别是当涉及删除操作时。
2. python -m SimpleHTTPServer
用途:
使用Python内置的HTTP服务器模块快速启动一个简单的HTTP服务器。
示例:
在当前目录下启动一个HTTP服务器,监听在8000端口:
python -m SimpleHTTPServer 8000
注意:
此命令适用于Python 2。在Python 3中,你应该使用http.server
模块:
python -m http.server 8000
3. mtr
用途:
mtr
是一个综合了ping
和traceroute
功能的强大网络诊断工具。
示例:
检查到Google的路由情况:
mtr google.com
安装:
如果系统中未安装mtr
,可以使用包管理器安装:
sudo apt install mtr-tiny
4. Ctrl + X + E
用途:
这是一个快捷键组合,可以在终端中快速调用默认文本编辑器来编辑命令历史中的命令。
示例:
假设你在终端中输入了一条较长的命令,然后按下Ctrl + X + E
,将会调出文本编辑器让你编辑这条命令。
注意:
这个快捷方式依赖于你的shell配置。通常需要在.bashrc
或相关配置文件中启用。
5. nl
用途:
nl
命令用来在文件的每一行前面添加行号。
示例:
给文件one.txt
添加行号:
nl one.txt
文件内容示例:
假设one.txt
的内容如下:
Fedora
Debian
Arch
Slack
Suse
使用nl
后输出:
1 Fedora
2 Debian
3 Arch
4 Slack
5 Suse