Linux notes #3 — работа с директориями и файлами

Работать с файлами в Linux можно как в графическом интерфейсе с помощью файлового менеджера так и через командную строку.

Некоторые команды уже упоминались ранее, но не будет лишним их повторить. Для просмотра содержимого директора существует команда ls.

[sysadmin@almalinux ~]$ ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

Чтобы узнать местонахождение текущей директории необходимо ввести pwd

[sysadmin@almalinux ~]$ pwd
/home/sysadmin

Для просмотра содержимое другой директории

[sysadmin@almalinux ~]$ ls /etc/ssh
moduli  ssh_config  ssh_config.d  sshd_config  sshd_config.d  ssh_host_ecdsa_key  

Для того чтобы зайти в директорию нам нужна команда cd. Мы можем сразу перейти в нужную папку

cd /home/user/Downloads (вместо user - имя вашего пользователя)

cd / - отправит нас в корень - начало файловой системы

Небольшой лайфхак

Чтобы сразу попасть в домашнюю директорию пользователя, независимо от того, в какой папке вы сейчас находитесь, просто введите

cd ~

Для создания директории введите

mkdir folder

Данная команда создаст нам директорию с названием folder

Для создания сразу нескольких 

mkdir folder1 folder2 folder3

При создании есть ряд нюансов, например если вы хотите создать директорию с пробелом в названии (так делать в целом не рекомендуется) необходимо взять ее в кавычки 

mkdir “New Folder”

Соответственно чтобы попасть в нее необходимо ввести

cd “New Folder”
или
cd New\ Folder

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

Для создания вложенных директорий

mkdir -p folder1/folder2/folder3

Если ввести

ls -R folder

Мы увидим еще и содержимое поддиректорий находящихся внутри

Создать файл можно с помощью touch

touch config

Если вы используете к примеру nano, можно сделать так

nano config

С помощью touch как и в предыдущих командах можно создать сразу несколько файлов

touch config config1 config2

Можно немного “автоматизировать” создание и сделать сразу много файлов

touch file{1..20} - вместо цифр могли быть буквы

Для создания скрытого файла или директории перед названием необходима точка

touch .file
mkdir .folder

Для просмотра скрытых файлов и директорий

ls -a

Что скопировать файл необходимо после команды копирования указать имя оригинального файла и будущей копии

cp file NewFile

Для копирования в другую директорию необходимо указать путь

cp file folder/NewFile

Скрытые файлы копируются аналогичным образом

Если вам необходимо скопировать все файлы из директории нужно добавить *

cp folder/* folder1

Что самостоятельно решить какие файлы перезаписывать при копировании необходимо добавить -i

cp -i file* folder

Вам останется выбрать y или n (yes or no)

Для перемещения 

mv file folder - перемещение файла
mv folder1 folder2 - перемещение директории

Важный момент

Переименование осуществляется командой mv. По сути данный процесс состоит из создания жесткой ссылки с новым именем и удаления старой.

mv oldname newname
mv oldfolder newfolder

Для удаления файлов и директорий есть команда rm и rmdir

rm newfile
rmdir newfolder
rmdir folder2 folder3 - удаление нескольких директорий
rmdir -r folder - если в директории есть файлы
rm -r folder1 - удаление вложенных в папку папок
rm -r file1 file2 folder1 folder2 - удаление нескольких файлов и директорий

ВАЖНО!

Для удаления всех файлов и директорий в текущей директории

rm -r *

КОМАНДА С КОТОРОЙ НУЖНО БЫТЬ МАКСИМАЛЬНО ОСТОРОЖНЫМ, А ЛУЧШЕ НЕ ВВОДИТЬ НИКОГДА

Удаление абсолютно всего в корне

rm -rf /

Всегда внимательно читайте и проверяйте все, что вам советуют в комментариях