LinuxBegin.ru - offline-версия от 26.04.2004
Главная | Все темы | Все статьи | Ссылки | Аналоги Windows-программ в Linux | Top 20

Консольные команды (Фрагмент Rute Users Tutorial).
(Работа в консоли / консольные программы)


- Paul Sheer, 2000. -

Несколько основных команд Unix/Linux, которые можно использовать в скриптах:

bc - Калькулятор, который поддерживает действия с очень большими числами. Предназначен для выполнения любого типа вычислений в коммандной строке.
cal - Выводит на экран отформатированный календарь текущего месяца, или любого указанного месяца/года. Например, набрав "cal 9 1752", вы увидите календарь на сентябрь 2002 год. Этот месяц и год интересны тем, что именно тогда из календаря было удалено несколько дней, чтобы скомпенсировать ошибки, связанные с округлениями.
cat <имя файла> [<имя файла> ... ] - выводит содержимое всех файлов на экран. Командой cat <имя файла> <имя файла> ... <новый файл> можно соединить несколько файлов в один.
clear - очищает терминал.
date - выводит текущую дату и время.
du <каталог> - Сокращение от disk usage. Показывает, сколько занимает указанный каталог и его подкаталоги. du -s <каталог> печатает только результат.
df - Сокращение от disk free. Показывает, сколько свободного места осталось на всех разделах.
free - Отображает использование оперативной памяти и swap'а. Раздел подкачки используется, как продолжение оперативной памяти, так что - если у вас достаточно RAM, то swap не используется вообще.
echo - Печатает в терминале сообщение. Например: echo "Hello World", или echo $[10*3+2]. echo -e позволяет интерпретацию выражений с обратным slash'ем, например, "a" - звуковой сигнал, "" - аналогично нажатию клавиши "backspace", или " " - переход на следующую строку. echo с параметром -n не переводит курсор на следующую строку после того, как сообщение напечатается.
expr - Производит рассчет математических выражений. Например, expr 2 + 2 '*' 2 выведет число 6.
file <имя файла> - Определяет тип данных, хранящихся в файле. Например, file back.jpg скажет вам, что back.jpg - это изображение в формате jpeg. file определяет огромное количество различных типов файлов, причем тип файла определяется на основе анализа содержимого этого файла, а не из его расширения. Например, если back.jpg переименовать в 1.htm, то команда file 1.htm все равно определит, что это JPG-файл.
less - Это GNU версия more с дополнительными возможностями. Позволяет просматривать файлы с прокруткой и поиском.
more - Позволяет просматривать длинные файлы с остановкой на каждой странице. Space - перейти на следующую страницу, q - выход.
soft <имя файла> - Сортирует данные, находящися в текстовом файле. Подробности - на man-странице.
strings <имя файла> - Выводит на экран содержимое файла, игнорируя все нечитаемые символы. Например, если у вас есть бинарный файл, который может содержать что-нибудь интересное, но при просмотре его через mc все совершенно нечитаемо - используйте команду strings.
split ... - Разделяет один файл на несколько. Например, если большой файл не помещается на дискету, можно разделить его на несколько дискет, а потом соединить. csplit позволяет разделять файла с учетом текста, который в них находится.
uname - Выводит название вашего Unix'а (Linux, BSD, etc).
uniq <имя файла> - Выводит текстовый файл без повторяющихся строк (сначала файл должен быть отсортирован).
wc [-c] [-w] [-i] <имя файла> - Считает количество символов/байт, слов или строк в текстовом файле.
whoami - Показывает имя пользователя, под которым вы работаете.

Сжатие файлов.

Стандартная команда для сжатия файла - это gzip <имя файла>. Чтобы распаковать сжатый файл, используется gzip с параметром -d. В системе gzip используется постоянно, потому что многие файлы хранятся в запакованном виде, и распаковываются автоматически при обращении к ним. Для того, чтобы посмотреть запакованный файл, используются команды zcat и zless. Так же существует новый формат сжатия - bzip2, который сжимает файлы лучше, чем gzip. Но из-за того, что он намного медленнее, он не используется для системных файлов, которые постоянно запаковываются и распаковываются.

Gzip может сжать только один файл. Поэтому для того, чтобы поместить в архив несколько файлов или директорий, нужно сначала соединить все это в один файл с помощью команды tar. Например, tar -c -f <имя файла> <директория>. После этого полученный файл запаковывается с помощью gzip. (Отсюда и берется такое необычное двойное расширение, как tar.gz :).

Сейчас все эти функции встроены в команду gzip, которая может с различными опциями автоматически сжимать директории в один файл, использовать различные методы сжатия, etc.

Поиск файлов.

Команда find используется для поиска файлов. Если написать в консоли просто "find", то на экран будут выведены все файлы из текущей директории и ее поддиректорий. find -type d покажет только директории, а file -type f покажет только файлы. Но для настоящего поиска используется команда find -name <имя файла>. Например, find -name '*.c' найдет все файлы с расширением ".c", а find -name file.txt найдет все файлы с именем file.txt.
find -size [+|-]<размер> найдет файлы, которые больше указанного размера (+), или меньше (-), или которые занимают ровно столько, сколько указано (если число без знака).
find <директория> запустит find для поиска именно в этой директории (можно указывать несколько).

Существует еще множество опций для поиска, которые описаны в man-странице. Недостатком find является медленный поиск, поэтому существует альтернативная команда locate <имя файла>, которая ищет конкретный файл по уже созданной базе данных.

Так же часто бывает нужна возможность поиска в файлах какого-нибудь слова или фразы. Команда grep ищет текст в файлах и выводит только те строки, в которых был обнаружен этот самый текст. Примеры:
grep 'Linux' *.txt - ищет во всех файлах с расширением txt слово "Linux".
grep -n <выражение> <имя файла> выводит номер строки, в которой было найдено выражение.
grep -<количество> <выражение> <имя файла> выводит <количество> строк перед и после той строки, в которой было найдено выражение.
grep -v <выражение> <имя файла> выведет только те строки, в которых не было найдено указанное выражение.
grep -i <выражение> <имя файла> проводит поиск, нечувствительный к регистру.
Так же grep поддерживает регулярные выражения, etc.

Копирование на дискеты, отформатированные под MS-DOS и Windows.

Существует специальный пакет под названием mtools специально для этой задачи. Он входит в большинство дистрибутивов Linux, и позволяет использовать любые команды DOS, поставив перед командой букву m. Например, с помощью команды mdir A: можно зайти на дискету, к которой можно обращаться с помощью привычного DOS-овского имени "A:", и производить любые операции с файлами, например, mcopy, mformat, и т.д. Полный список команд можно посмотреть командой info mtools.

Просмотров: 4065  |  Рейтинг статьи: 3.71 (Голосов: 14).
3.71
Дата размещения статьи: 2002-12-09 12:41:29



5 последних поступлений в раздел Работа в консоли / консольные программы:

22.01.04: Настройка framebuffer под Линукс. (Framebuffer - это такая классная штука, которая позволяет нам в текстовом режиме увидеть больше симво...)
23.12.03: "Вечные истины" POSIX-систем. 4 - In command veritas, 5 - о самой главной команд (Продолжение руководства по использованию командной строки. "Командный интерфейс (интерфейс командной ...)
23.12.03: "Вечные истины" POSIX-систем. 4 - In command veritas, 5 - о самой главной команд (Руководство по использованию командной строки. "Командный интерфейс (интерфейс командной строки, Comm...)
15.10.03: Ода консоли (Когда сидишь перед пустым экраном, / К привычным "Окнам" злобу затая, / Вопрос возникнет по...)
06.09.03: XTERM - стандартный эмулятор терминала. Начальные сведения. (XTerm, оказывается, является одной из самых популярных программ в среде Х. На первый взгляд текстовое...)

Комментарии:

Re: Консольные команды (Фрагмент Rute Users Tutorial). (Оценка: 0)
от Anonymous на 14.01.03
Необходимо исправить команду "soft" на "sort", а
то ведь будут "софтировать" файлы.


LinuxBegin.ru © 2003-2004 Valery V. Kachurov | Условия использования материалов | О проекте