Основни SSH команди

Помощен център

Основни SSH команди

Тази статия е продължение на статията за достъп до хостинга през SSH тъй като целта на свързването със сървъра е с помощта на SSH команди бързо и лесно да се управляват обектите в хостинга - директории, файлове, процеси, съдържание, бази данни и т.н.

Поради спецификата и най-вече сигурността на сървърите за споделен хостинг като цяло и в частност на потребителските акаунти, голям брой SSH команди са деактивирани като например командата за инсталиране, команди за промяна на собственост или команди за управление на сървърни конфигурации и ресурси.

В таблиците по-долу сме показали някои от най-често използваните SSH команди.

КомандаДействие
pwdпоказва текущата директория
cd /webпреместване в директория /web/
cd .оставане в същата директория
cd ..връщане една директория назад
cd ../ ..връщане две директории назад
cd -връщане в предишната директория
cd ~връщане в началната директория на хостинга

Показване на директории и файлове

КомандаДействие
lsпоказва съдържанието на директория
ls -aпоказва цялото съдържание на директория, дори и имената да започват с (.)
ls -lпоказва всяка директория и файл на отделен ред с всички детайли
ls -r, ls -rlпоказва съдържанието на директория в обратен ред
ls -hпоказва размера на файла в разбираем формат (e.g., 1K 234M 2G)
ls /webпоказва поддиректориите и файловете в папка /web/
ls -alhпоказва директориите и файловете с всички детайли
ls -R, ls -Rlпоказва съдържанието на поддиректориите рекурсивно
ls -S, ls -Slпоказва изхода на командата в низходящ ред, сортиран по размер
ls -tlподрежда съдържанието според времето на модификация

Копиране на файлове

КомандаДействие
cpкопира файлове и директории
cp -rкопира съдържание на папка рекурсивно
cp f.php /web/n.phpкопира, премества и преименува файла
cp -aсъздава пълен архив на директория
cp -sсъздава symlink (symbolic link) вместо да копира файл
cp -lкопира source файла и създава линк между двата файла

Преместване и преименуване на файлове

КомандаДействие
mvпремества и преименува файл
mv f.php /web/f.phpпремества файл f.php в директория /web/
mv f.php /web/n.phpпремества и преименува файл
mv dir1/ web/dir2/премества и преименува директория

Създаване на директории и файлове

КомандаДействие
mkdir new-folderсъздава нова директория /new-folder/
touch index.phpсъздава нов файл index.php

Търсене в директории и файлове

КомандаДействие
find . -name "file.txt"търси файл file.txt в текущата директория (и всички поддиректории)
find . -name "file*"търси с wildcard шаблон
find . -type dпоказва само директории
find . -mtime -2показва само файлове, променени през последните два дни
grep "database" conf.phpтърси текстa database в съдържанието на файлa
grep -r -H "database" *показва реда във файла и търси рекурсивно
grep -l "database" *показва списък на файловете, които съдържат текста без да показва реда
sed -i 's/original/new/g' filenameзаменя текста original с текста new в съдържанието на файла filename
wc -l file.txtпокзва броя на редовете във файла file.txt
wc -w file.txtпоказва броя на думите във файла file.txt
wc -m file.txtпоказва броя на символите във файла file.txt
du -aпоказва файловия размер на текущата директория, файловете и поддиректориите
du -cпоказва файловия размер на текущата директория и поддиректориите
du -hпоказва размера на текущата директория в разбираем формат (e.g., 1K 234M 2G)
diff file1 file2сравнява два файла ред по ред
historyпоказва списък с използваните команди
history 5показва списък с последните пет използвани команди

Управление на входните и изходни стойности на SSH команди

СимволКомандаДействие
>cat file1 file2 > file3събира съдържанието на двата файла в един файл
>>cat file4 >> file3добавя съдържанието на file4 след съдържанието на file3 или създава file3 ако файлът не съществува
<mysql -uU -p DB < b.sqlвмъква съдържанието на входа на команда
2>make file 2> /dev/nullизтрива изходните стойности (грешки) от команда
|cat file1 file2 | lessпозволява изхода на една команда да бъде изпратен на входа на друга (pipe)
teels /home/user | tee myfileпоказва съдържанието на директорията и записва изходната стойност в myfile
&>make file &> /dev/nullпренасочва изходна стойност от команда или съобщение за грешка

Архивиране

КомандаДействие
zip -r dir.zip dir/създава .zip архив от съдържанието на папка /dir/
tar -czvf wp.tar.gz wp/създава и компресира .tar.gz архив от съдържанието на папка /wp/
tar -tfпоказва съдържанието на архива
tar xf file.tar file.txtразархивира само файла file.txt от архива file.tar
unzip dir.zipразархивира dir.zip
tar -xvzf wp.tar.gzдекомпресира и разархивира wp.tar.gz

Изтриване на файлове и директории

КомандаДействие
rm index.phpизтрива файла index.php
rm folder/*изтрива цялото съдържание от директорията folder/
rm -rf folder/изтрива директорията и нейното съдържание
rm * .jpgизтрива всички .jpg файлове в директорията

Права на директории и файлове

КомандаДействие
chmod 755 folder/променя правата на директория
chmod 644 file.phpпроменя правата на файл
find . -type d -exec chmod 0755 {} \;променя рекурсивно правата на директориите
find . -type f -exec chmod 0644 {} \;променя рекурсивно правата на файловете

"Pager" команди

КомандаПримерен_КодДействие
lesscat file | lessизползва се за преглед (но не и за промяна) на съдържанието на текстов файл. Натиснете клавиша интервал, за да отидете на следващия екран, натиснете буквата b на клавиатурата, за да се върнете на предишния екран, натиснете буквата q за да прекратите командата.
lesscat file | less -Mдава информация коя част от съдържанието на файла се разглежда в момента (e.g., lines 1-59)
lesscat file | less -Nпоказва номерата на редовете (полезна за преглеждане на изходен код)
morecat file | moreизползва се за преглед (но не и за промяна) на съдържанието на текстов файл (подобна на less). Натиснете клавиша интервал за да отидете на следващия екран, натиснете буквата q за да прекратите командата.
headhead -n 24 fileпоказва началото на текстов файл или данни, с цифрата избирате колко реда информация желаете да бъде показана
tailhead -n 12 fileпоказва края на съдържанието, с цифрата избирате колко реда информация желаете да бъде показана

Заключение

Много SSH команди са съкращения от съответни английски думи и са пряко свързани с функцията на самата команда, което помага за по-лесното научаване и правилното използване на командите:

КомандаСъкращение от:Означава
cdchange directoryпромени директория
mkdirmake directoryсъздай директория
pwdprint working directoryпокажи работната директория
lslistсписък
cpcopyкопирай
mvmoveпремести
wcword countброй думи
dudisk usageизползване на диск
diffdifferenceразлика
rmremoveпремахни

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