Red Hat Linux 7.2: Официальное руководство по основам работы с Red Hat Linux | ||
---|---|---|
Назад | Глава 11. Управление файлами и каталогами | Вперед |
В графических файловых менеджерах работать с файлами довольно просто . Вы можете те же выполнять действия с ними в командной строке, и часто даже быстрее. В этом разделе объясняется как.
Как и многие другие возможности Linux, манипулирование файлами и каталогами может выполняться самыми разными способами. Вы можете также применять подстановочные знаки при копировании, перемещении или удалении файлов и каталогов.
Чтобы скопировать файл выполните следующую команду:
cp <source> <destination> |
Чтобы скопировать файл sneakers.txt в подкаталог tigger вашего домашнего каталога, перейдите в ваш домашний каталог и введите:
cp sneakers.txt tigger |
Обратите внимание, для копирования файла вы использовали относительные пути. С командой cp вы можете использовать и относительные и абсолютные пути. Ваш домашний каталог является родительским по отношению к tigger; tigger подкаталог, расположенный на один уровень ниже вашего домашнего каталога.
Познакомтесь на странице man, посвященной cp (man cp) с полным списком параметров команды cp. Среди многих параметров команды cp есть следующие:
-i — интерактивно. Запрашивает у вас подтверждение на перезапись файла-назначения. Это параметр полезен, так как помогает вам предотвратить возможные ошибки.
-r — рекурсивно. Вместо копирования только файлов и каталогов, будет скопировано всё дерево каталога - подкаталоги и файлы в них.
-v — verbose (подробно). показывает процесс копирования файлов.
Если вы вызываете cp без указания параметров, вы не увидите как выполняется команда. Используя параметры, например -i, вы можете сделать копирование более удобным. Если вы хотите скопировать файл в каталог, уже содержащий файл с таким же именем, вам будет предложено заменить (или переписать) уже существующий файл.
Если файл sneakers.txt уже есть в каталоге tigger, выполните команду cp -i чтобы скопировать файл в то же размещение.
[newuser@localhost newuser]$ cp -i sneakers.txt tigger cp: overwrite 'tigger/sneakers.txt'? |
Чтобы перезаписать уже существующий файл, нажмите клавишу
Чтобы переместить файлы воспользуйтесь командой mv. Она похожа на команду cp, за исключением того, что команда mv физически перемещает файл из одного места в другой, а не дублирует его как cp. Чтобы узнать больше о команде mv, обратитесь к странице руководства mv (введите man mv).
Стандартные параметры mv включают в себя следующие:
-i — интерактивно. В случае, если файл с таким именем уже существует в каталоге назначения, вам будет предложено перезаписать его. Это хороший параметр, также как и -i у команды cp, вам будет дана возможность подтвердить замену существующего файла.
-f — force (принудительный режим). Перекрывает действие интерактивного режима и замещает файлы без приглашения. Если вы не абсолютно уверены, в том что вы делаете, этот параметр может быть опасен; будьте осторожны при его использовании, по крайней мере до тех пор, пока вы не познакомитесь с системой получше.
-v — подробно (verbose). Показывает список перемещаемых файлов.
Если вы хотите переместить файл из своего домашнего каталога в другой каталог, выполните следующую команду (вам необходимо находиться в вашем домашнем каталоге):
mv sneakers.txt tigger |
Вы можете выполнить ту же команду, используя абсолютные пути, например так: mv sneakers.txt /home/newuser /home/newuser/tigger.
В действительности вы уже частично узнали о переименовании, потому что перемещая или копирую файлы, вы также можете переименовывать их.
Чтобы скопировать файл sneakers.txt из вашего домашнего каталога в подкаталог tigger, просто введите:
cp sneakers.txt tigger |
Чтобы скопировать и переименовать файл из sneakers.txt в piglet.txt введите:
cp sneakers.txt tigger/piglet.txt |
Чтобы переместить и переименовать файл, просто подставьте в приведенном выше примере mv вместо cp.
Если вы с помощью cd смените каталог на tigger и затем выполните команду ls, вы увидите здесь файл piglet.txt.
Если вы хотите просто переименовать файл и оставить его в том же каталоге, просто выполните команду mv в вашем текущем каталоге:
mv sneakers.txt piglet.txt |
Вы узнали, как создавать файлы с помощью команды touch и перенаправления в Главе 10 . А также вы создавали каталог tigger с помощью mkdir.
Теперь вы должны научиться удалять файлы и каталоги. Удаление файлов и каталогов с помощью команды rm довольно прямолинейный процесс. За дополнительной информацией обратитесь к странице руководства по команде rm. Параметры удаления файлов и каталогов включают в себя:
-i — интерактивно. Запрашивает у вас подтверждение на удаление. Этот параметр поможет вам вовремя остановиться и не удалить файл по ошибке.
-f — force (принудительный режим). Перекрывает действие интерактивного режима и удаляет файла без подтверждения. Это может быть не очень разумно, если вы не абсолютно уверены в том, что вы делаете.
-v — подробно (verbose). Показывает список удаляемых файлов.
-r — рекурсивно. Будет удален каталог и все (если они есть) файлы и подкаталоги, содержащиеся в нём.
Чтобы удалить файл piglet.txt в каталоге tigger с помощью команды rm:
rm piglet.txt |
Что можно сделать, если вам не нужно было удалять его? Слишком поздно! Вот когда полезен параметр -i (интерактивно), так как он даёт вам вторую возможность подумать о том, действительно ли вы хотите удалить этот файл.
[newuser@localhost newuser]$ rm -i piglet.txt rm: remove 'piglet.txt'? |
Вы можете также использовать подстановочный знак *, но будьте при этом осторожны, потому что вы можете не нарочно удалить нужные файлы.
Чтобы удалить файл, использую подстановочный знак *, введите:
rm pig* |
Приведённая выше команда удалит все файлы в каталоге, имена которых начинаются с "pig".
Вы также можете удалить одной командой несколько файлов:
rm piglet.txt sneakers.txt |
Параметры удаления файлов и каталогов включают в себя:
-i — интерактивно. Запрашивает у вас подтверждение на удаление. Этот параметр поможет вам вовремя остановиться и не удалить файл по ошибке. .
-f — force (принудительный режим). Перекрывает действие интерактивного режима и удаляет файла без подтверждения. Это может быть не очень разумно, если вы не абсолютно уверены в том, что вы делаете.
-v — подробно (verbose). Показывает список удаляемых файлов.
-r — рекурсивно. Будет удален каталог и все (если они есть) файлы и подкаталоги, содержащиеся в нём.
Вы можете удалить каталог с помощью rmdir (например, rmdir foo), но только если этот каталог пуст. Чтобы удалить каталоги с помощью rm, вы должны указать параметр -r.
Например, если вы хотите рекурсивно удалить каталог tigger вы должны выполнить:
rm -r tigger |
Если вы хотите скомбинировать параметры, например, выполнить принудительное удаление вложенных каталогов, вы можете ввести:
rm -rf tigger |
Будьте осторожны, используя rm! | |
---|---|
Команда rm может удалить всю вашу файловую систему! Если вы зарегистрируетесь под именем root и выполните простую команду rm -rf /, вы попадёте в беду; эта команда рекурсивно удалит всё в вашей системе. |
Более безопасной заменой команде rm при удалении каталогов может стать команда rmdir. Эта команда не выполняет рекурсивное удаление, поэтому каталог содержащий файлы не будет удалён.
Прочитайте страницу rmdir руководства (man rmdir) чтобы получить дополнительные сведения об этой команде.