Команды управления файлами и папками в Linux

Список полезные команд для управления папками в Linux системах. Рекомендации подходят в том числе и для операционной системы Mac OS.

Команды Linux для навигации в терминале

  1. &&. Строго говоря, это не команда. Если вы хотите выполнить сразу несколько команд, поставьте между ними двойной амперсанд вот так: первая_команда && вторая_команда. Терминал выполнит команды по порядку. Вы можете ввести столько команд, сколько захотите.
  2. alias. Присваивает созданные вами названия длинным командам, которые вы не можете запомнить. Введите alias длинная_команда короткая_команда.
  3. cd. Изменяет текущую терминальную папку. Когда вы запускаете терминал, он использует вашу домашнюю папку. Введите cd адрес_папки, и терминал будет работать с файлами, которые там находятся.
  4. clear. Очищает окно терминала от всех сообщений.
  5. history. Отображает все недавно введённые вами команды. Кроме того, вы можете переключаться между недавними командами с помощью клавиш «Вверх» и «Вниз». Если вы не хотите, чтобы введённая вами команда была записана, поставьте перед ней пробел так: ваша_команда.
  6. man. Отображает руководство по программам и командам Linux. Введите man имя_пакетаили man ваша_команда.
  7. whatis. Отображает краткое описание какой-либо программы. Введите команду и название программы whatis имя_пакета.
Команды Linux для навигации в терминале

АТРИБУТ НЕИЗМЕНЯЕМЫЙ

Для того чтобы сделать файл неизменяемым вы установить атрибут неизменяемый. Например защитим от записи файл /etc/passwd:

 sudo chattr +i /etc/passwd

Заметьте, нужно иметь права суперпользователя для установки и удаления атрибутов. Теперь проверим установился ли атрибут:

Читайте также:  Выпуск свободного антивирусного пакета ClamAV 0.100

 lsattr /etc/passwd

Теперь файл неизменяемый, и ни один пользователь не сможет его изменить. И более того, даже суперпользователь не сможет модифицировать, перезаписать или удалить этот файл. Перед тем как что либо делать с этим файлом нужно отключить атрибут.

АТРИБУТ НЕИЗМЕНЯЕМЫЙ

Для отключения неизменяемости используйте следующую команду:

 sudo chattr -i /etc/passwd

Если вы хотите сделать все файлы в каталоге неизменяемыми используйте опцию -R:

 sudo chattr -R +i /etc

АТРИБУТ НЕИЗМЕНЯЕМЫЙ

Для того чтобы сделать файл неизменяемым вы установить атрибут неизменяемый. Например защитим от записи файл /etc/passwd:

 sudo chattr +i /etc/passwd

Заметьте, нужно иметь права суперпользователя для установки и удаления атрибутов. Теперь проверим установился ли атрибут:

 lsattr /etc/passwd

Теперь файл неизменяемый, и ни один пользователь не сможет его изменить. И более того, даже суперпользователь не сможет модифицировать, перезаписать или удалить этот файл. Перед тем как что либо делать с этим файлом нужно отключить атрибут.

АТРИБУТ НЕИЗМЕНЯЕМЫЙ

Для отключения неизменяемости используйте следующую команду:

 sudo chattr -i /etc/passwd

Если вы хотите сделать все файлы в каталоге неизменяемыми используйте опцию -R:

 sudo chattr -R +i /etc

Удаление файлов и папок

Обычное удаление файла:

rm /etc/

Если с помощью обычного rm попробовать удалить папку в которой находятся файлы, появится ошибка. Для удаление папок используем другую команду:

rmdir backup

Добавляем атрибут -p для удаление пустых папок по всему пути. Будут удалены все три папки указанные ниже, если они не содержат файлов:

rmdir -p backup/one/two

Ошибка папки при удалении в Linux

Иногда при удалении папки в Linux пишется ошибка:

rmdir: не удалось удалить «название_папки»: Нет такого файла или каталога

При этом зайти в неё тоже не удаётся, пишется ровно противоположное:

Читайте также:  WSL: что такое и как использовать подсистему Windows для Linux

-bash: cd: /название_папки: Нет такого файла или каталога

Также встречаются ошибки:

rm: невозможно удалить «/home/admin/web/public_html»: Это каталогrmdir: не удалось удалить «/home/admin/web/public_html»: Каталог не пуст

Удалить эту капризную папку (без предупреждений) поможет следующая команда:

rm -rf backup

или так:

rm -rf /home/admin/web/public_html

где -r – команда пройтись по всем папкам и файлам и попытаться удалить каждую из них -f – удалить без подтверждения

Удалить всё внутри папки

Зайти внутрь папки:

cd folder

Удалить все в этой папке:

sudo rm -rf ./*

Удаление файлов из директории Linux без удаления самой папки

Удаляем всё содержимое из папки files, которая находится по этому пути – /home/user/files/. Специальные ключи в команде ускоряют удаление содержимого с минимальной нагрузкой на сервер.

find /home/user/files/ -mindepth 1 -a -print0 | xargs -n 100 -0 rm -rf

Удалить все файлы кроме одного конкретного файла

rm -v !("")

Удалит все файлы, кроме одного. Эта команда не удаляет папки.

Мониторинг и отладка

  • отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных) top
  • отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды) ps -eafw
  • вывести PID’ы и процессы в виде дерева ps -e -o pid,args —forest
  • отобразить дерево процессов pstree
  • «убить» процесс с PID 98989 «на смерть» (без соблюдения целостности данных) kill -9 98989 или killKILL 98989
  • корректно завершить процесс с PID 98989 kill -TERM 98989
  • заставить процесс с PID 98989 перепрочитать файл конфигурации kill -1 98989 или kill -HUP 98989
  • отобразить список файлов, открытых процессом с PID 98989 lsof -p 98989
  • отобразить список открытых файлов из директории /home/user1 lsof /home/user1
  • вывести список системных вызовов, созданных и полученных процессом ls strace -c ls >/dev/null
  • вывести вызовы библиотек strace -f -e open ls >/dev/null
  • отображать прерывания в режиме реального времени watch -n1 ‘cat /proc/interrupts’
  • отобразить историю перезагрузок системы last reboot
  • отобразить историю регистрации пользователя user1 в системе и время его нахождения в ней last user1
  • вывести загруженные модули ядра lsmod
  • показать состояние оперативной памяти в мегабайтах free -m
  • контроль состояния жёсткого диска /dev/hda через SMART smartctl -A /dev/hda
  • проверить доступность SMART на жёстком диске /dev/hda smartctl -i /dev/hda
  • вывести десять последних записей из журнала загрузки ядра tail /var/log/dmesg
  • вывести десять последних записей из системного журнала tail /var/log/messages