- Вывести полный путь файлу linux
- Узнать полный путь к файлу
- Основные linux-команды для новичка
- Содержание
- Где я? Как понять, где находишься
- Как понять, что находится в папке
- Как перейти в другую директорию
- По абсолютному пути
- По относительному пути
- С автодополнением
- Подняться наверх
- Как создать директорию
- Как создать файл
- Как отредактировать файл
- Как перенести / скопировать файл
- Скопировать файл
- Скопировать директорию
- Переместить файл
- Переместить директорию
- Как удалить файл
- Как изменить владельца файла
- Как установить приложение
- Как запустить приложение
- Как понять, где установлено приложение
- Как создать архив
- Как посмотреть использованные ранее команды
- Как посмотреть свободное место
- Как узнать IP компьютера
- Как узнать версию OS
- Как узнать, как работает команда
- Как создать много тестовых папок и файлов
- Как протестировать IOPS на Linux
- И это все?
- Книги и видео по теме
- Где тренироваться
Вывести полный путь файлу linux
Привет!
Необходимо, чтобы команда ls выводила полный путь к файлу. Как это реальзовать?
Оглавление |
|
Сообщения по теме | [Сортировка по времени | RSS] |
1. «ls+полный путь» | + / – | |
Сообщение от allez (ok), 06-Июл-05, 14:15 | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
2. «ls+полный путь» | + / – | |
Сообщение от Pilat | ||
Мне необходимо делать это рекурсивно с опцией -R | ||
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору |
3. «ls+полный путь» | + / – | |
Сообщение от sm00th_trac3r | ||
| ||
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору |
4. «ls+полный путь» | + / – | |
Сообщение от Николай | ||
find /usr/tmp/ -print > list.txt — выведет список файлов вместе с полными путями к ним. | ||
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору |
5 . «ls+полный путь» | + / – | |
Сообщение от rammon (ok), 04-Дек-18, 13:44 | ||
Источник Узнать полный путь к файлуПриветствую Сообщество! Прошу подсказать с помощью какой команды можно через терминал узнать полный путь к файлу.
потому, что файл находится в /home/vaio/Загрузки/debian-live-8.5.0-amd64-lxde-desktop.iso, а не в /home/vaio/debian-live-8.5.0-amd64-lxde-desktop.iso как ты написал. Ты либо вывод перепечатывай правильно, либо копируй, либо используй подстановку команд: find или locate find / -type f -name ‘debian-live-8.5.0-amd64-lxde-desktop.iso’ -exec dd if=<> of=. ;\
Я и копировал вывод. Вот это интересно. Буду знать.
Так я думал, что таким образом узнаю, где находится искомый образ.
Когда я действительно находился в папке, где лежит образ, то все получилось. Но все же вопрос остается открытым:
тебе уже ответили, man find
find / -type f -name ‘название’ в дополнение к find, есть шустрый mlocate, который ищет по индексу. Ребята, благодарю за ответы! Вот такой вывод. sudo find / -type f -name debian-live-8.5.0-amd64-lxde-desktop.iso 2>/dev/null Чтобы искать по индексу — нужно его сначала построить, а потом регулярно обновлять. Есть лишние иопсы? 🙂 Обновляется индекс по крону. Я принимаю бессилие перед этой задачей. Источник Основные linux-команды для новичкаLinux — это операционная система. Как винда (windows), только более защищенная. В винде легко подхватить вирус, в линуксе это практически невозможно. А еще линукс бесплатный, и ты сам себе хозяин: никаких тебе неотключаемых автообновлений системы! Правда, разобраться в нем немного посложнее… Потому что большинство операций выполняется в командной строке. И если вы видите в вакансии «знание linux» — от вас ожидают как раз умение выполнять простейшие операции — перейти в другую директорию, скопировать файл, создать папочку… В этой статье я расскажу про типовые операции, которые стоит уметь делать новичку. Ну и плюс пара полезняшек для тестировщиков. Я дам кратенькое описание основных команд с примерами (примеры я все проверяла на cent os, red hat based системе) + ссылки на статьи, где можно почитать подробнее. Если же хочется копнуть еще глубже, то см раздел «Книги и видео по теме». А еще комментарии к статье, там много полезного написали) СодержаниеГде я? Как понять, где находишьсяОчень полезная команда, когда у вас нет ничего, кроме командной строки под рукой. Расшифровывается как Print Working Directory. Запомните ее, пригодится. Как понять, что находится в папкеКоманда ls позволяет просмотреть содержимое каталога: Хотя лучше использовать команду сразу с флагом «l»: Такая команда выведет более читабельный список, где можно будет сразу увидеть дату создания файла, его размер, автора и выданные файлу права. У команды есть и другие флаги, но чаще всего вы будете использовать именно «ls – l». См также: Как перейти в другую директориюС помощью команды cd: Путь может быть абсолютным или относительным. По абсолютному путиЛибо у вас где-то записан путь, «куда идти», либо вы подсмотрели его в графическом интерфейсе (например, в WinSCP). Вставляем путь в командную строку после «cd» Ну вот, мы переместились из домашней директории (обозначается как По относительному путиОтносительный путь — относительно вашей текущей директории, где вы сейчас находитесь. Если я уже нахожусь в /home/student, а мне надо в /home/student/log, команда будут такой: Если мне из надо из /home/student/photo в /home/student/photo/city/msk/2017/cat_1, команда будет такой: Я не пишу /home/student/photo, так как я уже там. В линуксе можно задавать путь относительно домашней папки текущего пользователя. Домашняя директория обозначается /. Дальше вы уже можете указывать подпапки: Эта команда будет работать отовсюду. И переместит нас в /home/user/log. Вот пример, где я вошла под пользователем students. Исходно была в директории /var, а попала в /home/students/log: С автодополнениемЕсли вы начнете набирать название папки и нажмете Tab, система сама его подставит. Если просто нажмете Tab, ничего не вводя, система начнет перебирать возможные варианты: — (cd tab) Может, ты имел в виду папку 1? cd lon(Tab) → cd long-long-long-long-name-folder — начали вводить название папки и система сама подставила имя (из тех, что есть в директории, где мы находимся). cd (Tab)(Tab)(Tab) — система перебирает все файлы / папки в текущей директории. Это очень удобно, когда перемещаешься в командной строке. Не надо вспоминать точное название папки, но можно вспомнить первую букву-две, это сократит количество вариантов. Подняться наверхПодняться на уровень выше: Если нужно поднять на два уровня выше, то И так до бесконечности =) Можно использовать файл, лежащий на уровне выше или просто сменить директорию. Обратите внимание, что команда для линукса отличается от команды для винды — слеш другой. В винде это «cd ..\..», а в линуксе именно «cd ../..». Как создать директориюИспользуйте команду mkdir: Можно и в другом месте создать папку: Когда это нужно? Например, если вам надо сделать бекап логов. Создаете папку и сохраняете туда нужные логи. Или если вы читаете инструкцию по установке ПО и видите там «создать папку». Через командную строку это делается именно так. Как создать файлТакая команда создаст пустой файл с названием «app.log». А потом уже можно открыть файл в редакторе и редактировать. Как отредактировать файлВот честное слово, лучше делать это через графический интерфейс! Но если такой возможности нет, чтож… Если использовать программы, которые есть везде, то у вас два варианта:
Начнем с nano. Указываете имя команды и путь в файлу: Для перемещения по файлу используйте кнопки со стрелками. После того, как закончите редактировать файл, нажмите:
Самое приятное в nano — это подсказки внизу экрана, что нажать, чтобы выйти. А вот с vim с этим сложнее. В него легко зайти: Войти вошли, а как выйти то, аааа? Тут начинается легкая паника, потому что ни одна из стандартных комбинаций не срабатывает: Esc, ctrl + x, ctrl + q… Если под рукой есть второй ноутбук или хотя бы телефон / планшет с интернетом, можно прогуглить «как выйти из vim», а если у вас только одно окно с терминалом, которое вы заблокировали редактором? Делюсь секретом, для выхода надо набрать:
Двоеточие запускает командный режим, а там уже вводим команду «q» (quit). Исходно, когда мы открываем файл через vim, то видим его содержимое, а внизу информацию о файле: Когда нажимаем двоеточие, оно печатается внизу: Если не печатается, не паникуем! Тогда попробуйте нажать Esc (вернуться в нормальный режим), потом Enter (подтвердить команду), а потом снова печатайте. Фух, помогло, мы вышли оттуда. На самом деле сейчас всё не так страшно. Даже если вас заслали работать в банк, где нет доступа в интернет, а вы вошли в vi и не знаете как выйти, всегда можно погулить выход с телефона. Слава мобильному интернету! Ну а если вы знаете логин-пароль от сервера, то можно просто закрыть терминал и открыть его снова. Если нужно выйти, сохранив изменения, используйте команду Ну а про возможности редактирования см статьи ниже =) Как перенести / скопировать файлДопустим, у нас в директории /opt/app/log находится app.log, который мы хотим сохранить в другом месте. Как перенести лог в нужное место, если нет графического интерфейса, только командная строка? Скопировать файлЕсли мы находимся в директории /opt/app/log: В данном примере мы использовали относительный путь для «что копировать» — мы уже находимся рядом с логом, поэтому просто берем его. А для «куда копировать» используем абсолютный путь — копируем в /home/olga. Можно сразу переименовать файл: В этом случае мы взяли app.log и поместили его в папку /home/olga, переименовав при этом в app_test_2020_03_08.log. А то мало ли, сколько логов у вас в этом папке уже лежит, чтобы различать их, можно давать файлу более говорящее имя. Если в «куда копировать» файл с таким именем уже есть, система не будет ничего спрашивать, просто перезапишет его. Для примера положим в папку log внутри домашней директории файл «app.log», который там уже есть: Никаких ошибок, система просто выполнила команду. Скопировать директориюКоманда остается та же, «cp», только используется ключ R — «копировать папку рекурсивно»: Так в директории /home/olga появится папка «log». Переместить файлЕсли надо переместить файл, а не скопировать его, то вместо cp (copy) используем mv (move). Можно использовать относительные и абсолютные пути: Можно сразу переименовать файл: Переместить директориюАналогично перемещению файла, команда mv Как удалить файлС помощью команды rm (remove): Если нужно удалить все файлы в текущей директории (скажем, вычищаем старые логи перед переустановкой приложения), используйте «*»: Если нужно удалить папку, надо добавить флаг -r (recursive): Если вы пытаетесь удалить файлы, которые уже используются в программе или доступны только для чтения, система будет переспрашивать: А теперь представьте, что вы чистите много файлов. И на каждый система переспрашивает, и надо постоянно отвечать «да, да, да. » (y – enter, y – enter, y – enter)… Чтобы удалить все без вопросов, используйте флаг -f (force): Но учтите, что это довольно опасная команда! Вот так надоест подстверждать удаление и введешь «-rf», а директорию неправильно укажешь… Ну и все, прости-прощай нужные файлы. Аккуратнее с этой командой, особенно если у вас есть root-полномочия! Опция -v показывает имена удаляемых файлов: Тут вы хотя бы можете осознать, что натворили ))) Как изменить владельца файлаЕсли у вас есть root-доступ, то вы наверняка будете выполнять все действия под ним. Ну или многие… И тогда любой созданный файл, любая папка будут принадлежать root-пользователю. Это плохо, потому что никто другой с ними работать уже не сможет. Но можно создать файл под root-ом, а потом изменить его владельца с помощью команды chown. Допустим, что я поднимаю сервис testbase. И он должен иметь доступ к директории user и файлу test.txt в другой директории. Так как никому другому эти файлики не нужны, а создала я их под рутом, то просто меняю владельца: В итоге был владелец root, а стал testbase. То, что надо! Как установить приложениеЕсли вы привыкли к винде, то для вас установка приложения — это скачать некий setup файлик, запустить и до упора тыкать «далее-далее-далее». В линуксе все немного по-другому. Тут приложения ставятся как пакеты. И для каждой системы есть свой менеджер пакетов: Давайте посмотрим на примере, как это работает. В командной строке очень удобно работать с Midnight Commander (mc) — это как FAR на windows. К сожалению, программа далеко не всегда есть в «чистом» дистрибутиве. И вот вы подняли виртуалку на centos 7, хотите вызвать Midnight Commander, но облом-с. Ничего страшного, установите это приложение через yum: Он там будет что-то делать, качать, а потом уточнит, согласны ли вы поставить программу с учетом ее размеров. Если да, печатаем «y»: И система заканчивает установку. Вот и все! Никаких тебе унылых «далее-далее-далее», сказал «установи», программа установилась! Теперь, если напечатать «mc» в командной строке, запустится Midnight Commander: Как запустить приложениеНекоторые приложения запускаются через скрипты. Например, чтобы запустить сервер приложения WildFly, нужно перейти в папку bin и запустить там standalone.sh. Файл с расширением .sh — это скрипт. Чтобы запустить скрипт, нужно указать полный путь к нему: Это важно! Даже если вы находитесь в той папке, где и скрипт, он не будет найден, если просто указать название sh-скрипта. Надо написать так: Поиск идет только в каталогах, записанных в переменную PATH. Так что если скрипт используется часто, добавляйте путь туда и вызывайте просто по названию: Если же приложение запускается как сервис, то все еще проще: Чтобы сервис test запускался автоматически при рестарте системы, используйте команду: Она добавит службу в автозапуск. Как понять, где установлено приложениеВот, например, для интеграции Jenkins и newman в Jenkins надо прописать полный путь к ньюману в параметре PATH. Но как это сделать, если newman ставился автоматически через команду install? И вы уже забыли, какой путь установки он вывел? Или вообще не вы ставили? Чтобы узнать, куда приложение установилось, используйте whereis (без пробела): Как создать архивСтандартная утилита, которая будет работать даже на «голой» системе — tar. Правда, для ее использования надо запомнить флаги. Для создания архива стандартная комбинация cvzf: В данном примере мы упаковали директорию /home/test, внутри которой было две картинки — 502.jpg и 504.jpg. Для распаковки меняем флаг «c» на «x» и убираем «z»: Хотя система пишет, что распаковала «/home/test», на самом деле папка «test» появляется там, где мы сейчас находимся. Давайте разберемся, что все эти флаги означают:
Для упаковки используется опция c — Create, а для распаковки x — eXtract. Если очень хочется использовать rar, то придется изгаляться. Через yum установка не прокатит: Говорит, нет такого пакета: Придется выполнить целую пачку команд! Сначала скачиваем, разархивируем и компилируем: Как посмотреть использованные ранее командыВот, допустим, вы выполняли какие-то сложные действия. Или даже не вы, а разработчик или админ! У вас что-то сломалось, пришел коллега, вжух-вжух ручками, magic — работает. А что он делал? Интересно же! Или, может, вы писали длинную команду, а теперь ее надо повторить. Снова набирать ручками? Неохота! Тем более что есть помощники: Если надо «отмотать» недалеко, проще через стрелочку пролистать команды. Один раз нажали — система показала последнюю команду. Еще раз нажали — предпоследнюю. И так до 1000 раз (потому что именно столько хранится в истории). Большой бонус в том, что линукс хранит историю даже при перезапуске консоли. Это вам не как в винде — скопировал текст, скопировал другой, а первый уже потерялся. А при перезагрузке системы вообще все потерялось. Если тыкать в стрелочку не хочется, или команды была давно, можно напечатать «history» и внимательно изучить команды. См также: Как посмотреть свободное местоСколько места свободно на дисках Сколько весит директория Как узнать IP компьютераЕсли у вас настроены DNS-имена, вы подключаетесь к linux-машине именно по ним. Ведь так проще запомнить — это testbase, это bugred… Но иногда нужен именно IP. Например, если подключение по DNS работает только внутри рабочей сети, а коллега хочет подключиться из дома, вот и уточняет айпишник. Чтобы узнать IP машины, используйте команду: Также можно использовать ifconfig: Как узнать версию OSСидите вы у Заказчика на линуксовой машине. Пытаетесь что-то установить — не работает. Лезете гуглить, а способы установки разные для разных операционных систем. Но как понять, какая установлена на данной машине? На этой виртуалке стоит CentOs 7. Если нужна версия ядра: Как узнать, как работает командаЕсли вы не знаете, как работает команда, всегда можно спросить о ней саму систему, используя встроенную команду man: Закрыть мануал можно с помощью клавиши q. Для того, кто первый раз в линуксовой консоли, это совсем не очевидно, а подсказки есть не везде. Команда удобна тем, что не надо даже уходить из командной строки, сразу получаешь всю информацию. К тому же это всегда актуальная информация. А что вы там нагуглите — неизвестно =)) Хотя лично мне проще какую-то команду прогуглить, ведь так я получу русское описание + сначала самые главные флаги (а их может быть много). Но я сама новичок в линуксе, это подход новичка. А лучше сразу учиться прокачивать навык поиска по man-у. Он вам очень пригодится для более сложных задач! Если man у программы нет, используйте флаг -h (—help): Как создать много тестовых папок и файловДопустим, у нас есть некая папка test. Создадим в ней сотню директорий и кучу файликов в каждой: Вот и все, дальше можно играться с ними!
А выражения в скобках играют роль функции, которая выполняется в цикле и делает ручную работу за вас:
Как я пробовала эту команду. Сначала посмотрела, где нахожусь: Символ $ при описании команд означает начало строки, куда мы пишем команду. Так мы отделяем то, что ввели сами (pwd) от ответа системы (/home/test). Ага, в домашней директории. Создам себе песочницу: Вот в ней и буду творить! А потом можно проверить, что получилось: Как-то так! Имхо, полезные команды. Я нашла их в книге «Командная строка Linux. Полное руководство», они используются для того, чтобы создать песочницу для прощупывания команды find. Я, как и автор, восхищаюсь мощью командной строки в данном случае. Всего 2 строчки, а сколько боли бы принесло сделать похожую структуру через графический интерфейс! И, главное, тестировщику полезно — может пригодиться для тестов. Как протестировать IOPS на LinuxЭто очень полезно делать, если машину вам дает заказчик. Там точно SSD-диски? И они дают хороший iops? Если вы разрабатываете серверное приложение, и от вас требуют выдерживать нагрузку, нужно быть уверенными в том, что диски вам выдали по ТЗ.
Но верить админам другой стороны на слово нельзя. Если приложение работает медленно, они, разумеется, будут говорить, что у них то все хорошо, это «они» виноваты. Поэтому надо тестировать диски самим. Я расскажу о том, как мы тестировали диски. Как проверили, сколько IOPS они выдают. 1) Скачиваем последнюю версию, распаковываем, переходим в каталог. В командах ниже нужно заменить «fio-3.19» на актуальную версию из списка 2) Должны стоять пакеты для сборки Какие должны быть результаты:
Свежесть определяется на момент написания статьи в 2017 году. Если должно быть 50 тысяч, а диск выдает сильно меньше, то: — он не SSD; И это все?Еще полезно изучить команду find и регулярные выражения. Тестировщику как минимум надо уметь «грепать логи» — использовать grep. Но это уже остается на самостоятельный гуглеж. Вот вам еще пара ссылочек от меня:
Для понимания структуры папок рекомендую статью «Структура папок ОС Linux. Какая папка для чего нужна. Что и где лежит в линуксе» Книги и видео по темеГде тренироватьсяМожно поднять виртуалку. Правда, тут сначала придется разбираться, как поднимать виртуалку ))) А можно купить облачную машину. Когда мне надо было поиграться с линуксом, я пошла на SimpleCloud (он мне в гугле одним из первых выпал и у него дружелюбный интерфейс. Но можно выбрать любой аналог) и купила самую дешманскую машину — за 150 руб в месяц. Месяца вам за глаза, чтобы «пощупать-потыркать», и этой машины с минимумом памяти тоже. У меня был когда-то план самой платить эти 150р за то, чтобы дать машину в общий доступ. Но увы. Как я не пыталась ее огородить (закрывала команды типа ssh, ping и прочая), у меня не получилось. Всегда есть люди, которых хлебом не корми, дай испортить чужое. Выложил в общий доступ пароли? На тебе ддос-атаку с твоего сервера. Ну и сервер блокируют. После N-ой блокировки я плюнула на это дело. Кто хочет научиться, найдет 150р. Чтобы подключиться к машине, используйте инструменты:
См также: Источник |