Основные команды в 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