Приемы профессиональной работы в UNIX


ОПИСАНИЕ


Зачем нам нужен can?

По большому счету система UNIX, при всем ее великолепии, является просто структурой для накопления и манипулирования данными в файлах. Как мы отмечали раньше, эта система включает сотни файлов. Некоторые файлы вы желаете хранить неопределенно долго, в то время как другие отслужили свое и создают беспорядок на диске. К несчастью, легко выбросить то, что в действительности вы хотели сохранить. Команду rm совершенно не украшает то, что она является печью для сжигания мусора: бросьте что-нибудь в нее и оно пропадет (если только вы не имеете копии, а восстановление копии - это трудоемкая работа). Вот несколько классических примеров неверного применения команды rm:

rm * /tmp <-- Удалить все файлы в каталоге /tmp

Мы хотели сказать rm /tmp/*, а на самом деле произошло сначала удаление всех файлов в текущем каталоге, а затем попытка удалить /tmp. Последнее будет безуспешным, поскольку tmp - это каталог. В результате мы удалили все, что хотели сохранить, и сохранили все, что хотели удалить! Этот синтаксис похож на другие операторы UNIX, вроде "grep *file": противная ошибка.

rm -rf / tmp <-- Удалить каталог tmp со всеми файлами

Мы хотели сказать rm -rf /tmp, но нечаянно вставили пробел в команду. На самом деле удалятся ВСЕ файлы во всей системе (если мы дадим команде выполняться достаточно долго), потому что мы сказали UNIX удалить корневой каталог и всех его потомков! Вы должны быть внимательны с командой rm. Если покажется, что что-то не так, удалите эту команду. Она может погубить вас.

Одна такая ошибка может испортить вам целый день. После того, как это случится, вы станете осторожным на некоторое время, потом внимание ослабнет. Если вы не будете бдительным, ошибки вернутся, чтобы преследовать вас.

Для нас "мусорная корзина" более желательна, чем печь для сжигания "мусора". Используя этот путь, вы можете вернуться и восстановить то, что вы выбросили по ошибке. Вы также хотели бы контролировать, когда появится мусоро сборщик, захватит и окончательно удалит "мусор". Вы можете периодически просматривать содержимое "мусорной корзины", а затем очищать корзину, когда вы уверены, что вы не хотите ничего в ней сохранять. Нельзя допускать, чтобы корзина была слишком заполнена, потому что она занимает дисковое пространство.

Что делает can?

Командный файл can предназначен для управления "мусорной корзиной"ваших файлов. Используя утилиту, вы можете свести к минимуму случайныепотери во время работы и даже впоследствии восстанавливать файлы принеобходимости.

Can не только помещает ваши файлы в "мусорную корзину", но и показывает вам, что в ней в настоящее время находится и очищает ее, когда вы этого хотите.

Can распознает только ключи -l и -r. Ключ -l показывает, что находится в "мусорной корзине", а -r удаляет все ее содержимое. Запомните, что если вы что-то удалили из "мусорной корзины", вы не сможете его восстановить.

Процесс помещения файлов в "мусорную корзину" выполняется командой mv. Ключи, предназначенные для can, должны быть первым аргументам в командной строке. Если вы желаете передать ключи команде mv, то их можно поместить в любом месте командной строки. Единственные ключи, дающие синтаксическую подсказку, - это -z и -?. Их предназначение - быть флагами только для обработки ошибок. Благодаря наличию специальных флагов обработки ошибок, выдающих справочную (help) информацию, ключи команды mv, как и ключи can, можно помещать первыми в командной строке, не оказывая влияния на can. Если вы создаете ваши командные файлы так, чтобы эти ключи всегда выдавали информацию об использовании (т.е. никогда небыли "настоящими" ключами), то вы имеете хороший способ получения помощи по синтаксису. Многие (но, увы, не все) стандартные команды UNIX дают по ключам -z или -? подсказку об использовании и это полезно помнить всякий раз, когда вы попали в тупик.

Если can не получает никаких ключей, действие по умолчанию заключается в пересылке всех указанных файлов в "мусорную корзину", размещенную в вашем регистрационном каталоге под именем $HOME/.trashcan. Если этот каталог отсутствует, он автоматически создается при первом выполнении командного файла can. Это позволяет вам запускать команду, не указывая специального положения "корзины". Если вы применяете ключ-r, файлы в "мусорной корзине" будут удалены, а сама она нет.




Начало  Назад  Вперед



Книжный магазин