Полезные команды в *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 - то можно просмотреть аналогичную инфу о процессах, протекающих у юзверях в твоей системе :). От себя отмечу, что, несмотря на свою простоту, команда позволяет сэкономить иногда значительные системные ресурсы, когда ты уберешь все ненужные тебе в данный момент приложения.

Содержание  Вперед на стр. 038-038-2

Выпуски журнала "Xakep"
Журнал Хакер. Содержание номера #001Журнал Хакер. Содержание номера #002Журнал Хакер. Содержание номера #003Журнал Хакер. Содержание номера #004Журнал Хакер. Содержание номера #005Журнал Хакер. Содержание номера #006Журнал Хакер. Содержание номера #007Журнал Хакер. Содержание номера #008Журнал Хакер. Содержание номера #009Журнал Хакер. Содержание номера #010Журнал Хакер. Содержание номера #011Журнал Хакер. Содержание номера #012Журнал Хакер. Содержание номера #013Журнал Хакер. Содержание номера #014Журнал Хакер. Содержание номера #015Журнал Хакер. Содержание номера #016Журнал Хакер. Содержание номера #017Журнал Хакер. Содержание номера #018Журнал Хакер. Содержание номера #019Журнал Хакер. Содержание номера #020Журнал Хакер. Содержание номера #021Журнал Хакер. Содержание номера #022Журнал Хакер. Содержание номера #023Журнал Хакер. Содержание номера #024Журнал Хакер. Содержание номера #025Журнал Хакер. Содержание номера #026Журнал Хакер. Содержание номера #027Журнал Хакер. Содержание номера #028Журнал Хакер. Содержание номера #029Журнал Хакер. Содержание номера #030Журнал Хакер. Содержание номера #031Журнал Хакер. Содержание номера #032Журнал Хакер. Содержание номера #033Журнал Хакер. Содержание номера #034Журнал Хакер. Содержание номера #035Журнал Хакер. Содержание номера #036Журнал Хакер. Содержание номера #037Журнал Хакер. Содержание номера #038Журнал Хакер. Содержание номера #039Журнал Хакер. Содержание номера #040Журнал Хакер. Содержание номера #041Журнал Хакер. Содержание номера #042Журнал Хакер. Содержание номера #043Журнал Хакер. Содержание номера #044Журнал Хакер. Содержание номера #045Журнал Хакер. Содержание номера #046Журнал Хакер. Содержание номера #047Журнал Хакер. Содержание номера #048Журнал Хакер. Содержание номера #049Журнал Хакер. Содержание номера #050Журнал Хакер. Содержание номера #051Журнал Хакер. Содержание номера #052Журнал Хакер. Содержание номера #053Журнал Хакер. Содержание номера #054Журнал Хакер. Содержание номера #055Журнал Хакер. Содержание номера #056Журнал Хакер. Содержание номера #057Журнал Хакер. Содержание номера #058Журнал Хакер. Содержание номера #059Журнал Хакер. Содержание номера #060Журнал Хакер. Содержание номера #061Журнал Хакер. Содержание номера #062Журнал Хакер. Содержание номера #063Журнал Хакер. Содержание номера #064Журнал Хакер. Содержание номера #065Журнал Хакер. Содержание номера #066Журнал Хакер. Содержание номера #067Журнал Хакер. Содержание номера #068Журнал Хакер. Содержание номера #069Журнал Хакер. Содержание номера #070Журнал Хакер. Содержание номера #071Журнал Хакер. Содержание номера #072Журнал Хакер. Содержание номера #073Журнал Хакер. Содержание номера #074Журнал Хакер. Содержание номера #075Журнал Хакер. Содержание номера #076Журнал Хакер. Содержание номера #077Журнал Хакер. Содержание номера #078Журнал Хакер. Содержание номера #079Журнал Хакер. Содержание номера #080Журнал Хакер. Содержание номера #081Журнал Хакер. Содержание номера #082Журнал Хакер. Содержание номера #083Журнал Хакер. Содержание номера #084Журнал Хакер. Содержание номера #085Журнал Хакер. Содержание номера #086Журнал Хакер. Содержание номера #087Журнал Хакер. Содержание номера #088Журнал Хакер. Содержание номера #089Журнал Хакер. Содержание номера #090Журнал Хакер. Содержание номера #091Журнал Хакер. Содержание номера #092Журнал Хакер. Содержание номера #093Журнал Хакер. Содержание номера #094Журнал Хакер. Содержание номера #095Журнал Хакер. Содержание номера #096Журнал Хакер. Содержание номера #097Журнал Хакер. Содержание номера #098Журнал Хакер. Содержание номера #099Журнал Хакер. Содержание номера #100Журнал Хакер. Содержание номера #101Журнал Хакер. Содержание номера #102Журнал Хакер. Содержание номера #103Журнал Хакер. Содержание номера #104Журнал Хакер. Содержание номера #105Журнал Хакер. Содержание номера #106Журнал Хакер. Содержание номера #107Журнал Хакер. Содержание номера #108Журнал Хакер. Содержание номера #109Журнал Хакер. Содержание номера #110Журнал Хакер. Содержание номера #111Журнал Хакер. Содержание номера #112Журнал Хакер. Содержание номера #113Журнал Хакер. Содержание номера #114