遵循PowerShell的隐藏功能和Stack Overflow上其他功能的精神,您在工作中发现哪些Linux命令或命令组合很重要?

还请参见:MySQLHidden的隐藏功能PowerShell的功能Oracle数据库的隐藏功能Windows 2008的隐藏功能Solaris / OpenSolaris的隐藏功能SQL Server的隐藏功能IIS(6.0 / 7.0)的隐藏功能

#1 楼

为了使球前进,我发现屏幕至关重要:指定的命令),然后将
移开,以便您可以照常使用
该程序。
然后,您可以随时创建新的
(全屏)窗口,其中包含其他
程序(包括更多的
shell),杀死当前窗口,查看
活动窗口列表,打开
输出并登录关闭,在窗口之间复制文本
,查看回滚
历史记录,在窗口之间切换等。
所有窗口都完全独立地运行其程序

程序即使他们的
窗口当前不可见并且
即使整个屏幕会话都已从用户终端分离,也可以继续运行。


评论


有没有人对ubuntu 9.04推出的屏幕配置文件有什么话要说?我看了他们一会儿,但没有给他们足够的时间来说出它们是否真的有用或看起来很好

–xkcd150
09年5月2日在4:02

我的天啊!屏幕再次出现?

– setatakahashi
09年5月13日在16:07

@ xkcd150,它们非常相似,但是最大的胜利是状态栏。它显示了您所有的窗口以及有关该计算机的大量内容。

–staticsan
2010-2-5在3:08

如果您想要一个好的屏幕版本,请使用tmux;)

–好人
2012年1月17日15:11

#2 楼

也许我不是每天都使用这些文件,但是我经常使用它们:



htop一个更好的顶部。

mtr ping + traceroute组合

lynx / links / w3m如果需要控制台浏览


脚本编写bash每个* nix管理员都应该知道这一点。
一种编程语言。对于更复杂的事情,请远离bash脚本,并使用python / perl / ruby​​ / tcl / ...之类的东西(我使用Lisp)

Midnight Commander对于喜欢Norton Commander的人可能非常有用

irssi您永远不知道何时只想在IRC上问一些问题。

wget / curl从命令行下载内容。

scp通过ssh复制内容

lftp / ncftp良好的(可编写脚本的)控制台FTP客户端。

iotop检查是什么使磁盘受到压力


评论


我也要加一个

– PiL
2010年5月23日在17:08

这两个TLDP bash文件都非常糟糕。

–适配器
2011年12月1日14:59

#3 楼

我很惊讶地发现可以使用“ -X”参数通过SSH运行远程GUI应用程序。例如:

# on my machine
$ ssh -X linuxserver
# on remote machine
$ gedit /etc/my.cnf &


gedit窗口出现在我的本地计算机上,编辑服务器上的“ my.cnf”文件。

我假设这仅在您的客户端计算机具有X环境的情况下有效-换句话说,在Windows上则不行。但这在我的Mac上效果很好!

评论


使用xming sourceforge.net/projects/xming也可以在Windows上运行它!

–xkcd150
09年5月2日在4:04

SSH转发会进行加密,这会使一切变慢。如果您使用的是安全局域网,则可以将程序从一个Linux桌面发送到另一台Linux计算机X会话。非常便利。我曾经通过mplayer来运行电影,就像在主桌面上那样,通过mplayer来将电影插入休息室的一端。然后,mplayer音频将离开立体声,但图像将通过休息室的另一端(通过以太网)到达我的笔记本电脑,该休息室已插入数据投影仪。家庭电影很棒。

–加雷斯
09年5月3日,7:13

不必每次都添加-X,而是可以使用与内部主机和地址空间“ Host .domain.org 192.168 .. *”匹配的主机行来更新ssh_config并启用选项“ ForwardX11 yes”

– Zoredache
09年5月4日在7:52

我已经习惯了-Y,但是从没学会区别。

– Notmyfault
09年6月25日在5:52

-Y是受信任的X11转发。它比-X(简单的X11转发)更安全。顺便说一句,许多默认的sshd设置现在不允许-X,仅允许-Y。如果使用-X,则遇到奇怪的错误,应用程序以“ MIT MAGIC COOKIE”错误关闭,然后使用-Y。结论:不使用-X,仅使用-Y

– Wazoox
09年6月26日在9:42

#4 楼

lsof经常被忽略,它是一个非常有用的工具。 lsof允许您查看系统上每个打开的文件的列表,正在使用的文件的人/用途等。

例如: >现在,我看到我已经在另一个终端中登录了shell,/ mnt / hardy是我当前的工作目录。因此,我可以杀死该外壳,或转到另一个终端并退出该目录,以便将其卸载。

这确实是一个简单的示例,对于清理偶尔出现的“机器人”非常方便也为患。选项种类繁多,有关更多信息,请参见man lsof。

评论


如果您只对一个文件或一个挂载点感兴趣,则融合器是另一个不错的技巧。

–bdonlan
09年5月5日在6:21

肯定是隐藏的。多年来,我一直在寻找此功能。 (虽然我是菜鸟)

– cgp
09年5月8日在13:29

lsof真的很棒。结合UNIX(几乎所有内容)都作为文件的想法,它可以完成令人惊奇的事情。借助lsof的某些选项,一开始似乎可以解决很多事情,但是一开始似乎很难解决。

–ptman
2010年5月23日在17:21

#5 楼

转到上一个目录:

cd -


评论


我经常用这个。

– MathewC
09年6月26日在12:21

#6 楼

系统停止后,网络堆栈可以保持运行状态。我不知道这是2.6.x系列内核中的最新版本,但是在较旧的版本上,您可以配置防火墙/路由,然后在不关机的情况下暂停系统,仅使网络堆栈运行。这将使您可以制造便宜的(尽管是静态的)防火墙,“不能被黑客入侵”-因为没有什么可以黑客入侵的,因为没有程序或服务,只是内核的网络堆栈部分来回传递数据包。 ..

评论


哇。真酷! +1我肯定会在有空余时间时在2.6内核上进行尝试。

– wzzrd
09年5月27日10:43

太棒了,但是它如何不可破解?内核仍然不需要运行吗?还是最小内核?

–cdeszaq
09年5月29日在18:42

“核心”?您所说的“内核”是什么?进入此模式时,唯一正在运行的代码是/ network stack /。没有任务调度,没有API,代码,服务,用户空间,没有任何东西,zip,nada ...只是通过以太网回荡的数据包的微弱声音...将其视为生活中具有两种功能的更多嵌入式设备-接受,然后发送数据包。我想您可以尝试偷偷通过数据包,因此可以“破解”,但是在堆栈本身中没有什么可以直接攻击的。

–艾琳·佩恩(Avery Payne)
09年5月29日在19:51

#7 楼

我喜欢“查找”,这是一种比粗糙的“查找。-name xxxx -print”查找文件的方法。注意,您必须将updatedb命令与最新的文件索引一起使用;有关详细信息,请参见手册页。

评论


幸运的是,许多Linux发行版在cron.daily :-)中都包含了updatedb。

–马特·索尼特(Matt Solnit)
09年5月2日在22:26

它的速度也比查找速度快得多。

– cgp
09年5月8日13:27

应该指出的是,有些人将定位视为安全隐患。话虽如此,我一直都在用它:-)

–波特达克
09年5月22日23:26

最新版本的locate具有-i开关,用于忽略大小写,非常方便。

– niXar
09年9月23日10:00

至于安全性,有一些安全的定位版本,可让您“查找”登录用户实际看到的那些文件。

–于尔根·艾哈德(JürgenA. Erhard)
2010年1月8日,12:54

#8 楼

我发现“ ngrep”对于调试远程服务器上的网络代码确实很有用,而不必在以下位置插入tcpdump文件: 。

我发现经常有用的另一件事是将strace切换为“ -e”:
)系统调用给定的pid,并且

ngrep -d any -W byline port 80

将从输出中排除所有对rt_sigprocmask()的调用(对调试RoR代码很有用,这似乎很麻烦使用pthread构建的那些调用中的一个。)

评论


现在我真的开始喜欢Linux。 :)

–然后
2010年5月13日下午14:35

#9 楼

apropos



说明每个手册页中都有
简短说明。
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)


评论


我总是用-k代替,但我的拼写受损。

–mctylr
2010年3月11日19:18

#10 楼

幸运的是,我只需要几次,但是Magic SysRq键仍然是我一直喜欢的隐藏功能之一。

Alt + SysRq + RSEIUB

评论


+1 Magic SysRQ是金色的。请记住,“举起大象实在太无聊了”,以提示使用按键的顺序,尽管顺序并非一成不变。这就是为什么在上面使用RSEIUB的原因:它在发出“终止”和“杀死”命令之前将数据同步到磁盘,而不是相反。正确的命令值得商bat。

– wzzrd
2009年5月27日10:48

另一个记忆辅助工具:BUSIER(反拼)。

–美
2011年5月18日在16:53

#11 楼

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


#12 楼

它并不是真的隐藏起来,但是对于没有经验的人来说可能就是这样,但是我真的很喜欢能够给出列表并让bash像下面这样扩展它们:
这与键入

cp arq{,.bak}


一样。我也使用历史快捷方式(我认为这不是正确的术语,但是...),就像
cp arq arq.bak


重复上一条命令,或者

!! 


在最后一条命令中用bar替换foo

#13 楼

ssh-copy-id用于传输ssh密钥。过去的方法是在ssh上分配密钥,而更老的是先捕获密钥然后再分配密钥。如果您使用的是非标准的ssh端口,那么这将为您解决问题。。
>
其他方法..


#14 楼

虚拟控制台。大多数人都知道如何使用(Ctrl-)Alt-F1进入第一个控制台,依此类推,但是如果您有12个以上,该怎么办?您可以使用Alt-Left和Alt-Right来循环浏览其余部分。 :-D

评论


哇,伙计,那时候,只需使用屏幕即可。呵呵:)我在.screenrc中放了它,在底部显示了一个任务栏,让我知道屏幕已打开

–罗伊·里科
10 Mar 11 '10在23:54

第12个控制台正在运行桌面环境(例如gnome)的ID是什么?

–贝鲁兹
2011年4月23日在12:29

#15 楼

我喜欢debian-goodies软件包:

Description: Small toolbox-style utilities for Debian systems
 These programs are designed to integrate with standard shell tools,
 extending them to operate on the Debian packaging system.
 .
  dgrep  - Search all files in specified packages for a regex
  dglob  - Generate a list of package names which match a pattern
 .
 These are also included, because they are useful and don't justify
 their own packages:
 .
  debget       - Fetch a .deb for a package in APT's database
  dpigs        - Show which installed packages occupy the most space
  debman       - Easily view man pages from a binary .deb without extracting
  debmany      - Select manpages of installed or uninstalled packages
  checkrestart - Help to find and restart processes which are using old
                 versions of upgraded files (such as libraries)
  popbugs      - Display a customized release-critical bug list based on
                 packages you use (using popularity-contest data)


还有moreutils,它基本上是车轮上很棒的管道工具:

Description: additional unix utilities
 This is a growing collection of the unix tools that nobody thought
 to write thirty years ago.
 .
 So far, it includes the following utilities:
  - sponge: soak up standard input and write to a file
  - ifdata: get network interface info without parsing ifconfig output
  - ifne: run a program if the standard input is not empty
  - vidir: edit a directory in your text editor
  - vipe: insert a text editor into a pipe
  - ts: timestamp standard input
  - combine: combine the lines in two files using boolean operations
  - pee: tee standard input to pipes
  - zrun: automatically uncompress arguments to command
  - mispipe: pipe two commands, returning the exit status of the first
  - isutf8: check if a file or standard input is utf-8
  - lckdo: execute a program with a lock held
Homepage: http://kitenet.net/~joey/code/moreutils/


#16 楼

我每天在工作中使用的一个很棒的“功能”:能够在端口443上进行SSH侦听,因此我可以创建一个绕过我的工作防火墙的隧道,从而允许我运行通过SSH隧道连接到面向互联网的Linux服务器的本地SOCKS代理。

我可以完全忽略我的公司防火墙。

评论


想到那些相信您可以“锁定”网络的人,总是让我感到高兴。如果只留一个端口供流量通过,那您就很麻烦。

–波特达克
09年5月22日在23:29

如果他们看到3GB数据从您的计算机通过端口443流怎么办?

– Wadih M.
10年8月23日在18:05



将开瓶器添加到nix中,甚至https代理也不成问题!!

– Niall Donegan
2011年1月10日,下午2:15

@ Wadih.M:这是方法:ssh到443,使用netcat将udp数据包从远程计算机发送回另一个端口。从您所在的位置将另一个udp数据包发送到远程计算机。恭喜。端口被打孔。

–贝鲁兹
11年4月23日在12:32

#17 楼

我一直喜欢“ man hier”,因为它可以帮助系统中的新手。

#18 楼

与Windows相比,Linux的一大功能也许就是设计上几乎没有隐藏功能。希望是否有未记录的功能足够重要,足以使社区了解其工作。

#19 楼

以下是我定期使用的一些方法:



sar-显示系统活动

vmstat-虚拟内存状态

iostat-io统计信息

pkill-与pgrep类似,但允许您终止返回的进程ID >
xargs -I<string>-安排任务

at-图形化tkdiff实用程序

这些可能不是“隐藏”的,但是我发现它们非常有用:



diff-以可读格式显示磁盘使用情况

df -hk-列表文件按日期排序适用于ls -ltr(如果不可用)

while :; do...done-在命令行上运行watch代码段

perl -e-显示内存信息(千字节,总计)


评论


我认为写成真比较容易。比... [1]做...做...

–ptman
2010年5月23日在17:30

#20 楼

从本文开始,了解一些很棒的Linux技巧。我最喜欢的是pstree,它以树格式显示您的进程,因此您可以看到哪个进程是哪个进程产生的。 >
zgrep和zless非常适合搜索压缩的日志文件,因此您无需通过gunzip传送它们,也无需在/ var / log中留下未压缩的内容。

评论


概要,对于懒惰的;-) 1.pgrep(就像ps遇见grep)2.pstree(以树格式列出进程)3.bc(任意精度计算器语言)4.split(将大文件分割成块)5 .nl(数字行)6.mkfifo(使两个命令通过命名管道进行通信)7.ldd(打印共享库依赖项)8.col(分行换行)9.xmlwf(检查XML文档是否格式正确) 10.lsof(列出打开的文件)

–用户名
09年5月12日在21:13

(GNU)ps具有用于打印树的标志。除了让pstree记忆起来更容易之外,还有其他事情吗?

–ptman
2010年5月23日在17:36

为什么curl比wget更好?并且:zgrep和zless仅仅是开始;还有zcat和zmore。

–美
2011年5月18日在16:55

#21 楼

ESC +。

将上一行中的最后一个参数粘贴到当前提示中

例如

ls -l /home/someuser/somedir/somefile


随后为

rm ESC +。

评论


棒极了。不知道

–安德鲁·泰勒(Andrew Taylor)
2011年1月19日15:18

#22 楼

我看到yes命令非常好:

yes | do_you_agree


从手册页:

NAME
       yes - output a string repeatedly until killed

SYNOPSIS
       yes [STRING]...
       yes OPTION


#23 楼

概念是Linux中的所有内容都是文件。


所有配置都在文本文件中,Linux中的所有内容都视为文件。这是一种非常简单的方法,可以很轻松地更改Linux中的内容。在Linux中,甚至您的文件系统本身也可以看作文件。


评论


如果您喜欢这个基本的Unix概念,那么您将喜欢Plan9 OS。

– Wazoox
09年6月26日在9:46

#24 楼

它是开源的。如果您不愿意看,什么都不是“隐藏”的。

评论


不幸的是,开源往往会使您很难看清“隐藏”的东西。

–说话
09年5月2日在6:58

我反过来说-如果某个功能隐藏在封闭源应用程序中,则取决于开发商店来公开它。在开源应用程序中,该功能可供所有人查看。此外,积极发展的人数通常要多得多(更多的人知道和谈论“隐藏”功能)。最后,开源开发主要是面向社区的,因此人们通常会相互讲述隐藏的功能。

–汤姆·赖特(Tom Wright)
2009年5月2日15:35

我根本不遵循@Spoike的推理。是的,还有更多需要看的东西,但是看到的就是得到的东西。

– Paul Tomblin
09年5月2日在16:34

我认为您在争论语义。我们如何将其重命名为“ Linux的混淆功能”?

–spoulson
09年5月5日在18:51

我会部分支持Spoike的观点,即由于普遍缺乏最新的文档,所以事情可能被“隐藏”了。并不是说此声明对所有项目都适用,但是很多项目中都缺少完整的文档(而且我并不意味着只是使用指南)。 KDE的管理功能,特别是在管理rc文件中的设置以及设置不可变的特定字段的实际效果方面,就是一个很好的例子。在许多情况下,我发现自己正在寻找源代码,以了解事物的处理方式。

–杰森·莫克(Jason Mock)
09年5月30日在20:40

#25 楼

隐藏的功能是没有隐藏的功能。该系统提供了您完全可以访问的强大功能。您必须了解它的每一个部分以及每种可用的工具,才能掌握指尖的功能。

您应该首先了解/ bin,/ sbin,/ usr / bin,/ usr中的每个命令。 / sbin,以及/ proc中的每个虚拟文件。请阅读手册,其他文档和必要的资料。

#26 楼

grep,awk和sed

顶部

评论


那些不是很隐藏

– Jayrdub
09年5月1日21:58

#27 楼



od-以八进制和其他格式转储文件。例如,对于检查文件开头是否存在BOM废料很有用。

file-给定文件的文件类型是什么?

lshw-我们在这里处理MTU问题吗?

lsusb包含200多种网络相关工具


lspci-网络配置/ info

tracepath-文件系统/网络/内核信息

netwox-网桥的iptables

ip-VLAN配置

> sysctl-桥配置

ebtables-类固醇上的vconfig

brctl-socat-类似的实用程序,可打印详细的标题信息

netcat-发生了什么现在是DNS服务器吗?


#28 楼

tee很棒。输出到屏幕和日志文件?检查。

#29 楼

刚刚在今天找到了它:
dmidecode:
根据SMBIOS / DMI标准,报告有关系统硬件的信息,如系统BIOS中所述。此信息通常包括系统制造商,型号名称,序列号,BIOS版本,资产标签以及许多其他细节,这些细节取决于制造商的关注程度和可靠性。这通常包括CPU插槽,扩展插槽(例如AGP,PCI,ISA)和内存模块插槽的使用状态,以及I / O端口列表(例如串行,并行,USB)的使用状态。

这肯定使在colo设施中回答有关somerandomserver27的问题变得容易得多!

评论


您也会喜欢lspci,lsscsi,lsusb :)

– Wazoox
2010年8月19日上午10:30

是的,我定期使用ls *命令-我只是不知道有任何事情可以拉BIOS级别的信息:)

–加尔珀
10年8月20日在18:43

#30 楼

不是真正的Linux东西,更多的是Bash东西:进程替换,

diff some_local_file <(ssh somehost "cat some_remote_file")


这与通过SSH检索的本地文件和远程文件在一行中有所区别。