Основные команды для Linux

Майор

Администратор
Команда форума
Регистрация
04.09.14
Сообщения
2.805
Реакции
1.923
Баллы
113
Как перенести / скопировать файл
Допустим, у нас в директории /opt/app/log находится app.log, который мы хотим сохранить в другом месте. Как перенести лог в нужное место, если нет графического интерфейса, только командная строка?

Скопировать файл
Bash:
cp что_копировать куда_копировать
Если мы находимся в директории /opt/app/log:
Bash:
cp app.log /home/olga
В данном примере мы использовали относительный путь для «что копировать» — мы уже находимся рядом с логом, поэтому просто берем его. А для «куда копировать» используем абсолютный путь — копируем в /home/olga.

Можно сразу переименовать файл:
Bash:
cp app.log /home/olga/app_test_2020_03_08.log
В этом случае мы взяли app.log и поместили его в папку /home/olga, переименовав при этом в app_test_2020_03_08.log. А то мало ли, сколько логов у вас в этом папке уже лежит, чтобы различать их, можно давать файлу более говорящее имя.

Если в «куда копировать» файл с таким именем уже есть, система не будет ничего спрашивать, просто перезапишет его.
 

Майор

Администратор
Команда форума
Регистрация
04.09.14
Сообщения
2.805
Реакции
1.923
Баллы
113
Скопировать директорию

Команда остается та же, «cp», только используется ключ R — «копировать папку рекурсивно»:
Bash:
cp -r путь_к_папке путь_к_новому_месту
Например:
Bash:
cp /opt/app/log /home/olga
Так в директории /home/olga появится папка «log».


Переместить файл

Если надо переместить файл, а не скопировать его, то вместо cp (copy) используем mv (move).
Bash:
cp app.log /home/olga
↓
mv app.log /home/olga
Можно использовать относительные и абсолютные пути:
Bash:
mv /opt/app/logs/app.log /home/olga — абсолютные пути указаны, команда сработает из любого места
Можно сразу переименовать файл:
Bash:
mv app.log /home/olga/app_2020_03_08.log — перенесли лог в /home/olga и переименовали
Переместить директорию

Аналогично перемещению файла, команда mv
Bash:
mv /opt/app/log/ /home/olga/bakup/
 

Майор

Администратор
Команда форума
Регистрация
04.09.14
Сообщения
2.805
Реакции
1.923
Баллы
113
Как удалить файл

С помощью команды rm (remove):
Bash:
rm test.txt — удалит файл test.txt
Если нужно удалить все файлы в текущей директории (скажем, вычищаем старые логи перед переустановкой приложения), используйте «*»:
Bash:
rm * — удалит все файлы в текущей директории
Если нужно удалить папку, надо добавить флаг -r (recursive):
Bash:
rm -r test_folder
Если вы пытаетесь удалить файлы, которые уже используются в программе или доступны только для чтения, система будет переспрашивать:
v3ziyjvzslyu5doqy0t8nmxxajo.png


А теперь представьте, что вы чистите много файлов. И на каждый система переспрашивает, и надо постоянно отвечать «да, да, да...» (y – enter, y – enter, y – enter)… Чтобы удалить все без вопросов, используйте флаг -f (force):
Bash:
rm -rf test_folder --- просто все удалит без разговоров
Но учтите, что это довольно опасная команда! Вот так надоест подтверждать удаление и введешь «-rf», а директорию неправильно укажешь… Ну и все, прости-прощай нужные файлы. Аккуратнее с этой командой, особенно если у вас есть root-полномочия!

Опция -v показывает имена удаляемых файлов:
Bash:
rm -rfv test_folder --- удалит папку со всем содержимым, но выведет имена удаляемых файлов
kx_khxmcvbrxsrljkauwllaxita.png
 
Сверху Снизу