Закон Парето применим ко многим сферам, в том числе и к работе с терминалом Linux, ведь всего нескольких десятков команд позволит легко справляться с большинством задач. Мы выбрали 40 наиболее полезных команд, использование которых способно сильно облегчить жизнь при работе с Linux. Статья не претендует на статус истины в последней инстанции или максимально подробного руководства, а очередность команд обусловлена лишь алфавитным порядком.
Джентльменский набор команд Linux Часть 1:
- alias
- cat
- cd
- chmod
- chown
- curl
- df
1. alias
Команда alias создает «ярлык» другой команды или последовательности команд Linux.
Синтаксис команды alias:
alias имя="значение"
alias имя="команда аргумент"
alias имя="/путь/к/файлу"
alias позволяет:
- Быстрее вводить команды.
Исправлять частые опечатки.
Довольно распространенная ситуация, когда вместо команды ls вводится sl. В результате пользователь получает сообщение об ошибке:
С помощью команды alias можно исправить данную проблему:
$ alias sl=ls
$ sl
./ ../ alias.txt
Использования команды alias для последовательности команд:
alias pf="ps -e | grep $1"
В данном алиасе команда ps используется для вывода списка запущенных процессов, в котором grep ищет процессы, соответствующие параметру $1.
Стоит отметить, что команда alias по умолчанию работает лишь для текущей сессии командной строки. Т.е. если разлогиниться или открыть другой терминал, то созданные алиасы перестанут работать. Чтобы сделать их постоянными необходимо включить их в свой локальный файл домашней директории ~/.bashrc (в случае использования bash в качестве командной оболочки).
$ ls
alias.txt
$ echo 'alias ls="ls -l"' >> ~/.bashrc
$ . ~/.bashrc
$ ls
total 0
-rw-rw-r-- 1 lubos lubos 0 Jan 15 18:27 alias.txt
2. cat
Команда cat выводит содержание файлов в окне терминала.
cat позволяет:
- Посмотреть содержание небольших файлов, что быстрее, чем в редакторе.
- Исключить ошибки случайного изменения файла при просмотре.
- Склеить несколько файлов.
Синтаксис команды cat:
cat опции файл1 файл2
Чтобы посмотреть содержимое файла .bash_log_out через терминал нужно ввести:
cat .bash_logout
Чтобы склеить несколько файлов с помощью команды cat нужно просто указать названия файлов в аргументах, а результаты записать в новый файл. Например:
cat file1 file2 > file3
Основные опции cat:
- -b — нумеровать только строки с содержимым;
- -E — выводить $ в конец каждой строки;
- -n — нумеровать все строки;
- -s – удалять повторы пустых строк;
- -T — выводить табуляции в виде ^I.
3. cd
cd изменяет текущий каталог, переводя в другое место файловой системы.
Синтаксис команды cd:
cd опции папка_назначения
Чтобы перейти в подкаталог домашней папки нужно просто указать после команды название директории (img для примера):
cd img
Если нужно попасть в другой каталог нужно указать путь:
cd /usr/local/bin
Чтобы быстро попасть в домашний каталог нужно указать вместо имени ~ (tilde):
cd ~
Вернуться в предыдущую папку:
cd –
Перейти в родительский каталог:
cd ..
Перемещение в родительский каталог текущего родительского каталога
cd ../../
4. chmod
Команда chmod устанавливает права доступа к файлу или каталогу.
chmod позволяет:
- Разделить привилегии между пользователями.
- Ограничить доступ к нежелательным файлам и папкам.
- Контролировать доступные сервисам действия и прочее.
Синтаксис команды chmod:
chmod опции права /путь/к/файлу
Если вывести список папок и файлов командой ls с параметром –l, то можно увидеть нечто подобное:
-rwxrwxrwx
Первый символ означает:
- «-» — является файлом;
- «d» — является каталогом.
Остальная часть строки в 9 символов разбивается на три группы по 3 символа в каждой:
- Первые 3 символа – права доступа к файлам владельца (-rwx------).
- Вторые 3 символа – права доступа к файлам группы (----rwx---).
- Последние 3 символа – разрешения для других (-------rwx).
Обозначения символов:
- r – Чтение.
- w – Запись.
- x – Выполнение.
Если какой-то из символов отсутствует и вместо него указан «-», тогда нет доступа к данному действию.
Также задать права доступа можно с помощью цифр:
- 0 – нет прав (-);
- 1 – только выполнение (--x);
- 2 – только запись (-w-);
- 3 – запись и выполнение (w-x);
- 4 – только чтение (r--);
- 5 – чтение и выполнение (r-x);
- 6 – чтение и запись (rw-);
- 7 – чтение, запись и выполнение (rwx).
Например, у файла «ex.txt» указаны все права:
-rwxrwxrwx
Нужно изменить их на:
- Пользователь – все права (7 или rwx).
- Группа – чтение и запись (6 или rw-).
- Другим – чтение и выполнение (5 или r-x).
Тогда вводим следующую команду:
chmod 765 ex.txt
5. chown
Команда chown (change owner) позволяет менять владельца и группу владельца:
- Файлов.
- Каталогов.
- Ссылок.
Синтаксис команды chown:
chown пользователь опции /путь/к/файлу
Если в поле пользователя указать группу через двоеточие (пользователь: группа), тогда изменится еще и группа.
Основные опции команды chown:
- -c — детальный вывод всех выполняемых изменений;
- -f — минимум информации (убирает ошибки из выдачи);
- -h — изменять права символических ссылок, а файлы к которым они ведут не трогать;
- -R — рекурсивная обработка всех подкаталогов;
- -L — переходить по всем символическим ссылкам на директории.
Изменить владельца папки ex1 на user:
chown user ./ex1
Изменить на владельца user и группу users:
chown user:users ./ex1
Чтобы изменения применялись не только к данному каталогу, но и всем подкаталогам внутри, необходимо добавить опцию -R:
chown -R user:users ./ex1
6. curl
Утилита curl извлекает информацию и файлы с url-страниц.
Будет полезна тем, кто часто загружает:
- Скрипты.
- Исполняемые файлы программ.
- Архивы.
С помощью команды curl это можно делать не через браузер, а прямо из терминала, что дает возможность автоматизировать процесс.
На самом деле curl является не просто утилитой, а целым набором библиотек, способными реализовать все основные возможности по работе c передачей файлов и url-страницами.
Curl поддерживает работу с протоколами:
- FTP
- FTPS
- HTTP
- HTTPS
- TFTP
- SCP
- SFTP
- Telnet
- DICT
- LDAP
- POP3
- IMAP
- SMTP
Синтаксис утилиты:
curl опции ссылка
Загрузка файлов с помощью curl
Самая распространенная задача для утилиты curl – это загрузка файлов. Чтобы скачать файл достаточно передать утилите имя файла или адрес страницы, например:
curl https://raw.githubusercontent.com/torvalds/linux/master/ README.md
Таким образом содержимое файла будет отправлено на стандартный вывод. Для записи его в файл (для примера ex.txt) нужно ввести:
curl -o readme.txt https://raw.githubusercontent.com/torvalds/linux/master/ README.md
Чтобы скачанный файл назывался так же, как и на сервере необходимо использовать опцию -O:
curl –O https://raw.githubusercontent.com/torvalds/linux/master/ README.md
Стоит отметить, что не во всех дистрибутивах Linux утилита предустановлена по умолчанию.
7. df
Команда df позволяет выводить:
- Список подключенных устройств
- Информацию о занятом месте
- Точку монтирования
Синтаксис команды df:
df опции устройство
Основные опции df:
- -h — выводить размеры в читаемом виде Мбайтах или Гбайтах;
- -x – исключить из вывода указанные файловые системы.
Например, необходимо получить информацию в читаемом виде для раздела /dev/sdb7, тогда вводим:
df -h /dev/sdb7
Чтобы игнорировать псевдо-файловые системы squashfs, создаваемые при установке приложения с помощью команды snap, вводим:
df -x squashfs
Лучший способ освоить новые команды – больше практиковаться, а лучше всего это делать на серверах компании AlexHost, где:
- Оперативная поддержка 24/7 круглый год
- Собственные дата-центры
- Полная анонимность
- Качественный VPS всего от 70 рублей в месяц
amarao
в Linux есть команда alias? Не верю!
Так что заслуженный минус.