• Здраво и добредојдовте на форумот на IT.mk.

    Доколку сеуште не сте дел од најголемата заедница на ИТ професионалци и ентузијасти во Македонија, можете бесплатно да се - процесот нема да ви одземе повеќе од 2-3 минути, а за полесна регистрација овозможивме и регистрирање со Facebook и Steam.

[GNU/Linux] - Снаоѓање во CLI средина

Статус
Затворена за нови мислења.
  • Ја почнал/а темата
  • #1

Aleks

Gaining Experience
18 мај 2007
5,748
288
Снаоѓање и работа во UNIX CLI средина.

Содржина:

1. I/O редирекција
2. Користење на pipeline (‘|’)


Е вака, ова го пишувам ако имате желба да се одвикнете од вашиот десктоп и да ја почуствувате вистинската МОЌ на оперативниот систем GNU/Linux.
Туторијалов ќе го организирам така да за неколку команди и проби ќе постирам минимално еден screenshot.

Објаснување, CLI е скратеница од Command Line Interface

Ајде да почнеме :)

Според мене најдоброто нешто во врска со CLI на Linux-от е можноста за редирекција (пренасочување) на влезот и излезот. Што значи тоа, епа ако на пример некоја команда дава премногу информации и сите тие информации не може да ги собере на мониторот може излезот да го редиректираме во некој фајл и подоцна да го прочитаме. Сватете ја редирекцијата како начин за управување на излезот од некоја команда.

Влезно редиректирање

Ова најлесно се објаснува со пример и така и ќе направам. Еве го случајот, во linux постои команда wc која служи за информации за некој текст фајл т.е. бројот на зборовите, бројот на линиите и бројот на употребени карактери. Доколку се уклучи сама по себе не прави ништо туку чека корисникот да внесе некој текст, да притисне CTRL+D и таа ќе му ги даде информациите за бројот на линии/зборови/карактери. Сега доколку го поставиме влезот да биде од некој веќе создаден фајл ќе добиеме многу моќна комбинација.

Синтаксата за редиректиранње на влезот е:

Команда < влез

Еве screenshot од горенаведеното.



Излезно редиректирање

Ова е сега спротивно од влезното. Значи ако сакате излезот на некоја команда да го редиректирате на друго место а не на мониторот тогаш ќе ја користите следнава синтакса:

Команда > Излезна локација

Еве еден практичен пример, командата dmesg (Оваа служи за преглед на пораките создадени од кернелот при boot up на системот), оваа команда има многу голем излез, т.е. покажува многу информации и често тие информации неможат да се сместат на целиот екран кое во некој случај е лоша работа оти немате преглед на целите информации. Значи во овој случај ние ќе ја употребеме комбинацијата на овие наредби:

dmesg > izlez.na.dmesg

И подоцна можеме фајлот izlez.na.dmesg да го отвориме со некој текст едитор (vi, pico, nano …) и притоа ќе добиеме многу подетален и подобар приказ на излезот од dmesg. Еве screenshot:





Сега мора да напоменам за излез со дополнување. Што значи тоа? Епа вака, доколку направиме на следното уклучување повторно dmesg како во горенаведениот пример, претходните информации во фајлот ќе бидат избришани и заменети со новите. За да не дојде до ова ние ќе користиме синтакса за append или за допишување. Синтаксата е:

Команда >> Фајл

Разликата е само до >>. Еве пример, направив 2 фајлови со посебен текст, ќе ја употребам командата cat за да пробам она напишаното да го внесам во еден единствен. Еве screenshot:



Значи прво текстот од едниот фајл го ставив во фајлот spoeno а потоа тесктот од вториот фајл го ставив во spoeno ама така да ја искористив синтаксата што е горе наведена.

Значи, вежбајте со овие едноставни работи, мене снаоѓањето ми го прават многу полесно.
 
  • Ја почнал/а темата
  • #2

Aleks

Gaining Experience
18 мај 2007
5,748
288
Користење на pipe - |

За ова зборував во еден претходен туториал (не се сеќавам кој баш) ама сега ќе зборувам малце подетално за тоа. Pipe е всушност оној карактер кој е како вертикална линија - | и се користи за паралелно извршување на некои команди. Во Linux-от има многу добри филтери за текст, за сортирање, барање низ текст итн... сите тие можат да се искористат преку pipe |. Кога го користиме pipe на излезот кје го добиеме она кое е резултат од комбинирањето на две/три и повеќе наредби. Овде ќе се задржам на неколку примери и нивно објаснување.

Со помош на pipe можеме излезот од командата cat да го менуваме по наша волја, дали тоа ќе е за барање на текст или друго не е битно. Еве на пример го имаме фајлот vlez и сакаме да пронајдеме реченица која содржи одреден збор, и за таа цел ќе користиме:

cat vlez | grep tretata

Со помош на ова ние ќе добиеме излез само од една реченица која го содржи зборот tretata (ние во нашиот случај добиваме само една реченица на излез поради тоа што во фајлот vlez има само една реченица која го содржи зборот tretata). Еве ви screenshot за подобро да сватите:



Исто така многу е корисна grep командата со –i опција или ignore case. Оваа е опција за да не се прави разлика моеѓу ТеКСт и текст или пак ТЕКСТ, како што е на windows.

Друга интересна комбинација е со помош на less и more. Овие команди служат за прикажување на дел од излезот и со опција да може да се контролира со стрелките на тастатурата. Ова е мнгу интересна комбинација (мислам со cat document | less) ако работите преку некој remote сервис на некој друг сервер/комјутер. Пожелно е овие примери да си ги испробате самите во пракса на некое Linux дистро, оти ова е универзално за секое дистро. Еве неколку примери кои може да ги испробате:

cat /etc/X11/xorg.conf | less
cat /etc/X11/xorg.conf | more


Ако во меѓувреме сакате да излезете од командата, т.е. веќе да не го листате фајлот, само кликнете “q” и готово.

Комбинација со sort.
Ова е многу добра комбинација која многу често ја користам кога сакам да сортирам нешто по азбучен ред. Работи во комбинација со cat и со други команди ама мислам дека е доволно да знаете да работите само со cat и ќе ве служи одлично. Еве ви пример за оваа комбинација:
Создадов фајл izmesano кој се состои само од букви ама не се подредени. Сега за да ги подредам буквите по азбучен ред, јас ќе користам:

cat izmesano | sort

Еве ви screenshot:



Ок, сега гледате дека карактерот а се повторува 2 пати. За оваа цел или ако сакам да видам само единствени или уникатни карактери после горенаведената команда ќе ставам “ | uniq” Значи да објаснеме сега, прво имаме cat кое ни ја дава содржината на фајлот на мониторот, после имаме sort и потоа uniq , значи излезот ќе ни биде комбинација од сите овие три и добиваме, еве screenshot:



Комбинација.

Значи сега може да ги искомбинираме помандите со помош на I/O редиректирањето и со помош на | . Еве пример кој детално ќе го објаснам:




Прво имаме стандардна cat команда, после ги издвојуваме сите реченици кои го содржат зборот “recenica” без оглед на дали буквите се големи или мали, после сето тоа го сортираме и на крај го ставаме во фајлот sredeno.

Се надевам дека овој туторијал ќе му се најде на некој корисен.

Поздрав
 

Commie

Gaining Experience
27 октомври 2007
4,717
218
www.foxmediahouse.com
Браво Алекс се надминуваш себеси, тебе комотно може да те сметаме за линукс мастер.
 

hmmm

Gaining Experience
30 ноември 2007
1,242
81
hmmm's setup  
Processor & Cooler
i5 3570k @4.2GHz & CM Hyper 212+
Motherboard
AsRock Z77 Pro3
Storage
Samsung 840 EVO 120GB + WD Black 1TB
PSU
Corsair CX600
RAM
2x4GB G.Skill Sniper 1600MHz
Video card
HD4000
Case
Custom
Mouse
Gigabyte GM-M7000
Keyboard
Generic
Audio
Asus Xonar DG
Monitor
Compaq Q2159
OS
Windows 8 64bit
Статус
Затворена за нови мислења.

Нови мислења

Последни Теми

Статистика

Теми
43,529
Мислења
822,690
Членови
28,052
Најнов член
Ttifun
На врв Дно