линукс узнать путь к текущей папке

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

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

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

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

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

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

Команда pwd

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

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

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

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

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

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

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

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

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

Ваш текущий рабочий каталог – /tmp/directory это каталог, на который указывает символическая ссылка.

Заключение

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

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

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

Источник

Первые шаги в командной строке

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

Навигация

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

Она выведет текущую рабочую директорию (print working directory).

Если вам нужно перейти в другую папку, для этого используется команда cd (change directory) с указанием пути к нужной вам папке:

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

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

домашняя папка текущего пользователя. Например, запустить скрипт some-script.sh из домашней папки, когда вы находитесь в другой директории, можно так:

Для навигации с помощью команды cd есть два формата указания пути к нужной папке: абсолютный и относительный.

Также к абсолютным относятся пути, в которых используется

— указание на домашнюю папку текущего пользователя. Например, при доступе к файлу

/.bash_profile он всегда будет открываться из одного и того же места: вместо

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

А этот выведет в терминал подробный список содержимого папки /etc:

Ubuntu и Debian:

CentOS:

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

Поиск

С помощью команды find можно найти на сервере папку или файл по набору условий. Структура команды проста:

Отображает только пустые файлы или папки

Позволяет задать условие относительно времени изменения файлов:

Позволяет задать условие относительно времени последнего доступа к файлу, аналогично mtime

Позволяет уточнить размер (или диапазон размера) искомых файлов

Позволяет применить к найденным файлам команду COMMAND

Больше информации о возможностях find можно узнать в файлах документации:

Работа с папками

Для создания новых директорий используется команда mkdir с указанием пути до создаваемой папки. Пример ниже создаст папку /new в существующей директории /home/user :

Если нужно создать несколько папок за раз, можно просто перечислить их через пробел:

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

Создание

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

Несуществующая папка copies создастся автоматически.

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

Ещё один способ создания новых файлов — вызвать какой-нибудь консольный текстовый редактор с указанием полного пути к файлу. Однако все папки придётся создать заранее. Тогда редактор автоматически создаст файл и откроет его для редактирования. Если не сохранить файл в редакторе, даже пустой, он не будет создан. Команда ниже добавит новый файл с помощью редактора vi :

Ещё пара способов создания пустых файлов:

Редактирование

Редактор vi будет доступен вам по умолчанию на большинстве Linux-систем.

А теперь к делу. Vi (более известен как Vim) — старый, очень гибкий и при этом не очень простой в плане управления редактор. Собственно, так он и попал в популярные программистские и админские шуточки.

Запуск редактора без аргументов откроет его в режиме справки:

Чтобы закрыть Vim (без сохранения), введите сочетание :q!

Если указать редактору путь к файлу, он откроет его для редактирования. Если файл не существовал, он будет создан:

При первом входе Vim открывает файл в режиме просмотра. Он не позволяет редактировать его содержимое, но можно вводить командные последовательности, перемещаться по тексту, выполнять поиск и пр.

Перемещение по тексту выполняется с клавиатуры:

Для выхода с сохранением файла нажмите Esc и введите :wq!

Текстовый редактор vim — краткое руководство

Ubuntu и Debian:

CentOS:

Чтение

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

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

Иногда нам всё-таки нужно полностью просмотреть файл. При этом читать его вывод в терминале неудобно. На такие случаи есть команда less — она открывает файл (или переданный в неё вывод другой команды) в режиме чтения:

Удаление

Самая простая версия rm удалит файл с предварительным подтверждением — для этого потребуется ввести y и нажать Enter :

Скачивание и загрузка

wget позволяет скачивать данные на сервер. Он поддерживает HTTP, HTTPS и FTP протоколы.

Скачать файл по ссылке в вашу текущую рабочую директорию можно с помощью команды:

Полный список параметров wget можно посмотреть в справочной информации:

curl используется как для скачивания файлов на ваш сервер, так и для передачи данных с него на другие серверы / хранилища. Он универсальнее wget благодаря огромному количеству поддерживаемых протоколов: FTP, HTTP, HTTPS, IMAP, POP3, SCP, SFTP, SMB, SMTP, Telnet и др.

В современных дистрибутивах curl установлен по умолчанию. При необходимости установить его вручную можно следующим образом:

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

Если нам нужно загрузить файл c нашего сервера на другой, используется следующая конструкция:

Остальные возможности curl можно узнать в справочной информации:

Утилита scp позволяет копировать файлы между двумя серверами, используя протокол SSH.

Например, для передачи файла filename.txt с нашего сервера на удалённый сервер 1.2.3.4 в папку new-documents пользователя username можно использовать следующую команду:

В процессе система запросит у нас пароль пользователя username для подключения к удалённому серверу. После авторизации файл будет скопирован на целевой сервер в указанную папку.

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

Здесь мы в качестве источника для получения копии файла указали удалённый сервер, а в качестве цели для загрузки копии — папку на текущем сервере.

С помощью scp аналогичным образом можно копировать данные между двумя удалёнными серверами:

Запуск исполняемых bash-скриптов

Чтобы запустить скрипт script.sh на сервере, нужно выполнить два шага:

Настроить права на запуск файла для пользователей:

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

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

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

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

Весь список существующих алиасов системы можно вывести с помощью команды alias :

В соответствующем разделе нужно добавить ваш алиас в следующем формате:

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

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

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

Как настроить cron по ssh

Переименование, перемещение и копирование файлов и папок

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

C её помощью можно, к примеру, создать копию конфигурационного файла, который вы хотите изменить. Здесь мы создаём копию конфигурационного файла nginx.conf

Переместить или переименовать файл также просто:

Например, следующая команда переместит файл file.txt в папку new :

Переименовать файл не сложнее:

В этом примере файл file.txt переименовывается в todolist.txt

Аналогично можно перемещать и переименовывать директории.

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

Источник

Основные команды Linux-терминала

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

Основные команды Linux-терминала поделены на несколько разделов, ниже содержание, откуда вы можете перейти в любой раздел статьи.

Содержание

Навигация в системе

Как узнать текущую папку

Иногда в терминале не показывается в какой именно папке находится пользователь и требуется выяснить исходную точку для дальнейших движений. Узнать «где я?» можно командой pwd :

Пример в терминале:

Данный вывод показывает, что мы находимся в домашней папке /home/uxumax

Как узнать что хранится в папке

Теперь, когда мы выяснили в какой папке находимся, посмотрим содержимое этой папки. Это делается при помощи команды ls :

Предварительно для примера в этой папке было создано 10 тестовых файлов и с ними вывод команды ls в терминале выглядит так:

И увидим полный вывод, со всеми скрытыми файлами, без «недосказанностей»:

Как перейти в другую папку

Папка есть. Теперь попробуем зайти в нее. Для этого используется команда cd и формулируется в следующем виде:

Как вернуться назад, в исходную папку

Как перейти наверх, в родительскую папку

Как видно, все предельно просто. Поэтому предлагаю не останавливаться на достигнутом и использовать это более продвинутым образом.

Как найти файл или папку по имени

Чтобы найти нужный файл или папку в линукс-терминале, нужно использовать команду find. Формулировать поисковую команду довольно просто:

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

В данном случае мы в своей домашней папке (которая обозначается

/ ) ищем файл, название которого содержит слово «fish». Звездочки в данном примере заменяют первую часть слова «nemo-» и его последнюю часть «er.txt»: nemo- fish er.txt

В терминале вот так выдаются результаты:

/home/uxumax/place/nemo- fish er.txt
/home/uxumax/place/blow fish
/home/uxumax/place/ fish ki.jpg

/home/uxumax/place/ fish ki.jpg

По этим примерам можно понять принцип работы звездочек в запросе. Их задача заменить те символы, которые мы не знаем.

Как найти файл по его содержимому

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

Итак, формулируем команду для поиска файла в домашней папке

Терминал в ответ выдал нам список путей к файлам, которые содержат текст «orange». Обратите внимание, что выдача результатов поиска разделена символом : на три части:

/путь/до/файла : номер строки : строка с найденным словом

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

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

Как создать папку

Для начала просто создадим папку test_dir

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

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

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

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

Тем самым мы получаем удобную возможность одной командой создавать нужное нам дерево папок.

Как создать файл

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

Создадим с ее помощью пустой файл с именем file_name

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

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

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

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

Если необходимо создать файл сразу с текстом, то перед > нужно ввести команду echo и сам текст. То есть это должно выглядеть так echo «текст файла» > имя_файла

Как вывести содержимое файла

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

В ответ получим содержимое файла «file’s text». Вот так это выглядит в терминале:

Как редактировать файл

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

И если получим вывод, где указана версия утилиты и прочая информация, значит nano установлен:

Если в ответ вы получите сообщение, что команда не найдена…

И так, nano установлен.

Далее, используя знания из прошлого раздела, создадим файл с именем text_file и содержимым «file’s text here».

Теперь откроем наш текстовый файл.

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

После белой полосы, в которой указана версия nano и имя файла, располагается его содержимое.

Первое что стоит осознать — это то, что мышка здесь здесь не работает. Вы можете нажать правой кнопкой мыши и вставить текст из буфера обмена, но навести курсор мышкой на нужное место в тексте скорее всего не сможете.

Здесь это делается клавишами ↑ Вверх, ↓ Вниз, ← Влево, Вправо. Попробуем передвинуть курсор на место перед словом here и нажать Enter, чтобы сбросить его на следующую строку.

А в самом низу мы видим шпаргалку, в которой перечислены основные горячие клавиши управления утилитой, где ^ обычно означает клавишу Ctrl.

Чтобы проверить, если ли еще слово line в этом файле, нужно нажать Alt + W. В нашем примере после этого курсор сдвинется на второе слово.

Если вы нажали Ctrl + W и передумали что-либо искать, нажмите Ctrl + C для отмены, что также указано в подсказке при вызове поля поиска.

Более подробно ознакомиться с утилитой nano можно здесь.

Как скопировать файл

Попробуем создать копию этого файла. Для этого нужно ввести команду cp со следующей конструкцией:

cp /путь/до/файла /путь/до/копии_файла

Проверим что у нас получилось:

Как скопировать папку

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

Допустим у нас есть папка dolly_family и несколько файлов dolly внутри нее.

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

В целом у нас должно выглядеть примерно так

Проверим нашу копию dolly_family_clone.

Как видно, теперь у нас две папки с одинаковым содержимым и понимание как копировать папки.

Как перенести файл

mv /путь/до/файла /путь/куда/перенести/файл/

Допустим у нас есть файл под именем migrant и папка под именем place :

Теперь перенесем файл migrant в папку place :

Как перенести папку

Допустим у нас есть пустая папка place и папка migrant_family с десятью файлами внутри:

Теперь проверим что у нас получилось. Для начала убедимся, исчезла ли папка из текущего местоположения. Потом проверим содержимое place/ и place/migrant_family/

Выводы ls сообщают нам о том, что папка migrant_family/ успешно перебралась в папку place/ вместе со всем содержимым.

Как удалить файл

Попробуем удалить эти файлы и запасемся баранины впрок. Шаблон команды такой

Способ 1

Мы можем удалить сначала dolly, потом dolly_clone таким образом:

Способ 2

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

Способ 3

Как удалить папку

То есть наша команда должна выглядеть вот так:

Чтобы удалить ее вместе со всем содержимым, формулируем следующую команду:

Система и утилиты

Как посмотреть инструкцию к команде прямо в терминале

Почти к каждой линукс утилите прикладывается help-информация, по которой вы можете понять как правильно использовать утилиту и ее опции.

Документацию к использованию утилиты можно получить таким образом:

Посмотрим на примере команды ls :

И прямо в терминале, не открывая никаких дополнительных текстовых редакторов, будет вывод документации.

help + grep

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

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

На linuxinsider уже была статья про команду history, а в этом разделе будет описано кратко самое важное.

history + tail

Итак, если мы хотим увидеть 15 последних команд, значит команда должна иметь следующий вид:

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

history + grep

history | grep «поисковая фраза»

Как посмотреть все запущенные процессы

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

Чтобы вывести все запущенные процессы в Linux, достаточно ввести короткую команду:

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

Для выхода нужно нажать Q или комбинацию Ctrl + C.

По-умолчанию, как правило, эта таблица отсортирована по потреблению ресурсов. То есть чем больше ресурсов потребляет процесс, тем выше он находится. Как видно из примера, рекордсмен по потреблению ресурсов в данном случае браузер Chrome.

Как завершить процесс принудительно

Представим ситуацию, что у нас завис браузер Chrome и не хочет отзываться. В этом случае стоит закрыть браузер принудительно. Если мы точно знаем, как называется процесс в системе, то достаточно ввести команду killall название процесса. Шаблон очень прост:

killall «точное название процесса или утилиты»

То есть, если мы хотим закрыть принудительно chrome, то делать это нужно вот так:

Если процесс существовал в момент ввода команды, то в ответ вы ничего не получите, а процесс завершится «молча».

Выясняем имя «жертвы»

Но что делать, если мы не знаем как точно называется процесс в системе, но знаем часть его названия? Тут тоже есть выход и в этом случае сначала нужно узнать либо полное название процесса, либо его PID (Process ID).

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

Если название состоит из одного слова, то можно вводить без кавычек. Вывод будет таким:

По этому шаблону формулируем команду:

Результатом которой будет тихое убийство процесса, без всяческих отчетов и выводов.

Как узнать версию и разрядность Linux

Под термином «версия линукс» может скрываться сразу два смысла: версия дистрибутива и версия ядра.

Версия дистрибутива — это версия сборки вашей ОС, например Ubuntu 20.04 или Debian 10.

Версия ядра Linux — это то, на чем эти сборки работают, и выглядит она обычно так: 4.8.0-53-generic или так 5.4.48-06434.

Узнаем версию дистрибутива

Вот так это выглядит в терминале Debian 9:

Как узнать версию ядра Linux

На что вы получите в ответ только версию ядра и ничего лишнего:

Как узнать разрядность Linux

Информация о сети

Рассмотрим 3 типа IP-адресов, с которыми приходится сталкиваться чаще всего:

Разберем способы узнать внешний и локальный IP-адрес.

Как узнать внешний IP-адрес

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

Как правило, эти сервисы представляют из себя обычные веб-страницы, вот их список:

Разницы в этих сайтах особо нет, выберите тот, который именно вам отвечает быстрее всего.

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

Способ 1: wget

Или вместо apt использовать yum, что зависит от вашего дистрибутива:

Например внешний IP-адрес можно узнать вот так:

И так с любым сайтом из этого списка. Вот так это выглядит в терминале:

Способ 2: curl (проще)

Второй способ — использовать curl. Сама по себе утилита более универсальна, чем wget и заслуживает не одну отдельную статью, но в данном примере мы разберем как с ее помощью узнать свой внешний IP-адрес.

Или вместо apt использовать yum, что зависит от вашего дистрибутива:

Итак, утилита curl установлена, теперь попробуем узнать свой внешний IP-адрес. C «курлом» это намного проще, нужно лишь ввести curl и один из сайтов, список которых выше. В целом шаблон команды такой:

Как узнать локальный IP-адрес

В примере используется Debian 9 и вывод там такой:

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

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

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • линукс узнать операционную систему
  • линукс узнать группы пользователя
  • линукс удалить файл в терминале
  • линукс удалить старые ядра
  • линукс убунту системные требования

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии
    / корневая папка сервера
    .