С помощью какой команды можно определить с какой директорией в данный момент вы работаете linux

Обновлено: 07.07.2024

Для пользователей из мира Windows взаимодействие с командной строкой в Linux поначалу может показаться несколько пугающей и запутанной затеей. Однако использовать её не так уж и сложно. В этой статье мы рассмотрим наиболее распространенные команды в Linux.

Навигация по файловой системе

При навигации по файловой системе в Linux можно использовать как абсолютный, так и относительный пути к ресурсу.

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

Команда pwd

Результатом будет путь к текущему рабочему каталогу:

Команда cd

Чтобы перейти в другой каталог, вы можете использовать абсолютный или относительный путь. Например, перейти в папку Downloads, расположенную в текущем каталоге, можно как через относительный путь:

Так и через абсолютный путь:

Две точки .. обозначают родительский каталог или каталог уровнем выше текущего. Предположим, что в данный момент вы находитесь в каталоге /usr/local/bin. Чтобы перейти в каталог /usr/local (на один уровень выше текущего каталога), необходимо ввести:

Чтобы подняться на два уровня вверх:

Чтобы вернуться к предыдущему рабочему каталогу, используйте символ тире – в качестве опции:

Если каталог, который вы хотите изменить, имеет пробелы в своем имени, то вы должны либо взять путь в кавычки, либо использовать символ обратной косой черты \ :

$ cd имя\ каталога\ с\ пробелами

Работа с файлами и каталогами

Команда ls

Чтобы вывести содержимое конкретного каталога, достаточно указать путь к этому каталогу в качестве параметра:

По умолчанию, команда ls отображает только имена файлов и каталогов. Для более подробного вывода применяется опция -l :

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

-rw-r--r-- 1 root root 337 Oct 4 11:31 /etc/hosts

По умолчанию, команда ls не показывает скрытые файлы (файлы, имена которых начинаются с точки . ). Чтобы отобразить все файлы, включая скрытые, используйте опцию -a :

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

Команда file

Файлы в Linux не обязаны всегда иметь расширения для того, чтобы с ними можно было работать. Поэтому пользователю иногда трудно определить, что за файл перед ним. Команда file помогает решить данную проблему, отображая информацию о типе файла на основе его содержания:

/etc/fstab: ASCII text

Команда file может работать и с директориями, например:

/tmp/: sticky, directory

Команда touch

Команда touch используется для создания новых пустых файлов, а также для обновления временных меток в уже существующих файлов и каталогов.

Чтобы создать новый файл, используйте команду touch с именем (создаваемого) файла в качестве параметра:

Если файл уже существует, команда touch изменит отметку о времени последнего доступа (или изменения) к нему.

Команда mkdir

В качестве параметров команда mkdir может принимать одно или несколько имен каталогов. Если параметром является имя каталога без полного пути, то новый каталог создастся в текущем рабочем каталоге.

Для создания родительских каталогов используется опция -p :

Вышеприведенная команда создаст полную структуру каталогов.

При использовании команды mkdir с опцией -p , она создает каталог только в том случае, если он изначально отсутствует.

Команда rmdir

Команда ln

$ ln -s имя_файла имя_ссылки

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

Команда rm

Чтобы удалить файл или символьную ссылку, используйте команду rm и имя файла в качестве параметра:

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

Опция -i указывает команде rm запрашивать у пользователя подтверждение перед удалением файла:

rm: удалить пустой обычный файл 'file.txt'?

Опция -d используется для удаления одного или нескольких пустых каталогов:

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

Примечание: Будьте очень осторожны с командой rm -rf и дважды проверьте, в каком каталоге вы находитесь, т.к. вызов rm -rf безвозвратно (и без дополнительного подтверждения) удалит все файлы и папки из него.

Команда cp

$ cp file file_backup

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

$ cp file.txt /backup

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

Чтобы скопировать каталог, вместе с его файлами и подкаталогами, используйте опцию -R или -r :

$ cp -R Pictures /opt/backup

Команда mv

Чтобы переименовать файл, необходимо указать имя целевого файла, а затем его новое имя:

$ mv file.txt file1.txt

Синтаксис перемещения каталогов такой же, как и при перемещении файлов. Чтобы одновременно переместить несколько файлов и каталогов, укажите конечный каталог в качестве последнего параметра:

$ mv file.tx1 file1.txt /tmp

Команда tar

Команда tar является наиболее часто используемой командой для объединения нескольких файлов в один *.tar-архив — распространенный формат файлов Linux (похожий на формат .zip), причем процедура сжатия для него не является обязательной.

Предположим, что нам нужно создать .tar-архив каталога /etc, для этого необходимо использовать следующую команду:

$ tar -cvf myarchive.tar /etc

Опция -c указывает команде tar на то, что мы создаем .tar-файл, опция -v отображает список обрабатываемых файлов, а опция -f применяется для указания имени архивного файла.

Если вы хотите добавить файл к уже существующему .tar-архиву, то вместо опции -c используется опция -r . Например, давайте добавим к нашему архиву myarchive.tar файл /etc/fstab:

$ tar -rvf myarchive.tar /etc/fstab

Примечание: К уже сжатому .tar-файлу добавить новый файл или каталог не получится.

Извлечение в текущую папку файлов и каталогов из архивного файла выполняется с помощью опции -x :

$ tar -xvf myarchive.tar

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

$ tar -xvf myarchive.tar -C /tmp/

Команды zip и unzip

Команда zip применяется для сжатия файлов в .zip-архив, а команда unzip — для извлечения заархивированных файлов из .zip-архива.

Чтобы создать архив из нескольких файлов, просто укажите имя создаваемого архива и перечислите список помещаемых в него файлов:

$ zip newarchive.zip file1 file2 file3

Если вы хотите сжать каталог вместе с вложенными в него файлами, то необходимо использовать опцию -r :

$ zip –r newarchive.zip /home/diego/mydocs/

Также, цифрами от 0 (без сжатия, быстро) до 9 (максимальное сжатие, медленно) вы можете указывать степень сжатия будущего архива. По умолчанию, используется 6-й уровень сжатия:

$ zip -9 –r newarchive.zip /home/diego/mytxtfiles/

Для извлечения содержимого архива в текущий каталог используется команда unzip :

Опция -d позволяет распаковать содержимое архива в указанную папку, например:

$ unzip myarchive.zip –d /tmp/

Команда find

Команда find выполняет поиск файлов и каталогов в заданном каталоге. Например, следующая команда будет искать файл с именем notes.txt в каталоге /home и его подкаталогах:

$ find /home/ -name notes.txt

Команда df

Команда du

Владение файлами и права доступа

Команда chmod

При использовании числового режима вы можете установить разрешения для владельца, группы и всех остальных при помощи заданного набора чисел. Разрешения на запись, чтение и выполнение имеют следующие числовые значения:

x (выполнение) = 1

нет разрешений = 0

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

$ chmod 644 имя_файла

Только пользователь root, владелец файла или пользователь с правами sudo могут изменять права доступа к файлу.

Для рекурсивного изменения прав всех файлов и папок в заданном каталоге, используйте команду chmod с опцией -R :

$ chmod -R 755 имя_каталога

Команда chown

Чтобы изменить владельца файла, достаточно выполнить:

$ chown имя_пользователя имя_файла

Чтобы изменить как владельца, так и группу файла, вызовите:

$ chown имя_пользователя:имя_группы имя_файла

Используйте опцию -R , чтобы рекурсивно обработать все файлы и каталоги в заданном каталоге:

$ chown -R имя_пользователя:имя_группы имя_каталога

Команда sudo

Чтобы использовать sudo , просто добавьте префикс sudo перед именем команды:

Управление пользователями и группами

Команда uname

Команда uname с опцией -a выведет подробную информацию о вашей системе: имя машины, версия операционной системы, ядра и т.д.

Команды useradd и passwd

Команда useradd позволяет создавать новых пользователей. Чтобы создать новую учетную запись пользователя, вызовите команду useradd вместе с именем нового пользователя:

После создания пользователя установите ему пароль, выполнив команду passwd:

Команда userdel

Команда userdel используется для удаления учетной записи пользователя:

Опция -r удаляет домашний каталог пользователя и связанные с ним данные:

$ userdel -r имя_пользователя

Команды groupadd и groupdel

Команда groupadd используется для создания новой группы. Просто укажите название группы в качестве параметра:

Чтобы удалить группу, используйте команду groupdel с именем группы в качестве параметра:

Команда usermod

Чтобы добавить существующего пользователя в группу, используйте команду usermod с опцией -G и именем группы:

$ usermod -a -G sudo ravesligroup

Управление процессами

Команда top

Команда kill

Если у вас есть зависшая программа, то вы можете вручную завершить её работу, послав с помощью команды kill соответствующий сигнал.

Всего существует 64 различных сигнала, но самыми популярными являются два:

SIGTERM (15) — сигнал завершения работы программы, при котором ей дается некоторое время, чтобы сохранить свой прогресс и данные.

SIGKILL (9) — сигнал, требующий от программы немедленного завершения. Все несохраненные данные при этом будут потеряны.

Например, зная PID нужного вам процесса, послать ему сигнал можно следующим образом:

В этом примере параметр -9 отвечает за сигнал SIGKILL (9), а 3501 — это идентификатор (PID) нужного вам процесса.

Работа с сетью

Команда ping

Команда ping применяется в тех случаях, когда необходимо проверить состояние подключения к серверу. Например:

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

Команда wget

Команда hostname

Команда hostname используется для проверки имени вашего хоста. Добавление опции -I в её конец покажет его IP-адрес.

Работа с текстом

Команда head

Команда head используется для просмотра первых строк любого текстового файла. По умолчанию она будет показывать первые десять строк, но с помощью опции -n вы можете изменить это число. Например, для отображения только первых пяти строк, введите:

$ head -n 5 filename.txt

Команда tail

Команда tail отображает последние десять строк текстового файла:

$ tail -n filename.txt

Команда diff

$ diff file1.txt file2.txt

Команда grep

$ grep blue notepad.txt

Вышеприведенная команда будет искать слово blue в файле notepad.txt и выведет все строки, в которых содержится искомое слово.

Команда echo

$ echo "Hello, world!" >> name.txt

Команда cat

Установка и удаление пакетов

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

Только root или пользователь с привилегиями sudo может устанавливать и удалять пакеты.

apt (Ubuntu и Debian)

Перед установкой нового пакета сначала необходимо обновить информацию о пакетах:

Индекс apt — это база данных, содержащая записи доступных в репозиториях пакетов, подключенных в вашей системе.

Чтобы обновить установленные пакеты до последних версий, выполните:

Установка пакетов так же проста:

$ apt install имя_пакета

Чтобы удалить установленный пакет, введите:

$ apt remove имя_пакета

dnf (CentOS и Fedora)

Чтобы установить новый пакет в дистрибутивах от Red Hat, вы можете использовать команду yum или dnf:

$ dnf install имя_пакета

Начиная с CentOS 8, dnf заменил yum в качестве менеджера пакетов по умолчанию, при этом dnf обратно совместим с yum .

Чтобы обновить установленные пакеты до последних версий, введите:

Удаление пакетов так же просто, как:

$ dnf remove имя_пакета

Справка

Параметр help

Команда man

Команда man применяется для отображения страницы руководства по заданной команде:

Например, чтобы открыть главную страницу справки по команде cd , вы должны ввести:

Для навигации по справочным страницам используйте клавиши со стрелочками вверх и вниз. Также вы можете нажать:

клавишу Enter для перемещения на одну строку за раз;

клавишу (Пробел) для перехода к следующему экрану;

клавишу b для возврата на один экран назад;

клавишу q для выхода из справочной страницы.

Команда history

Если вы используете Linux в течение определенного периода времени, вы быстро заметите, что можете выполнять десятки (если не сотни) команд каждый день. Таким образом, запуск команды history особенно полезен, если вы хотите просмотреть ранее введенные команды:

Команда whereis

Команда whereis отображает полный путь к исполняемому файлу программы (или к исходным файлам, если они присутствуют в системе). Например:

gcc: /usr/bin/gcc /usr/lib/gcc /usr/share/gcc

Дополнительно

Команда clear используется для очистки терминала, если он загроможден слишком большим количеством данных от прошлых команд

Нажатие на клавишу TAB (табуляция) приведет к автоматическому дополнению того, что вы в данный момент набираете в терминале. Например, если вам нужно перейти в папку Documents, то начните вводить команду cd Docu , а затем нажмите на клавишу TAB и терминал автоматически дополнит команду до cd Documents .

Сочетания клавиш:

Ctrl+C — останавливает и завершает команду;

Ctrl+Z — ставит выполнение команды на паузу;

Ctrl+S — временно приостанавливает вывод информации в терминал;

Ctrl+Q — продолжает вывод информации в терминал;

Ctrl+A — перемещает вас в начало строки;

Ctrl+E — перемещает вас в конец строки.

Вы можете запускать несколько команд в одной строке, отделяя их с помощью символа ; , например:

$ Command1; Command2; Command3

Если вместо ; использовать && , то следующая команда выполнится только после успешного выполнения предыдущей.

Favorite

Добавить в избранное

Главное меню » Операционная система Linux » Определите ваш текущий рабочий каталог в Linux с помощью команды pwd

(1 оценок, среднее: 5,00 из 5)

Определите ваш текущий рабочий каталог в Linux с помощью команды pwd

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

Что такое текущий рабочий каталог

По умолчанию при входе в систему Linux в качестве текущего рабочего каталога указывается домашний каталог. Чтобы изменить рабочий каталог, используйте команду cd. Например, чтобы изменить текущий рабочий каталог /tmp, введите:

В некоторых дистрибутивах Linux, или если у вас настроено приглашение bash или zsh, путь к вашему текущему рабочему каталогу может быть показан в приглашении оболочки.

Команда pwd

Команда pwd обозначает печать рабочего каталога. Это одна из самых основных и часто используемых команд в Linux. После выполнения команда напечатает полный путь вашего текущего рабочего каталога.

pwd это оболочка, встроенная в большинство современных оболочек, таких как bash и zsh. Его поведение немного отличается от автономного исполняемого файла /bin/pwd. Вы можете использовать type -a для отображения всех мест, содержащих pwd.

Как видно из вывода ниже, встроенная оболочка имеет приоритет над автономным исполняемым файлом и будет использоваться всякий раз, когда вы печатаете pwd. Если вы хотите использовать автономную команду pwd, вам нужно будет указать полный путь к бинарному файлу /bin/pwd.

Как найти свой текущий рабочий каталог

Чтобы узнать, в каком каталоге вы сейчас находитесь, введите pwd в свой терминал:

Команда отобразит путь вашего текущего рабочего каталога:

Команда выполняет печать PWD переменной среды. Вы получите тот же вывод, если вы наберете:

Команда pwd может принимать только два аргумента:

Чтобы лучше проиллюстрировать, как работает опция -P, мы создадим каталог и символическую ссылку, которая будет указывать на каталог:

Теперь, если вы перейдете в каталог /tmp/symlink и введете pwd в свой терминал:

Вывод покажет, что ваш текущий рабочий каталог /tmp/symlink.

Если вы запускаете ту же команду, используя опцию -P:

Заключение

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

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

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

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

Например, чтобы изменить текущий рабочий каталог /tmp , введите:


Если у вас есть настроенный bash или zsh приглашение, путь к текущему рабочему каталогу может быть показан в приглашении оболочки.

Команда pwd

Команда pwd обозначает печать рабочего каталога. Это одна из самых основных и часто используемых команд в Linux. При вызове команда печатает полный путь текущего рабочего каталога.

pwd это оболочка, встроенная в большинство современных оболочек, таких как bash и zsh. Его поведение немного отличается от автономного /bin/pwd исполняемого файла. Вы можете использовать type команду для отображения всех мест, содержащих pwd :


Как видно из вывода ниже, встроенная оболочка имеет приоритет над автономным исполняемым файлом и используется всякий раз, когда вы печатаете pwd . Если вы хотите использовать автономный двоичный файл pwd, введите полный путь к файлу /bin/pwd

Как найти свой текущий рабочий каталог

Чтобы узнать, в каком каталоге вы сейчас находитесь, введите pwd в свой терминал:


Вывод будет выглядеть примерно так:


Что pwd делает, это печатает PWD переменную среды .

Вы получите тот же вывод, если вы наберете:


Команда pwd может принимать только два аргумента:

  • -L ( --logical ) - Не разрешать символические ссылки.
  • -P ( --physical ) - Показать физический каталог, без каких-либо символических ссылок.


По умолчанию id опция не используется, pwd ведет себя так, как будто -L опция указана.

Чтобы лучше проиллюстрировать, как -P работает эта опция, давайте создадим каталог и символическую ссылку, указывающую на каталог:


Теперь, если вы перейдете в /tmp/symlink каталог и введете pwd свой терминал:


Вывод покажет, что ваш текущий рабочий каталог /tmp/symlink :


Если вы запускаете ту же команду, используя -P опцию:


Команда выведет каталог, на который указывает символическая ссылка:


Вывод

Текущий рабочий каталог - это каталог, из которого вы вызываете команды в своем терминале.

В операционной системе (ОС) на базе Linux большинство задач выполняются с помощью команд. В данном посте рассматриваются основные базовые команды, используемые в ОС на основе Linux. Будут рассмотрены следующие вопросы:

Основные операции в ОС Linux

pwd – печатает имя текущей рабочей директории (print working directory), то есть выводит на консоль текущее месторасположение в иерархии файловой системы ОС (абсолютную путь).

). Вызов с двумя точками возвращает на уровень вверх относительно текущей директории. Вызов с тире (cd -) возвращает к предыдущей директории. Ниже приведены примеры команды cd с описанными опциями:

ls – утилита для просмотра содержимого директорий (list). По умолчанию показывает содержимое текущей директории. Если в параметрах указать путь, то она перечислит содержимое конечной директории. Часто используемые опции -l (List) и -a (All). Первая форматирует вывод в виде списка с более подробной информацией, а вторая включает показ скрытых файлов.

cp – копирование файлов и директорий (copy). Она не копирует директории по умолчанию рекурсивно (то есть все поддиректории и все файлы в поддиректориях), поэтому не забудьте добавить опцию -r или -R (Recursive). Опция –i (interactive) запрашивает подтверждения перед перезаписью файла (если файл с таким именем существует в директории назначения), ключ –f (force) принудительное копирование без подтверждения.

Далее копируем все файлы из директории /home/rustam/1 в /home/rustam/2 с расширением txt.

Во время использования опции -i система запросить подтвердить копирование файла. Если в директории назначения существует файл с таким именем, то для продолжения копирования с заменой файла необходимо нажать yes или y:

rm – удаляет файлы и директории (remove). Если нужно рекурсивное удаление, используйте опцию -r. Еще одна часто используемая опция при удалении, помогающая удалить все файлы и директории, это -f (force). Действия оператора rm необратимы.

Управление файлами

mkdir – создание новых директорий (make directory). Опция –p позволяет создавать каталог с подкаталогами.

rmdir – удаление директории (remove directory). Если директория не пустая – удалить ее можно будет используя команду rm с опцией –r.

touch – создает пустой файл.

chmod – изменяет права доступа к файлу ( ch ange mod e). Это чтение, запись и выполнение. Каждый пользователь может изменять права для своих файлов. Эта команда будет рассмотрена подробнее в последующих постах.

chown – изменяет владельца файла (change owner). Только привилегированные пользователи могут изменять владельцев. Эта команда будет рассмотрена подробнее в последующих постах.

echo – выводит строку текста на консоль ОС.

команда find, затем, где осуществлять поиск и по какому атрибуту. В примере ниже, мы ищем в текущей директории и всех поддиректориях файл с названием “empty_file”.

Работа с текстом

cat – печатает содержимое файла, переданного в параметре, на стандартный вывод\консоль (concatenate). Если передать несколько файлов, команда склеит их.

tail и head – по умолчанию выводят последние и первые 10 строк файла соответственно. Это можно изменить с помощью опции -n. Ещё один полезный параметр -f, это сокращение от follow (следовать). Утилита постоянно выводит изменения в файле на экран. Например, если вы хотите следить за лог файлом, вместо того, чтобы постоянно открывать и закрывать его, используйте команду tail -f. В примере ниже файл not_empty_file содержит записи строк от line 1 до line 20. Чтобы просмотреть первый и последние 3 строки в данном файле используем команды head и tail соответственно.

Для работы с содержимым текстовых файлов используются текстовые редакторы. Самые распространённые редакторы в Linux дистрибутивах nano и vim.

Управление процессами

ps – выводит информацию о запущенных процессах (process status). Это только снимок состояния на момент вызова, и информация не будет обновляться. Команда ps с опциями -aux выводит полную информацию о процессах.

Команда ps выводит много важной информации о процессах. Следует обратить внимание на параметр отображающийся в колонке PID (Process ID) Это идентификатор, который выдается процессу при его создании.

top – показывает динамически в режиме реального времени список процессов и базовую системную информацию (table of processes). Процессы можно сортировать по количеству потребляемой памяти, загрузке процессора и т.д.


kill – посылает процессу различные сигналы. Каждый сигнал, для удобства, обладает своим кодом. Примерами сигналов могут быть сигнал на завершение (9), на остановку (23), остановку (20) и др. Все сигналы можно просмотреть командой kill –l. В примере ниже, мы отправим сигнал на завершение процессу с PID 1002.

free – показывает количество общей, используемой и свободной памяти в системе. Опция –h используется для отображения значений в читаемом виде.

Окружение пользователя

id – выводит ID пользователя и ID его групп(ы) (uid и gid).

who – показывает имена активных пользователей, находящихся на данный момент в системе.

groups – выводит список групп в которых состоит пользователь. В нашем примере пользователь rustam находится в группе rustam, что мы и видим на выводе команды.

sudo – выполняет команду от имени привилегированного пользователя (super user do). Эта команда будет рассмотрена подробнее в последующих постах.

df – анализатор дискового пространства (disk free). По умолчанию вывод достаточно подробный: перечислены все файловые системы, их размер, количество использованного и свободного пространства. Для удобства есть опция -h, делающая размеры легко читаемыми.

date – выводит дату.

hostname – выводит имя хоста (имя компьютера), указанное в момент установки ОС. Название имени хоста можно изменить также и после завершения установки ОС.

uptime – показывает текущее время, время работы после старта ОС, а также количество пользователей и среднюю загрузку процессора за 1, 5 и 15 минут.

Управление пользователями

useradd, usermod, userdel – Команды для добавления, изменения и удаления пользователей в системе. Эти команды будут рассмотрены подробнее в последующих постах.

Просмотр документации

info – открывает руководство о командах в гипертекстовом формате.

Читайте также: