Documentation
🖥️ Linux / Terminal
Основа по терминалу

Основные команды в Linux

В работе тебе придется часто работать с терминалом (командной строкой Linux или bash-строкой). Команды ниже являются самыми популярными и часто используемыми, поэтому не поленись и потренируйся на них у себя локально. В операционной системе Windows с bash-строкой можно поработать используя Git Bash, установленный на предыдущем шаге, либо через WSL (Windows Subsystem for Linux).

  • ls - список файлов и директорий в текущем каталоге

    ls -l  # подробный список
    ls -a  # включая скрытые файлы
  • cd - смена текущего каталога

    cd /path/to/directory
    cd ..  # выйти из текущей папки на уровень выше
  • pwd - показать текущий путь в каталог, где вы находитесь

    pwd
  • cp - копирование файлов и директорий

    cp source destination
  • mv - перемещение или переименование файлов и директорий

    mv source destination
  • touch - создание файлов

    touch file.txt # создать файл
  • vim - встроенный редактор кода

    vim my_code.py
    # Чтобы отредактировать текст, нужно нажать i (insert, режим ввода)
    # Чтобы выйти из vim, нужно нажать esc (выход из режима ввода), потом :wq (это сохраняет файл и выходит из него)
  • rm - удаление файлов и директорий

    rm file
    rm -r directory  # удаление директории и её содержимого
  • cat - вывод содержимого файла.

    cat file
  • less - режим постраничного просмотра содержимого файла.

    less file
  • tail -f - режим просмотра окончания файла в режиме реального времени (если, например, файл продолжает наполняться данными).

    tail -f file
  • grep - поиск строк в файле.

    grep "apple" file
  • chmod - изменение прав доступа к файлам и директориям.

    chmod 755 test.txt
  • echo - запись в файл

    echo "data goes to file" >> data.txt
  • mkdir - создать директорию (папку)

    mkdir halltape_directory
    mkdir -m 755 halltape_directory # Создание каталога с заданными правами доступа
  • history - показать историю команд

    history

Пример использования chmod (пригодится, когда нужно, чтобы файл мог запускаться сторонней программой и не было конфликтов)

  • Создадим файл и изменим права доступа (смотрите, как меняются права доступа в буквенном выражении)
    halltape@MacBookPro Desktop % touch test.txt
    halltape@MacBookPro Desktop % ls -l
    -rw-r--r--   1 halltape  staff    0 Oct  3 12:37 test.txt
    halltape@MacBookPro Desktop % chmod 755 test.txt 
    halltape@MacBookPro Desktop % ls -l
    -rwxr-xr-x   1 halltape  staff    0 Oct  3 12:37 test.txt
    halltape@MacBookPro Desktop % chmod 777 test.txt 
    halltape@MacBookPro Desktop % ls -l
    -rwxrwxrwx   1 halltape  staff    0 Oct  3 12:37 test.txt

Таблица с обозначениями для chmod

ЧислоПраво доступа
0отсутствие прав (---)
1разрешено только исполнение (--x)
2разрешена только запись (-w-)
3разрешены запись и исполнение (-wx)
4разрешено только чтение (r--)
5разрешены чтение и исполнение (r-x)
6разрешены чтение и запись (rw-)
7полные права (rwx)

Используя команды, указанные выше, можно воспользоваться встроенными утилитам Linux, например планировщиком cron. cron позволяет автоматически выполнять скрипты или команды в заданное время. Для пользователей Windows на данном этапе необходима установка WSL, в Git Bash утилита cron отсутствует. Основные шаги по использованию:

  • crontab -e - отредактировать файл cron
    crontab -e

Запись в crontab имеет следующий формат:

* * * * * команда

Где:

Первая * — минута (0-59)
Вторая * — час (0-23)
Третья * — день месяца (1-31)
Четвёртая * — месяц (1-12)
Пятая * — день недели (0-7) (где 0 и 7 — воскресенье)

Например:

  • Создадим задачу на запуск python-скрипта (script.py) каждый день в 7 вечера, для этого откроем файл cron:

    halltape@MacBookPro Desktop % crontab -e
  • Если вы не создавали ранее файл cron, появится сообщение с выбором текстового редактора (можно воспользоваться vim или nano):

no crontab for npc - using an empty one
 
Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /bin/ed 
  • Нажимаем 1 и попадаем через редактор nano в файл cron, где в виде комментариев будет инструкция по использованию. Эти записи можно оставить как подсказки и после них сделать запись (путь к файлу можно определить через команду pwd, команда python3 запустит скрипт по указанному пути):
0 19 * * * python3 /home/script.py
  • Сохраняем (в редакторе nano: сочетанием клавиш ctrl + s) и выходим (nano: ctrl + x), видим сообщение об успешной уставноке новой задачи:
crontab: installing new crontab