本着PowerShell的Hidden Features和 Stack Overflow 上的其他各种功能的精神,您认为哪些 Linux 命令或命令组合在您的工作中必不可少?
另请参阅:
MySQL 的
隐藏功能 PowerShell 的
隐藏功能 Oracle 数据库的
隐藏功能 Windows 2008 的
隐藏功能 Solaris/OpenSolaris 的
隐藏功能 SQL Server 的
隐藏功能 IIS (6.0 / 7.0) 的隐藏功能
Ger*_*t M 45
也许我不是每天都使用这些,但我经常使用它们:
Mat*_*nit 33
我惊讶地发现您可以使用“-X”参数通过 SSH 运行远程 GUI 应用程序。例如:
# on my machine
$ ssh -X linuxserver
# on remote machine
$ gedit /etc/my.cnf &
Run Code Online (Sandbox Code Playgroud)
gedit 窗口出现在我的本地机器上,编辑服务器上的“my.cnf”文件。
我假设这仅适用于您的客户端计算机具有 X 环境的情况——换句话说,不适用于 Windows。但它在我的 Mac 上效果很好!
Tim*_*ost 33
lsof 经常被忽略,它是一个非常有用的工具。lsof 允许您查看系统上每个打开文件的列表,谁/什么正在使用它等。
例如:
root@tower:~ # umount /mnt/hardy
umount: /mnt/hardy: device is busy
umount: /mnt/hardy: device is busy
root@tower:~ # lsof | grep /mnt/hardy
bash 5966 root cwd DIR 253,2 1024 2 /mnt/hardy
root@tower:~ #
Run Code Online (Sandbox Code Playgroud)
现在我看到我登录到另一个终端的 shell,/mnt/hardy 是我当前的工作目录。所以我可以杀死那个shell,或者转到另一个终端并退出那个目录,以便它可以被卸载。
这确实是一个微不足道的例子,它对于清理偶尔的“机器人”感染也非常方便。选项非常广泛,请参阅 man lsof 了解更多信息。
Ave*_*yne 26
系统停止后,网络堆栈可以继续运行。我不知道这是否适用于 2.6.x 系列内核,但在旧版本上,您可以配置防火墙/路由,然后在不关机的情况下停止系统,只让网络堆栈运行。这将允许您制作一个“无法被黑客入侵”的廉价(虽然是静态的)防火墙 - 因为没有什么可破解的,因为没有程序或服务,只有内核的网络堆栈部分来回传递数据包。 ..
gar*_*les 24
我喜欢“定位” - 比粗糙的“find . -name xxxx -print”更容易找到文件的方法。请注意,您必须使用 updatedb 命令来更新您的文件索引;有关详细信息,请参阅手册页。
Jon*_*per 19
我发现“ngrep”对于在远程服务器上调试网络代码非常有用,而无需在周围放置 tcpdump 文件:
ngrep -d any -W byline port 80
Run Code Online (Sandbox Code Playgroud)
例如,将显示实时 HTTP 请求和响应。
我发现经常有用的另一件事是“-e”切换到 strace:
strace -p <pid> -e trace=open
Run Code Online (Sandbox Code Playgroud)
将显示给定 pid 的所有 open() 系统调用,以及
strace -p <pid> -e trace=\!rt_sigprocmask
Run Code Online (Sandbox Code Playgroud)
将从输出中排除对 rt_sigprocmask() 的所有调用(对于调试 RoR 代码很有用,当构建使用 pthreads 时,它似乎会进行大量这些调用)。
Gar*_*eth 17
apropos
Run Code Online (Sandbox Code Playgroud)
描述 每个手册页中都有一个简短的描述。apropos 搜索关键字实例的描述。
gyaresu@debian:~/bin$ apropos ettercap
etter.conf (5) - Ettercap configuration file
ettercap (8) - (unknown subject)
ettercap_curses (8) - (unknown subject)
ettercap_plugins (8) - (unknown subject)
Run Code Online (Sandbox Code Playgroud)
Gar*_*eth 13
NAME
units -- conversion program
DESCRIPTION
The units program converts quantities expressed in various scales to their
equivalents in other scales. The units program can only handle multiplicative
scale changes. It cannot convert Celsius to Fahrenheit, for example.
It works interactively by prompting the user for input:
You have: meters
You want: feet
* 3.2808399
/ 0.3048
You have: cm^3
You want: gallons
* 0.00026417205
/ 3785.4118
You have: meters/s
You want: furlongs/fortnight
* 6012.8848
/ 0.00016630952
You have: 1|2 inch
You want: cm
* 1.27
/ 0.78740157
Run Code Online (Sandbox Code Playgroud)
Flá*_*iro 12
它并不是那么隐蔽,但对于那些没有经验的人来说可能是这样,但我真的很喜欢能够给出列表并让 bash 像这样扩展它们:
cp arq{,.bak}
Run Code Online (Sandbox Code Playgroud)
这与打字相同
cp arq arq.bak
Run Code Online (Sandbox Code Playgroud)
我也使用历史快捷方式(我不认为这是正确的术语,但是......)就像
!!
Run Code Online (Sandbox Code Playgroud)
重复上一个命令,或
^foo^bar
Run Code Online (Sandbox Code Playgroud)
在最后一个命令中用 bar 替换 foo
小智 12
ssh-copy-id 用于传输 ssh 密钥。旧的方法是通过 ssh 获取密钥,更旧的方法是 scp 密钥,然后获取密钥。如果您使用的是非标准 ssh 端口,那么这对您有用..
ssh-copy-id -i /path/to/key '-p 非标准端口主机名'
除此以外..
ssh-copy-id -i /path/to/key 主机名
Chr*_*ung 11
虚拟控制台。大多数人都知道如何使用 (Ctrl-)Alt-F1 进入第一个控制台等,但是如果您有 12 个以上呢?您可以使用 Alt-Left 和 Alt-Right 循环浏览其余部分。:-D
jld*_*ger 11
我喜欢 debian-goodies 包:
描述:用于 Debian 系统的小型工具箱式实用程序 这些程序旨在与标准 shell 工具集成, 扩展它们以在 Debian 打包系统上运行。 . dgrep - 在指定包中的所有文件中搜索正则表达式 dglob - 生成匹配模式的包名列表 . 这些也包括在内,因为它们很有用并且没有理由 他们自己的包: . debget - 在 APT 的数据库中获取包的 .deb dpigs - 显示哪些已安装的软件包占用最多空间 debman - 无需提取即可轻松查看二进制 .deb 的手册页 debmany - 选择已安装或已卸载软件包的联机帮助页 checkrestart - 帮助查找和重新启动使用旧的进程 升级文件的版本(例如库) popbugs - 根据以下内容显示自定义的发布关键错误列表 您使用的软件包(使用人气竞赛数据)
还有moreutils,它基本上是很棒的带轮子的管道工具:
描述:额外的 Unix 实用程序 这是一个没有人想到的越来越多的 Unix 工具集合 三十年前写的。 . 到目前为止,它包括以下实用程序: - 海绵:吸收标准输入并写入文件 - ifdata:获取网络接口信息而不解析 ifconfig 输出 - ifne:如果标准输入不为空,则运行程序 - vidir:在文本编辑器中编辑目录 - vipe:将文本编辑器插入管道 - ts:时间戳标准输入 - combine:使用布尔运算将两个文件中的行合并 - 小便:三通标准输入到管道 - zrun:自动将参数解压缩到命令 - mispipe:管道两个命令,返回第一个的退出状态 - isutf8:检查文件或标准输入是否为 utf-8 - lckdo:在持有锁的情况下执行程序 主页:http://kitenet.net/~joey/code/moreutils/
我每天在工作中使用的一个很棒的“功能”:让 SSH 监听端口 443 的能力,这样我就可以创建一个绕过我的工作防火墙的隧道,允许我运行一个本地 SOCKS 代理,通过 SSH 隧道连接到面向互联网的 Linux 服务器.
我可以完全忽略我的公司防火墙。
小智 7
以下是我经常使用的一些:
sar
- 显示系统活动vmstat
- 虚拟内存统计iostat
- io统计pkill
- 类似pgrep
但允许您终止返回的进程 IDxargs -I<string>
- 允许用管道数据替换字符串at
- 安排任务tkdiff
- 图形diff
实用程序这些可能不是“隐藏的”,但我发现它们非常有用:
df -hk
- 以人类可读的格式显示磁盘使用情况ls -ltr
- 列出按日期排序的文件while :; do...done
- (Bash) 替换(watch
如果不可用)perl -e
-Perl
在命令行上运行一个片段free -kt
- 显示内存信息(千字节 w/total)ESC + .
将上一行的最后一个参数“粘贴”到当前提示中
例如
ls -l /home/someuser/somedir/somefile
Run Code Online (Sandbox Code Playgroud)
其次是
rm
ESC + .
翻译成
rm /home/someuser/somedir/somefile
Run Code Online (Sandbox Code Playgroud)
这个概念是Linux 中的一切都是一个文件。
所有配置都在文本文件中,Linux 中的所有内容都被视为文件。这是一种更简单的方法,可以很容易地在 Linux 中进行更改。在 Linux 中,甚至您的文件系统本身也可以被视为一个文件。
我看到yes
命令非常好:
yes | do_you_agree
Run Code Online (Sandbox Code Playgroud)
从手册页:
NAME
yes - output a string repeatedly until killed
SYNOPSIS
yes [STRING]...
yes OPTION
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9810 次 |
最近记录: |