BASH Programming - Введение

       

Некоторые вещи, которые вы не могли делать


Linux может выполнять ужасно много вещей, которые были громоздкими, трудными или невозможными в DOS/Windows. Вот короткий список вещей, которые могут возбудит ваш аппетит:

  • at позволяет вам запускать программы в указанное время;
  • awk-- это простой, но мощный язык для манипулирования файлами данных (и не только). Например, допустим, что data.dat -- это ваш файл с множеством полей данных,

    $ awk '$2 ~ "abc" \{print $1, "\\t", $4\}' data.dat

    напечатает поля 1 и 4 из каждой строки файла data.dat, второе поле которой содержит ``abc''.

  • cron полезен для выполнения периодических задач, в указанное время и дату. Наберите man 5 crontab.
  • file <filename> скажет вам, чем является filename (ASCII текст, исполнимый файл, архив и т.п.);
  • find (смотрите также раздел )---это одна из наиболее мощных и полезных команд. Она используется для поиска файлов, которые отвечают нескольким заданным критериям и для выполнения действий над этими файлами. В общем виде командная строка find выглядит так:

    $ find <каталог> <выражение>

    где <выражение> включает в себя критерии поиска и действия над найденными файлами. Примеры:

    $ find . -type l -exec ls -l \{\} \\;

    находит все файлы, которые является символьными ссылками, и показывает, на какие файлы они указывают.

    $ find / -name "*.old" -ok rm \{\} \\;



    находит все файлы, соответствующие заданному образцу, и удаляет их, сначала спрашивая у вас разрешение.

    $ find . -perm +111

    находит все файлы, чьи права доступа соответствуют 111 (исполнимые).

    $ find . -user root

    находит все файлы, принадлежащие пользователю root. Здесь есть много возможностей---RMP.

  • grep находит заданный текст в файлах. Например,

    $ grep -l "geology" *.tex

    перечислит все файлы *.tex, в которых содержится слово ``geology''. Вариант этой программы под названием zgrep работает со сжатыми файлами. RMP;

  • регулярные выражения---являются сложным, но мощным способом выполнения операций поиска в тексте. Например, ^a[^a-m]X\{4,\}txt$


    соответствует строке, которая начинается на `a', за которым следует любой символ, за исключением входящих в интервал a-m, за которым следует 4 или больше символов `X', и заканчивается на `txt'. Вы можете использовать регулярные выражения в мощных редакторах, программе less, и многих других приложениях. Для введения в регулярные выражения прочитайте справочную страницу для grep.


  • команда script <script_file> выдаст вам на экран содержимое script_file, до тех пор пока вы не выполните команду exit. Полезно для отладки;


  • sudo позволяет пользователям выполнять некоторые обязанности администратора (например форматирование и монтирование дисков; RMP);


  • uname -a выдаст вам информацию о вашей системе;


  • zcat и zless полезны для просмотра и печати сжатых файл без их расжатия. Например:

    $ zless textfile.gz $ zcat textfile.gz | lpr

  • Следующие команды часто бывают полезны: bc, cal, chsh, cmp, cut, fmt, head, hexdump, nl, passwd, printf, sort, split, strings, tac, tail, tee, touch, uniq, w, wall, wc, whereis, write, xargs, znew. RMP.



  • Содержание раздела