Каковы наиболее часто используемые вами команды linux (power)? - PullRequest
2 голосов
/ 05 января 2009

Чтобы найти файлы, содержащие определенную строку, я часто использую это

найти. имя * | xargs grep -iH "строка"

Ответы [ 19 ]

3 голосов
/ 05 января 2009

Чтобы определить, какие каталоги занимают больше всего места (для возможной очистки), начните с нужного уровня, такого как /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, и Боб скоро будет искать другую работу: -).

3 голосов
/ 05 января 2009

Мои

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

И, наконец, что не менее важно, наиболее часто используемая power команда shutdown, не так ли? :)

2 голосов
/ 05 января 2009

Я довольно часто использую опцию find -exec. Например, я часто хочу изменить разрешения для всего дерева каталогов, давая каталогам разрешения на выполнение, но не файлы. Я делаю это в два этапа:

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

Вышеприведенное сделало бы все дерево доступным для чтения всем, но все равно позволило бы кому-либо перейти в любой каталог.

2 голосов
/ 05 января 2009

Из командной строки я чаще всего использую grep и всевозможные zsh вкусности, например

# count number of lines in all .java and .py files
wc -l **/*.{java,py}
2 голосов
/ 05 января 2009

Мои главные команды:

  • vi (мой редактор предпочитает выполнять практически все задачи по настройке)
  • top (перечисление запущенных задач и отображение статистики производительности)
  • tar / gzip (сжатие / распаковка архивов)
  • grep (поиск текста в файлах с использованием регулярных выражений)
  • человек (справочник руководства по команде)
  • kill (уничтожить запущенные процессы)
  • chmod (изменение и управление разрешениями)
1 голос
/ 05 января 2009

Команда в исходном вопросе может быть лучше написана как,

grep -RHi "string"

Я использую grep -R довольно часто. Конечно, команда find может быть использована для тонкой настройки файлов для поиска.

Я часто использую флаг -00 для Perl для печати режима "параграфа".

perl -wnl -00 -e '/something:/ and print;'

Измените строку на что-то другое, встроенное, создавая резервные копии оригинальных файлов (из минимального Perl):

perl -s -i.bak -wpl 's/old_string/new_string/g;' *.txt

Мне нравятся параллельные различия:

sdiff -s file1 file2

Или различия в синтаксисе:

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

Я немного просмотрел свою историю, чтобы узнать, были ли другие команды, но, к сожалению (?), Большая часть обслуживания, администрирования и программирования моей системы выполняется с помощью автоматизированных инструментов, в последнее время все написано на Ruby (puppet, capistrano, некоторые домашние инструменты и т. д.) или относятся к SCM (git, svn).

1 голос
/ 05 января 2009
#!/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, я использую его для наивысшего приоритета названному приложению

1 голос
/ 05 января 2009

Не совсем обычная команда, а скорее сочетание клавиш Ctrl + r для автоматического завершения команд bash.

0 голосов
/ 08 марта 2011

Для моего поиска я задаю псевдоним для этого мини-скрипта.

Это делает grep, рекурсивный с номером строки, игнорируя двоичные файлы и регистр. Он использует -v, чтобы отфильтровать результаты из моих постоянных .svn каталогов. Затем он окрашивает искомое ключевое слово в результатах.

egrep -rniI --color "$1" * | egrep -v "\.svn" | egrep --color -iE "$1|"\044
0 голосов
/ 15 января 2009

Мои наиболее часто используемые команды - это ps, lsof (список открытых файлов), grep / awk / sed / cut (и различные другие строковые редакторы), а также netstat.

Lsof - один из самых полезных, но часто забываемых. Например:

# umount /foo
umount: /foo busy

lsof | grep /foo

1339 /bin/bash ... ... ... cwd ... ... ...

Хорошо, теперь я знаю, что / foo занят, потому что кто-то открыл оболочку и сидит в / foo :) Это действительно только верхушка айсберга. Также полезно знать, какие fds открыт для любого данного процесса.

Многие люди используют find все времени, когда slocate может быть лучше, поэтому не забывайте о slocate :) Если вы обнаружите, что (простите за каламбур) делаете это:

find / -name foo.txt 

... вам лучше сначала использовать slocate.

Наконец, valrgind обычно ассоциируется как инструмент программирования ... однако он полностью полезен для обнаружения утечек и других ошибочных действий в других программах. Например, если каким-то сумасшедшим способом вам удастся сделать sed segfault ... valgrind - отличный способ взглянуть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...