Терминал в 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