Несколько основных команд 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.
Комментарии
10 лет 32 недели назад
10 лет 33 недели назад
10 лет 33 недели назад
10 лет 33 недели назад
10 лет 35 недель назад
10 лет 35 недель назад
10 лет 35 недель назад
10 лет 45 недель назад
10 лет 45 недель назад
10 лет 46 недель назад