Преводач

Linux

Видеата от лекциите на Телерик за Линукс системна администрация можете да следите тук: http://www.youtube.com/playlist?list=PLF4lVL1sPDSnUK1NuD-P0KbW9EVtmMXVQ





Що е то Linux и има ли почва у вас?!

Линукс (Linux) е общото название, което се дава на всички операционни системи, основаващи се на ядрото „Линукс“ и системните инструменти и библиотеки от проекта GNU. Различните такива операционни системи се наричат Линукс дистрибуции, като те се различават по това с какъв друг софтуер пристигат. Линукс е флагман и един от най-известните представители на свободния софтуер. Официалната емблема на Линукс е закръглен пингвин на име Тъкс (на английски: Tux) и е създадена от Лари Юинг през 1996. Идеята за емблемата идва от Линус Торвалдс, създателят на ядрото на Линукс - той е ухапан от пингвин, когато е бил в Австралия

Версии на Linux 


В Линукс има много файлови системи. Под Линукс нямате директории. Имате Inode. Всяко едно от тези квадратчеа наричаме inode. Има 2 типа inodes: Супер блокове и обикновенни, които дефинират някакви данни. Вашите файлове са данни на диска, но от къде до къде започват тези данни  записват на тези "блокчета". Всяко едно от тях сочи към други.

Имаме и dentry (directory entry). Ограденото можем да наречем директории, като орг.елемент.



Идеята на супер блоковете е да не са само един или два. В Линукс някои файлови системи слагат през точно определено място един супер блок, който може да е копие на целия. В Линукс и Юникс всички файлови системи са измислени с идеята така, че машината ще се ползва от много хора. Още в началото Юникс се е ползвал от 200-300 човека едновременно. За да може това да работи, файловата система е трябвало да разграничава кой файл на кой юзер отговаря. 


Един inode съдържа следните неща:



Softlinks/Symlinks/Hardlinks

Softlinks и Symlinks под Линукс е едно и съшо нещо. Те представляват нещо поднобно на shortcut в Windows. Създавате файл в този файл записвате някакво количество байтове, кои показват пътя да файла, който искате да отворите на практика. Файл, който има път към др. файл във вашата система. При Symlink собствен inode които сочи към някакви данни.

Hardlinks - На долната картинка се вижда, че имаме 2 inoda с различно име, които сочат към един и същ блок с база данни. Това работи само на една и съща файлова система.






Основни команди в Linux !!!

Основни команди в Linux

man – абревиатура на manual – ръководство
Първото което трябва да запомните е, че в Линукс терминал за помощ се извиква командата man. Вие не знаете какво значи командата ls за която ще научим по-късно и затова ще прочетем ръководството по следния начин:
sami@sami:~$ man ls
На екрана ще ви се покаже за какво служи командата ls.

ls – показване на файловете
Командата ls идва от английската дума list т.е покажи списък. Ако напишете ls ще ви даде списък със всички файлове в текущата директория. Ако листвате директория която е празна няма да ви се върне нищо т.е ще преминете на следващия ред за въвеждане на нова команда. Във Linux също има “скрити” файлове. Тяхните имена започват със “.” (точка), и ако напишете само ls няма да ви ги покаже. За да ги видите добавете опцията -a, т.е ls -a. За да видите повече информация за файловете в дадена директория добавете опцията -l, т.е. ls -l. Така въведена командата ще ви изпише правата (file permission) както и размера на файловете. Ако искате да видите всички под-директорий в дадена директория пишете ls -R. Можете да добавяте повече от една опция т.е. ls -laR ще ви даде всички файлове(и скритите) в дадената директория, нейните под-директорий и размера на файловете.

cd – промяна на директорията
Командата cd сменя директорията. Синтаксиса и е “cd /име на директория”. Ако напишете само “cd ” ще полуците информация за текущата директория. Под Linux директорийте се пишат с “/”. T.e ако искате да влезете в директория “tmp” трябва да напишете “cd /tmp”. За да се върнете в предишна директория напишете “cd ..”

pwd – в коя директория се намираме
Тази команда показва просто коя ви е текущата директория. Името на командвата идва “Print Working Directory”(Изпечатай Текущата директория). Тази команда е полезна ако използвате името на директорията в даден скрипт.

cp – копиране на файлове
Командата cp е предназначена за копиране. Синтаксиса на командата е cp filename1 filename2. Има няколко опций към cp командата. Може да използвате -f опцията за да “форсирате” копирането т.е. да запишете файл върху друг файл без системата да ви пита. Опцията -p ви дава възможност да съхраните правата на файла. Можете да копирате цяла директория с нейното съдържание в директорията /home/sami/newdirectory/ като напишете cp -rpf /home/sami/backup/

ln – създаване на символни връзки
Една от възможностите на Linux файловата система е linking files, т.е създаване на връзка към файловете. Подобно е на shortcut-ите под Windows. Работи чрез “пренасочване” към действителния файл. Най-лесно създаването на такива файлове е чрез ln командата. Синтаксиса и е ln -s syshtestwuwasht_file ime_na_wryzkata. Има два типа връзки “твърди” и “символни”;. При изтриването на “символна” връзка се изтрива само връзката, а при изтриване на “твърда” се изтрива действителния файл. За да изтриете символна връзка напишете rm symbolic_link. Тази команда няма да изтрие файла към който сочи връзката.

mv – преместване и преименуване на файлове
Командата mv може да бъде използване за преместване или преименуване на файлове. Синтаксиса е mv fileone filetwo, където “fileone” е оригиналното име на файла и “filetwo” е новото име. По принцип не може да се местят директорий от един дял на друг, но това може да бъде направено със следните команди cp -rpf – копира директорията, и след това rm -rf изтрива старата директория. .

rm – изтриване на файлове
Командата rm се използва за изтриване(removing) на файлове. Ако искате да изтриете файл с име foobar в текущата директория пишете rm foobar. Имайте предвид че изтриете ли веднъж даден файл няма как да го възстановите. Ако искате да изтриете файл от друга директория използвайте пълното име на файла. За пример ако искате да изтриете файл с име “windows” който е в директория /usr/local/src/, трябва да напишете rm /usr/local/src/windows. За да изтриете дадена директория заедно с файловете в нея пишете rm -rf /directory кудето “/directory” е пълния път на директорията която искате да изтриете. Внимавайте когато използвате тази команда!

mkdir – създаване на директория
mkdir /home/sami/newdirectory

tail – наблюдавай какви промени се случват в даден файл
Програмата tail да видите какви промени се случват в даден файл. Може да го използвате за да наблюдавате вашите лог файлове, например /var/log/messages. Това става като напишете tail -f /var/log/messages.

top – програма за следене на CPU-то и паметта
Тази програма показва какво става с ресурсите на вашата система. Използвайте следните опций за да:
M показва информация за памета която се използва
P информация за CPU-to
q to quit

w – виж кой още е влезнал в системата
Когато напишете w ще разберете кой в момента също е влезнал в системата. Тази команда е полезна ако искате да видите дали някой специален за вас човек в влезнал, какъв е броя на влезлите и т.н. Командата who е същата като w.

passwd – смяна на паролата
Смяната на паролата става с командата passwd, която е стандартна за всички UNIX операционни системи. Когато си сменяте паролата ще ви се наложи да въведете старата си парола и след това два пъти новата – за да не объркате случайно при въвеждането.

Командата chmod има следния синтаксис: chmod [ugoa][+-=][rwx] файл1 файл2 файлN. Тя се използва за промяна на кода на защита на указаните файлове. Самата промяна става чрез задаване на опции (без да се пишат тирета):
опция u указва промяна на правата на собственика на файла, опция g указва промяна на правата на групата на собственика, опция o указва промяна на правата на всички останали потребители, опция a указва промяна на правата на всички потребители;
+ означава добавяне на права, – означава отнемане на права, = означава установяване на нови права;
r е право за четене, w е право за писане, x е право за изпълнение.
Възможно е кодът на защита да бъде зададен чрез осмично число с три цифри първите 3 бита са r, w, x правата за собственика, следващите 3 бита са r, w, x правата за групата на собственика, следващите 3 бита са r, w, x правата за останалите потребители. Всъщност в кода на защита има още 3 бита, но засега няма да ги разглеждаме.
Пример: chmod u+x proc добавя право за изпълнение на файла proc за собственика на този файл.

Командата cat има следния синтаксис: cat файл1 файл2 файлN.
Тя се използва най-вече с текстови файлове. Извежда на стандартния изход съдържанието на файл1, файл2, , файлN последователно.

Командите more и less имат аналогичен синтаксис и действие. При more на всеки 24 реда потребителят се подканва да въведе интервал. Това е полезно, ако извежданият текст е повече от един екран. За разлика от more, където може да се придвижваме само напред в извеждания текст, при less е възможно връщане назад.

Командата grep има следния синтаксис: grep шаблон файл1 файл2 файлN. Тя търси шаблонът във всеки от указаните файлове.
Всеки път когато командата открие шаблона в някой от файловете, тя извежда на стандартния изход целия ред от файла, в който е намерен шаблона. В шаблона могат да се използват следните символи:
всички символи, които нямат специално значение например латинските букви и цифрите;
символът . означава кой да е символ;
последователност от символи, оградени в [ ] означава точно един от тези символи; последователност от символи, оградени в [^ ] означава нито един от тези символи;
символът ^ означава начало на ред, символът $ означава край на ред.
Значението на специалните символи може да се отмени, като непосредствено преди тях се постави .
Пример: grep ^student f1 f2 търси думата student в началото на ред във файловете с имена f1 и f2.

Командата ps има следния синтаксис: ps. Тя извежда информация за съществуващите процеси в системата. По подразбиране ps връща информация само за процесите, които принадлежат на потребителя, изпълняващ ps. С опция -A се извеждат абсолютно всички процеси.
По-подробна информация за всички процеси може да се получи със следната комбинация от опции -xj.

Командата kill има следния синтаксис: kill процес. Тя се използва за изпращане на сигнал към указания процес (процесът се задава чрез идентификатора си). Изпращането на сигнал води до прекратяване на процеса, ако той няма някаква специална реакция за този сигнал.
По подразбиране, сигналът е SIGTERM, но може да се зададе опция -n, където n е номер на сигнал за изпращане. Например, сигналът SIGKILL има номер 9. Този сигнал води до безусловно прекратяване на процес (за разлика от SIGTERM, за който може да има реакция).
Пример: kill -9 1157 прекратява безусловно процесът с
идентификатор 1157.

Командата date има следния синтаксис: date [дата]. Ако няма аргументи, тя извежда точно време и дата. Ако има аргумент, тя променя системната дата. Аргументът трябва да има формат MMDDYY. Чрез командата date може да се променя системното време. Това става с ключов аргумент -s (–set), на който се задава значение новото време във формат HHMM[.SS].

Shortcuts!


Още полезна инфоромация тук


Няма коментари:

Публикуване на коментар