База знаний VPS/VDS/Сервера Администрирование Базовые команды для работы через терминал Linux/SSH/Консоль хостинга

Базовые команды для работы через терминал Linux/SSH/Консоль хостинга

Для работы с консолью на шаред хостинге/SSH или на VDS, через VNC, требуется иметь предстовление о том, что такое командная строка и какие базовые команды можно использовать для достижения того или иного результата.

В данной статье мы приведем базовые команды для работы с терминалом, которые на наш взгляд могут пригодиться пользователям, как на шаред хостинге, так и на VDS/Dedicated 

Команды для получения информации
  1. whoami - показывает информацию о том, под каким пользователем Вы работает в данный момент
    -bash-4.2$ whoami
    suser1234
  2. pwd - показывает информацию о том, в какой директории Вы находитесь на данный момент
    -bash-4.2$ pwd
    /var/www/suser1234/data
  3. ls - выводит информацию о содержимом директории
    -bash-4.2$ ls
    bin-tmp  email  logs  mod-tmp  php-bin  tmp  www
  4. ps - показывает информацию о том какие процессы запущены в данный момент на аккаунте/сервере (Удобно просматривать при наличие нагрузки на аккаунте/сервере для идентификации причин нагрузок)
    -bash-4.2$ ps
      PID TTY          TIME CMD
    15878 pts/0    00:00:00 bash
    25471 pts/0    00:00:00 ps
    
  5. top - команда, которая выводит список работающих в системе процессов и информацию о них. По умолчанию она в реальном времени сортирует их по нагрузке на процессор.
    -bash-4.2$ top
    
    top - 16:59:02 up 72 days, 13:10,  0 users,  load average: 14.80, 13.55, 11.32
    Tasks:   2 total,   1 running,   1 sleeping,   0 stopped,   0 zombie
    %Cpu(s): 61.1 us, 15.0 sy,  0.2 ni, 23.2 id,  0.2 wa,  0.0 hi,  0.3 si,  0.0 st
    KiB Mem : 13173054+total,  5248328 free, 50496532 used, 75985688 buff/cache
    KiB Swap:        0 total,        0 free,        0 used. 59907776 avail Mem 
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                
    15878 suser12+  20   0  115548   2056   1648 S   0.0  0.0   0:00.00 bash                                                                                                                                   
    28095 suser12+  20   0  161980   2156   1548 R   0.0  0.0   0:00.00 top 


У всех команд, выше перечисленных и других есть флаги,  которые могут помочь в выводе информации, показать ее более делатьно или следать вывод более читабельным для пользователя, для этого к команде необходимо добавить флаг --help
Благодаря данному флагу, о команде будет выведеная помощь с инструкцией о применение тех или иных флагов, а так же правильный синтаксис запроса

ls --help
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.

Mandatory arguments to long options are mandatory for short options too.
  -a, --all                  do not ignore entries starting with .
  -A, --almost-all           do not list implied . and ..
      --author               with -l, print the author of each file
  -b, --escape               print C-style escapes for nongraphic characters
      --block-size=SIZE      scale sizes by SIZE before printing them; e.g.,
                               '--block-size=M' prints sizes in units of

У многих команд вывод  помощи может быть очень большим, поэтому в качестве примера мы указали только часть вывода --help

Команды для работы с файловой системой

  1. cd - выполение перехода из одной директории в другую
    -bash-4.2$ pwd
    /var/www/suser1234/data
    -bash-4.2$ cd www
    -bash-4.2$ pwd
    /var/www/suser1234/data/www
  2. touch - создание файла
    -bash-4.2$ touch 1.txt

     

  3. mkdir - создание директорий
    -bash-4.2$ mkdir dir
    -bash-4.2$ ls
    1.txt  dir
    
  4. cp - копирование файлов
    -bash-4.2$ cp 1.txt 2.txt
    -bash-4.2$ ls
    1.txt  2.txt  dir
  5. mv - перемещение файлов/директорий, изменение их имени
    -bash-4.2$ ls
    1.txt  2.txt  dir
    -bash-4.2$ mv 2.txt dir
    -bash-4.2$ ls dir
    2.txt
    -bash-4.2$ mv 1.txt 3.txt
    -bash-4.2$ ls
    3.txt  dir
  6. ln - cоздание символической ссылки
    -bash-4.2$ ln -s 3.txt 1.txt
    -bash-4.2$ ls
    1.txt  3.txt  dir
Чтение содержимого файлов
  1. head - показывает начало файла
    head 1.txt
    1 строка
    
  2. tail - показывает конец файла
    tail 1.txt
    69 строка
  3. cat -  показывает полное содержимое файла с прокруткой в самый низ
    cat 1.txt
    1 строка
    2 строка
    3 строка
    4 строка
  4. less - открывает файл и дает возможность прокручить его содержимое
    less 1.txt
    1 строка
    2 строка
    3 строка
    4 строка
Поиск информации
  1. grep - позволяет искать нужную информацию в файлах, а так же искать где располагаются файлы по имени/содержимому и тд.
    В основно команда используется в сочетании с другими командами
    -bash-4.2$ cat 1.txt | grep '69 строка'
    69 строка
    -bash-4.2$ grep -lr 'hostiman'
    dir/2.txt
  2. find - команда для поиска файлов и каталогов на основе специальных условий. Ее можно использовать в различных обстоятельствах, например, для поиска файлов по разрешениям, владельцам, группам, типу, размеру и другим подобным критериям
    find . -type f -name 2.txt
    ./dir/2.txt
Удаление файлов
  1. rm - удаляет файлы
    ls
    1.txt  3.txt  dir
    -bash-4.2$ rm 1.txt
    -bash-4.2$ ls
    3.txt  dir

    При помощи rm можно удалять так же директории. Однако если указать команду без флага, то она не даст удалить директорию

    rm dir
    rm: cannot remove ‘dir’: Is a directory

     Удалить директорию можно при помощи флага -r 

    -bash-4.2$ rm -r dir
    -bash-4.2$ ls
    3.txt
    
Остановка процессов
  1. kill - данная команда удаляет процессы запущеные на аккаунте/сервере. Бессмыслено мы не рекомендуем удалять все процессы подряд, если Вы не знаете за что отвечает, тот или иной процесс, то лучше этого не делать.
    Пример процессов на аккаунте
    -bash-4.2$ ps aufx
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    suser12+ 15878  0.0  0.0 115548  2064 pts/0    S    16:57   0:00 -bash
    suser12+ 30679  0.0  0.0 110412  1000 pts/0    T    17:33   0:00  \_ less 1.txt
    suser12+ 18183  0.0  0.0 110412   996 pts/0    T    17:36   0:00  \_ less 1.txt
    suser12+ 19485  0.0  0.0 155448  1764 pts/0    R+   17:55   0:00  \_ ps aufx

    Как мы видим у нас запущенно несколько процессов на чтение файла 1.txt
    Для удаление процесса используем команду kill с флагом -9. Все флаги комады Вы можете увидеть в выводе kill -l
    Синтаксис команды kill выглядит следующим образом kill PID, где PID - ID процессора, в нашем случае это 30679 и 18183

    -bash-4.2$ kill -9 30679 18183
    -bash-4.2$ ps aufx
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    suser12+ 15878  0.0  0.0 115548  2052 pts/0    S    16:57   0:00 -bash
    suser12+ 12292  0.0  0.0 153296  1516 pts/0    R+   18:04   0:00  \_ ps aufx
    [2]+  Killed                  less 1.txt
    
Создание архивов 
  1. tar - у команды есть много флагов, для ознакомления с ними используйте tar --help
    -bash-4.2$ tar cf backup.tar dir
    -bash-4.2$ ls
    3.txt  backup.tar  dir
  2. zip
    -bash-4.2$ zip -r backup.zip dir
      adding: dir/ (stored 0%)
      adding: dir/ruru/ (stored 0%)
      adding: dir/2.txt (stored 0%)
    -bash-4.2$ ls 
    3.txt  backup.tar  backup.zip  dir

    Для распаковки архивов используются те же команды, только с другими флагами. В случае с zip необходимо использовать команду unzip