След като сте активирали SSH достъпа до хостинг акаунта, можете да се свържете отдалечено с хостинг сървъра през конзолата (или през PuTTY).
Командите, които се изпълняват при достъп през SSH са Линукс команди, които имат определен формат и начин на изписване:
command -options arguments
- command – името на командата;
- -options – настройка на командата;
- arguments – условия за командата;
Линукс командите са много на брой, но има няколко основни и най-често използвани, които ще са нужни за работа със съдържанието в хостинг акаунта.
В Блога: Първи срещи със Secure Shell (SSH) | Blog
За всяка от наличните команди можете да намерите описание в специалната помощната страница, която се достъпва в конзолата чрез командата man.
Помощна информация (manual) за определена команда:
man
(manual – ръководство)
В ръководството на всяка команда е описан начинът, по който се използва, допълнителните опции към командата и други.
Например, за да видите помощната страница за командата ls, която се използва за листване на съдържанието в дадена директория, използвайте:
man ls
За да излезете от помощната страница в конзолата, използвайте q.
Работа с директории и файлове
pwd
(print working directory – изписва текущата директория)
Тази команда извежда (принтира в конзолата) директорията, в която се намирате в момента. Когато работите с терминала и смените директориите няколко пъти, може да се загубите. С тази команда ще видите името и пътя на директорията, в която работите в момента. Много е важно да знаете в коя директория се намирате, защото изпълнението на някои команди се случват от мястото, тоест директорията, в която се намирате.
При първо логване в конзолата ще се намирате в основната директория на хостинг акаунта /home/cpaneluser/.
cd
(change directory – смяна на директория)
За да промените текущата директория, в която се намирате в момента, използвайте командата cd. Например за да достъпите директорията public_html, която е видима в уеб и в която се поставят файловете на сайта изпишете:
cd public_html/
За улеснение в конзолата ще се изпише името на директорията, в която се намирате в момента.
Ако използвате само cd без допълнителни параметри, автоматично ще преминете в основната директория на хостинг акаунта (/home/cpaneluser/).
cd ..
(връщане в горната директория)
Когато преминавате от директория в директория, можете да използвате пълен път или релативен път до директорията. Например ако се намирате в директория public_html, за да се преместите в поддиректория images, може да използвате релативен път в командата:
cd images
Релативният път започва от директорията, в която се намирате в момента. Докато пълният път започва от основната home директория на акаунта. Например ако се намирате в директория /public_html/images/2018/, за да преминете в директория /home/cpaneluser/directory/subdir/ трябва да използвате пълен път:
cd /home/cpaneluser/directory/subdir/
За да не изписвате пътя на основната home директория, може да използвате символа ~. Така горният път ще изглежда по следния съкратен начин:
cd ~/directory/subdir/
ls
(list files & directories – списък на файловете и директориите)
За да видите форматиран и пълен списък на съдържанието, към командата може да се добави параметър -l. За да се видят и скритите файлове (с имена, започващи с точка .), може да се прибави и -a. Така командата ще стане:
ls -la
Различните типове съдържание ще са оцветени в различни цветове, някои от основните са: сив за файл, лилав за директория, ярко червен за архив, светло лилав за изображение, светло син за симлинк, светло зелен за изпълним файл и други.
mkdir
(make directory – създаване на нова директория)
С тази команда можете да създадете нова директория. Например mkdir imenadir ще създаде нова директория с име imenadir:
mkdir imenadir
cp
(copy – копиране на файл, директория)
С тази команда можете да копирате файлове и директории. За да копирате един или повече файлове от една директория в друга може да използвате:
cp file1 file2 dirname1/
За да копирате цялото съдържание на една директория в друга:
cp -r dirname1/ dirname2/
- -r – цялото съдържание в папката ще бъде копирано;
mv
(move – преместване/преименуване на файл, директория)
Командата mv може да се използва за преместване или преименуване на файл, директория. Например за да преместите файл/ове в определена директория може да използвате:
mv filename1 filename2 dirname1/
Файловете filename1 и filename2 ще се преместят в директория dirname2. Ако директорията не съществува, в конзолата ще се получи съобщение за грешка.
За да преименувате файл или директория, новото име не трябва да е съществуващ файл или директория. Например за да преименувате директорията dirname1 на dirname2, dirname2 не трябва да е съществуваща директория:
mv dirname1/ dirname2/
Ако dirname2 е съществуваща директория, то dirname1 ще бъде преместена в нея, вместо да се преименува.
rm
(remove – премахване/изтриване на файл, директория)
За да изтриете файл, използвайте:
rm filename1
За изтриване на директория:
rm -r dirname1/
Заедно с директорията ще се премахне и цялото ѝ съдържание. Ако добавите и параметъра -f (force) няма да получите запитване за потвърждение, че сте сигурни, че искате да изтриете и системни или защитени файлове.
tar
С tar можете да създавате архиви или да разархивирате архивни файлове. Например за да архивирате директорията dirname1 с цялото й съдържание, използвайте:
tar cvf archivename1.tar dirname1/
- c – създаване на нов архив;
- v – показване на списък с файловете, които ще се архивират;
- f – следващото в командата е името на архива;
Ще се създаде некомпресиран архивен файл archivename1.tar.
За да се приложи и компресия, добавете z към параметрите:
tar cvzf archivename1.tar.gz dirname1/
- z – пуска архива през gzip;
За да разархивирате архивния файл:
tar xfv archivename1.tar
tar xfvz archivename1.tar.gz
- x – извлича файловете от архив (разархивира);
zip / unzip
С командата zip можете да компресирате съдържание, файлове, директории или архивен файл. За създаване на компресиран файл, използвайте:
zip -r archivename1 dirname1/
Директорията dirname1 и цялото ѝ съдържание ще бъде копирано и компресирано във файл archivename1.zip.
За разкомпресиране:
unzip archivename1.zip
И още полезни команди
touch
С тази команда може да се създават нови празни файлове или да се променя датата на модификация на съществуващи.
cat
За да видите съдържанието на даден файл, отпечатано в конзолата, може да използвате командата cat. За да се движите в съдържанието може да използвате скрола на мишката или клашите Shift+PageUp и Shift+PageDown.
less
Когато съдържанието на даден файл е текстово и е прекалено много, вместо cat може да се използва командата less. С нея съдържанието ще се представи по страници, като се навигира с клавишите за стрелка нагоре и надолу. За излизане от файла се използва q.
В зависимост от енкодинга на файла и този използван за конзолата, може да се получи разминаване и някои символи да не се визуализират коректно. Проверете енкодинга на файла, след това проверете с какъв енкодинг работи конзолата, с командата:
echo $LANG
И задайте подходящ енкодинг с командата:
export LANG="en_US.UTF-8"
- en_US.UTF-8 – избраният енкодинг, който отговаря на този на файла;
grep
(търсене във файл)
С тази команда можете да потърсите определена дума (стринг) в съдържанието на файл. Например:
grep -i "word" filename1
В резултатите ще се покаже и редът, на който се намира откритата дума.
Параметърът -i към командата указва, че регистърът на буквите не е от значение.
За търсене във всички файлове, рекурсивно:
grep -r "word" *
find
(търсене на файл)
С find можете да потърсите определени файлове по име, например файл с име filename.txt:
find -name filename.txt | more
- -name filename.txt – име на файла;
- | more – да покаже списъка с резултати в страници, в случай че очаквате намерените файлове да много на брой;
Като резултат ще се покажат всички файлове с това име, които са намерени в текущата директория и нейните поддиректории.
Ако използвате -iname, тогава регистърът на буквите няма да е от значение (малки и главни букви).
Командата find може да се комбинира например с командата grep. За да намерите всички файлове с окончание в името си .php, в които след това да се потърси определена дума в съдържанието им, може да се използва:
find . -type f -name "*.php" -exec grep -H "word" {} \;
- -type f – указва, че се търсят файлове;
-name "*.php"
– но само такива, чието име завършва с .php;- -exec grep – изпълнява следващата команда върху намерените файлове;
-H "word" {} \;
– какво се търси във файла;
Ако искате списъкът с резултати да се запише във файл например log.txt, който след това можете да проверите, добавете в края на командата > log.txt ("word" {} \; > file.txt
).
Вижте още: