Работа с файлами в приглашении оболочки

В графических файловых менеджерах работать с файлами довольно просто . Вы можете те же выполнять действия с ними в командной строке, и часто даже быстрее. В этом разделе объясняется как.

Копирование файлов

Как и многие другие возможности Linux, манипулирование файлами и каталогами может выполняться самыми разными способами. Вы можете также применять подстановочные знаки при копировании, перемещении или удалении файлов и каталогов.

Чтобы скопировать файл выполните следующую команду:

cp <source> <destination>

Чтобы скопировать файл sneakers.txt в подкаталог tigger вашего домашнего каталога, перейдите в ваш домашний каталог и введите:

cp sneakers.txt tigger

Обратите внимание, для копирования файла вы использовали относительные пути. С командой cp вы можете использовать и относительные и абсолютные пути. Ваш домашний каталог является родительским по отношению к tigger; tigger подкаталог, расположенный на один уровень ниже вашего домашнего каталога.

Познакомтесь на странице man, посвященной cp (man cp) с полным списком параметров команды cp. Среди многих параметров команды cp есть следующие:

Если вы вызываете cp без указания параметров, вы не увидите как выполняется команда. Используя параметры, например -i, вы можете сделать копирование более удобным. Если вы хотите скопировать файл в каталог, уже содержащий файл с таким же именем, вам будет предложено заменить (или переписать) уже существующий файл.

Если файл sneakers.txt уже есть в каталоге tigger, выполните команду cp -i чтобы скопировать файл в то же размещение.

[newuser@localhost newuser]$ 
cp -i sneakers.txt tigger
cp: overwrite 'tigger/sneakers.txt'?

Чтобы перезаписать уже существующий файл, нажмите клавишу [Y] а затем [Enter]. Если вы не хотите перезаписывать файл, нажмите [N] и [Enter].

Перемещение файлов

Чтобы переместить файлы воспользуйтесь командой mv. Она похожа на команду cp, за исключением того, что команда mv физически перемещает файл из одного места в другой, а не дублирует его как cp. Чтобы узнать больше о команде mv, обратитесь к странице руководства mv (введите man mv).

Стандартные параметры mv включают в себя следующие:

Если вы хотите переместить файл из своего домашнего каталога в другой каталог, выполните следующую команду (вам необходимо находиться в вашем домашнем каталоге):

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. Параметры удаления файлов и каталогов включают в себя:

Чтобы удалить файл 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

Параметры удаления файлов и каталогов включают в себя:

Вы можете удалить каталог с помощью rmdir (например, rmdir foo), но только если этот каталог пуст. Чтобы удалить каталоги с помощью rm, вы должны указать параметр -r.

Например, если вы хотите рекурсивно удалить каталог tigger вы должны выполнить:

rm -r tigger

Если вы хотите скомбинировать параметры, например, выполнить принудительное удаление вложенных каталогов, вы можете ввести:

rm -rf tigger

ВниманиеБудьте осторожны, используя rm!
 

Команда rm может удалить всю вашу файловую систему! Если вы зарегистрируетесь под именем root и выполните простую команду rm -rf /, вы попадёте в беду; эта команда рекурсивно удалит всё в вашей системе.

Более безопасной заменой команде rm при удалении каталогов может стать команда rmdir. Эта команда не выполняет рекурсивное удаление, поэтому каталог содержащий файлы не будет удалён.

Прочитайте страницу rmdir руководства (man rmdir) чтобы получить дополнительные сведения об этой команде.