как узнать путь к файлу в линукс
Как узнать путь к файлу в линукс
В этой статье пойдет речь про команды навигации в терминале.
Решил написать несколько статей на тему терминала Linux. Постараюсь объяснять наиболее доходчиво.
Что из себя представляет корневая файловая система Linux?
Прежде, чем приступить к командам навигации в терминале, поговорим о директориях в Linux. Здесь нет дисков C:, D: и прочих.
Когда я начинал свой путь в Linux, для меня это было наиболее непонятно. Поэтому хочу пояснить этот момент.
Неважно, на сколько разделов вы разобьёте ваш диск, в системе будет:
Затем идут все остальные каталоги, которые служат для своих целей.
Остальные каталоги системные, рассказу о них стоит выделить целую статью.
Перейдем к командам в терминале.
Команды навигации в терминале.
Когда вы открываете терминал в Ubuntu, то вы находитесь в своем домашнем каталоге:
Чтобы узнать текущую директорию (отобразить полный путь к текущей директории),достаточно набрать команду в терминале:
Выполнение данной команды представлено на скриншоте выше.
Сначала пишется команда cd, а затем путь, куда нужно перейти.
Вот так выглядит переход в каталог /home:
Но это не всё, что можно делать с помощью команды cd :
Перейти в директорию уровнем выше:
Перейти в директорию двумя уровнями выше:
Перейти в домашнюю директорию вашего пользователя:
Перейти в домашнюю директорию пользователя user_name:
Перейти в директорию, в которой находились до перехода в текущую директорию:
Если ввести в терминале:
отобразится содержимое текущей директории:
Отобразить содержимое текущей директории с добавлением к именам символов, характеризующих их тип:
Показать детализированное представление файлов и директорий в текущей директории:
Показать скрытые файлы и директории в текущей директории:
Ключи можно комбинировать вместе:
Кроме того, у команды ls очень много других ключей, которые можно посмотреть, выполнив команду:
Автодополение названий директорий в терминале.
Когда вы вводите команду cd, вам необязательно вводить полностью имя директории, достаточно нажать на клавиатуре клавишу «TAB», произойдет автодополнение названия каталога.
Если имя не заполнилось, значит, есть еще один каталог с таким названием. Нажав дважды клавишу «TAB», выведется список с каталогами, которые имеют в своём имени начальные буквы, которые вы ввели.
Если список огромнейший, то для отмены его просмотра нажмите клавишу N.
Это касается не только «cd», но и других команд. Например, когда вы хотите отредактировать какой-то файл. Вы выполнили команду ls, увидели, что у файла имя состоит из 30 знаков, то достаточно ввести первые буквы его имени и нажать клавишу «TAB» и произойдет автодополнение.
Это основные команды навигации в терминале Linux.
Как в Bash узнать абсолютный путь до файла
Что такое абсолютный и относительный пути
Абсолютный путь содержит полный перечень папок, в которых находится файл, начиная от корня файловой системы.
Пример абсолютного пути: /home/mial/bin/myfile.txt
Преимущество абсолютного пути в том, что используя его можно обратиться к файлу из любой папки системы.
Относительный путь указывает на расположение файла относительно текущей папки. Примеры относительных путей:
Преимущество относительного пути в том, что обычно он обозначается более короткой записью как например myfile.txt — означает одноимённый файл в текущей папке. Очевидно, что при смене рабочей директории относительный путь до файла станет другим.
В этой заметке будут рассмотрены несколько примеров того, как определить абсолютный путь до файла в текущей рабочей директории или любой другой, когда путь до файла указан как относительный путь.
realpath
Первый вариант — использовать команду realpath:
Привет вывода абсолютного пути:
Эта программа является частью coreutils.
По умолчанию эта программа преобразует символические ссылки (опция -P) и показывает расположение файла даже если он не существует (опция -m) — то есть эти опции указывать необязательно.
Фактически, по умолчанию работа программы сводится к тому, что к указанному аргументу она добавляет текущую рабочую папку, то есть можно узнать абсолютный путь даже до файла, который не существует:
Если вас это не устраивает, то используйте опцию -e — тогда если указанный файл не существует, то вместо вывода абсолютного пути будет показано сообщение об ошибке.
readlink
Аналогичную функцию выполняет и команда readlink.
Если вы хотите показать абсолютный путь только для существующих файлов, то используйте опцию -e:
Если вас не волнует, существует ли файл, то используйте опцию -f (не требует существование последнего компонента) или опцию -m (не требует существование какого-либо компонента пути):
realpath и readlink не найдены
UNIX системы — это не только многочисленные дистрибутивы Linux. В некоторых из них команды realpath и readlink могут отсутствовать. Если они отсутствуют и вы не хотите или не можете устанавливать дополнительные бинарные файлы, то выход всё равно есть.
Создайте файл, например, realpath.sh и скопируйте в него:
Этот же вариант в виде функции:
Вот эта же функция в продвинутом варианте — дополнительно обрабатывает ситуацию, когда директория не существует, а также если во вводе присутствуют ‘..’ или ‘.’
Ещё один вариант в виде функции оболочки, который:
И ещё одна функция, записанная в одну строку и работающая в bash и zsh (другие не проверялись):
Путь к файлу в linux
Командная строка Linux
В зависимости от вашего Linux, ярлык для открытия консоли может быть вынесен на рабочий стол,
добавлен в избранные команды,
доступен в контекстном меню при клике правой кнопкой мыши в области рабочего стола.
Либо вы для вызова эмулятора терминала вы можете воспользоваться сочетанием клавиш CTRL + ALT + t.
В приглашении командной строки отображается имя пользователя и имя хоста. Перед областью ввода команд может быть символ решётки (#) или символ доллара ($). Символ доллара означает, что вы работаете под обычным пользователем, а символ решётки – что под суперпользователем (root).
TAB для автодополнения
При вводе команды или имени файла, обязательно используйте клавишу TAB – она автоматически допишет для вас команду или имя файла. Если при нажатии на TAB ничего не происходит, то быстро нажмите TAB два раза, чтобы увидеть все доступные варианты. Если варианты не выводятся, то это верный признак того, что: 1) вы неправильно начали вводить имя команды, 2) программа, которую вы намереваетесь запустить, ещё не установлена.
CTRL + c для прерывания выполнения программы
Если вы хотите оборвать выполнение команды, то используйте для этого сочетание клавиш CTRL + c. Если вы ввели команду, но передумали её запускать, то вместо удаления строки, можете также нажать CTRL + c.
Как создать ярлык на рабочем столе Windows 10
Утилита mv
Переименование файлов с помощью утилиты mv
Утилита используется для переименования файлов или для перемещения файлов в другие директории.
В том случае, если вам необходимо переименовать один файл, утилита является предпочтительным инструментом.
Переименование директорий с помощью утилиты mv
Эта же утилита может быть использована и для переименования директорий.
В примере ниже показано, как при использовании команды запрашивается подтверждение перезаписи существующего файла.
Время выполнения команды
Хотите узнать сколько времени выполняется та или иная команда? Просто добавьте перед ней вызов утилиты time. Например:
real 0m0.059s
user 0m0.003s
sys 0m0.003s
Эту команду также можно использовать в качестве секундомера. Просто выполните:
А затем нажмите Ctrl+D когда нужно будет узнать сколько времени прошло.
Мягкий способ
Первым делом вам нужно удалить приложений. «Недостаточно места в памяти устройства», — Google Play выдает это сообщение, если достиг предела кэша. Несмотря на то что объем данных, хранящихся в памяти приложения, неограничен, при превышении некоторого определенного числа могут возникать сбои.
Зайдите в настройки телефона и перейдите к «Приложениям». Выберите Google Play в списке и зайдите в него. Остановите эту программу, а затем сотрите данные и кэш. Ту же самую процедуру стоит повторить и для утилиты Google Service Framework.
После всех проделанных операций перезагрузите девайс. Иногда может потребоваться удалить все установленные обновления для гугла. Делается это в том же меню, что и удаление кэша. Если вся процедура не поможет, переходите к следующему методу.
Базовые команды Linux
pwd для показа текущей рабочей директории
Откройте консоль и введите туда
Здесь (первый слеш) – это корень, home – это название папки (директории), далее (второй слеш) – отделяет название вложенной папки, mial – название второй вложенной папки.
Команда pwd показывает «текущую рабочую директорию». Текущую рабочую директорию нужно знать при указании относительных путей до файлов и папок, также некоторые программы сохраняют результаты своего выполнения в текущую директорию.
mkdir для создания новых директорий
После mkdir укажите название папки, которую вы хотите создать. Если вы укажите относительный путь, например, так:
То будет создана новая папка test1 в текущей рабочей директории, т.е. в моём случае путь до неё будет
Также можно указать абсолютный путь до папки:
Команда ls используется для вывода списка файлов и папок текущей рабочей директории:
Теперь мы можем убедиться, что папки test1 и test2 действительно были созданы.
После команды и опций можно указать путь до папки, содержимое которой вы хотим посмотреть. Чтобы увидеть содержимое директории /var/log нужно ввести:
Для просмотра содержимого корневой директории:
cd для перехода по папкам (смены текущей рабочей директории)
Для перехода по папкам используется команда cd после которой пишется директория, в которую вы хотите перейти. Можно указывать относительный путь или абсолютный:
cp для копирования файлов
Если вам нужно скопировать файл в другую директорию, то используется команда cp. После неё указывается файл, который нужно скопировать и затем через пробел директория, куда вы хотите поместить файл, например:
Этой командой я скопировал файл test.sh в директорию test1. Проверим
mv для переименования и перемещения файлов.
После команды mv указывается имя файла, который вы хотите переименовать или переместить. Затем через пробел пишется директория, куда вы хотите переместить файл (тогда файл будет перемещён в неё с исходным именем), или директория и новое имя файла (тогда файл будет перемещён и переименован), или только новое имя файла (тогда файл будет переименован).
Файл test.sh из каталога test1 я переместил в каталог test2:
Файл test.sh в каталоге test2 я переименовал в test2.sh:
Файл test2.sh в каталоге test2 я переместил в каталог test1 и присвоил ему имя new.txt:
rm для удаления файлов и папок
Для понимания иерархии файловой системы рекомендуется ещё одна статья для новичков «Структура директорий Linux. Важные файлы Linux».
Команды cat и tac
Если вам нужно открыть файл в терминале Linux, то для этого предусмотрено множество простых и эффективных способов. Пожалуй, самая часто используемая команда такого рода – это команда «cat».
Чтобы использовать ее просто введите «cat» и название файла. Например, если вам нужно просмотреть содержимое файла «file_name.txt», то команда должна выглядеть вот так:
После выполнение данной команды все содержимое указанного файла будет выведено в терминал Linux. Данный способ вывода удобен для быстрого просмотра небольших файлов.
При использовании команды «cat» может понадобиться нумерация строк. В этом случае команду нужно вводить с параметром «-n».
Также есть команда «tac», которая открывает файлы точно также как «cat», но выводит строки в обратном порядке (начиная с конца).
Обратите внимание, для того чтобы узнать больше о «cat» и «tac», а также других командах Linux, введите в терминал «man» (от англ. manual) и через пробел название интересующей вас команды, например, «man tac»
Это выведет подробную информацию о команде и список всех поддерживаемых параметров.
Как комбинировать условия поиска lsof (логические И и ИЛИ)
Давайте выведем файлы, которые были открыты пользователем mial и которые связаны с процессами systemd. Мы знаем, что можем предоставить более одного элемента поиска в командной строке, поэтому это должно быть легко.
Теперь давайте посмотрим на вывод lsof. Это не выглядит правильно; в выводе есть записи, которые были запущены пользователем root.
Это не то что мы ожидали. Что произошло?
Если вы предоставите несколько поисковых терминов, lsof вернёт любой файл, который соответствует первому поисковому запросу или второму поисковому запросу и так далее. Другими словами, она выполняет поиск ИЛИ.
Теперь каждый файл в списке — это файл, который был открыт пользователем mial или от его имени и связан с systemd.
Обратите внимание, что два условия, одно из которых содержит отрицание (^) обрабатываются как логическое И:
и в случае добавления третьего условия поиска она будет работать как ожидается:
Область уведомлений в помощь!
Для того, чтобы вывести хранилище с активного режима, в области уведомлений нажмите на значок приложения и с помощью правой кнопки мыши вызовите контекстное меню. Среди предлагаемых опций выберите пункт «Параметры».
В диалоговом окне на первой же вкладки найдите в начале строку «Автоматически запускать OneDrive при входе в Windows». Уберите галочку. В том случае, если Вы зашли в учетную запись системы, которая имеет связь со стандартным облачным хранилищем, после нажатия кнопки «Удалить связь с OneDrive» (расположена в нижней части данного окна), то синхронизация файлов прекратится. Завершая этот способ отключения, удалите значок хранилища с области навигации проводника.
Как скопировать файл из одной директории в другую с помощью Linux
Синтаксис для копирования файла с одного места на другое выглядит следующим образом:
cp /source/path/name /target/path/name
Например представьте, что вы имеете следующую структуру папок:
Если вы хотите скопировать file_one из текущего местоположения в /home/andreyex/documents/folder_one в /home/andreyex/documents/folder_two, то вы должны ввести следующую команду в командной строке:
cp /home/andreyex/documents/folder_one/file_one /home/andreyex/documents/folder_two/file_one
Ярлыки вы можете сделать здесь.
Главная часть может быть заменена на тильду (
), что объясняется в этой статье. Это изменяет команду на:
Вы можете просто опустить имя файла для цели, если вы собираетесь использовать то же имя файла
Если вы уже в целевой папке вы можете просто заменить путь к цели с полной остановкой.
В качестве альтернативы, если вы уже в исходной папке вы можете просто указать имя файла в качестве источника следующим образом:
ls — просмотр содержимого папки
Команда ls позволяет вывести список файлов заданной папки, по умолчанию, будет выведен список файлов текущей папки:
2. cd — изменить папку
Команда cd позволяет изменить текущую папку на другую. По умолчанию, текущей считается домашняя папка, например, cd Desktop меняет папку на рабочий стол, если вы выполните ее из домашнего каталога:
Вы также можете указать полный путь к папке:
Вы также можете вернуться в предыдущую рабочую папку:
3. rm — удалить файлы
Команда rm позволяет удалить файл. Будьте очень осторожны с ней, она не будет спрашивать подтверждения:
Например, rm file удалит файл с именем file, который находится в текущей папке. Как и в предыдущих вариантах, вы можете указать полный путь к файлу linux. Например:
4. rmdir — удалить папку
Команда rmdir позволяет удалить пустую папку. Например, команда rmdir directory удалит папку directory, которая находится в текущей папке:
5. mv — перемещение файлов
Команда mv перемещает файл в новое место. Она также может использоваться для переименования файлов. Например, mv file newfile переименует файл file в newfile:
Чтобы переместить файл в другую папку нужно указать путь к ней, например, переместим файл file в папку /home/user/tmp/
mv file /home/user/tmp/
6. cp — копирование файлов
Эта cp и mv — это похожие команды linux для работы с файлами. Они работают аналогичным образом, только исходный файл остается на своем месте.
7. mkdir — создать папку
8. ln — создание ссылок
9. chmod — изменить права
chmod позволяет изменить права доступа к файлам. Например, chmod +x script.sh добавляет флаг исполняемости к файлу script.sh:
10. touch — создать файл
11. mc
Работа с файлами Linux через терминал может выполняться не только с помощью обычных консольных команд, каждая из которых выполняет только определенное действие.
Вы можете использовать полнофункциональный файловый менеджер с псевдографическим интерфейсом на основе ncurses. Midnight Commander — это файловый менеджер, который можно использовать прямо в терминале.
Для установки mc в Ubuntu выполните:
Выводы
В этой статье мы рассмотрели как выполняется работа с файлами и каталогами в linux, с помощью терминала. Когда вы освоите все эти команды, вы сможете сделать большинство основных действий в терминале. А как часто вы пользуетесь терминалом? Используете его для работы с файлами? Напишите в х!
11. mc
Работа с файлами Linux через терминал может выполняться не только с помощью обычных консольных команд, каждая из которых выполняет только определенное действие. Вы можете использовать полнофункциональный файловый менеджер с псевдографическим интерфейсом на основе ncurses. Midnight Commander — это файловый менеджер, который можно использовать прямо в терминале. Для установки mc в Ubuntu выполните:
После завершения установки достаточно выполнить команду mc:
Используйте клавиши со стрелками для перемещения по файлах, Tab для перехода на другую панель, Alt+1 для просмотра справки и Alt+2 для вывода меню:
Если терминальное окружение поддерживает мышь, то вы можете ее использовать в Midnight Commander.
Физиологические причины состояния
Почему озноб появляется у представительниц прекрасного пола? Не всегда состояние свидетельствует о каких-либо патологиях в организме. Дрожь в теле без лихорадки происходит в период беременности, когда изменяется соотношение баланса гормонов и изменяется работа яичников. Для устранения причины возникновения озноба беременной лучше проконсультироваться с врачом.
Еще одна физиологическая причина рассматриваемого состояния – резкое изменение рациона питания. Организм, лишаясь необходимых витаминов и минералов, реагирует на изменения дрожью в теле, быстрой утомляемостью, повышенной раздражительностью. Несильное переохлаждение также приводит к спазму сосудов. Справиться с симптомами проблемы можно быстро и просто: достаточно принять теплую ванну или выпить чашку чая.
Справиться с симптомами озноба поможет кружка горячего чая с малиной или брусникой, теплый плед и прогревания ног в теплой воде
Отображение файлов, связанных с подключениями к Интернету
Отображаются все файлы, связанные с сетевыми подключениями и подключению к Интернету.
Команда ls linux
Как обычно, в таких статьях сначала нам нужно понять синтаксис команды, чтобы вы знали как правильно ее использовать. На самом деле, синтаксис очень прост, вы набираете саму команду, а после нее путь к папке, содержимое которой хотите посмотреть. Если вы запустите команду без пути, то она выдаст содержимое текущего каталога:
$ ls опции /путь/к/папке
Опции команды указывают как именно и в каком виде нужно выводить информацию на экран, а путь, это та папка, которую нужно отобразить. Рассмотрим основные опции утилиты:
Это были все основные параметры команды ls, которые нам может когда-либо понадобиться использовать. Их очень много, но на деле будут нужны только некоторые из них, вы их быстро запомните, а все остальные сможете всегда найти в этой статье или на странице справки man ls. А теперь давайте рассмотрим несколько примеров использования команды ls linux.
Основная информация о Find
Find — это одна из наиболее важных и часто используемых утилит системы Linux. Это команда для поиска файлов и каталогов на основе специальных условий. Ее можно использовать в различных обстоятельствах, например, для поиска файлов по разрешениям, владельцам, группам, типу, размеру и другим подобным критериям.
Утилита find предустановлена по умолчанию во всех Linux дистрибутивах, поэтому вам не нужно будет устанавливать никаких дополнительных пакетов. Это очень важная находка для тех, кто хочет использовать командную строку наиболее эффективно.
Команда find имеет такой синтаксис:
find критерий шаблон
Папка — каталог в котором будем искать
Параметры — дополнительные параметры, например, глубина поиска, и т д
Критерий — по какому критерию будем искать: имя, дата создания, права, владелец и т д.
Шаблон — непосредственно значение по которому будем отбирать файлы.
Как сделать резервную копию перед копированием файлов в Linux
В предыдущем разделе folder_one содержит файл с именем file_one и folder_two не делает. Представьте себе, что folder_two имеет файл с именем file_one и вы запустили следующую команду:
Приведенная выше команда перезапишет file_one, который в настоящее время находится в folder_two. Там нет подсказок, нет предупреждения и сообщения об ошибках, потому что, вы указали действительную команду.
В папке назначения теперь присутствует файл, который был скопирован и там будет также файл с тильдой (
) в конце, которая является резервной копией оригинального файла.
Вы можете изменить команду резервного копирования для работы в несколько ином виде, так что она создает пронумерованные резервные копии. Вы можете это сделать, если вы уже скопировали файлы и резервные копии уже существуют. Это является одной из форм контроля версий
Имя файла для резервных копий будет меняться: file_one.