Най-често използваните Linux команди, които трябва да знаете

Сподели

Linux е много популярна операционна система (ОС) сред програмисти и обикновени потребители. Една от основните причини за неговата популярност е изключителната поддръжка на командния ред. Можем да управляваме цялата операционна система Linux само чрез интерфейс на командния ред (CLI). Това ни позволява да изпълняваме сложни задачи само с няколко команди.

В това ръководство ще обсъдим някои често използвани команди, които са полезни за опитен системен администратор или начинаещ. След като следват това ръководство, потребителите ще могат да работят уверено със системата Linux.

За по-добра организация тези команди са групирани в три раздела – файлова система, работа в мрежаи системна информация.

Команди на файловата система на Linux

В този раздел ще обсъдим някои от полезните команди, свързани с файлове и директории в Linux.

1. котешка команда

Командата cat се използва главно за показване на съдържанието на файла. Той чете съдържанието на файла и го показва на стандартния изход (stdout).

Общият синтаксис на котка командата е:

$ cat [OPTIONS] [FILE1] [FILE2] ...

Нека покажем съдържанието на /etc/os-release файл с помощта на котка команда:

$ cat /etc/os-release
Преглед на файлово съдържание в Linux
Преглед на файлово съдържание в Linux

Освен това можем да използваме и -n опция на командата за показване на съдържанието с номера на реда:

$ cat -n /etc/os-release
Преглед на съдържанието на файла с номера на редове
Преглед на съдържанието на файла с номера на редове

2. Команда cp

Командата cp е полезна за копиране на файлове, групи от файлове и директории.

Общият синтаксис на cp командата е:

$ cp [OPTIONS]  

Ето, квадратните скоби ([]) представляват незадължителните аргументи, докато ъгловите скоби (<>) представят съществените аргументи.

Нека копираме /etc/os-release файл към /tmp директория:

$ cp /etc/os-release /tmp/new-file.txt

Сега нека покажем съдържанието на файла, за да проверим дали файлът е копиран:

$ cat /tmp/new-file.txt
Копиране на файл в Linux
Копиране на файл в Linux

По същия начин можем да копираме директорията с помощта на cp команда. Нека копираме /etc/cron.d директория вътре в /tmp директория:

$ cp -r /etc/cron.d /tmp

Ние сме използвали -r опция с командата cp, която представлява рекурсивната операция. Той копира рекурсивно директорията, която включва нейните файлове и поддиректории.

В следващия пример ще видим как да проверим дали директорията е копирана успешно.

$ ls /tmp/cron.d
$ ls -l /tmp/cron.d
Рекурсивно копиране на директория в Linux
Рекурсивно копиране на директория в Linux

3. Команда ls

Командата ls се използва за изброяване на съдържанието на директорията и сортиране на файлове по размер и време на последна промяна в низходящ ред.

Общият синтаксис на ls командата е:

$ ls [OPTIONS] [FILE1] [FILE2] ...

Ако не предоставим никакъв аргумент на ls тогава тя изброява съдържанието на текущата директория.

$ ls
Избройте файловете в текущата директория
Избройте файловете в текущата директория

В предишния пример копирахме /etc/cron.d директория към /tmp указател. Нека проверим дали присъства там и съдържа необходимите файлове:

$ ls /tmp/cron.d

Можем да използваме -l опция с ls команда за показване на по-подробна информация като – разрешения за файл, собственик, клеймо за време, размер и т.н.

Нека разберем повече подробности за файловете, присъстващи в /tmp/cron.d директория:

$ ls -l /tmp/cron.d
Списък с файлове в директория
Списък с файлове в директория

4. Команда mkdir

Често създаваме структура на директория, за да организираме съдържанието. В Linux можем да използваме mkdir команда за създаване на директория или множество директории и задаване на правилните разрешения за директориите.

Общият синтаксис на mkdir командата е:

$ mkdir [OPTIONS] <DIRECTORY1> <DIRECTORY2> ...

Нека създадем директория с името директория-1 в /tmp директория:

$ mkdir /tmp/dir-1

Сега нека проверим дали директорията е създадена:

$ ls /tmp/dir-1

Тук можем да видим, че ls командата не отчита никаква грешка, което означава, че директорията присъства там.

Понякога трябва да създадем вложена структура на директория за по-добра организация на данните. В такива случаи можем да използваме -p опция на командата за създаване на няколко вложени директории под /tmp/dir-1 директория:

$ mkdir -p /tmp/dir-1/dir-2/dir-3/dir-4/dir-5

В горния пример създадохме 4 нива на вложените директории. Нека го потвърдим с помощта на ls команда:

$ ls -R /tmp/dir-1

Тук сме използвали -R опция с командата за показване на съдържанието на директорията по рекурсивен начин.

Създайте директория в Linux
Създайте директория в Linux

5. История Команда

За да проверите последните изпълнени команди, можете да използвате командата history, която показва списъка с последните изпълнени команди в терминална сесия.

$ history
Избройте историята на командите на Linux
Избройте историята на командите на Linux

За да видите хронологията на командите с клеймо за време, трябва да зададете клеймото за време в историята на bash, изпълнете:

$ HISTTIMEFORMAT="%d/%m/%y %T "             #Temporarily set the history timestamp
$ export HISTTIMEFORMAT="%d/%m/%y %T "      #Permanently set the history timestamp
$ history
Списък на последните изпълнени команди с клеймо за време
Списък на последните изпълнени команди с клеймо за време

6. на командването

Как ще проверите първите 10 файла, които изяждат дисковото ви пространство? Прост едноредов скрипт, направен от командата du, която се използва предимно за използване на файлово пространство.

$ du -hsx * | sort -rh | head -10
Намерете файлове, използващи най-много дисково пространство в Linux
Намерете файлове, използващи най-много дисково пространство в Linux

Обяснение на горните командни опции и превключватели.

  • от – Оценете използването на файлово пространство.
  • -hsx(-h) Човешки четим формат, (-s) Обобщени резултати, (-x) Един файлов формат, пропускайте директории на други файлови формати.
  • вид – Сортиране на редовете на текстовия файл.
  • -дясно(-r) Обърнете резултата от сравнението, (-h) за сравняване на четим от човека формат.
  • глава – изведе първите n реда от файла.

7. Команда stat

Командата stat се използва за получаване на информация за размера на файла, разрешението за достъп, времето за достъп и идентификатора на потребителя и идентификатора на групата на файла.

$ stat anaconda-ks.cfg
Проверете информацията за достъп до файлове в Linux
Проверете информацията за достъп до файлове в Linux

Linux мрежови команди

В този раздел ще обсъдим някои от мрежовите команди, които начинаещите могат да използват за отстраняване на проблеми, свързани с мрежата.

8. Команда ping

Една от много често срещаните операции, изпълнявани във всяка мрежа, е да се провери дали определен хост е достъпен или не. Можем да използваме командата ping, за да проверим връзката с другия хост.

Общият синтаксис на пинг командата е:

$ ping [OPTIONS] <destination>

Тук дестинацията може да бъде IP адрес или пълно квалифицирано име на домейн (FQDN), като напр google.com. Нека проверим дали текущата система може да комуникира с Google:

$ ping -c 4 google.com
Пинг хост в Linux
Пинг хост в Linux

В горния пример командата показва статистиката за мрежовата комуникация, което показва, че отговорът е получен за всичките четири мрежови заявки (пакета). Важно е да се отбележи, че използвахме -c опция с командата за ограничаване на броя на заявките, които да бъдат изпратени до конкретния хост.

Нека да видим примера, когато комуникацията между двата хоста е прекъсната.

За да симулираме този сценарий, ще се опитаме да достигнем до недостъпен IP адрес. В този случай е така 192.168.10.100:

$ ping -c 4 192.168.10.100
Ping IP в Linux
Ping IP в Linux

Тук можем да видим, че не сме получили отговор за никоя мрежова заявка. Следователно командата отчита грешката – Недостъпен целеви хост.

9. хост команда

Понякога трябва да намерим IP адреса на конкретния домейн. За да постигнем това, можем да използваме домакин команда, която извършва DNS търсене и преобразува FQDN в IP адрес и обратно.

Общият синтаксис на домакин командата е:

$ host [OPTIONS] <destination>

Тук дестинацията може да бъде IP адрес или FQDN.

Нека разберем IP адреса на google.com с помощта на домакин команда:

$ host google.com
Намерете IP на домейна
Намерете IP на домейна

10. команда whois

Всички подробности за регистрираните домейни се съхраняват в централизираната база данни и могат да бъдат заявени чрез командата whois, която показва подробности за конкретния домейн.

Общият синтаксис на кой е командата е:

$ whois [OPTIONS] <FQDN>

Нека разберем подробности за google.com:

$ whois google.com
Намерете Whois информация за домейна
Намерете Whois информация за домейна

Тук можем да видим много подробна информация като – регистрация/подновяване/дата на изтичане на домейн, доставчик на домейн и т.н.

Важно е да се отбележи, че кой е командата не е налична по подразбиране на всички системи. Въпреки това можем да го инсталираме с помощта на мениджъра на пакети. Например, на базирани на Debian дистрибуции можем да го инсталираме с помощта на apt мениджъра на пакети:

$ sudo apt install whois

В RHEL-базирани и други дистрибуции можете да го инсталирате, както е показано.

$ sudo yum install whois         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a net-misc/whois  [On Gentoo Linux]
$ sudo apk add whois             [On Alpine Linux]
$ sudo pacman -S whois           [On Arch Linux]
$ sudo zypper install whois      [On OpenSUSE]    

Системни информационни команди на Linux

В този раздел ще обсъдим някои от командите, които могат да предоставят подробности за текущата система.

11. команда за време на работа

Много често изискване е да се установи кога системата е била рестартирана последния път с помощта на командата uptime, която показва колко дълго е работила системата.

Нека да разберем ъптайм на сегашната система:

$ uptime -p

12:10:57 up  2:00,  1 user,  load average: 0.48, 0.60, 0.45

В този пример сме използвали -p опция за показване на резултата в красива форма.

12. свободна команда

Потребителите често трябва да намерят подробности за инсталираната, наличната и използваната памет. Тази информация играе важна роля при отстраняване на проблеми с производителността. Можем да използваме командата free, за да намерим подробности за паметта:

$ free -m

Тук сме използвали -m опция с командата, която показва изхода в мебибайтове.

Проверете използването на паметта на Linux
Проверете използването на паметта на Linux

По подобен начин можем да -g, -tи -p опции за показване на изхода съответно в гибибайтове, тебибайтове и пебибайтове.

13. Команда lsblk

Компютърните системи съхраняват данни на блокови устройства. Примери за блокови устройства са твърди дискове (HDD), твърди дискове (SSD) и т.н. Можем да използваме командата lsblk, за да покажем подробна информация за блоковите устройства:

$ lsblk

В този пример можем да видим, че има само едно блоково устройство и името му е /dev/sda. На това блоково устройство са създадени три дяла.

Проверете информацията за устройството на Linux
Проверете информацията за устройството на Linux

В тази статия обсъдихме някои от командите, които са полезни за начинаещи в Linux. Първо обсъдихме командите на файловата система. След това обсъдихме мрежовите команди. Накрая обсъдихме някои команди, които предоставиха подробности за текущата система.

Публикациите се превеждат автоматично с google translate


Сподели