Линукс путь домашняя директория

Основы навигации в Linux

Первая команда, которую мы изучим — pwd , сокращение от Print Working Directory (выведи рабочую директорию). Вы скоро увидите, что множество команд в Linux — это аббревиатуры слов, описывающих их. Это помогает лучше их запомнить. Собственно, команда и выводит текущую рабочую директорию. Попробуйте использовать ее.

Правильное выполнение многих команд терминала зависит от того, в нужном ли месте вы находитесь. Почаще используйте эту команду, чтобы не забывать, в какой вы директории.

Как узнать содержимое директории

Мы научились определять, в какой директории мы находимся. Теперь давайте научимся узнавать содержимое директории. В этом нам поможет команда ls — сокращение от list (список). Давайте опробуем ее.

1. ls
2. bin Documents public_html

Команда pwd отрабатывает сама по себе, без аргументов. ls в этом плане посильнее. В случае выше мы запустили ее без аргументов — она выведет список содержимого данной директории. Но от ls можно получить больше — ниже дана схема ее использования:

В примере выше квадратные скобки обозначают, что эти пункты опциональны, и мы можем запускать команду и с ними, и без них. Ниже я запустил разные варианты ls , чтобы продемонстрировать ее работу.

1. [email protected]: ls
2. bin Documents public_html
3. [email protected]:
4. [email protected]: ls -l
5. total 3
6. drwxr-xr-x 2 karpaff users 4096 Mar 23 13:34 bin
7. drwxr-xr-x 18 kapraff users 4096 Feb 17 09:12 Documents
8. drwxr-xr-x 2 karpaff users 4096 May 05 17:25 public_html
9. [email protected]:
10. [email protected]: ls /etc
11. a2ps.cfg aliases alsa.d cups fonts my.conf systemd
12. .
13. [email protected]: ls -l /etc
14. total 3
15. -rwxr-xr-x 2 root root 123 Mar 23 13:34 a2ps.cfg
16. -rwxr-xr-x 18 root root 78 Feb 17 09:12 aliases
17. drwxr-xr-x 2 karpaff users 4096 May 05 17:25 alsa.d
18. .
19. [email protected]:
  • Строка 1 — запуск ls в базовой форме. Она вывела список содержимого текущей директории.
  • Строка 4 — запуск ls с ключом -l , который означает, что команда выведет длинный список. В длинном списке есть следующее:
    • Первый символ означает, является ли объект файлом — или директорией d .
    • Следующие 9 символов — типы разрешений для файла или директории.
    • Следующее поле — количество блоков (пока что не задумывайтесь об этом).
    • Дальше — владелец файла или директории (в данном случае — karpaff)
    • Дальше — группа, которой принадлежит файл или директория (в данном случае — users).
    • Следующая часть — размер файла/директории.
    • Затем идет время изменения.
    • И в конце — название файла или директории.

    Пути к файлам

    При рассмотрении предыдущих команд мы затронули тему путей. Я хотел бы углубиться в эту тему, поскольку она важна для более эффективного использования Linux. Неважно, пытаемся мы обратиться к файлу или директории через командную строку, на самом деле мы обращаемся по пути. Путь — это способ добраться до конкретного файла или директории в системе.

    Абсолютные и относительные пути

    Существует два типа путей — абсолютные и относительные. Обращаемся мы к файлу или директории, мы будем использовать один из этих типов путей (система в любом случае будет направлена в правильное место).

    Для начала нужно понять, что файловая система под Линуксом — это иерархическая структура. Наверху этой структуры находится корневая директория. Она обозначается одним слэшем / . У нее есть свои поддиректории, у них свои и так далее. Файлы могут находиться в любой из директорий.

    Абсолютные пути указывают положение файла или директории относительно директории root . Их можно узнать по слэшу в начале пути / .

    Относительные пути указывают положение файла или директории относительно ващего текущего местоположения в системе. Они не начинаются со слэша.

    Пример:
    1. [email protected]: pwd
    2. /home/karpaff
    3. [email protected]:
    4. [email protected]: ls Documents
    5. file1.txt file2.txt file3.txt
    6. .
    7. [email protected]: ls /home/karpaff/Documents
    8. file1.txt file2.txt file3.txt
    9. .
    • Строка 1 — запускаем pwd , чтобы узнать, где мы находимся.
    • Строка 4 — запускаем ls с аргументом в виде относительного пути. Documents — директория в той папке, в которой мы сейчас находимся. Такая команда может выдать разный результат в зависимости от того, где мы находимся. Если бы у нас был другой пользователь в системе, скажем, Вася, и мы запустили бы эту команду в его домашней директории, выводом стало бы содержимое папки Documents Васи.
    • Строка 7 — запускаем ls с аргументом в виде абсолютного пути. Вывод такой команды будет одинаков вне зависимости от того, где мы сейчас находимся.

    Скоро вы увидите, что множество вещей в Linux можно получить несколькими разными способами. Пути — не исключение. Ниже приведены некоторые иные компоненты для построения путей.

    • ~ (тильда) — обозначение вашей домашней директории. Например, если ваша домашняя директория /home/karpaff, то к директории Documents можно обратиться по пути /home/karpaff/Documents или по пути ~/Documents.
    • . (точка) — указание на директорию, где вы сейчас находитесь. Например, в примере выше на 4 строке мы обратились к директории Documents с помощью относительного пути. Тот путь можно было записать как ./Documents (Обычно в этом нет необходимости, но ниже мы рассмотрим примеры того, где это может пригодиться).
    • .. (две точки) — указание на родительскую директорию. Вы можете использовать такое сокращение в пути несколько раз, чтобы подниматься по иерархии. Например, если вы были в папке /home/karpaff , вы можете запустить команду ls ../../ и выводом будет список содержимого корневой директории.

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

    Примеры:
    1. [email protected]: pwd
    2. /home/karpaff
    3. [email protected]:
    4. [email protected]: ls ~/Documents
    5. file1.txt file2.txt file3.txt
    6. .
    7. [email protected]: ls ./Documents
    8. file1.txt file2.txt file3.txt
    9. .
    10. [email protected]: ls /home/ryan/Documents
    11. file1.txt file2.txt file3.txt
    12. .
    13. [email protected]:
    14. [email protected]: ls ../../
    15. bin boot dev etc home lib var
    16. .
    17. [email protected]:
    18. [email protected]: ls /
    19. bin boot dev etc home lib var
    20. .

    После того, как вы сами поиграетесь с этими командами в командной строке, вы станете лучше их понимать. Убедитесь, что понимаете, как работают элементы построения пути, поскольку мы будем использовать их в следующих уроках.

    Как сменить директорию

    Для передвижения по системе используется команда cd , сокращение от change directory (сменить директорию). Она работает следующим образом:

    Подсказка: если вы запустите команду без аргументов, она вернет вас в домашнюю директорию.

    Команду cd можно запускать и без аргументов, как мы видели в подсказке выше, но обычно ее запускают с одним аргументом командной строки — месту, в которое мы хотим перейти. Место определяется абсолютным или относительным путем с использованием любых элементов для построения путей, упомянутых выше.

    Пример:
    1. [email protected]: pwd
    2. /home/karpaff
    3. [email protected]: cd Documents
    4. [email protected]: ls
    5. file1.txt file2.txt file3.txt
    6. .
    7. [email protected]: cd /
    8. [email protected]: pwd
    9. /
    10. [email protected]: ls
    11. bin boot dev etc home lib var
    12. .
    13. [email protected]: cd ~/Documents
    14. [email protected]: pwd
    15. /home/karpaff/Documents
    16. [email protected]: cd ../../
    17. [email protected]: pwd
    18. /home
    19. [email protected]: cd
    20. [email protected]: pwd
    21. /home/karpaff

    Автодополнение

    Прописывать пути вручную может быть утомительно. А если вы, как и я, постоянно опечатываетесь, то вам очень поможет маленький механизм командной строки под названием автодополнение.

    Когда вы печатаете путь в командной строке, нажмите кнопку Tab, чтобы применить механизм автозавершения. Если ничего не произошло, значит существует несколько вариантов продолжения пути. Нажмите Tab снова, и вы увидите эти варианты. Продолжайте печатать и опять нажмите Tab, и механизм снова попытается завершить путь за вас.

    Это сложно продемонстрировать в статье, так что попробуйте потестировать эту фичу сами. Если вы напечатаете в командной строке cd /hTab/Tab, вы поймете, как это работает.

    Что нужно запомнить

    Команды

    pwd
    Выводит текущую директорию.

    ls
    Выводит писок содержимого директории.

    cd
    Переводит в другую директорию.

    Понятия

    Относительный путь
    Местоположение файла или директории относительно вашего текущего местоположения в системе.

    Абсолютный путь
    Местоположение файла или директории относительно корневой папки файловой системы.

    Практические задания

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

    1. Начнем с передвижения по системе. Используйте команды cd и ls , чтобы больше узнать о директориях вашей системы и о том, что в них есть. Постарайтесь использовать разные варианты относительных и абсолютных путей. Интересные места для исследования:

    • /etc — здесь хранятся конфигурационные файлы системы.
    • /var/log — здесь хранятся файлы логов для разных системных программ. (У вас может не быть разрешений просматривать все в этой директории. Пусть это вас не останавливает. Пара сообщений об ошибках никому не помешает)
    • /bin — место, в котором хранятся некоторые часто используемые программы.
    • /usr/bin — еще одно место, в котором хранятся системные программы.

    2. А теперь вернитесь в домашнюю директорию 4 разными способами.

    3. Постарайтесь почаще использовать автодополнение. Зачем напрягаться, если компьютер может что-то делать за вас?

    Источник

    Как узнать домашнюю директорию любого пользователя Linux

    Для того, чтобы правильно и безопасно хранить данные на сервере, (особенно, если на этом сервере несколько пользователей), следует точно знать, где располагаются их домашние папки, до которых у пользователей есть доступ (у каждого в свою, но нет доступа в чужие папки с чужими данными). Например, для того, чтобы дать пользователю доступ по ftp только к его данным или подсказать полный путь до его www-директории. В этой статье рассмотрим то, как узнать домашнюю директорию любого пользователя Linux несколькими способами.

    Где хранится системная информация о домашних каталогах пользователей в Linux

    При создании нового пользователя в Unix-системах, каждому пользователю обязательно домашний каталог. О том, где и как располагается запись о домашней директории пользователя в файле /etc/passwd , подробно описано в → этой статье. Для понимания вопроса сейчас требуется знать, что это предпоследнее (шестое) поле home в строке записи пользователя в этом файле:

    login : password : UID : GID : GECOS : home : shell

    Поэтому, можно в цикле обходить этот файл в поиске записи нужного пользователя, разбивать строку на подстроки и брать значение 6-го поля. Но это слишком длинный способ. Есть короче и проще. 😉

    Команда pwd в Unix

    Команда pwd выводит текущий путь к директории, в которой находится пользователь. Выполнив команду pwd , получим этот путь:

    У пользователя root в Unix по умолчанию домашней директорией является /root .

    Оператор ~ (тильда) в Debian

    Другой способ того, как определить домашнюю директорию текущего пользователя. Достаточно посмотреть значение оператора ~ (тильда):

    Результат не сильно отличается от предыдущего, но к ~ можно добавлять дополнительные пути к папкам и/или файлам пользователя, используя её как точку отсчёта в домашней директории пользователя. Что сильно облегчает работу с написанием относительных путей (относительно не только корня файловой системы, но и корня домашней папки пользователя).

    Ещё одним полезным свойством ~ является то, что с помощью этого оператора можно получить путь до домашней директории любого пользователя в системе (если конечно пользователь есть в системе, то есть прописан в файле /etc/passwd , например посмотреть содержимое домашнего каталога пользователя ftp можно так, поставив перед ним тильду ~ :

    А теперь посмотреть содержимое этого файла:

    [email protected]:~# cat ~ftp/welcome.msg Welcome, archive user %U@%R ! The local time is: %T This is an experimental FTP server. If you have any unusual problems, please report them via e-mail to .

    Ну и то, к чему мы стремились: посмотреть путь к домашней директории пользователя:

    Так гораздо удобнее, чем парсить и разбирать файл /etc/passwd . За нас всю эту работу делает операционная система! 😉

    Заберите ссылку на статью к себе, чтобы потом легко её найти!
    Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
    Не надо себя сдерживать! 😉

    Источник

    Читайте также:  How to change username in linux
Оцените статью
Adblock
detector