Unix 您最常用的linux(power)命令是什么?

Unix 您最常用的linux(power)命令是什么?,unix,shell,command-line,Unix,Shell,Command Line,要查找包含特定字符串的文件,我经常使用 找到-name*| xargs grep-iH“string”我的顶级命令: vi(我选择的编辑器可以执行几乎所有的配置任务) 顶部(列出正在运行的任务,并显示性能统计信息) tar/gzip(压缩/解压缩存档) grep(使用正则表达式查找文件中的文本) 人(指挥手册参考) 终止(终止正在运行的进程) chmod(更改和管理权限) 我经常发现自己需要查找包含特定字符串的文件。为此,我使用: grep -ri 'string' 我需要定期做的事情太多了

要查找包含特定字符串的文件,我经常使用

找到-name*| xargs grep-iH“string”

我的顶级命令:

  • vi(我选择的编辑器可以执行几乎所有的配置任务)
  • 顶部(列出正在运行的任务,并显示性能统计信息)
  • tar/gzip(压缩/解压缩存档)
  • grep(使用正则表达式查找文件中的文本)
  • (指挥手册参考)
  • 终止(终止正在运行的进程)
  • chmod(更改和管理权限)

我经常发现自己需要查找包含特定字符串的文件。为此,我使用:

grep -ri 'string'
我需要定期做的事情太多了,很难分辨出具体的命令。大多数情况下,只是sed、awk、grep和find的大量组合,还有一些随机组合,直到被投入处理

#!/bin/sh
ps axxw | grep $1 | grep -v grep | grep -v boost 
sudo renice -20 `ps axww | grep $1 | grep -v grep | grep -v boost | awk '{print $1}'`

调用脚本
boost
,我使用它为命名的应用程序赋予最高优先级

不完全是常规命令,而是自动完成bash命令的捷径“Ctrl+r”。我经常使用find的-exec选项。例如,我经常想更改整个目录树的权限,授予目录执行权限,但不授予文件。我分两步来完成这项工作:

find root_dir -type d -exec chmod 555 {} \;
find root_dir -type f -exec chmod 444 {} \;

上述操作将使整个目录树对所有人都是只读的,但仍然允许任何人将cd刻录到任何目录中。

要查找占用空间最大的目录(进行潜在清理),请从所需的级别开始,例如
/home
,然后执行:

cd /home
du -s * | sort -k1 -n
这将根据使用的空间给出一个排序列表(大多数在底部使用,因此如果滚动,您仍然可以看到主要违规者),例如:

     16  lost+found
     84  daniel
   4284  george
   6308  alice
4413700  bob
然后,您可以在
/home/bob
中运行相同的命令:

cd /home/bob
du -s * | sort -k1 -n
要获得:

    100  src
4413600  p0rn

因此,您现在知道是什么占用了
/home
文件系统的大部分空间,Bob很快将寻找其他工作:-)。

我使用
who-T | sort
获得已登录用户的排序列表。此外,为了获得组的排序列表(而不是正常的未排序列表),我使用
组|tr''\n'| sort | tr'\n''&&echo

我的是

awk - for filtering and extracting fields find - for finding files/directories xargs - build command lists, often i use it with find less - for quickly browsing/reading files man/info - for viewing manpages and info pages emacs - for editing source code irssi - to get in touch with other developers cd - to change to home dir and to other directories killall - to kill not behaving commands (yeah, you get power!) ps - to list processes (oh noes, i hate hanging mplayers blocking my sound!) <CTRL>+<R> - completion of commands by searching in history file <TAB> - for completing directory and file names awk-用于筛选和提取字段 查找-用于查找文件/目录 xargs-build命令列表,通常与find一起使用 更少-用于快速浏览/读取文件 手册/信息-用于查看手册页和信息页 emacs-用于编辑源代码 irssi-与其他开发人员联系 cd-更改为主目录和其他目录 杀戮-杀戮没有行为的命令(是的,你得到了力量!) ps-列出进程(哦,不,我讨厌挂在墙上的mplayer挡住我的声音!) +-通过在历史文件中搜索完成命令 -用于填写目录和文件名
最后但并非最不重要的一点是,最常用的电源命令是关机,不是吗

原问题中的命令可以更好地写成

grep -RHi "string"
我经常使用grep-R。当然,find命令可用于微调要搜索的文件

我经常在perl中使用-00标志来打印“段落”模式

将字符串更改为其他内联字符串,同时备份原始文件(从Minimal Perl):

我喜欢并排的差异:

sdiff -s file1 file2
或语法突出显示的差异:

diff file1 file2 | vim - # or mate - on my Mac

我浏览了一下我的历史,看看是否还有其他命令,但遗憾的是(??)我的大多数系统维护、管理和编程都是通过自动化工具完成的,最近都是用Ruby编写的(puppet、capistrano、一些自制工具等),或者与SCM相关(git、svn).

我在命令行中使用最多的是
grep
和各种
zsh
好东西,例如

# count number of lines in all .java and .py files
wc -l **/*.{java,py}

我发现
nohup
非常方便,可以通过不可靠的连接完成或花费大量时间,例如
nohup python在这个远程服务器上构建大型数据库。py

perl -pi -e 's!\r\n!\n!g' << filename >> 
perl-pi-e的\r\n\Ng'>

在unix2dos中,可以通过颠倒替换的顺序轻松地进行转换。

我在linux中最喜欢的命令是:

ps -ax
kill [n]
另外,不太为人所知(也不太危险)不要在家里这样做孩子们:

hack [targetPC]
nuke [targetPC]
sol    <--this is solitaire
/.     <--opens up slash dot in IE
quote  <--quotes a /. meme from the following list so you can use it to post on /.
       1 Yes but does it run linux?
       2 Can you imagine a Beowulf cluster of those
       3 In Soviet Russia ...
       4 ...
       5 Profit.
hack[targetPC]
核武器

sol查找进程是否正在运行,并在树视图中获取PID:

ps afx | grep 'foo'
在文件目录中递归查找字符串:

grep -r 'foo' *
chmod -R +x *
使目录中的所有文件递归执行:

grep -r 'foo' *
chmod -R +x *
删除文件,但保留其存在和权限:

cat /dev/null > file
只是为了好玩:

rm -rf /
两个电源命令:
wget:下载文件
curl:操作http头

顺便说一句,您的find和grep组合是不安全的,如果文件名包含空格怎么办?安全的方法是这样做:

find . -name * -print0  | xargs -0 grep -iH "String"
你说的是权力命令,对吧-我发现

sed -i "regexp" $file
在文件上使用sed非常有用,但不需要将输出放在某个位置,然后将其移到源代码的顶部

grep --color -Rne "regexp" file list
还可以方便地执行递归grep并点亮找到的匹配项。实际上,我编写了一个名为“svngrep”的小shell函数来跳过工作副本中的.svn文件,只需查看活动代码并提供hilighting。Git和其他人也可以这样做

我有一个.bashrc,其中包含以下内容:

alias ls="/bin/ls --color"
alias ll="ls -l"
pgrep和pkill随时都会派上用场。Awk是你的朋友。学习它的语法,因为它可以做很多伟大的事情,节省你很多时间

du -shc *
将为您列出所有文件的大小进行细分,并显示总数。非常有助于快速计算当前目录是否大以及目录下的内容是否大

vim
自我咒骂

screen
screen -DR
屏幕是Unix之神的产物。如果你曾在机器上使用SSH,那么考虑使用屏幕。
# umount /foo
umount: /foo busy

lsof | grep /foo

1339 /bin/bash ... ... ... cwd ... ... ...
find / -name foo.txt 
egrep -rniI --color "$1" * | egrep -v "\.svn" | egrep --color -iE "$1|"\044