Работа с файловой системой, или что где лежит в Ubuntu/Debian [Для самых маленьких]

Работая в терминале очень часто приходится работать с файловой системой. В этой статье мы узнаем с помощью каких утилит можно работать с файловой системой и в какой папке что лежит.

Работаем с файловой системой

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

  1. pwd — показывает директорию в которой вы находитесь;
  2. ls — выводит список папок и файлов в текущей директории, так же можно посмотреть список файлов и папок в любой директории просто указав путь к ней — ls /путь/к/папке. По умолчанию список выводится в некрасивом виде, для изменения вида списка необходимо указать аргумент -l — ls -l /путь/к/папке;
  3. cat — выводит содержимое файла, например cat /путь/к/файлу;
  4. cd — переходит в указанную папку, например cd /путь/к/папке;
  5. cp — копирует файл/папку, например cp -R /что/скопировать /куда/скопировать;
  6. mv — перемещает файл/папку, например mv /что/переместить /куда/переместить;
  7. rm — удаляет файл/папку, например rm -r /путь/к/файлу_или_папке;
  8. du — считает размер директории, например du -hc /путь/к/папке;
  9. mkdir — создаёт директорию, например mkdir /путь/к/папке;
  10. touch — создаёт файл, например touch /путь/к/файлу.

Небольшие уловки:

  • Чтоб вернуться в предыдущую директорию, необходимо выполнить cd -;
  • Чтобы перейти на одну директорию вверх, необходимо выполнить cd …;
  • Чтобы перейти в домашнюю директорию, необходимо выполнить cd ~;
  • Чтобы создать папку внутри еще не существующей директории, необходимо выполнить mkdir -p /несуществующая_папка/папка_которую_нужно_создать;
  • ls по умолчанию не показывает скрытые файлы и папки, чтобы он их отобразил необходимо добавить аргумент -a — ls -l -a /путь/к/папке;

Что где лежит и зачем оно там?

… если оно там лежит, значит так и должно быть, не трожь это!

Иерархия файловой система в *nix‐системах кардинально отличается от оной в MS Windows. В ней нету так называемых дисков (A:, C:, D:…), для сравнения, иерархия файловой системы в *nix можно представить как иерархию диска C: в MS Windows.

  • / — корень файловой системы, внутри него располагается всё;
  • /bin, /sbin, /usr/bin — тут располагаются различные исполняемые файлы (программы);
  • /boot — тут располагается ядро linux, и загрузчик (grub, lilo, и т.д.);
  • /dev — тут находятся все физические и виртуальные устройства (диски, клавиатуры, видео- и аудио‐карты, и т.д.);
  • /etc — тут находятся различные файлы настроек различных системных программ, демонов;
  • /home — тут располагаются домашние директории пользователей;
  • /lib — тут находятся модули ядра linux, и тут лучше ничего не трогать :);
  • /media — тут располагаются все примонтированные оптические диски (а так же и флэшки, жёсткие диски);
  • /mnt — тут должны находиться примонтированные жёсткие диски и флешки, но зачастую они оказываются в /media;
  • /opt — тут находятся установленные проприетарные приложения и библиотеки;
  • /proc, /sys — системные директории с виртуальной файловой системой, хранят в себе информацию о системе, ядре, и прочей ерунде;
  • /root — домашняя директория пользователя root;
  • /usr — тут хранятся установленные программы, их ресурсы и библиотеки;
  • /usr/lib, /usr/lib32 — хранят в себе различные библиотеки;
  • /usr/include — хранят в себе заголовочные файлы различных библиотек, которые используются при разработке ПО;
  • /usr/local — имеет такую же структуру как и /usr, только хранит в себе вручную собранные и установленные приложения и библиотеки;
  • /usr/share — тут находятся различные ресурсы библиотек и приложений (изображения, звуки, шрифты, документация)
  • /var — директория в которой хранятся логи, файлы данных различных системных приложений (например базы данных mysql), сокет‐файлы;
  • /tmp — директория для хранения временных файлов, очищается при перезагрузке системы;
  • . — текущая директория;
  •  — директория на один уровень выше текущей.

Более подробную информацию о иерархии файловой системы можно почитать в man hier.

Заключение

Если вы не уверенны в том, что некий файл/папку можно изменить/удалить без последствий, то лучше этого не делайте. Как говорится, «работает не трожь! ».

И как всегда, я не несу никакой ответственности за то, что вы возможно натворите в своей системе. Если вы удалите что нибудь и у вас после этого система не загрузится — не пишите мне о том, что я в этом виноват :).

P.S. Подробную информацию по каждой команде можно посмотреть с помощью man <название_команды>

comments powered by Disqus