Скрытые возможности Linux

Следуя в духе скрытых возможностей PowerShell и других разнообразных возможностей переполнения стека, какие команды Linux или комбинации команд вы считаете необходимыми в своей работе?

Также см:
Скрытые возможности MySQL
Скрытые возможности PowerShell
Скрытые возможности Oracle Database
Скрытые возможности Windows 2008
Скрытые возможности Solaris/OpenSolaris
Скрытые возможности SQL Server
Скрытые возможности IIS (6.0 / 7.0)

54 ответа

tee является удивительным. Вывод на экран и в лог-файл? Проверьте.

Обычно люди запускают свои настольные системы с X. Но вы обычно можете получить доступ к настоящему текстовому терминалу, некоторые из них на самом деле. Это так называемые виртуальные консоли. Затем вы можете войти в систему и использовать командную строку и т. Д.

Просто нажмите Ctrl + Alt + F1, Ctrl + Alt + F2 и т. Д. Ваш X-сервер обычно работает на Ctrl + Alt + F7.

Это, конечно, зависит от распределения и конфигурации.

Также иногда полезна эта команда для уничтожения X-сервера: Ctrl + Alt + Backspace.

Эти комбинации клавиш работают, по крайней мере, на компьютерах i86.

История bash - у меня обычно работает 10 или около того xterms. Вот соответствующая часть моего профиля:

# Make history ignore dups, ls, and exit
export HISTIGNORE="&:ls:[bf]g:exit"

# Save 100000 history comamnds
export HISTSIZE=10000

# Make each terminal use a separate history file
HISTDIR=${HOME}/.history
SHELLID=$(tty | sed 's!/!.!g')
HISTFILE=${HISTDIR}/history${SHELLID}

touch ${HISTFILE}

# load last histfile as current history
history -r $(/bin/ls ${HISTDIR}/history${SHELLID} | /usr/bin/tail -n 1)

Если мне нужно найти команду, я могу просто просмотреть каталог своей истории.

aespipe - читает из стандартного ввода и пишет в стандартный вывод. Его можно использовать для создания и восстановления зашифрованных архивов tar или cpio.

logger позволяет писать сообщения в системный журнал из командной строки или скрипта.

logger "See? There! It happened again!"

Найти -exec {} \;

например:

находить. -iname *20080[123456].log -a! -iname *.bz2 -exec bzip2 \{\} \;

Я не уверен, что я просто показываю свое невежество, но я только что узнал о "последней" команде для проверки, кто входил в систему. Это очень полезно.

Еще одна хорошая программа - "ожидай". Я очень легко автоматизирую любые входы в систему через ssh/telnet или все, что вынуждает вас вносить вклад в программу.

Пост, который я сделал на Stack Overflow: Как перечислить только подкаталоги в текущем?

ls -d */

Это простой трюк, но вы не знаете, сколько мне нужно времени, чтобы найти его!

fgrep

например, fgrep -r * --include=*.rb

просматривает структуру dir из текущего каталога, ища в исходных файлах ruby

и гораздо проще в использовании, чем найти

scp

Я веб-разработчик, и наша разработка требует, чтобы я постоянно отправлял файлы на наш сервер разработки. Я написал быструю обёртку вокруг scp, чтобы справиться с этим для меня.

NX сочетает в себе некоторые преимущества screen и ssh -X с умным сжатием. Теперь я могу удаленно запускать gnumeric через модемное соединение и возобновлять его, когда соединение умирает.

lsof -i - list all opened socket
htop - like top, but with more eye candy
rdiff-backup - for incremental backup
mc - midnight commander 
ethstatus - ethernet statistics
netstat, nmap
iftop - display bandwidth usage on an interface by host

Возможности POSIX и возможности файлов POSIX

http://www.friedhoff.org/posixfilecaps.html

dd - конвертировать и копировать файлы

Я использую это очень часто, чтобы сделать копии DVD или HDD Patitions, которые мне нужно сделать резервную копию.

dd if=/dev/sda2 of=/tmp/copy_of_sda2

это очень удобно и настраиваемо, просто посмотрите на его справочную страницу

Мои топ-5 "скрытых" функций (надеюсь, их здесь нет)

  1. cd - попробуйте:)
  2. именованные каналы используются недостаточно, и вы можете делать с ними действительно классные вещи
  3. системное нажатие, хотя я не очень хорош в этом, и вам действительно нужно знать ваше ядро, оно обладает невероятной мощностью для правильного пользователя.
  4. Сочетание передачи списка в sortзатем uniq -c а затем sort -n действительно может творить чудеса. Вы можете использовать это, чтобы вывести своих лучших собеседников из файла журнала Apache или из памяти ps -o,
  5. proc/sys Интерфейс / файловая система. Там столько всего, что вы можете настроить / просмотреть в режиме реального времени. Упаковка cat или же grep утверждения в watch -d -n 0.1 это здорово и очень удобно.

Знаменитости dd, netcat, screen, tcpdump а также find но большинство уже упоминалось.

Мощность и гибкость SSH не перестают меня удивлять. Также возможность сделать массив raid из чего угодно (дискеты, кто-нибудь?), Все доступные файловые системы, классные вещи, такие как LVM, инструменты шифрования, возможность создавать свои собственные инструменты с множеством компиляторов, интерпретаторов, языков... О, и не забывайте устанавливать новые вещи с помощью apt-get или подобного.

Это просто намного лучше, чем окна.

Я нахожу, где и какие команды удобно. Используйте их, если у вас есть альтернативные версии одного и того же приложения с тем же именем и вы хотите использовать конкретную из них.

За "скрытую" функцию, которую чаще всего упускают из виду или упускают пользователи, не знакомые с Linux (/Unix).

  • man man
  • man -k <blah> или же apropos <blah>

"Скрытые" функции

ctrl + r: поиск в истории последней команды с указанными вами буквами

Никогда не использовал script(1) для сохранения терминальной сессии?
apg (1) для создания случайных паролей
Вы хотите знать, сколько у вас процессоров / ядер? NPROC (1)
sfdisk (8) отличный инструмент для работы с разделами
multitail(1) несколько хвостов одновременно... отличный инструмент

Посмотрим...

  • Я использую цветовые коды bash в моем /root/.bash_profile, чтобы моя корневая подсказка bash отличалась от моей обычной не-root стандартной пользовательской подсказки. Еще одно напоминание о том, что я нахожусь в одной команде от разрушения всей системы.;)

  • Я часто использую nc (netcat) для тестирования. Хорошая утилита с большой универсальностью.

  • Долгое время я никогда не знал, что chown может принимать и имя пользователя, и имя группы вместе в качестве аргумента, то есть: chown user:group -R /some/directory, Этот факт спас меня от печатания (больше нет пар chown / chgrp).

  • Команда df - это быстрый способ увидеть все ваши смонтированные файловые системы.

  • Я часто использую pgrep в сценариях, чтобы увидеть, запущен ли процесс.

  • kexec довольно аккуратный, позволяет перезагрузиться без прохождения BIOS, что значительно сокращает время перезагрузки. Не слишком много перезагружайся, хотя...

find мой самый большой инструмент Я использую его для поиска объектов и выполнения команд для найденных файлов или каталогов.

Ни одна система не обходится без ssh тоже.

  • человек (помогает по большинству команд)
  • меньше (разумный просмотр)
  • tail -f (просмотреть добавленные данные файла по мере его роста)
  • смотреть (запускать программу и периодически просматривать ее вывод на весь экран)

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

Я просто не могу обойтись без этих команд

  • ps -fA (список всех запущенных программ
  • lsof (список открытых файлов на процесс)
  • пуш. (вставить текущий каталог в стек каталогов)
  • попд (вытолкнуть текущий каталог из стека каталогов)
  • домашний каталог локальной учетной записи ~/ вы также можете получить доступ к пользовательскому каталогу, например ~username.
  • замените текущий профиль bash после внесения изменений без повторного входа в систему. ". ~/.bashrc
  • grep -inR (рекурсивный grep, i = без учета регистра, n = показывать как число, R = рекурсивно)
Другие вопросы по тегам