Терминал в Linux является более эффективным и быстрым инструментом, потому что вы можете напрямую обращаться к файлам с помощью нескольких команд, а также выборочно редактировать и изменять их с помощью регулярных выражений (regex). Вы также можете запустить несколько команд одновременно и перенаправить вывод в файл. Это экономит время и очень удобно, когда мы хотим редактировать много файлов одновременно.

Создание, перемещение и копирование

Для начала рассмотрим как создавать, переименовывать, перемещать, копировать и удалять файлы/папки. Во-первых, давайте создадим пустой файл и каталог. Мы можем использовать touch для создания пустого файла и mkdir для создания каталога.

┌──(k1ber㉿kali)-[~]
└─$ touch test.txt

┌──(k1ber㉿kali)-[~]
└─$ mkdir testFolder

┌──(k1ber㉿kali)-[~]
└─$ ls
Desktop  Documents  Downloads  testFolder  test.txt

Мы можем захотеть иметь определенные каталоги в каталоге, и поочерёдное создание каждой папки может забрать много времени. Команда mkdir имеет параметр, помеченный -p для добавления родительских каталогов. Мы можем посмотреть на всю структуру после создания родительских каталогов с помощью tree

┌──(k1ber㉿kali)-[~]
└─$ mkdir -p Parent/test/folder

┌──(k1ber㉿kali)-[~]
└─$ tree .
.
├── Desktop
├── Documents
├── Downloads
├── Parent
│   └── test
│       └── folder
├── testFolder
└── test.txt

8 directories, 1 file

С помощью команды mv мы можем перемещать, а также переименовывать файлы и каталоги. Синтаксис для этого выглядит следующим образом:

┌──(k1ber㉿kali)-[~]
└─$ mv <файл/папка> <переименованный файл/папка>

Переименуем test.txt в info.txt:

┌──(k1ber㉿kali)-[~]
└─$ mv test.txt info.txt

┌──(k1ber㉿kali)-[~]
└─$ ls
Desktop  Documents  Downloads  info.txt  Parent  testFolder

Передвинем файл info.txt в папку Parent:

┌──(k1ber㉿kali)-[~]
└─$ mv info.txt Parent/

┌──(k1ber㉿kali)-[~]
└─$ tree .
.
├── Desktop
├── Documents
├── Downloads
├── Parent
│   ├── info.txt
│   └── test
│       └── folder
└── testFolder

8 directories, 1 file

Для копирования файлов/папок используется команда cp . Если папка для копирования не пустая, используйте параметр -r для рекурсивного копирования.

┌──(k1ber㉿kali)-[~]
└─$ cp -r Parent/ ParentTwo/

┌──(k1ber㉿kali)-[~]
└─$ tree .
.
├── Desktop
├── Documents
├── Downloads
├── Parent
│   ├── info.txt
│   └── test
│       └── folder
├── ParentTwo
│   ├── info.txt
│   └── test
│       └── folder
└── testFolder

11 directories, 2 files