Linux и Bash

3.1 Создание файлов и каталогов

В Linux есть несколько способов создания файлов и каталогов. Рассмотрим основные команды.

mkdir — создание каталогов

mkdir documents              # создать каталог documents
mkdir -p projects/web        # создать вложенные каталоги
mkdir dir1 dir2 dir3         # создать несколько каталогов

touch — создание файлов


                        touch file.txt              # создать пустой файл
                        touch file1.txt file2.txt   # создать несколько файлов
                        touch -a file.txt           # обновить время доступа
                        touch -m file.txt           # обновить время модификации

Создание структуры каталогов


                        mkdir -p project/{src,doc,test}
                        # Создаст:
                        # project/
                        # ├── src/
                        # ├── doc/
                        # └── test/
Флаг -p создает родительские каталоги, если они не существуют, и не выдает ошибку, если каталог уже существует.

3.2 Копирование, перемещение, удаление

Основные операции с файлами и каталогами в Linux.

cp — копирование


                        cp file.txt backup.txt      # копировать файл
                        cp -r dir1 dir2             # копировать каталог рекурсивно
                        cp -v file.txt backup/      # копировать с выводом процесса
                        cp -u file.txt backup/      # копировать только если файл новее

mv — перемещение и переименование


                        mv file.txt documents/      # переместить файл
                        mv oldname.txt newname.txt  # переименовать файл
                        mv dir1 dir2                # переместить каталог
                        mv *.txt documents/         # переместить все .txt файлы

rm — удаление


                        rm file.txt                 # удалить файл
                        rm -r directory/            # удалить каталог рекурсивно
                        rm -f file.txt              # принудительное удаление
                        rm -rf directory/           # принудительное удаление каталога
Осторожно с rm -rf! Эта команда удаляет файлы безвозвратно. Всегда проверяйте путь перед выполнением.

rmdir — удаление пустых каталогов


                        rmdir empty_dir             # удалить пустой каталог
                        rmdir dir1 dir2 dir3        # удалить несколько пустых каталогов

3.3 Просмотр содержимого файлов

Различные способы просмотра содержимого файлов в Linux.

cat — вывод всего файла

cat file.txt                # показать весь файл
cat file1.txt file2.txt     # показать несколько файлов
cat -n file.txt             # показать с номерами строк

less и more — постраничный просмотр


less file.txt               # постраничный просмотр (рекомендуется)
more file.txt               # постраничный просмотр (старый)
Управление в less: Пробел - следующая страница, b - предыдущая страница, q - выход, / - поиск

head и tail — начало и конец файла


head file.txt               # первые 10 строк
head -n 20 file.txt         # первые 20 строк
tail file.txt               # последние 10 строк
tail -n 5 file.txt          # последние 5 строк
tail -f logfile.txt         # следить за изменениями в реальном времени

wc — подсчет строк, слов, символов


wc file.txt                 # строки, слова, символы
wc -l file.txt              # только строки
wc -w file.txt              # только слова
wc -c file.txt              # только символы

3.4 Текстовые редакторы

В Linux есть множество текстовых редакторов. Рассмотрим два самых популярных.

nano — простой редактор


nano file.txt               # открыть файл в nano
nano                        # создать новый файл

Основные команды nano

  • Ctrl+O — сохранить файл
  • Ctrl+X — выйти из редактора
  • Ctrl+W — поиск
  • Ctrl+K — вырезать строку
  • Ctrl+U — вставить

vim — мощный редактор


vim file.txt                # открыть файл в vim
vim                         # создать новый файл

Основы vim

Режимы vim:

  • Командный режим — по умолчанию, для навигации
  • Режим вставки — для редактирования текста
  • Режим командной строки — для сохранения и выхода

Основные команды vim

  • i — войти в режим вставки
  • Esc — вернуться в командный режим
  • :w — сохранить файл
  • :q — выйти из vim
  • :wq — сохранить и выйти
  • :q! — выйти без сохранения
Для начинающих рекомендуется начать с nano, так как он проще в использовании. vim более мощный, но требует изучения.