Кратки пътища
Обикновено миграцията към Linux от начинаещите става на база *buntu-дистро. По навик те формират своя десктоп с камара от икони подобна на църква и първото лутане е как да направят short-cut.Добавяне на икона на приложение или системна икона на десктопа зависи от избора на система. Всяко дистро идва с DE (десктоп обкръжение/среда) и ръководител на файлове (file manager). Предпочитам работа в Gnome 2. Системните икони в тази среда могат да се викат или премахват по следния начин.Натискаме 'Alt + F2' и пишем 'gconf-editor', след което избираме 'run'. В появилия се прозорец преминаваме apps > nautilus > desktop и съответно добавяме, или премахваме нужна икона чрез чекбоксовете.
Gnome 2 е на изживяване и негов наследник е Mate. Пътят е подобен, но вместо Nautilus, ръководител на файлове е вече Caja, като повика става в началото с 'mateconf-editor'
Ако желаете, да добавете кратък път на приложение към иконите на вашия десктоп, то това позволява конктестното меню.
Обективността обаче не може да нарече горните неща ShortCut, присъщи за Windows. Конкретно в *buntu това са десктоп стартери (desktop launcher), които са обект на desktop configuration file.
Както казах, това са особености на обкръжението и характерна такава е в Lubuntu, която идва с LXDE и PCmanFM. В тази система конфигурацията на десктоп системна икона става чрез файл наречен Desktop Entry.
Например, системна икона на кошчето:
[Desktop Entry] Type=Application Icon=user-trash Name=Trash Name[bg]=Кошче GenericName=Trash GenericName[bg]=Кошче Comment=open trash in PCManFM Comment[bg]=Преглед на коша Categories=FileManager;Utility;Core;GTK; Exec=pcmanfm trash:/// StartupNotify=true Terminal=false MimeType=x-directory/normal;inode/directory;Копирайте показаното съдържание в текстови файл и в момента на съхранение ще се появи икона с кошче на вашия Lubuntu десктоп. И още, това няма да работи според очакванията ви, защото е пряк път до каталога с затрити файлове и папки според хрумване на създателя на PCManFM. Влачене и пускане на файлове върху тази икона няма да доведе до тяхното изтриване и е възможно PCManFM да ви наругае с съобщение за грешка. Постигнато е един вид връзка в графичен вид, която ви дава чрез десен бутон на контекстното меню да преминете в trash:///. Пускането на ненужен файл и съответно му затриване прави аплет, което е една идея повече от горното.
Символни и твърди връзки в Linux
Когато вие опитате да отворите символна връзка, сочеща към конкретен файл или каталог, изпълняемата команда ще ви пренасочи към съответния обект (файл или каталог).Обектът на символната връзка притежава собствени права за достъп и права за собственост, които не могат да бъдат определени въз основа на съдържащата се в символната връзка информация. Не е задължително символната връзка да се разполага на същия раздел на диска, където е и самия обект. Нещо повече, тя може да съществува дори при отсъствие на обекта.
За разлика от символната, твърдата връзка е възможна само за файлове, но не и каталози. На практика тя е начин за присвояване на име на конкретен физически файл.
Всеки файл притежава поне една символна връзка, благодарение на която се разбира че е такъв. Всяко допълнително име на файла (твърда връзка), трябва да се намира на същия раздел/том, където е и самия файл-обект на връзката. Начин за определяне, че даден файл се явява твърда връзка е да се види, че притежава един и същи номер на inode равен на същия у обекта. Важно е да се знае, че изменения на права за достъп, информация за дата и време или съдържание на произволна твърда връзка ще доведе до съответни изменения и в файл-обекта. Но, премахване на връзка няма да предизвика премахване на същинския файл - той ще съществува докато не бъде премахната и последната твърда връзка сочеща към него.
Нека приведем казаното на практика, за да внесем яснота.
Начин за създаване на връзка в Linux става чрез команда ln (съкратено от link). Каква е тази команда отговор получаваме така:
ln (1) - make links between files
Повече за е нея чрез man ln или info ln.
За удoбство на упражнението се преместим в каталог Desktop и създадем файл test, каталог hard и каталог symbolic на моя десктоп в качество на примери.
profruit@prodesktop:~/Desktop$ > test
profruit@prodesktop:~/Desktop$ mkdir hard
profruit@prodesktop:~/Desktop$ mkdir symbolic
А сега в каталог hard създадем твърда връзка hardlink и съответно в каталог symbolic създадем сивмолна връзка symlink.
profruit@prodesktop:~/Desktop$ ln -s ~/Desktop/test symbolic/symlink
Отлично. Имаме това:
или същото погледнато през командния процесор:
Вниматeлен поглед в последните две команди се чете, че символна връзка се създава с помощта на опция -s. Преход в дадена папка (прието е визуализирани каталози, да се наричат папки) ми дава възможност, чрез намиращата се там връзка да отварям файл-обект test.
Интерес буди техните свойства и на помощ команда ls с опции -li (i - inode) и параметър съответния файл.
За test това:
995060 -rw-r--r-- 2 profruit profruit 0 2012-12-15 13:07 test
За hardlink това:
995060 -rw-r--r-- 2 profruit profruit 0 2012-12-15 13:07 hardlink
За symlink това:
995099 lrwxrwxrwx 1 profruit profruit 27 2012-12-15 13:11 symlink -> /home/profruit/Desktop/test
Какво получихме до тук?
Ако влезем в папка symbolic и отворим symlink ще бъдем преведени в файл test. Достъпът към него ще бъде съобразен с неговите зададени права, а те разрешават четене и писане на притежателя, само четене от групата на притежателя и само четене от останалите членове на системата. Дефисът отпред говори, че е файл (-rw-r--r--). Самата символна връзка започва с l, което говори, че е такава. Правата й (lrwxrwxrwx) се отличават от тези на файл test. Това е важно да се схване и следва да знаете, че не можете да определите разрешен ли ви е достъп до test, докато не преминете чрез нея и не прегледате файла.
Какво е положението около hardlink-връзка?
Тя повтаря правата на test. Забележете, тя има същия номер inode 995060, докато на символната връзка е 995099. Ако влезем в папка hard и отворим hardlink в текстови редактор, а после запишем текст, същият ще се появи в файл test. Ако редактираме test, то промените ще се идентични с тези в hardlink.
до нови срещи ^.^
0 Response to "Символни и твърди връзки в Linux"
Публикуване на коментар