Friday, May 13, 2022

Linux-ის Hardware მონაცემების ნახვა

ლინუქსის სპეციალისტისთვის მნიშნვნელოვანია იცოდეს თავისი სისტემების როგორც აპარატული ისე პროგრამული კომპონენტები. რადგანაც სისტემა საბოლოო ჯამში მუშაობს აპარატულ პლატფორმაზე ამ პლატფორმის სპეციფიკაციების ცოდნა რამოდენიმე გამოწვევას პასუხობს:

  • თქვენ გეცოდინებათ თუ როგორ ნაწილდება ოპერატიული მეხსიერება ( RAM )  თქვენს სისტემაში და რამდენია თავისუფალი შემდგომი გამოყენებისთვის. ეს ინფორმაცია მნიშვნელოვანია განსაკუთრებით მაშინ, როდესაც გსურთ განაახლოთ/შეცვალოთ თქვენი Linux სისტემა ან მასზე მომუშავე სერვისები.
  • იმავე მიზნით მნიშნველოვანია იცოდეთ თუ როგორია მუდმივი მეხსიერების (storage) მოწყობილობები და დარჩენილი თავისუფალი ადგილი. 
  • თქვენ შეძლებთ განსაზღვროთ ძირითადი აპარატული კომპონენტების მუშაობის წარმადობა, რაც საბოლოო ჯამში განსაზღვრავს მთელი სისტემის და სერვისების წარმადობას
უმეტესობა Linux დისტრიბუტივში ამ მიზნებისთვის თქვენ არ გჭირდებათ დამატებით პროგრამები ანდა უტილიტები. მთელი ამ ინფორმაციის მიღებისთვის საკმარისია CLI-ს გამოყენება.

Lscpu 

პირველი ბრძანება, რომელსაც ჩვენ განვიხილავთ არის lscpu. ამ ბრძანების სახელიდანაც ნათლად ჩანს, რომ მისი დანიშნულებაა პროცესორზე ინფორმაციის ჩვენება




lshw

თუ lscpu გვაძლევს ინფორმაციას მხოლოდ პროცესორზე lshw იძლევა უფრო დიდ სურათს და მოიცავს ინფორმაციას პროცესორზეც, ოპერატიულზეც, usb კონტროლერებზეც და ა.შ.

ამ ბრძანების გამოყენება უმჯობესია მოხდეს sudo-თი ანუ სუპერ იუზერის უფლებებით. ამ შემთხვევაში თქვენ მიიღებთ უფრო ზუსტ და ყოვლის მომცველ ინფორმაციას.




Tuesday, January 5, 2021

History ბრძანება

 

ლინუქსის ახალბედებისთვის history-ის შესაძლებლობები მთავრდება წინა ბრძანებების ისტორიის ჩვენებით. მაგრამ ეს ბრძანება მხოლოდ ისტორიულ ექსკურსს არ ემსახურება. ის  ძალიან ხელსაყრელია განსაკუთრებით მაშინ, როცა თქვენ მუშაობთ სერვერზე გრაფიკული ინტერფეისის გარეშე ანდა სადმე ssh-ით ხართ შესული. ამ დროს თქვენ მოკლებული ხართ შესაძლებლობას ადრე აკრეფილი გრძელი და კომლექსური ბრძანება დააკოპიროთ, რათა მასში შეიტანოთ მცირეოდენი ცვლილებები. ზუსტად ამ და სხვა შესაძლებლობას მოგცემთ ბრძანება history.

ყველა სტრიქონს რომელიც თქვენ აკრეფთ ბრძანებათა სტრიქონში და შემდეგ დააჭერთ Enter-ს ინახება history-ში და  ენიჭება შესაბამისი რიგითი ნომერი. ამიტომ თუ თქვენ რომელიმე წინა ბრძანების შესასრულებლად გამოძახებას აპირებთ გადაბმულად აკრიფეთ ძახილის ნიშანი და სასურველი ბრძანების რიგითი ნომერი და Enter. მაგალითად: !3 history-ში რიგით მესამე ბრძანება შესრულდება.


!! გამოიძახებს წინა აკრეფილ ბრძანებას. ზუსტად იგივეს იზამს !-1. უნდა ითქვას, რომ წინა ბრძანების გამოსაძახებლად უფრო მარტივია კლავიატურაზე ზედა ისრის  დაჭერით. მაგრამ თუ ამ ლოგიკას მივყვებით და ამავე დროს გვახსოვს წინათ აკრეფილი ბრძანებების თანმიმდევრობა შეგვიძლია გამოვიძახოთ ნებისმიერი ბრძანება მიმდინარე პოზიციიდან უბრალო გამოკლებით. ქვემოთ მოცემულ მაგალითში ბრძანება ls -a დაშორებულია 5 პოზიციით.



გარდა წინა ბრძანებების გამოყენების ჩვენ შეგვიძლია გამოვიყენოთ წინა ბრძანების არგუმენტები ახალ ბრძანებაში.

წინა ბრძანების არგუმენტების გადმოსატანად გამოიყენება : და მერე გადაბმულად ეთითება არგუმენტის ნომერი მაგალითად :2 და ა.შ. არსებობს შემოკლებებიც მაგალითად წინა ბრძანების პირველი არგუმენტის გამოსაყენებლად შეგვიძლია გამოვიყენოთ :^, ხოლო სულ ბოლოსი :$. ყველა არგუმენტისთის გამოსაყენებლად გამოიყენება *



* არის სინონიმი კომბინაციისთვის 1-$. ასეთივე ლოგიკით ჩვენ შეგვიძლია მივუთითოთ მაგალითად 2 დან 5 არგუმენტამდე. მაგალითად !23:2-5 ნიშნავს სიაში 23 ბრძანების 2დან 5 არგუმენტის გამოყენება.

ისტორიის წასაშლელად გამოიყენება ბრძანება history -c

და ბოლოს თუ არ გინდათ რომელიმე ბრძანება მოხვდეს history-ში შეგიძლიათ მისი წერა უბრალოდ სფეისით დაიწყოთ. თანამედროვე ლინუქს დისტრიბუტივების უმეტესობა სტრიქონებს, რომელიც იწყება გამოტოვებით ისტორიის თვალსაზრისით აიგნორებს.

Tuesday, February 11, 2020

დინამიურად განსაზღვრეული დიაპაზონი (სია) ექსელში

ექსელში მუშაობისას ძალიან ეფექტურია წინასწარ განსაზღვრული დიაპაზონიდან მოცემულ სიასთან მუშაობა Data Validation-სთვის, დიაგრამებისთვის და ა.შ. თუმცა ყოველდღიური  პრაქტიკული ამოცანები მოითხოვენ რომ ასეთი სიები მაქსიმალურად მოქნილნი იყვნენ. მაგალითად რაღაც პოზიცია შეიძლება არ იყოს უკვე აქტუალური და უნდა წაიშალოს ან პირიქით სიას დაემატოს პროდუქტების ახალი დასახელებები და შესაბამისად ერთ სიაში ამ ცვლილების ასახვით ისინი უნდა გავრცელდნენ მთელ ფაილზე.  ასეთ სიებს ხოლმე დინამიურად განსაზღვრულს უწოდებენ.
დინამიურად განსაზღვრული სიის ფორმირებისთვის მრავალი მეთოდი არსებობს, მაგრამ ჩვენ დღეს ვისაუბრებთ ერთ-ერთ ყველაზე მარტივზე - ფუნქცია INDEX-ის გამოყენებით.
ყველაზე მარტივი დიაპაზონი შეიძლება გაკეთდეს  სვეტში მოცემული მონაცემებისგან:

ვინაიდან არ გვინდა, რომ სათაურიც მოხვდეს სიაში მის ფორმირებას დავიწყებთ A2 უჯრიდან. სტანდარტულ სიტუაციაში სიის დიაპაზონი იქნებოდა $A$1:$A$6. მაგრამ რადგანაც გვინდა რომ ეს სია მაქსიმალურად მოქნილი იყოს და ასახავდეს მასში ახალი დასახელებების დამატებას ან ძველების წაშლას გამოვიყენებთ მსგავსი ტიპის ფორმულას:
=$A$2:INDEX($A:$A,COUNTA($A:$A))
აღნიშნული ფორმულა უნდა ჩავწეროთ დიალოგურ ფანჯარაში, რომელსაც გამოვიძახებთ Formulas თაბიდან Define Names ბრძანებით.




მოდით გავარჩიოთ, როგორ მიიღწევა ასეთი შედეგი:
ჩვენ ფორმულა იწყება A2 უჯრით და შემდეგ მოდის დიაპაზონის აღმნიშვნელი : ანუ ნათელია, რომ დიაპაზონი იწყება A სვეტის 2 უჯრიდან, დიაპაზონის სიმბოლოს მერე მოდის ფუნქცია INDEX, რომელიც თავის მხრივ რაღაც მონაცემებს იღებს მეორე ფუნქციიდან COUNTA-დან. ამიტომ უფრო ყურადღებით შევხედოთ ჩვენი ფორმულის ამ კონსტრუქციას:
INDEX($A:$A,COUNTA($A:$A))
ეს კონსტრუქცია განსაზღვრავს თუ რომელი იქნება A2 დაწყებული დიაპაზონის ბოლო უჯრა: კონკრეტულად კი COUNTA ადგენს რომელი არის ბოლო შევსებული (არა ცარიელი უჯრა) და ამ ინფორმაციას გადასცემს ფუნქცია ინდექსს, რომელიც უკვე განსაზღვრავს დიაპაზონის ბოლო უჯრას.

მსგავსი მიდგომით შესაძლებელია ასევე დინამიური დიაპაზონის ფორმირება როგორც სვეტების ისე სტრიქონების მეშვეობით. (მართალია ასეთი დინამიური დიაპაზონი Data Validation-ისთვის შეიძლება აღარ იყოს გამოსადეგი, მაგრამ მისი გამოყენება შეიძლება მაგალითად დიაგრამებში, ან რაიმე ფორმულებში)
=$A$1:INDEX($1:$1048576,COUNTA($A:$A),COUNTA($1:$1))
აღნიშნულ შემთხვევაში ინდექსი მოიცავს ექსელის გვერდის ყველა უჯრას დაწყებული 1დან დამთავრებული 1048576 (უფრო გადაზღვევის მიზნით, არა მგონია ოდესმე მთლიანად შეავსოთ ექსელის გვერდი), ხოლო COUNTA  „აკონტროლებს“ როგორც სვეტებს, ისე სტრიქონებს.

გვერდის ჩარჩო ვორდში

გვერდის ჩარჩოსთან მუშაობა ხასიათდება მცირე განსხვავებით ვორდის ვერსიის მიხედვით, თუმცა ზოგადი მომენტები საერთოა. ჩვენ უშუალოდ განვიხილავთ ამ საკითხს Office 2019-ს მაგალითზე.
პირველ რიგში გახსენით Design თაბი (ძველ ვერსიებზე გახსენით Layout ან Page Layout თაბები) და დააჭირეთ Page Borders ღილაკს, რის შემდეგ გაიხსნება პატარა ფანჯარა სახელად Borders and Shading, როგორც წესი ავტომატურად Page Border თაბზე.
Depending on your version of Word, click the Design or Layout/Page Layout tab, then click Page Borders
დააჭირეთ Box-ს რათა დაამატოთ სტანდარტული ჩარჩო თქვენ დოკუმენტში, თქვენ შეგიძლიათ შეცვალოთ  ხაზების სტილი, ფერი, ჩარჩოს სისქე გვერდზე მოცემული ჩამოსაშლელი მენიუებიდან. დააჭირეთ ok-ს და ჩარჩო დაემატება თქვენი დოკუმენტის ყველა გვერდს (ან თქვენ შეგიძლიათ ჩარჩო მხოლოდ მოცემულ სექციაზე გამოიყენოთ – Apply to ჩამოსაშლელი მენიუს მეშვეობით, რომელიც განლაგებულია ფანჯრის ქვედა მარჯვენა კუთხეში. თუ აირჩევთ None-ს სტილი არ დაემატება. (ხოლო უკვე ჩარჩოიან გვერდზე ამ ფანჯარაში None-ს არჩვა გააქრობს ჩარჩოს გვერდიდან).
In the Borders and Shading dialog box, select Box, choose your color, style and width options, then click OK to apply it to your document

გარდა სტანდარტული სადა ჩარჩოსი, თქვენ შეგიძლიათ დაამატოთ სხვა სტილის ჩარჩოები, მაგალითად ჩრდილის ტიპის (Shadow) ან ე. წ. სამგანზომილებიანი (3-D)
Select your Word border style by clicking one of the options in the "Setting" section of the "Page Border" tab in the "Borders and Shading" dialog box
Word იძლევა საშუალებას ჩარჩოს ოთხივე მხარის ვიზუალის კონტროლის: ჩვენ შეგვიძლია გავაქროთ გარკვეული ხაზები, ამისთვის ფანჯრის Preview ნაწილში დააჭირეთ ჩარჩოს სქემატური გამოსახულების სასურველ ნაწილს ან იქვე არსებულ პატარა პიქტოგრამებს.
In your Microsoft Word page border settings, click on the individual border lines in the Preview sections to add/remove each line

თუ ჩარჩოს თითო მხარე უნდა იყოს განსხვავებული ფერის, სისქის და ა.შ. მაშინ Setting მხარეს აირჩიეთ Сustom, აირჩიეთ სასურველი სტილი, ფერი, სისქე და ა.შ. და შემდეგ დააჭირეთ ჩარჩოს სქემატური გამოსახულების სასურველ მხარეს ან მხარეებს. (ამ შემთხვევაში თითო მხარეს ინდივიდუალურად უნდა დააჭიროთ). ყველა სხვა Setting-ის შემთხვევაში აღჩეული ფერი, სისქე და სხვა პარამეტრები ავტომატურად ენიჭება ჩარჩოს ოთხივე მხარეს.
In the Page Border options for Microsoft Word, select Custom, select your formatting, then click on one of the border lines in the Preview section to apply it

Wednesday, February 5, 2020

პრინტერის წაშლის არასტანდარტული მეთოდები Windows-ში

პრინტერის წაშლის ტრადიციული გზა საკმაოდ მარტივია. საკმარისია გახსნათ Control Panel -> Devices and Printers, ქვეგანყოფილება Printers-ში დააკლიკოთ მარჯვენა ღილაკით წასაშლელ პრინტერს და აირჩიოთ Remove Device, შემდეგ კი დაადასტუროთ პრინტერის წაშლა.  გამართულ ვინდოუსზე ერთადერთი დაბრკოლებაშეიძლება იყოს ის, რომ თქვენ არ გაქვთ ადმინისტრატორის უფლებები ანდა არ  იცით ადმინისტრატორის პაროლი.
მაგრამ შეიძლება მოხდეს ისე, რომ Device and Printer-ებიდან პრინტერის წაშლა წარუმატებელია. ამ შემთხვევაში სპეციალისტი იძულებულია მიმართოს ალტერნატიულ გზებს და ამ გზებიდან ერთ-ერთი  აუცილებლად წაშლის პრინტერს, თუმცა თვითონ პრინტერის დრაივერის წაშლა შესაძლებელია დამატებით მოგიწიოთ.

მეთოდი 1.  Print Server Properties

თუ უკვე იმყოფებით Device and Printer-ებში  აირჩიეთ პრინტერი და შემდეგ დააჭირეთ ზემოთ გამოჩენილ Print Server properties-ს. ახლად გახსნილ ფანჯარაში გადადით Drivers-ს ტაბზე. ჩამოშლილი სიიდან აირჩიეთ წასაშლელი პრინტერის დასახელება და მიეცით Remove. პროცედურის დასრულების შემდეგ დაარესტარტეთ კომპიუტერი და ცადეთ პრინტერის წაშლა ტრადიციული ან ქვემოთ მოყვანილი სხვა ხერხებით



მეთოდი 2. წაშალეთ პრინტერი პრინტერების ფოლდერიდან:

Win+R კლავიატურული კომბინაციის მეშვეობით გახსნილ Run ფანჯარაში ჩაწერეთ: explorer shell:::{2227A280-3AEA-1069-A2DE-08002B30309D}
გახსნილ ფანჯარაში აირჩიეთ წასაშლელი პრინტერი და მიეცით Delete.


მეთოდი 3. გაასუფთავეთ Print Jobs Queue

Win+R კლავიატურული კომბინაციის მეშვეობით გახსნილ Run ფანჯარაში ჩაწერეთ: C:\Windows\System32\spool\PRINTERS წაშალეთ ამ ფოლდერში არსებული ნებისმიერი ფოლდერი თუ ფაილი. ცადეთ პრინტერის სტანდარტული წესით წაშლა.

მეთოდი 4. პრინტერის წაშლა Setting-ებიდან

თანამედროვე ვინდოუსებში კონტროლ პანელის ალტერნატივად გვევლინება Settings. სანამ უფრო რთულ მეთოდებს აირჩევთ Settings პრინტერის წაშლის ცდა ღირს. Win+R კლავიატურული კომბინაციის მეშვეობით გახსნილ Run ფანჯარაში ჩაწერეთ: ms-settings:connecteddevices მარცხნივ მოცემული სიიდან აირჩიეთ Printers & Scanners და ახლად გახსნილ სიაში დააჭირეთ წასაშლელ პრინტერს და მიეცით Remove. ყოველი შემთხვევისთვის დაარესტარტეთ კომპიუტერი.


მეთოდი 5. პრინტერის წაშლა Print Management-დან

გაითვალისწინეთ რომ Print Management ვინდოუსის ყველა ვერსიას არ აქვს.
Win+R კლავიატურული კომბინაციის მეშვეობით გახსნილ Run ფანჯარაში ჩაწერეთ: printmanagement.msc. ახლად გახსნილ ფანჯარაში ჩამოშალეთ Custom Filters და აირჩიეთ All Printers. შუაში გახსნილ სიაში აირჩიეთ წასაშლელი პრინტერი დააჭირეთ მარჯვენა ღილაკს და მიეცით Delete. დაარესტარტეთ კომპიუტერი.


მეთოდი 6. პრინტერის წაშლა რეესტრიდან

ყურადღება! რეესტრთან მუშაობისას გამოიჩინეთ განსაკუთრებული ყურადღება და სიფრთხილე. შეცდომით  სხვა პარამეტრის წაშლა ან შეცვლა შეიძლება გამოიწვიოს ვინდოუსის დაზიანებაც.
არ არის საიდუმლო, რომ ვინდოუსის ყველა პარამეტრი თუ არა მათი აბსოლუტური უმრავლესობა ინახება რეესტრში. გამონაკლისი არც პრინტერებია. სისტემაში არსებული პრინტერები მოცემულია რეესტრის შემდეგ ჩანაწერში HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control > Print > Printers . Win+R კლავიატურული კომბინაციის მეშვეობით გასნილ Run ფანჯარაში ჩაწერეთ regedit და შემდეგ მოძებნეთ ზემოთ მოცემული „მისამართი“. Printers ქვემოთ მოცემულ სიაში კი წაშალეთ არასასურველი პრინტერი (მისი ფოლდერი მთლიანად). დაარესტარტეთ კომპიუტერი და ცადეთ  პრინტერის სტანდარტულად წაშლა.

მეთოდი 7. პრინტერის წაშლა cmd-დან ან Powershell-ის მეშვეობით.

იმისთვის რომ წაშალოთ პრინტერი cmd-დან ჯერ უნდა ჩაინიშნოთ მისი სახელი. ამისთვის გახსენით command prompt ადმინისტრატორის უფლებებით და  ჩაწერეთ
wmic printer get name
წასაშლელად კი გამოგადგებათ ბრძანება
printui.exe /dl /n "Name of Printer"
რა თქმა უნდა Name of Printer-ის ნაცვლად უნდა ჩაწეროთ პრინტერის კონკრეტული სახელი. მაგალითად:
printui.exe /dl /n “HP LaserJet MFP M130nw (BD1C6B)”
მსგავსი ლოგიკით ვმოქმედებთ Powershell-ში:
ვიგებთ პრინტერის სახელს
Get-Printer | Format-List Name
და ვშლით სასურველ პრინტერს
Remove-Printer -Name " HP LaserJet MFP M130nw (BD1C6B)"

Tuesday, February 4, 2020

პროცესორის რესურსის გამოყენების კონტროლი ლინუქსში




ლინუქსის სერვერების უპრობლემო მუშაობისთვის მნიშვნელოვანია, რომ პროცესორის რესურსები მეტნაკლებად თანაბრად იყოს ხელმისაწვდომი ყველა საჭირო პროცესისთვის. ამიტომ მნიშვნელოვანია გაკონტროლდეს თუ რა პროცესი პროცესორის რა რესურს იყენებს.
საამისოდ ჩვენ გამოგვადგება ლინუქსის ორი უტილიტა: top და ps

1.       top
top უტილიტა ფართოდ გამოიყენება ადმინების მიერ და ვინდოუსის ტასკ მენეჯერის ანალოგად შეიძლება მოვიაზროთ. top რეალურ დროში (უფრო ზუსტად 5 წამიანი განახლებით) გვიჩვენებს სხვადასხვა პროცესის მიერ პროცესორის, ოპერატიულის, სვაპის გამოყენებას, გაშვებული პროცესების რაოდენობას, პროცესების PID-ებს და ა.შ. სტანდარტულად top პროცესებს ალაგებს CPU დატვირთულობის შესაბამისად, ამიტომ სულ ზემოთ პროცესორის ყველაზე მეტად გამომყენებელი პროგრამები მოექცევიან
top-ის შედეგებში ნაჩვენები სვეტები
PID: პროცესის უნიკალური ნომერი
USER: პროცესის მფლობელი იუზერი, ხშირად ეს პროცესის იგივე გამშვები იუზერია
PR: პროცესის პრიორიტელობა
NI: პროცესის NICE მნიშვნელობა
VIRT: რამდენ ვირტუალურ მეხსიერებას იყენებს პროცესი
RES: რამდენ რეალურ ოპერატიულ მეხსიერებას იყენებს პროცესი
SHR: რამდენ shared მეხსიერებას იყენებს პროცესი
S: როგორია პროცესის სტატუსი: S=sleep, R=running, Z=ზომბი
%CPU: პროცესორის რამდენ პროცენტს იყენებს პროცესი
%MEM:  RAM-ის რამდენ პროცენტს იყენებს პროცესი
TIME+: რამდენი ხანია გაშვებული პროცესი
Command: პროცესის სახელი
თუ გინდათ პროცესის სახელის ნაცვლად ნახოთ მისი სრული მისამართი გაუშვით ბრძანება top -c
2.       ps
ps გამოიყენება პროცესების სამართავად. მისი გამოყენება სისტემის დატვირთულობის დასადგენად შესაძლებელია თუმცა შედარებით უფრო რთულია, ვინაიდან ჩვენ უნდა ვუთხრათ ბრძანებას რომ გვსურს ყველა პროცესის ჩვენება და მათი დალაგება პროცესორის დატვირთვის შესაბამისად.

sudo ps -eo pid,ppid,%mem,%cpu,cmd --sort=-%cpu | head
sudo: რუთის უფლებებით გაშვება
ps: პროცესის ბრძანება
-e: ყველა პროცესის გათვალისწინება
-o: იძლევა შედეგების  ჩვენი საჭიროებისამებს დალაგების საშუალებას
PID: პროცესის უნიკალური ნომერი
PPID: პროცესის მშობელი პროცესის უნიკალური ნომერი
%CPU: პროცესორის რამდენ პროცენტს იყენებს პროცესი
%MEM:  RAM-ის რამდენ პროცენტს იყენებს პროცესი
head - რიგით პირველი ათეული შედეგის ჩვენება
cmd - პროცესის სრული მისამართი, ასევე პროცესის ყველა პარამეტრი. თუ საჭიროა მხოლოდ პროცესორის სახელი მაშინ  cmd-ს ნაცვლად comm ჩაწერეთ




Nmap. ბრძანებები ადმინებისთვის

წინა პოსტში განვიხილე Nmap-ის ყველაზე ბაზისური საშუალებები, თუმცა IT  სპეციალისტების წინაშე როგორც წესი დგას უფრო სპეციფიური ამოცანები, რომლებზეც დღეს ვისაუბრებ
  1. ჰოსტების სკანირება კონკრეტულ პორტებზე

Nmap გვაძლევს საშუალებას შევამოწმოთ მხოლოდ კონკრეტული პორტები  ჰოსტზე. ქვემოთ მოცემულ მაგალითში მოწმდება 21, 22, 80, 443 პორტები
nmap -p 21,22,80,443 tux-pc
nmap -p 21,22,80,443 192.168.1.1
საჭიროებისამებრ შეიძლება შემოწმდეს ასევე პორტების რეინჯი:
nmap -p 122-200 tux-pc
  1. TCP/UDP სკანირება

Nmap შეუძლია ცალ-ცალკე დაასკანიროს TCP და UDP პორტები, გამოიყენოს ცვლადები და ა.შ.
nmap -p -T:20-25, 80, 443 U:53,67,111  192.168.1.1
ზემოთ მოცემულ მაგალითში დასკანირდება 20-25, 80 და 443 TCP პორტი და UDP  53, 67, 111 პორტები 192.168.1.1 ჰოსტზე.
შემდეგ მაგალითში იგივე ჰოსტი დასკანირდება მხოლოდ ყველაზე გავრცელებულ 10 პორტზე
nmap –top-ports 10 192.168.1.1
  1. ქსელის სეგმენტში უბრალოდ ჰოსტების ჩამოთვლა

რიგ შემთხვევაში ადმინს ჭირდება გაიგოს მხოლოდ თუ რა ჰოსტებია რეალურად ჩართული ამა თუ იმ ქსელში, ისე რომ მათი პორტების დასკანირება არ ჭირდება. ამის მიღწევა შეიძლება შემდეგი ბრძანებით:
sudo nmap -sn  192.168.1.0/24
როგორც ხედავთ რიგ შემთხვევაში Nmap-ის გაშვება ხდება რუთის (ადმინის) უფლებებით (sudo). ამ კონკრეტულ შემთხვევაში Nmap სხვანაირად უბრალოდ ვერ გააგზავნიდა TCP ACK მოთხოვნას. ამიტომაც თუ ამჩნევთ რომ Nmap რაღაცას ბოლომდე ვერ აკეთებს ცადეთ იმავე ბრძანების რუთის უფლებებით გაშვება.
  1. სწრაფი სკანირება

თუ საჭიროა სწრაფი სკანირება მხოლოდ ყველაზე გამოყენებად პორტებზე გამოიყენეთ პარამეტრი -F
nmap  -F 192.168.1.0/24
  1. მხოლოდ ღია პორტების ჩვენება

თუ საჭიროა მხოლოდ ღია პორტების ჩვენება გამოიყენეთ პარამეტრი --open
nmap  - - open  tux-pc
  1. პორტის მდგომარეობის მიზეზის დადგენა

მაგალითად კონკრეტული პორტი შეიძლება გახსნილი იყოს კონკრეტული მიზნისთვის (მაგალითად syn-ack). ამ მიზნის დადგენა შეიძლება პარამეტრი --reason გამოყენებით
nmap -- reason localhost
  1. ქსელის ინტერფეისების და როუტების ჩვენება

ეს ალბათ ის იშვიათი შემთხვევა როცა nmap ინფორმაციას გვაძლევს არა დაშორებულ ჰოსტზე, არამედ ჩვენ საკუთარი მოწყობილობაზე. -- iflist პარამეტრით ჩვენ მივიღებთ ინფორმაციას ჩვენი ჰოსტის ინტერფეისებზე და როუტებზე
  1. nmap-ის სკანირების აგრესიის განსაზღვრა

რაც უფრო აგრესიულია Nmap სკანირებისას მით უფრო მალე მთავრდება სკანირება. თუმცა მაღალი აგრესიულობის პირობებში დასასკანირებელ ჰოსტზე შეიძლება წარმოიქნას პრობლემები. აგრესიულობის დონე იწყება 0დან (ყველაზე მშვიდი) და მთავრდება 5-ით (ყველაზე აგრესიული) სტანდარტულად Nmap მუშაობს მესამე დონეზე. თუმცა -T პარამეტრით ჩვენ შეგვიძლია მივუთითოთ კონკრეტული დონე, მაგალითად მეოთხე:
nmap --top-ports 10 -T4 192.168.1.1
  1. ოპერაციული სისტემის დადგენა

წინა პოსტში ჩვენ პრინციპში ვისაუბრეთ ჰოსტის ოპერაციული სისტემის ვერსიის დადგენაზე. თუ საჭიროა ჰოსტების რეინჯის ოპერაციული სისტემების დადგენა გამოიყენეთ პარამეტრი -O
nmap -O 192.168.1.1/24
რიგ შემთხვევაში Nmap-მა შეიძლება  ვერ ცნოს ჰოსტის ოპერაციული სისტემა (მაგალითად ფაირვოლის გამო). ასეთ შემთხვევაში გაუშვით იგივე ბრძანება რუთის უფლებებით და  დამატებით გამოიყენეთ პარამეტრი --osscan-guess. Nmap პროცენტულ შეფარდებაშ გაჩვენებთ თუ სავარაუდოდ რა ოპერაციული სისტემები აყენია ჰოსტზე.
nmap -O --osscan-guess 192.168.1.1/24

  1. ზოგი სერვისის ვერსიის გარკვევა

ქსელის უსაფრთხოებისთვის მნიშვნელოვანია რომ სერვისები რომლებიც „გარეთ“ იყურებიან ყოველთვის განახლებულები იყვნენ. იმისთვის რომ გაირკვეს თუ  რა ვერსიებისაა ამა თუ იმ ჰოსტ(ებ)ის ქსელური სერვისები გამოგადგებათ პარამეტრი -sV
nmap -sV  192.168.1.103
  1. თუ ICMP დაბლოკილია...

სტანდარტულად Nmap თავის ძიებებში ეფუძნება ICMP პროტოკოლს („პინგის პროტოკოლი“). შესაბამისად თუ ჰოსტზე დაბლოკილია პინგი, Nmap-ისთვის უნდა გამოიყენოთ ალტერნატიული მეთოდები: TCP SYN  ან TCP ACK. ამ მეთოდებით Nmap-ს შეუძლია დაადგინოს არის თუ არა ჰოსტი ჩართული და ასკანირებს მის პორტებს სტანდარტული TCP შეერთების დამყარების გარეშე. -PS გამოიყენება  TCP SYN-სთვის, ხოლო  -PA TCP-ACK-სთვის. გაითვალისწინეთ რომ პარამეტრსა და პორტი იწერება გადაბმულად, გამოტოვების გამოყენება დაუშვებელია:
sudo nmap -PS22-25, 80,110,8080 192.168.0.101
sudo nmap -PA20-25,80,110,8080 192.168.0.101

  1. OS Fingerprints

პროცედურა რომელსაც შეიძლება დავარქვათ ოპერაციულის სისტემის ანაბეჭდების აღებას გულისხმობს დაშორებულ ჰოსტებზე ინფორმაციის პასიურ რეჟიმში შეგროვებას ჩვეულებრივი ქსელური კომუნიკაციების დროს. ეს განსაკუთრებით კარგია თუ საჭიროა რომ ინფორმაცია რაც შეიძლება შეუმჩნევლად შეგროვდეს დაშორებული სისტემის დაცვის მექანიზმებისთვის. Nmap ასეთ მიდგომას TCP connect scan-ს უწოდებს.
nmap -sT 192.168.1.1/24
  1. რა IP პროტოკოლებია დაშვებული დაშორებულ ჰოსტზე?

თუ არსებობს ეჭვი რომ დაშორებულ ჰოსტზე დაბლოკილია გარკვეული პროტოკოლები. ჩვენ -sO პროტოკოლის მეშვეობით შეგვიძლია დავადგინოთ დაშვებული პროტოკოლები. ამ შემთხვევაში ჯობია გამოვიყენოთ -v პარამეტრიც.
nmap -v -sO 192.168.1.1
  1. non-statefull ფაირვოლებისთვის გვერდის ავლა

ფაირვოლებმა იციან Nmap-ის არსებობის შესახებ ცდილობენ მისთვის ინფორმაციის დაბლოკვას. თუმცა ამ სამი თანმიმდევრული ბრძანებით არსებობს non-statefull ფაირვოლისთვის გვერდის ავლის დიდი შანსი.
nmap -sN 192.168.1.1   #null TCP flag -ის გაგზავნა
nmap -sF 192.168.1.1   #FIN bit დაყენება
nmap -sX 192.168.1.1  #დამატებით PSH და URG ბიტების დაყენება