хостинг linux
Параметры командной строки истории
Если вы использовали оболочки на некоторое время, вы, вероятно, известно, что Вы можете использовать до
и вниз на клавиатуре для перемещения вперед и назад через вашу историю
в командную строку. Но что если вы хотите, чтобы повторно выполнить команду, которую вы в последний раз
Команда несколько десятков линий назад? Нажатия на клавишу "стрелка вверх", которая во много раз является утомительным и
Вы будете стук, что стрелки так быстро, что вы, вероятно, "выброс" и пропустить
командной строке вы хотели.
Аккуратные вещи оболочки история является то, что Вы можете найти обратную помощью -R.
Просто нажмите -R, а затем начните вводить строку, которую вы ищете-снаряд
показать вам самую последнюю соответствия командной строки, которая содержит строку, которую вы ввели.
Вы можете нажать клавишу -R и снова (и снова ...) вы будете приняты дальнейшие обратно в
История соответствия командной строки. Если вы нашли в командной строке вы хотите, просто
Hit , чтобы выполнить команду, или использовать нормальный ключами редактирования изменить
командной строки, по желанию.
5 linux хостинг 6
Клавиатура ускорителям
Тем не менее, командная строка история является очень старую функцию оболочек Unix (предварительно
появились в CSH BSD еще в 80-х. При командной строки, история была впервые введена,
стрелка вверх / вниз и назад поисковые возможности не было даже задумал еще.
Вместо этого, существуют различные ускорители клавиатуру, которая в настоящее время основном были забыты.
Тем не менее, эти клавиатурные макросы зачастую значительно быстрее и легче, чем при помощи стрелок
и -R, особенно если вы Touch машинистка и не особенно хочешь идти достижения
для клавиш стрелок все время.
Например,! повторяет предыдущую команду:
$ LS-L / VAR / вход / Сообщения
-RW ------- 1 коренных коренных 27127 29 апреля 08:32 / VAR / вход / Сообщения
$!
LS-L / VAR / вход / Сообщения
-RW ------- 1 коренных коренных 27127 29 апреля 08:32 / VAR / вход / Сообщения
Аналогично! -2 Повторяет команду перед предыдущей команде, и как можно было ожидать
! -3 Проходит три строки команду назад, и т.д. Это может быть полезно, когда вы повторить то же
Последовательность команд снова и снова, как и когда вы смотрите лог-файл или другой быстро
растущая файла убедитесь, что он не заполняя вашей файловой системе:
$ LS-L / VAR / вход / Сообщения
-RW ------- 1 коренных коренных 27127 29 апреля 08:32 / VAR / вход / Сообщения
$ DF-H / VAR
Файловая система
Размер Использовано Свободно Используйте% установлена на
/ dev/hda3
996M 122m 823M 13% / VAR
$! -2
LS-L / VAR / вход / Сообщения
-RW ------- 1 коренных коренных 27127 29 апреля 08:32 / VAR / вход / Сообщения
$! -2
DF-H / VAR
Файловая система
Размер Использовано Свободно Используйте% установлена на
/ dev/hda3
996M 122m 823M 13% / VAR
6 linux хостинг 7
Вы также можете использовать!,! -2, И т.д. В середине последующие строки команду. Например:
$ Ifconfig eth0
-Баш: Ifconfig: команда не найдена
$ / Sbin /!
/ sbin / Ifconfig eth0
eth0
Ссылка ENCAP: Ethernet HWaddr 00:0 C: 29:95: AB: 90
INET Почтовый адрес: 192.168.127.129 Bcast: ...
Это также очень полезный метод при создании длинных трубопроводов оболочки просто держать
помощи! и добавить маленькие кусочки кода в конце газопровода, пока Вы не получите результаты, которые вы
хотеть.
История в цифрах
Каждая команда-строку в историю под номером (вы можете увидеть номера в левом
колонки при использовании истории команды), и вы можете выбрать определенную команду -
линии с помощью! где номер команды:
$ Историю
...
LS-41 л / VAR / вход / Сообщения
DF-42 ч / VAR
43 Ifconfig eth0
44 / sbin / Ifconfig eth0
45 История
$! 41
LS-L / VAR / вход / Сообщения
-RW ------- 1 коренных коренных 27127 29 апреля 08:32 / VAR / вход / Сообщения
! Синтаксис наиболее полезна, когда вы оказываетесь под управлением одной определенной команды над
и снова с большим количеством других команд перемежались между казнями.
7 linux хостинг 8
Указания аргументов
Есть также клавиатура ускорители для извлечения частности аргументы командной строки
от предыдущей командной строки. Пожалуй, наиболее полезным является одной! $, Которое получает последний
Аргумент от предыдущей командной строки:
# Совместного L named.conf
named.conf, V -> named.conf
Редакция 1.1 (заблокирован)
готово
# VI! $
VI named.conf
# CI-у! $
CI-U named.conf
named.conf, V <- named.conf
Файл не изменялся; возвращаясь к предыдущему Revision 1.1
готово
Как и в предыдущем примере, есть неограниченное число раз, что вам нужно сделать серию
команд в один файл, а это где! $ действительно блещет. Кстати, вы можете использовать
! -2 $ Чтобы получить последний аргумент из командной строки до предыдущей командной строки
(а! -3 $,! -4 $, и так далее работать, как вы ожидали).
! * Получает вам все предыдущие аргументы. Это часто полезно, когда вы допустили опечатку в
ваше имя команды:
# CL named.conf named.conf-ориг
Bash: CL: команда не найдена
CP #! *
CP named.conf named.conf-ориг
В общем,!: Даст вам й аргумент из предыдущей командной строки, но
Я не нахожу этот синтаксис особенно полезным. Собственно, все эти ускорители мы были
обсуждает только вырожденные случаи обобщенной синтаксис "! : " (Give Me
й аргументов командной строки ).
8 linux хостинг 9
Быстрый поиск
Один последний ускоритель, что крайне полезно "! ", Что означает выполнение
Последний командной строки, которая начинается с . Например, вы можете сделать
"/ и т.д. / init.d / HTTPD Пуск" пытается начать свой веб-сервер только чтобы обнаружить, что
Некоторые неправильной препятствует запуску сервера. После исправления этой проблемы вы
можно просто сделать "! / и т.д.", чтобы попробовать запустить сервер.
Конечно, это может быть опасно слепо ходить делать вещи, как "! / И т.д." или
в любом случае. Так что вы можете сделать "! : P" для отображения (печати) последнее командной строки,
начинается с , прежде чем выполнить его:
$! / Sbin: P
/ sbin / Ifconfig eth0
$! / Sbin
/ sbin / Ifconfig eth0
eth0
Ссылка ENCAP: Ethernet HWaddr 00:0 C: 29:95: AB: 90
INET Почтовый адрес: 192.168.127.129 Bcast: ...
В приведенном выше примере, мы используем "! : P" после "! ", Чтобы выполнить
команду. Но на самом деле вы можете просто использовать "!!":
$! / Sbin: P
/ sbin / Ifconfig eth0
$!
/ sbin / Ifconfig eth0 ...
Быстрая Замены
Другим подарком для людей, которые делают много опечаток является возможность быстрой замены делать на
предыдущей строке команду с помощью вставки (^) оператора. Ранее мы использовали! * Исправить положение
Когда мы сделали опечатку на имя команды, но вы также можете использовать это для вставки:
# CL named.conf named.conf-ориг
Bash: CL: команда не найдена
# ^ ^ CL CP
CP named.conf named.conf-ориг
9 linux хостинг 10
Каретка оператор заменяющий первой инстанции при условии строки в командной строке,
но только в первый (к сожалению, нет глобальной замены в качестве опции есть с СЕПГ
или Perl). Это иногда раздражает ограничение:
CP # Passwd passwd.bak
# ^ ^ Passwd тень
CP passwd.bak тень
Приведенные выше результаты passwd.bak перезапись файла с копией файла тенью-IS
вероятно, не то, что вы хотели.
На самом деле, верите или нет, следующий делает то, что вы хотите:
CP # Passwd passwd.new
#!: GS / Passwd / Shadow /
CP shadow.new тень
Вместо того чтобы использовать вставки оператора, который мы используем более общий замещение модификатора
( ": S / ... / ... /") на предыдущую команду ("!!"). Ведущая "G" означает применить
подстановка "на глобальном уровне" по всей предыдущей команде, а не просто
первой инстанции (все, что вам СЕПГ и Perl люди, вероятно, boggling сейчас, потому что вы привыкли к
"G", фигурирующие в конце замены, а не в начале). Выше
Синтаксис довольно много типов я не уверен, что это намного быстрее, чем просто редактируя предыдущие
командную строку напрямую.
"^ " Синтаксис полезной, поскольку она просто удаляет из
Предыдущий командной строке (в основном вы говорите заменить с пустой строкой).
Я часто использую это сделать или с другими командами Unix, что есть "-N" вариантом для показа
Вы что произойдет, если вы запускаете команду. Если вы уверены, что все выглядит
правильно, вы можете быстро Газа "-N" Option и фактически выполнить команду:
$ Make-N dlstubs
CC
dlstubs.c
dlstubs-O
$ ^-N
Сделать dlstubs
CC
dlstubs.c
dlstubs-O
10 linux хостинг 11
Вкладка Завершение
Вкладка завершения действительно экономит Вам много набрав потому что он быстро заполняется путями для вас
без того, чтобы вводить всю строку. Например, если вы введете "LS-L
/ VAR / вход / ME "и корпус будет автоматически завершить этот путь
/ VAR / вход / сообщений.
Однако, если вы это сделаете вы, вероятно, услышите сигнал после завершения оболочки путь.
Это означает, что / VAR / вход / Сообщения самая длинная уникальная последовательность символов, которые
оболочку может совпадать, но, что существуют многочисленные соответствия путями, которые начинаются с
/ VAR / вход / сообщений. В любой момент вы можете нажать клавишу табуляции два раза ( ), чтобы увидеть
всех возможных дополнений:
$ LS-L / VAR / вход / Сообщения
Сообщения
messages.1 messages.2 messages.3 messages.4
$ LS-L / VAR / вход / Сообщения
Обратите внимание, что после вывода различные возможные результаты, оболочка возвратит вас обратно в
конец командной строки, с которыми вы работали, когда вы попали в двойной вкладки.
То, что многие люди не знают, что вы также можете использовать вкладку завершение с исполняемым
Имена:
$ LS
Ls
release.d lsmod LSB -
lspcmcia
lsattr
lsdiff
LSOF
lspgpot
lsb_release
lshal
Утилита lspci
lss16toppm
$ LS
Помимо просто экономия нескольких нажатий клавиш, это также может помочь вам вспомнить название команды
Вы забыли.
11 linux хостинг 12
Обход File Systems W / найти
По типу:
Найти / Dev типа F-печать
По названию:
Найти / имя .* * '-печать
По размеру:
Найти / размер +10000000 C-печать
Под "Изменения последнего времени":
Найти /-MTIME -7-печать
Основы найти команду
Обход и поиск файловых системах и каталогах является весьма распространенной операцией в UNIX.
Обычно мы используем найти команду для этого, хотя многие команды Unix есть
опция "рекурсивная" (обычно "-R" или "-R") для работы на всем дереве каталогов, такие как
"RM-р ..." или "Chown-р ...".
Синтаксис команды найти немного странно, но он помогает, если вы думаете о нарушении
Аргументы на куски следующим образом:
Поиск [список Dirs] [Поиск варианта (ов)] [действия (S)]
Стандартные действия "-Принт", что означает для отображения имен всех файлов, которые отвечают
Поиск варианта (ов). В самом деле, на большинстве современных версий найти можно опустить
спецификатор действий и "-печать" будет предполагать.
12 linux хостинг 13
Есть много разных вариантов поиска там, и на самом деле разные версии найти
по различным Юникс часто поддержки параметры поиска, которые не могут не поддерживаться на
другие платформы. Это, как говорится, там, как правило, основные группы общих параметров, которые
повсеместно поддерживается:
• Вы можете использовать "типа", чтобы искать определенные типы объектов: "F" означает обычные файлы, "D" для
Справочники, "L" за символические ссылки и т.д. В первом примере на слайде очень полезно найти
Команда для запуска, если вы думаете, что ваша система была скомпрометирована. Много руткитов положит
файлы в / Девы в попытке скрыть их от системных администраторов. Однако, поскольку регулярные
Файлы в / Девы не ожидается (за исключением сценария MAKEDEV на некоторых Юникс и
различные файлы в / Dev / .udev на Linux), найти команду, показанную здесь может помочь
определить признаки взлома.
• Можно, конечно, поиск файлов по именам с "имя" вариант. Обратите внимание, что вы можете использовать
нормальная оболочка, как символы подстановки "*" в выражениях, но вы должны быть осторожны, чтобы
подсчет строк поиска так, чтобы оболочка не старается интерполировать обобщенные до
они получают на команду найти.
• Иногда поиск файлов по размеру могут быть полезны, например, когда вы ищете
Runaway лог файлы и файлы данных, которые могут быть заполнения раздела. Или, возможно, злоумышленник
имела длительную перехватчик пакетов происходит в вашей системе пароли и вы
хотят найти свой файл записи. Большие файлы на системах Unix просто не что общее. В
например, на слайде мы ищем все файлы, размер которых превышает ( "+" означает
"больше", "-" означает "меньше чем") 10 миллионов байт ( "C" на "символ", который является одним
байт типа данных).
• Или, возможно, после перерыва, который Вы можете получить список недавно измененных файлов.
пример находит все файлы, которые были изменены ( "-MTIME") менее (опять "-" в целом
значит "меньше" найти) 7 дней назад. Хотя вполне возможно, что злоумышленник может иметь
Изменения ваши временные метки файлов обратно в их первоначальной стоимости, многие не беспокоить.
Заметим, что примеры на этом слайде, взяты из отличной вторжения Эд Skoudis '
Discovery Шпаргалка для Linux доступны для свободного от SANS Institute
(Http://www.sans.org/score/checklists/ID_Linux.pdf). Я очень рекомендую этот документ
для оперативных сотрудников и системные администраторы. Там также доступны версии Windows
(заменить "Linux" с "Windows" в предыдущем URL).
13 linux хостинг 14
Больше развлечений с Найти
Лучше, чем один день детализации (Touch-и новее):
Touch-T 200801160000 метка
Найти /-новая метка-Принт
SUID / SGID (W /-Ls):
Найти / \ (-Пермь "-4000-O-Пермь" -2000 \) \
типа F-LS> setidfiles
Трюк для лучших времен основе Искать
Одна из проблем, с параметром "-MTIME опцию" является то, что он работает только через один день
ценностей. Но что если вы смогли определить время вашего Break-In, глядя на ваши
IDS логов (или какой-либо другой точкой) и знаю, что перерыв в 36 часа произошло
назад? Конечно, можно делать "-MTIME -2", но на загруженной системе, что может вызвать много
дополнительный шум.
Оказывается, что суперпользователь может использовать сенсорный команду для установки метки файлов
(что нападавшие сделать, чтобы сбросить метки для файлов, которые они изменить) и / или
создавать новые файлы с произвольными временными метками. Итак, если вы точно знаете, когда ваша Break-In
произошло, используйте только прикосновение к созданию нового файла с меткой времени, которое соответствует времена
Break-In, а затем использовать найти с параметром "-новые", чтобы найти все файлы с более
Последнее изменение последней метки.
14 linux хостинг 15
Более сложный Искать
Вы можете комбинировать найти параметры поиска, найти и вернется на имена файлов, которые соответствуют
все запрашиваемые критерии поиска:
Найти / типа D-имя. \ *-печать
Эта команда находит все папки с именами, которые начинаются с точки. Это еще один
полезная команда обнаружения вторжений, поскольку "точка каталоги" довольно редко встречающиеся в Unix
Нападавшие, как и назвать их установке каталогов вещи, как ".." ( "Dot Dot пространство"),
т.д.
Конечно, найти команду поддерживает все обычные логические операторы и вы можете использовать
скобками для группировки, как это делается в нормальных логических выражений. Однако,
круглые скобки также оболочки мета-символа так что вам потребуется, чтобы процитировать ваши выражения или
backwhack только круглые скобки, как вы видите на примере на слайде.
Например, на слайде Classic найти выражение для размещения всех Set-UID и Set-GID
Файлы в ОС. Хотя мы говорим так далеко, что "-" обычно означает "меньше" в
найти свое выражение, в случае с "-Пермь", ведущий оператор "-" в аргументе "--
4000 "означает" Матч любые файлы, которые имеют по крайней мере, Set-UID бит "(4000 Set-UID в
отпущение грехов разрешение разрядные записи). Без ведущего "-" выражение "-Пермь"
4000 "будет соответствовать только файлы, которые были точно установить режим 4000, которая, конечно,
вздор режиме файла. Таким образом, вы можете прочитать найти свое выражение как обычные файлы (типа "F")
, которые либо Set-UID бит ( "-Пермь" -4000 ") или ("-O ") Set-GID бит (" --
Пермь -2000 ").
Обратите внимание, что мы используем "-Ls" действия, а не стандартной "-печать". "-Ls" причины
Найти для выходного эквивалент "LS-ILS" (долгое листинг плюс инода номера и
Число блоков) для каждого файла соответствия. Это хорошая идея для захвата этого вывода в файл
Периодически, а затем сравните результат с текущим состоянием системы-это
может помочь вам обнаружить изгоев набор ID-файла добавляются к вашей системе или изменения к существующим
Номер набора файлов. Обратите внимание, что пример на слайде используется перенаправление вывода для захвата
"-Ls" продукции, найти много команд поддержки "-FLS " вариант, который
свалок нормальных "-LS" вывод в указанный файл.
хостинг linux