
Полезные команды в *nix
Xakep, номер #038, стр. 038-038-1
Упрости свою работу в Линуксе!
Нагорский Артем aka Cordex (cordex@xakep.ru)
Как часто мы, работая в Линуксе, забываем или не относимся серьезно к командам, которые реально способны убыстрить и кое-где упростить нашу жизнь. Я считаю, что необходимый набор таких команд должен знать каждый пользователь Линукса, а уж тем более читатель Х :). Вот о них-то мы и поговорим в этой статье.
Меняем владельца
Согласись, прикольно, а иногда и просто необходимо поменять владельца какого-нибудь файла. Эта возможность доступна на всех версиях твоего любимого Линукса. Синтаксис команды таков:
chown ownername filelist
где ownername - имя перца, на которого пишется завещание :), а filelist - список файлов. Естественно, это нужно проводить в статусе root'а. Вторая аналогичная команда:
chgrp groupname filelist
Этой командой изменяется не имя, а группа владения. Кстати, если ты захочешь применить на файле обе эти команды, убедись, что ты сначала выполнил команду с изменением группы владения (chgrp). Ведь с файлом, принадлежащим другому, ты ничего не сможешь сделать, конечно, если ты не рут.
Считаем и анализируем
Хочешь узнать, сколько раз юзеры логинились в систему или сколько раз она была перезапущена? Конечно, можно написать скрипт на Си, который бы выдавал тебе всю нужную инфу. Но можно поступить проще, воспользовавшись командой who со следующими ключами:
-b - Показывает время, когда в последний раз была запущена Ось.
-q - Показывает число залогиненных юзеров в данный момент.
-u - Показывает полный список залогиненных юзверей.
-t - Показывает время, когда в последний раз были изменены системные часы.
Между прочим, ты в курсе, где лежит список залогиненных юзверей в твоей системе? Нет? А я вот в курсе :). Но и с тобой поделюсь: вся эта инфа лежит в /etc/utmp. Поэтому, если хочешь написать свой скрипт на Си для команды who, о котором я говорил вначале, то ты знаешь, куда залезть за файлом.
Неудаляемые файлы
Очень легко можно создать неудаляемые с шелла файлы. Для этого нужно, во-первых, создать файл, использующий Си-программу или скриптовый файл, а во-вторых, использовать в качестве названия файла символы, которые не могут быть напечатаны с шелла. Примером может служить такая комбинация символов, как Ctrl-h. Так как это комбинация delete, то становится очевидным, что с шелла такой файлик не удалишь :). Для бестолковых приведу пример скрипта, который создаст файл с неймом Ctrl-h. Он должен быть набит в чем-нибудь типа vi-editor'а:
echo'' > 'a^h'
Небольшое пояснение. Чтобы напечатать это в vi, нужно вбить следующее:
Ctrl v //создаст следующий ascii-символ, который не будет интерпретироваться.
Ctrl h
Так, теперь поменяй доступ на файл и сделай его исполняемым. Создаться файл, который будет выглядеть по названию похожим на a, но неудаляемый из шелла! :). Хотя это, конечно, не значит, что его нельзя вовсе удалить: не шеллом единым рулит Линукс.
Смотрим процессы
Тоже очень неплохая и полезная команда, позволяющая просмотреть все процессы, протекающие на твоем компе. Да не просто показывает одни процессы, но и терминал или программу, управляющую тем или иным процессом. Команда эта - ps. Если же ее запустить с ключом -a - то можно просмотреть аналогичную инфу о процессах, протекающих у юзверях в твоей системе :). От себя отмечу, что, несмотря на свою простоту, команда позволяет сэкономить иногда значительные системные ресурсы, когда ты уберешь все ненужные тебе в данный момент приложения.

















































































































