Основне Линукс команде детаљно објашњене

Последње ажурирање: КСНУМКС априла КСНУМКС
  • Научите да се крећете кроз фајл систем помоћу команди ls, cd и pwd и да управљате фасциклама помоћу команди mkdir, rm и cp.
  • Савладајте преглед и претраживање текстуалних датотека користећи команде cat, less, grep, sed, awk и find.
  • Контролишите дозволе, процесе и мрежу помоћу chmod, chown, ps, top, htop, ping, ip и ss у серверским окружењима.
  • Инсталирајте и ажурирајте софтвер помоћу apt-а, користите tar/zip, wget и scp и аутоматизујете задатке комбиновањем команди и преусмеравања.
основне линук команде

Без обзира да ли радите са серверима, веб развојем или једноставно желите да извучете максимум из свог рачунараПре или касније, завршићете у Линукс терминалу. И тамо, или знате основне команде, или ћете гледати у трепћући курсор, несигурни шта да радите. Добра вест је да не морате да памтите стотине команди: савладавање солидног скупа команди покриће 90% ваших свакодневних задатака.

У овом водичу ћете пронаћи Уједињена и веома комплетна колекција основних Линукс команди, комбинујући најбоље из неколико референтних водича: управљање датотекама, процеси, мрежа, пакети, дозволе, аутоматизација… Све је објашњено на шпанском језику из Шпаније, са стварним примерима администрације сервера, хостинга и локалног рада, и организовано тако да можете да га користите као подсетник када вам затреба.

основне линукс команде

Шта су Линук команде и зашто су толико важне?

Un Линуксовска команда је програм или услужни програм који се покреће из командне линије.Уместо да кликћете на дугмад, уносите назив команде, опционо и нешто опције (или заставице) и један или више аргументи као што су путање датотека, обрасци или имена сервиса.

Идеја је једноставна: Терминал је веома ефикасан текстуални интерфејсОбављање ствари једним кликом је у реду, али уланчавање команди, аутоматизација резервних копија помоћу cron-а, преглед огромних логова помоћу филтера или управљање удаљеним сервером путем SSH-а је бесконачно практичније куцањем неколико команди него мучењем са графичким менијима.

У скоро свакој модерној дистрибуцији (Ubuntu, Debian, CentOS, Fedora, Arch, итд.) отворићете терминал са Цтрл + Алт + Т. или претраживањем као „Терминал“ у менију апликација. На серверу, уобичајена процедура је Пријавите се преко SSH-а са вашег локалног рачунара.

Основне команде за навигацију директоријума

Прва ствар коју треба да савладате је како навигација кроз систем датотеказнање где се налазите, шта се налази на сваком месту и како брзо прелазити између фасцикли.

ls: листа датотека и директоријума

Команда ls Приказује садржај тренутног директоријума (или путање коју наведете). То је једна од команди коју ћете најчешће користити:

  • ls – Приказује видљиве датотеке и фасцикле у тренутном директоријуму.
  • ls -l – Приказује детаље: дозволе, власника, величину, датум.
  • ls -a – Укључује скривене датотеке (оне које почињу тачком).
  • ls -lh – Баш као -lали са читљивим величинама (K, M, G).
  • ls -lah – Комбинује дугачке, скривене и читљиве величине.
  • ls -R – Рекурзивно листање поддиректоријума.
  • ls -t – Сортирај по датуму измене.
  • ls -S – Сортирај по величини.

На веб серверима је уобичајено да се уради нешто попут ls -lah /var/www/html да бисте видели све датотеке пројекта, укључујући скривене конфигурационе датотеке као .htaccess или директоријум .git.

лозинка: знајте у којој се фасцикли налазите

Када већ неко време прелазите са једне руте на другу, веома је лако да се изгубите. Са pwd (штампај радни директоријум) добијате пуна путања тренутног директоријума, на пример:

/home/usuario/proyectos/mi-sitio

Посебно је корисно у скрипте, када треба да знате где се налазите да бисте безбедно радили са релативним рутама.

cd: промена директоријума

За навигацију кроз систем датотека користите cd (промена директоријума). Неке битне варијације:

  • cd /ruta/completa – Иде апсолутно лошим путем.
  • cd carpeta – Унесите фасциклу релативно у односу на тренутни директоријум.
  • cd ~ – Скочи на лични именик корисник.
  • cd - – Повратак на претходни директоријум (веома корисно, делује глупо док га не употребите).
  • cd .. – Померите се за један ниво навише у хијерархији.
  • cd ../.. – Попните се два нивоа горе, и тако даље.

Ако радите са Линуксом хостингом, уморићете се од коришћења cd /var/www/html или сличне путање за приступ коренском директоријуму вашег веб-сајта.

Основне команде за датотеке и директоријуме

Када савладате како да се крећете, време је да научите како да креирајте, копирајте, бришите и прегледајте датотеке и фасциклеОво је свакодневна појава и на рачунару и на VPS-у.

mkdir и rmdir: креирање и брисање празних директоријума

са mkdir Креирате нове фасцикле. Подржава више путања одједном и има веома практичне опције:

  • mkdir nuevo_directorio – Направите једноставну фасциклу.
  • mkdir dir1 dir2 – Направите неколико одједном.
  • mkdir -p padre/hijo/nieto – Направите комплетну угнежђену структуру, без приговора ако део ње већ постоји.
  • mkdir -m 755 carpeta_web – Направите фасциклу са одређеним дозволама.

Типичан образац приликом подешавања пројекта је нешто попут овог: mkdir -p /var/www/mi-sitio/{public_html,logs,backups} да све буде организовано од првог минута.

Да бисте обрисали празне директоријуме, постоји rmdir:

  • rmdir carpeta_vacia – Обришите фасциклу све док не садржи ништа.
  • rmdir -p dir1/dir2/dir3 – Уклоните цео ланац ако су сви нивои празни.

Ако директоријум има садржај, мораћете да користите rm -rшто ћемо ускоро видети.

додир: креирање празних датотека или ажурирање датума

Команда touch Углавном се користи за креирајте празне датотеке или ажурирајте датум измене без дирања њеног садржаја:

  • touch archivo.txt – Креирајте датотеку ако не постоји.
  • touch archivo1 archivo2 – Направите неколико одједном.
  • touch -t 202501010000 archivo.txt – Наметните одређену временску ознаку.

Веома је погодно за генерисање конфигурационе датотеке или резервисана места тип touch .env o touch index.html.

рм: пажљиво обришите датотеке (и директоријуме)

са rm Бришете датотеке и, уз одговарајуће опције, стабла директоријума. Нема канте за смећеАко направите грешку, опоравак нечега може бити компликован или немогућ.

  • rm archivo.txt – Обришите датотеку.
  • rm archivo1 archivo2 – Обришите неколико.
  • rm -i archivo.txt – Тражите потврду, идеално док учите.
  • rm -r carpeta – Рекурзивно брише фасциклу и сав њен садржај.
  • rm -rf carpeta – Присилно брисање без питања; Користите га само када сте апсолутно сигурни шта радите..
  • rm *.tmp – Обришите све датотеке са том екстензијом у тренутном директоријуму.
  Напредни NixOS Linux: Декларативна дистрибуција за захтевне кориснике

Комбинације попут rm -rf / или слично су брза решења за чињење система неупотребљивим, тако да Будите опрезни када мешате RM и RF са општим или џокер рутама..

cp и mv: копирање, премештање и преименовање

За дуплирање датотека које користите cp А да бисте преместили или преименовали, користите mvИзмеђу вас двоје, можете да се носите са било којом реорганизацијом датотека.

Неке типичне употребе cp:

  • cp origen.txt destino.txt – Копирајте датотеку.
  • cp archivo.txt /otra/ruta/ – Копирајте у други директоријум.
  • cp -i archivo.txt copia.txt – Питај пре него што удариш.
  • cp -p archivo.txt backup.txt – Сачувајте дозволе, власника и датум.
  • cp -r carpeta_origen carpeta_destino – Рекурзивно копирање директоријума.

За комплетне копије веб локација, нешто овако је веома уобичајено. cp -rp /var/www/html /backup/html-$(date +%Y%m%d), што оставља датирану резервну копију која одржава дозволе и власништво.

са mv Можете и преместити и преименовати:

  • mv archivo.txt nuevo_nombre.txt – Преименуј.
  • mv archivo.txt /otra/ruta/ – Помери то.
  • mv directorio nuevo_nombre – Преименујте фасциклу.
  • mv *.log /var/log/backups/ – Преместите све трупце.

Уобичајено коришћени образац приликом распоређивања пројеката је mv sitio-nuevo/* /var/www/html/ да замени стару верзију веб странице новом.

мачка, мање, глава и реп: преглед садржаја датотеке

Да бисте прегледали садржај текстуалне датотеке, имате неколико алата, сваки са својим предностима.

  • cat archivo.txt Приказује целу датотеку у терминалу. Идеално за мале датотеке или спојите неколико: cat archivo1 archivo2.
  • less archivo.log служи за велике датотекејер вам омогућава да се крећете страницу по страницу, претражујете (/texto), идите напред-назад и изађите са q.
  • head archivo Подразумевано приказује првих 10 редова; са head -n 50 Ви бирате колико.
  • tail archivo Приказује последње редове; са tail -f archivo.log Можете видети како се дневник ажурира у реалном времену, што је веома корисно док репродукујете грешку на веб локацији.

У дебаговању веб сервера стално ћете видети комбинације попут tail -f /var/log/nginx/error.log o less /var/log/apache2/access.log да разуме шта се дешава.

Команде за претрагу датотека и текста

Како систем расте и постаје пун пројеката, логова и конфигурација, постаје кључно знати брзо пронађите датотеке и текстуалне низове.

пронађи и лоцирај: претражи датотеке по имену, величини или датуму

Команда find Скенира фајл систем и омогућава вам претрагу по имену, типу, величини, датуму измене итд., па чак и предузмите акцију на основу резултата:

  • find /ruta -name "nombre_archivo" – Претрага по тачном имену.
  • find /var/www -name "*.php" – Пронађите све PHP датотеке у тој области.
  • find /home -type f -size +100M – Датотеке веће од 100 MB.
  • find /var/log -mtime -7 – Датотеке измењене у последњих 7 дана.
  • find . -name "*.tmp" -delete – Претражите и обришите привремене датотеке.
  • find /var/www -type f -exec chmod 644 {} \; – Прилагодите дозволе за све датотеке.

Са своје стране, locate повлачење једног индексирана база податакаЗбог тога је много брже за једноставне претраге имена:

  • locate nombre_archivo
  • locate -i "*.php" – Игнорише велика/мала слова.
  • sudo updatedb – Ажурирајте индекс (важно на серверима).

Лоша страна лоцирати Не види новокреиране датотеке док се база података не ажурира, док наћи увек гледајте на стварни систем.

grep, sed и awk: претрага, филтрирање и трансформација текста

За рад са логовима, конфигурацијама или било којим обичним текстом, најбољи су grep, sed y awk.

  • греп Потражите линије које одговарају шаблону:
    grep "ERROR" /var/log/apache2/error.log
    grep -i "texto" archivo.txt – Занемарите велика слова.
    grep -r "cadena" /directorio – Рекурзивна претрага.
    grep -n "texto" archivo.txt – Прикажи број линије.
  • жеђ омогућава замени или обриши текст без отварања датотеке у едитору:
    sed 's/viejo/nuevo/g' archivo.txt – Замени сва појављивања.
    sed -i 's/old_database/new_database/g' wp-config.php – Уређивање на месту (будите веома опрезни са овим).
  • авк је савршен за колоне процеса (на пример, логови):
    awk '{print $1}' access.log – Издвојите прву колону (обично IP).
    awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -10 – Ваших 10 најактивнијих ИП адреса.

Иако у почетку могу деловати застрашујуће, када се савладате са овим алатима Можете извршити анализе за неколико секунди које би у едитору биле ноћна мора..

Управљање дозволама, власницима и основном безбедношћу

Линукс је базиран на веома јасном систему дозвола који вам омогућава да контролисати ко може да чита, пише или извршава штаОво је кључно у окружењима са више корисника и, пре свега, на веб серверима.

ls -l: погледајте дозволе и власнике

Већ смо то поменули, али вреди нагласити: ls -l Учи вас, поред имена датотека, и дозволе, власник, група и величинаТипичан пример:

-rw-r--r-- 1 usuario grupo 12345 Jan 1 12:34 archivo.txt
drwxr-xr-x 2 usuario grupo 4096 Jan 1 12:34 carpeta/

Прва колона гласи овако: тип (- архива, d директоријум) и затим три скупа дозвола: корисник, група и остали (r читање, w писање, x извршење).

chmod: промена дозвола

са chmod Подешавате дозволе датотеке или фасцикле. То можете учинити помоћу нумеричка нотација o симболички:

  • chmod 755 script.sh – rwxr-xr-x (власник свега, остало само за читање/извршавање).
  • chmod 644 index.html – rw-r–r–, веома уобичајено за веб датотеке.
  • chmod u+x backup.sh – Додајте извршење кориснику.
  • chmod g-w archivo.txt – Уклоните писање из групе.
  • chmod -R 755 directorio – Рекурзивно мењајте дозволе.

Нумеричке вредности се сабирају: 4 читања, 2 писања, 1 извршавањаЗато је 7 = 4+2+1 (rwx), 6 = 4+2 (rw-), 5 = 4+1 (rx), итд.

chown и chgrp: власник и група

Поред дозвола, свака датотека има власник и повезана групаОво вам омогућава, на пример, да веб серверу препустите поседовање датотека које мора да служи.

  • chown usuario archivo.txt – Промена власника.
  • chown usuario:grupo archivo.txt – Промена власника и групе.
  • chown -R www-data:www-data /var/www/html – Типично на Apache/Nginx серверима на Debian/Ubuntu.
  • chgrp grupo archivo.txt – Само промените групу.
  Андроид оперативни систем: историја, архитектура и еволуција

Када отпремате датотеке путем FTP-а са једним корисником, а затим веб сервер (други корисник) не може да их чита или пише, Готово увек можете то поправити добро постављеним chown-ом или chmod-ом..

судо: покрени као администратор без root привилегија

Команда sudo (superuser do) је препоручени начин за покретање административних задатака без директног пријављивања као root, што је опасно.

Једноставно Ставите `sudo` испред свега што желите да покренете са повећаним привилегијама:

  • sudo apt update – Ажурирајте листу пакета (Debian/Ubuntu).
  • sudo systemctl restart nginx – Поново покрените Nginx.
  • sudo useradd nuevo_usuario – Направите корисника.

Тражиће вашу лозинку и ако је ваш корисник у исправној групи, извршићете команду са root привилегијама. Ово вас спречава да будете Стално бити root-ован, са ризиком од случајног брисања или измене критичних датотека.

Управљање процесима и перформансе система

Када је нешто споро или чудно, време је да погледате. који процеси се извршавају и како користе ресурсеОве команде су вам најбољи пријатељи за то.

ps, top и htop: погледајте шта се покреће

Команда ps Фотографишите процесе који су активни у том тренутку. ps aux Видите све системске процесе, укључујући активност корисника, коришћење процесора и RAM-а итд. Можете филтрирати помоћу grep:

  • ps aux | grep nginx – Погледајте само Nginx процесе.
  • ps -u usuario – Процеси одређеног корисника.

Ако нешто желите динамичан, у реалном времену, користите top или његову верзију обогаћену витаминима htop:

  • top – Наводи процесе поређане по искоришћењу процесора и ажурира се.
  • У врху можете сортирати по меморији (M), уништити процесе (k), Итд
  • htop – Исто, али са бојама, тракама процесора, подршком за миш, стаблом процеса… на многим системима је потребно прво инсталирати (sudo apt install htop или слично).

На серверу за пописивање, отворите хтоп Обично је то први корак да се види Шта троши процесор или РАМ меморију?.

kill и killall: прекидање лажних процеса

Ако се процес заустави или покрене и не реагује, можете га зауставити помоћу kill o killall.

  • kill 1234 – Пошаљите сигнал TERM (15) процесу са PID-ом 1234, тражећи од њега да се „тихо“ заврши.
  • kill -9 1234 – Сигнал KILL (9), одмах завршава процес; користите га као последње средство.
  • killall nombre_proceso – Завршите све процесе који имају то име, на пример killall php-fpm.

Уобичајени начин за проналажење ПИД-а је помоћу ps o врх а затим га проследите kill Нежно. Ако не послуша, онда повуците -9.

df и du: контрола простора на диску

Када серверу понестане простора, све почиње да иде по злуБазе података у које се не може писати, логови који се не повећавају, сервиси који се стално руше. Да бисте ово пратили, користите df y du.

  • df -h – Приказује искоришћени и слободан простор на сваком монтираном фајл систему, у читљивом формату.
  • df -h /var – Информације само са те партиције.
  • du -sh /var/www/* – Величина сваког веб пројекта унутар те руте.
  • du -h --max-depth=1 / – Који коренски директоријуми заузимају највише простора.

Веома практична команда за лоцирање најтеже фасцикле То је нешто као du -h --max-depth=1 /var | sort -hr | head -5, која наводи пет највећих поређаних од највећег до најмањег.

Основне мрежне команде

Чим почнете да радите са серверима, доменима и веб саобраћајем, потребно је да знате Ако постоји повезаност, коју ИП адресу имате, који су портови отворени и како ваш сајт реагује?.

ip, ifconfig, ping и рута

Модерни системи, звездана команда је ipпосебно ip a (o ip addr), који приказује све мрежне интерфејсе, њихове IP адресе, статус итд. Где се раније користио ifconfigДанас се препоручује ip, Иако ифцонфиг И даље постоји у многим системима путем пакета net-tools.

  • ip a – Сви интерфејси и ИП адресе.
  • ip addr show dev eth0 – Детаљи одређеног интерфејса.
  • ping google.com – Проверите да ли сте решили и дошли до Гугла, који приказује времена.
  • ping -c 4 8.8.8.8 – Пошаљите само 4 пакета на ту ИП адресу.
  • route -n o ip route show – Табела рута, да бисте видели одакле долази саобраћај.

Ако сервер „није видљив“, први кораци су увек Пингујте домен, пингујте ИП адресу, погледајте ИП адресу сервера и његов гејтвеј. са ip route.

netstat/ss и curl: отворени портови и HTTP одговор

Да видим шта Који су портови отворени и који процеси слушају? У њима имате netstat (класични) и ss (модерно, брже):

  • ss -tuln – TCP/UDP портови слушају без разрешавања имена.
  • ss -tlnp | grep :80 – Да ли се нешто слуша на порту 80?
  • netstat -tuln – Еквивалентно у системима који га имају.

За брзо тестирање како веб локација реагује са самог сервера, ништа слично curl:

  • curl -I https://tu-dominio.com – Само HTTP заглавља (статусни код, сервер, итд.).
  • curl https://tu-dominio.com – Преузмите необрађени HTML.

Комбиновање пинг, ИП, СС и цурл Можете дијагностиковати скоро сваки основни проблем са повезивањем или прекидом услуге.

Управљање пакетима: инсталирање, ажурирање и чишћење софтвера

Свака породица Линукс дистрибуција има свој менаџер пакетаСавладавање тога вам омогућава Инсталирајте и ажурирајте софтвер без муке са ручним бинарним датотекама..

apt и apt-get у Дебијану/Убунтуу

У Дебијану, Убунтуу и дериватима, стандард је apt (или његова класична верзија) apt-get):

  • sudo apt update – Ажурирајте листу доступних пакета.
  • sudo apt upgrade – Ажурирајте све инсталиране пакете на најновију верзију.
  • sudo apt install nombre_paquete – Инсталирајте један или више пакета.
  • sudo apt remove nombre_paquete – Деинсталирајте пакет, али оставите његову конфигурацију.
  • sudo apt purge nombre_paquete – Брише све, укључујући подешавања.
  • sudo apt autoremove – Уклоните зависности које се више не користе.
  Анализа меморије и језгра на Windows и Unix системима

Ви такође имате apt-cache или директно apt show пар Погледајте информације о пакету, његове зависности и верзије:

  • apt show nginx
  • apt search php

yum/dnf и pacman: друге породице

На системима заснованим на Red Hat-у, као што су CentOS или RHEL, имаћете yum или његовог наследника dnf:

  • sudo yum install httpd – Инсталирајте Апачи.
  • sudo dnf update – Ажурирајте све на новије верзије.

У Arch Linux-у и његовим дериватима, менаџер је pacman:

  • sudo pacman -S gimp – Инсталирајте ГИМП.
  • sudo pacman -Syu – Синхронизујте и ажурирајте систем.

Чак и ако се синтакса промени, Филозофија је иста: ажурирање индекса, инсталирање пакета, њихово уклањање и чишћење преосталих зависности.

Компресујте, декомпресујте и пребаците датотеке

Управљање великим датотекама или скуповима датотека је знатно поједностављено помоћу компримоване датотеке и са услужним програмима за даљинско преузимање и копирање.

tar, zip/unzip: паковање и компресија

Команда tar То је стандард у Линуксу за креирање и распакивање тарбаллс (фајлови .тар, .тар.гз, .тар.бз2, итд.):

  • tar -czvf backup.tar.gz carpeta/ – Направите .tar.gz датотеку компресовану помоћу gzip-а.
  • tar -xzvf backup.tar.gz – Извуците садржај.
  • tar -tzvf backup.tar.gz – Наведите шта је унутра без вађења.

Најчешће заставе су c (креирај), x (издвоји), t (листа), v (опширно), f (датотека), z (gzip), j (bzip2), J (xz).

За рад са ЗИП датотеке (веома често у Windows окружењима) имате zip y unzip:

  • zip archivo.zip fichero1 fichero2
  • unzip archivo.zip

wget, curl и scp: преузимање и копирање између машина

Поред прегледања помоћу curl-а, можете користити wget Да бисте преузели датотеке са HTTP или FTP:

  • wget https://wordpress.org/latest.zip – Преузмите најновију верзију WordPress-а.
  • wget -c URL – Наставите прекинуто преузимање.

у безбедно копирајте датотеке између рачунара и сервера преко SSH-а имате scp:

  • scp archivo.txt usuario@servidor:/ruta/destino/ – Отпремите датотеку.
  • scp -r carpeta usuario@servidor:/ruta/ – Рекурзивно копира фасциклу.
  • scp usuario@servidor:/ruta/archivo.txt ./ – Преузмите са сервера.

Иза свега овога стоји SSH, који је такође оно што користите за повежите се са удаљеним терминалом (наредба ssh usuario@servidor).

Аутоматизација, историја и мали трикови за продуктивност

Када савладате основе, следећи корак је да почнете... комбинујте команде и аутоматизујете понављајуће задаткеОвде Линукс заиста почиње да сија.

историја, алиас и који: пречице и брзе референце

са history Можете видети последње команде које сте извршили и поново их користити без преписивања:

  • history – Листа са бројем реда.
  • !255 – Поново покрените команду број 255.

у креирајте привремене пречице је alias:

  • alias ll="ls -lah" – Одавде ll једнако ls -lah.
  • unalias ll – Уклоните псеудоним.

И ако желиш да знаш где је програм инсталиран И који извршни фајл се позива, користите ли? which:

  • which php – Прикажи путању до PHP-а, на пример /usr/bin/php.
  • which -a python – Све утакмице у PATH линији.

Преусмеравања и цеви: комбиновање команди као професионалац

Права моћ командне линије долази од моћи мали алати за ланцеОво се ради са цевоводи (|) И преусмерава (>, >>, 2>, Итд).

  • comando1 | comando2 – Излаз из comando1 улази као унос у comando2.
    Пример: ls -la | grep ".php" – Наведите само датотеке које садрже „.php“.
  • ls > listado.txt – Сачувајте излаз у датотеку (пребришите).
  • echo "línea" >> archivo.txt – Додати на крај датотеке.
  • comando > todo.log 2>&1 – Преусмерава нормалан излаз и грешке у исту датотеку.
  • comando &> /dev/null – Пошаљите све у „црну рупу“.

Са овим можете да урадите невероватне ствари, као што је број 404 грешке у дневнику са командом као што је grep " 404 " access.log | wc -lили очистите старе датотеке са find y -delete.

Ако сте стигли довде, већ имате прилично комплетну мапу основних (и не тако основних) Линук команди. који се свакодневно користе у системској администрацији, развоју и хостингу: од прегледања директоријума, управљања датотекама, дозволама и процесима, до праћења мреже, инсталирања пакета и аутоматизације задатака комбиновањем команди са цевима и преусмеравањима; од сада, сваки пут када отворите терминал, то више неће бити застрашујући црни екран и постаће алат за бржи рад и са већом контролом него са било којим графичким интерфејсом.

Преглед садржаја