Использование Slackware Linux
Практически любая оболочка позволяет использовать некоторые символы, подразумевая, ”здесь может быть всЈ что угодно”. Такие символы называются ”wildcards”; наиболее распространЈнные из них это ”*” и ”?”. По соглашению, ”?” обычно заменяет любой отдельный символ. Например, допустим у вас в каталоге есть файлы: example1.txt, example2.txt и example3.txt. Вы хотите скопировать все эти файлы (при помощи cp программы, которую мы опишем в разделе 5.3 в другой каталог, скажем /tmp. Набирать cp example1.txt example2.txt example3.txt /tmp потребует слишком много усилий по печатанию всего этого текста. Гораздо проще написать cp example?.txt /tmp; ”?” будет заменЈн на все встретившиеся символы ”1”, ”2” и ”3”.
Что вы говорите? ВсЈ равно слишком много надо печатать? Вы правы. Это ужасно; ведь у нас есть закон о труде, который защищает нас от таких ситуаций. Но к счастью, у нас в арсенале так же есть ”*”. Как уже упоминалось выше, ”*” заменяет любое число символов, включая их отсутствие. Так что в случае, если кроме упомянутых выше файлов в каталоге ничего нет, мы можем просто сказать cp * /tmp и убьЈм их все одним выстрелом. Предположим теперь, что в том же каталоге есть файлы example.txt и hejaz.txt. И мы хотим скопировать фалы example, но не hejaz.txt; cp example*.txt /tmp сделает это для нас.
cp example?.txt /tmp, конечно, скопирует только наши первые три файла; в файле example.txt нет символа, подходящего под ”?”, так что этот файл будет оставлен в покое.
Пере-направление ввода/вывода и piping
(Что-то очень интересное здесь.)
$ ps > blargh
Знаете, что это такое? Это я выполняю ps, чтобы посмотреть какие процессы сейчас выполняются; ps описана в разделе 5.4. Это не самая интересная часть. Интересная часть вот тут > blargh, что грубо означает, ” возьми вывод ps и запиши его в файл, называющийся blargh”. Но подождите, будет ещЈ интереснее.
$ ps | less
Эта команда берЈт вывод ps и ”pipes” (прокачивает) его через less, таким образом, я могу пролистывать его как захочу.
$ ps >> blargh
Это третий из наиболее используемых redirector-ов (пере-направителей); он делает то же, что и ” > ”, только ” >> ” добавит вывод ps к файлу blargh, если этот файл существует. А если такого файла нет, то сработает просто как ” > ”, и создаст файл.
(” > ” в любом случае полностью перепишет содержимое blargh.) Есть так же и оператор ” < ”, который означает ”возьмите ввод из следующего источника”, но он не так часто используется.
$ fromdos < dosfile.txt > unixfile.txt
Пере-направление становится действительно забавным, когда вы объединяете операторы:
$ ps | tac >> blargh