- Символические и жесткие ссылки в Linux. Команда ln
- Что такое ссылка на файл в Linux
- Что такое символические ссылки
- Что такое жесткие ссылки
- Отличия символических ссылок от жестких
- Как создавать ссылки в Linux. Команда ln
- Создание символических ссылок
- Создание жестких ссылок
- Как удалить ссылку
- Создание ссылок через файловый менеджер
- Резюме
- Лучшие консольные браузеры для Linux
- Лучшие консольные браузеры для Linux
- 1. Lynx
- 2. Links (Links2)
- 3. Elinks
- 4. w3m
- 5. Browsh
- Выводы
- Links2 — продвинутый консольный браузер для Linux
- Немного истории
- Скриншоты
- Описание
- Сильные стороны Links2:
- Слабые стороны Links2:
- Установка
Символические и жесткие ссылки в Linux. Команда ln
Что такое символические и жесткие ссылки в Linux. Чем они отличаются. Как создавать ссылки. Использование команды ln.
Что такое ссылка на файл в Linux
Ссылка на файл в Linux — это указатель на файл. Если проводить аналогию с Windows, то ссылки чем-то похожи на ярлыки. То есть вы создаете ссылку, которая указывает на какой-либо файл или директорию, и можете разместить эту ссылку в другом каталоге. Обращаясь к такой ссылке, вы будете обращаться к настоящему файлу или каталогу.
Ссылки в Linux бывают двух типов: символические и жесткие. Не смотря на то, что оба типа называются ссылками, они имеют существенные отличия друг от друга. Поэтому очень важно понимать, как создавать и использовать тот или иной тип ссылок.
Что такое символические ссылки
Символическая ссылка (symbolic link) — это специальный файл, который является ссылкой на другой файл или каталог (их еще называют целевым файлом, целевым каталогом).
Символические ссылки также называют символьными, мягкими ссылками (soft links) или сим-ссылками (sym-link).
Важно понимать, что символическая ссылка не содержит в себе внутри копии самого файла, на которую она указывает. Она является всего лишь указателем на файл. Не смотря на это, символическая ссылка обладает собственными правами доступа, так как сама является небольшим файлом, который содержит путь до целевого файла.
Возвращаясь к аналогии с ярлыками в Windows, символические ссылки это своего рода ярлыки на файлы. Можно создавать несколько символических ссылок на один файл и эти ссылки могут иметь разные имена.
Связь между символической ссылкой и файлом, на который она указывает, является «мягкой». Если удалить символическую ссылку, то файл, на который она указывает, не удаляется.
Если удалить файл, на который указывает ссылка, то сама ссылка не обновляется и остается на диске. При этом она указывает на уже несуществующий файл. Аналогично, если переименовать или переместить целевой файл, то ссылка не обновляется автоматически.
При создании символических ссылок можно указывать относительный путь до целевого файла. В таком случае ссылка считает, что относительный путь указан относительно каталога, в котором создана сама ссылка (но не относительно каталога, из которого она была создана).
Схематично отношение между файлом, символической ссылкой и данными, которые хранятся в файле, можно показать следующим образом:
Что такое жесткие ссылки
Жесткая ссылка (hard link) является своего рода синонимом для существующего файла. Когда вы создаете жесткую ссылку, создается дополнительный указатель на существующий файл, но не копия файла.
Жесткие ссылки выглядят в файловой структуре как еще один файл. Если вы создаете жесткую ссылку в том же каталоге, где находится целевой файл, то они должны иметь разные имена. Жесткая ссылка на файл должна находится в той же файловой системе, где и другие жесткие ссылки на этот файл.
В Linux каждый файл имеет уникальный идентификатор — индексный дескриптор (inode). Это число, которое однозначно идентифицирует файл в файловой системе. Жесткая ссылка и файл, для которой она создавалась имеют одинаковые inode. Поэтому жесткая ссылка имеет те же права доступа, владельца и время последней модификации, что и целевой файл. Различаются только имена файлов. Фактически жесткая ссылка это еще одно имя для файла.
Жесткие ссылки нельзя создавать для директорий.
Жесткая ссылка не может указывать на несуществующий файл.
Жесткие ссылки появились раньше, чем символические, но сейчас уже устаревают. В повседневной работе жесткие ссылки используются редко.
Схематично отношение между исходным файлом, жесткой ссылкой и данными можно показать следующей схемой:
Отличия символических ссылок от жестких
Кратко подведем итог, написанного выше.
Символическая ссылка:
- Указывает на целевой файл или каталог. Фактически является небольшим файлом, содержащим путь до целевого файла.
- Не содержит внутри себя содержимого самого файла. Содержит путь к целевому файлу.
- Имеет собственные права доступа, которые не распространяются на целевой файл.
- Удаление / переименование / перемещение целевого файла не обновляет автоматически ссылку. Ссылка начинает указывать на несуществующий файл, становится неработающей.
- Изменение прав доступа у целевого файла не обновляет права доступа у ссылки.
- Может быть создана для директории.
- Ссылка и целевой файл имеют разные файловые индексы (inode) в файловой системе.
- Может указывать на несуществующий файл.
- Символическая ссылка может использовать относительный путь до целевого файла.
Жесткая ссылка:
- Является своего рода еще одним именем на файл.
- Не может указывать на директорию.
- Нельзя создавать жесткие ссылки между файлами разных файловых систем.
- Не может указывать на несуществующий файл.
- Жесткая ссылка и файл, для которого она создавалась, имеют одинаковые индексы (inode) в файловой системе.
Как создавать ссылки в Linux. Команда ln
Для создания ссылок в Linux используется команда ln (от слова link).
Синтаксис команды ln :
Обычно используется только одна опция -s . Полный список опций можно получить, выполнив команду man ln.
Создание символических ссылок
Чтобы создать символическую ссылку, нужно выполнить команду ln с опцией -s :
Например, создадим в текущем каталоге символическую ссылку с именем mylink на файл /home/pingvinus/myfile :
Выполнив команду ls -li , можно увидеть, что ссылка myfile указывает на файл /home/pingvinus/myfile
Обратите внимание, что ссылка и целевой файл имеют разные inode (792300 и 787622. См. число в начале строки).
Если теперь удалить целевой файл, а затем попробовать просмотреть его содержимое, используя ссылку, то получим сообщение о том, что файл не найден:
Пример создания и использования символьной ссылки (при создании ссылки используется относительный путь до целевого файла, если такую ссылку переместить, то она будет невалидна):
Создание жестких ссылок
Чтобы создать жесткую ссылку нужно использовать команду ln без опции -s .
Например, создадим жесткую ссылку с именем hardlinktofile на файл myfile.txt :
Выведем список файлов:
Можно заметить, что hardlinktofile и myfile.txt имеют одинаковый inode=787622, так как являются фактически разными именами для одного файла (inode которого 787622).
Также видно, что на данный inode имеется 2 ссылки (см. цифру 2 в 3-м столбце). Если мы удалим исходный файл, то количество ссылок на него уменьшается на 1, то есть на самом деле файл не удаляется, так как на него больше, чем 1 ссылка. И мы по прежнему можем работать с файлом по имени hardlinktofile.
Обратите внимание, что после выполнения команды rm, количество ссылок на файл стало равно 1.
Пример создания и использования жесткой ссылки:
Как удалить ссылку
Ссылки, как и обычные файлы, можно удалять, используя команду rm :
Создание ссылок через файловый менеджер
Некоторые графические файловые менеджеры поддерживают создание символических ссылок. Чтобы создать символическую ссылку в таком файловом менеджере, достаточно кликнуть правой кнопкой мыши по файлу и выбрать в меню пункт Создать ссылку ( Create Link , Make Link ).
Ссылка создается в том же каталоге, где находится целевой файл. После создания ссылку можно переместить в другой каталог.
Резюме
Ссылки — это удобный инструмент при работе с файлами в Linux. Мы рассмотрели два вида ссылок, которые существуют в Linux. Рассмотрели отличия символических ссылок от жестких. Для создания ссылок используется команда ln . При повседневной работе обычно используются символические ссылки, в то время как жесткие ссылки используются редко.
Источник
Лучшие консольные браузеры для Linux
Смартфон есть практически у каждого современного человека, поэтому найти информацию не так сложно. Но что делать, если вам надо скачать файл на удалённом сервере с помощью терминал? Вы можете найти ссылку и скачать его с помощью утилиты wget. А что если она длинная и набрать её не так просто? Выход есть – консольный браузер.
В этой статье мы собрали лучшие консольные браузеры для Linux. С их помощью вы можете не только найти и скачать файлы, но и оставить закладки для быстрого доступа к нужным страницам. Но использовать консольные браузеры на постоянной основе у вас не получится.
Лучшие консольные браузеры для Linux
1. Lynx
Lynx – это один из первых веб-браузеров. Он появился в далёком 1992 году и, что удивительно, разрабатывается по сей день. Он не может похвастать удобством использования и поддержкой JavaScript, но всё же с его помощью можно получить базовую функциональность. Подсказки по управлению находятся в нижней части.
Команды для установки Lynx с помощью менеджера пакетов apt:
sudo apt install lynx
С помощью менеджера пакетов RPM:
sudo yum install lynx
2. Links (Links2)
Links – это, пожалуй, лучший консольный браузер. Lynx-подобный, именно так называют свой браузер разработчики. Но это утверждение верно лишь отчасти. На деле же их роднит только одно – текстовый режим. Одно время существовало две версии браузера, но установив Links2 вы получите всё тот же Links, версия программы одна и та же – 2.2x.
Управление сделано удобно. Запоминать комбинации клавиш не требуется, всё необходимое есть в панели инструментов (вызывается клавишей Esc). Курсор также работает, панель можно вызвать, кликнув по первой строке. Заявлена поддержка скриптов, но на деле это не сильно улучшает отображаемые страницы. Стоит отметить наличие графического режима (у Links2), который по сути представляет то же самое, но с возможностью отображения картинок. При скачивании файлов они сохраняются в той же директории, из которой был вызван браузер. Искать скачанные программы, скрипты и конфигурационные файлы не придётся.
Команды для установки Links для apt:
sudo apt install links
sudo yum install links
3. Elinks
Elinks – это ответвление Links. Этот браузер лучше работает с цветом, что улучшает восприятие страницы. Однако, из-за ограниченной поддержки скриптов и таблиц стилей, результат может оказаться противоположным. Используйте команду Shift+5 для переключения режимов.
Управление осуществляется схожим образом, но в Elinks элементы расположены несколько иначе. Да и в целом организация меню более интуитивна. Последняя версия вышла в 2012 году. Но даже она во многом превосходит Links, который обновляется до сих пор.
Команды для установки Elinks в Ubuntu или Debian:
sudo apt install elinks
В CentOS, Fedora или RedHat:
sudo yum install elinks
4. w3m
w3m, в отличие от предыдущих браузеров, вышел уже во время повсеместного использования интернета, в 2011 году. Если терминал поддерживает курсор, то можно получить доступ к элементам управления через контекстное меню (правая кнопка мыши). Если же возможности использовать мышь нет, обратитесь к подсказке (H), чтобы узнать горячие клавиши.
Скрипты поддерживаются частично, но опять же, текстовый браузер в принципе не способен иметь полноценную поддержку JavaScript. Нельзя не упомянуть то, что браузер доступен в виде плагина для Emacs.
Команды для установки w3m в apt:
sudo apt install w3m
sudo yum install w3m
5. Browsh
Браузер Browsh интересен в первую очередь тем, что способен наиболее полно отобразить страницу. Нет, это не самостоятельный браузер. Он базируется на Firefox, который работает в фоне. Иными словами, изображение рендерится полноценным браузером, а затем переводится в текст.
Страницы могут отображаться по-разному, в зависимости от того, какой терминал используется. Но в любом случае потребуется поддержка цвета и правильная кодировка. К сожалению, проект Browsh разрабатывается всего одним человеком и далёк до завершения. Из самых значимых недостатков стоит отметить сложность в управлении и нехватку документации.
Выводы
Это все лучшие консольные браузеры для Linux. Самым удобным и функциональным из них бесспорно является Links и его ответвление Elinks. Он не только имеет самый простой интерфейс, но и способен хоть как-то, но отображать современные сайты. С его помощью вы без особых проблем скачаете файлы по прямым ссылкам. В противном случае можете скачать файлы на смартфон и запустить на нём сервер FTP, чтобы получить доступ к ним извне.
Браузер Browsh выглядит перспективно, но пока что находится на ранней стадии разработки и малопригоден для использования. Но сам факт того, что отображается практически все содержимое страницы впечатляет. А приходится ли вам использовать консольный браузер? Как отображает страницы ваш терминал? Делитесь своим мнением в комментариях.
Источник
Links2 — продвинутый консольный браузер для Linux
Сервер, работающий на ОС Linux, у хорошего системного администратора не имеет графического интерфейса, так как все системные ресурсы должны быть направлены в нужное русло и тратить их на вырисовывание всяких «окошечек» не хорошо.
Для того, чтобы выйти в Интернет на таком сервере и нужны консольные браузеры. Таким инструментом может выступать консольный бразер Links2, который не смотря на свою «консольность» умеет немало. Основным достоинством браузера Links2 является то, что он умеет подгружать картинки.
Немного истории
Peter Gervai разработал консольный браузер Links, который позднее разделился на 3 независимых дистрибутива: ELinks, Links Hacked и Links2.
Отличительная особенность ELinks заключается в наличие встроенного языка программирования Lua. Links Hacked — это попытка доработать браузер ELinks. Links2 — это консольный браузер, о котором пойдет речь далее.
Скриншоты
Описание
Сильные стороны Links2:
- Links2 является консольным браузером, по этому он работает без какой-либо графической оболочки.
- Браузер умеет загружать картинки.
- Links2 умеет добавлять WEB-страницу в закладки.
- Встроенный менеджер закачек.
- Корректно работает с сайтами, использующих frame.
- Links2 умеет обрабатывать JavaScript код на WEB-странице.
- Поддерживается работа через proxy.
- Есть возможность просмотра HTML-кода страницы..
- Есть версии для ОС: Windows, Linux и Unix.
- Ведется история посещенных сайтов.
- Составление «БАН»-листа ненужных изображений.
Слабые стороны Links2:
- Не поддерживается CSS. Сайты выводятся сплошным HTML-потоком.
- Не поддерживается работа с RSS.
- Не «вкладочный» интерфейс.
- Язык интерфейса: русский, английский и т.д.
- Лицензия: GNU GPL ver.2
- Домашняя страница:http://links.twibright.com
Установка
Links2 входит в состав официального репозитория семейства операционных систем *buntu.
Для установки Links2 в *buntu:
Для загрузки сайтов социальных сетей В контакте и Одноклассники, браузер Links2 скорее всего не подойдет, так как поддержка CSS отсутствует и отображаться эти сайты будут не совсем корректно.
С помощью этого браузера можно комфортно открывать сайты на компьютере, на котором отсутствует графическая оболочка.
- Тарас #
27 июня, 23:53
Links2 – это браузер, который работает как в консольном так и в графическом режиме, при чем в консольном режиме он картинки не отображает, А если с консоли виполнить комманду links2 -g, то он тебе вибъет ошибку.
B консоли он запускается коммандой links2, а в графическом – xlinks2 или – links2 -g.
Кстати, еще хорошими аналогами есть Lynx и w3m – оба также есть в официальных репозиториях Ubuntu. при чём w3m действительно отображает картинки, но только в емуляторах терминала, КОТОРЫЕ ЭТО ПОДДЕРЖИВАЮТ .
Тарас – в консольном режиме он всё прекрасно отображает, только нужно установить поддержку framebuffer и DirectFB. Единственный минус – то что приходится запускать это дело под рутом: sudo links2 -g. И ещё жалко, что не играет напрямую ролики YouTube.
Согласен с тарасом, текст ошибки: (. ) *** WARNING [out of memory] *** [../../../src/core/input.c:1133 in init_axes()] (. ) *** ONCE [Joystick sends JS_EVENT_INIT events, make sure it has been calibrated using ‘jscal -c’
] *** [../../../inputdrivers/joystick/joystick.c:99 in joystick_handle_event()]
Согласен с Andrei, если запускать из-под root: sudo links2 -g
то ошибки нет. Проверено на ubuntu server 12.04
если на сервере не работает,то иначе зачем он мужен?
вот что:
sweesroot@ubuntu:
© 2001-2008 The world wide DirectFB Open Source Community © 2000-2004 Convergence (integrated media) GmbH ————————————————————————————————
(*) DirectFB/Core: Single Application Core. (2014-10-24 12:35)
(!) Direct/Util: opening ‘/dev/fb0’ failed —> Permission denied
(!) DirectFB/FBDev: Error opening framebuffer device!
(!) DirectFB/FBDev: Use ‘fbdev’ option or set FRAMEBUFFER environment variable.
(!) DirectFB/Core: Could not initialize ‘system_core’ core! —> Initialization error!
Could not initialize any graphics driver. Tried the following drivers:
x:
Can’t open display “(null)”
fb:
Could not get VT mode.
directfb:
Initialization error!
Браузер linx2 очень понравился. но есть одна проблема. при открытии web интерфеса роутера sagemcom коректно просит логин и пароль но после авторизации показывает пустой экран. не отабражает не меню не содержимое.
может кто знает как победить?
ури, вы либо читать не умеете, либо с английским у вас туговато
(!) Direct/Util: opening ‘/dev/fb0’ failed —> Permission denied
доступа нету, а это значит что нужно из под рута запускать
Добавь пользователя в группу video и можно от пользователя запустить.
Источник