Raspberry Pi:Основы Linux/Команды
Содержание | Введение | Продукты | Операционная система | Настройка | Основы Linux | Аппаратные средства | Неисправности | Типовые проблемы | Часто возникающие вопросы | Библиотеки | Примеры |
Команды Linux[1]
Ниже — несколько основных и самых распространенных команд Linux с примерами использования.
Файловая система
LS
Выдает список того, что находится в текущей директории (или в той, которая была указана). Если использовать ее вместе с ключом -l, она покажет дополнительную информацию (права, владельца, группу, размер, дату и время последнего редактирования) о каждом файле и директории, сделав это в формате списка. Если поставить ключ -a, это позволит посмотреть файлы, начинающиеся с точки.
СD
Меняет текущую директорию на ту, которая была указана. Путь к директории может быть как относительным (например,
cd directoryA
), так и абсолютным (например,
cd /home/pi/directoryA
).
PWD
Показывает название текущей директории. То есть, если вписать pwd, это команда может выдать, например,
/home/pi
MKDIR
Создает новую директорию. К примеру,
mkdir newDir
создаст в текущей директории еще одну директорию с названием newDir.
RMDIR
Удаляет пустые директории. К примеру,
rmdir oldDir
удалит директорию oldDir только в том случае, если она пуста.
RM
Удаляет указанный файл. Если поставить ключ -r, это запустит в текущей директории рекурсивное удаление, то есть будет удалена эта директория, а также все находящиеся в ней папки и директории. Но будьте осторожны! Файлы и папки, удаляемые таким образом, удаляются, как правило, навсегда.
CP
Делает копию файла и помещает ее в указанное место (по сути, это операция «копировать-вставить»). К примеру, команда
cp ~/fileA /home/otherUser/
скопирует файл fileA из домашней директории в директорию otherUser (но с тем условием, что у вас есть разрешение на копирование в эту директорию). В качестве аргументов у этой команды можно указать следующее:
- ФАЙЛ ФАЙЛ
cp fileA fileB
- ФАЙЛ ПАПКА
- или
cp fileA /directoryB/
- (в этом случае происходит рекурсивное копирование содержимого директории).
-r ПАПКА ПАПКА
MV
Перемещает файл в указанную локацию (то есть, если cp — это «копировать-вставить», то 'mv' — это «вырезать-вставить») и работает аналогично команде cp. Таким образом, если написать
mv ~/fileA /home/otherUser/
, это переместит файл fileA из домашней директории в директорию otherUser. В качестве аргументов у этой команды можно указать следующее:
- ФАЙЛ ФАЙЛ
- ,
mv fileA fileB
- ФАЙЛ ПАПКА
- или
mv fileA /directoryB/
- 'ПАПКА ПАПКА' (в этом случае происходит рекурсивное копирование содержимого директории). Этой командой также удобно пользоваться при переименовании файлов и директорий после их создания.
TOUCH
Изменяет временную метку указанного файла (или файлов) или, другими словами, меняет время, когда файл (или файлы) был в последний раз отредактирован. Также может создавать временную метку, если ее еще нет.
CAT
Выводит список содержимого файла/файлов. К примеру, команда
cat thisFile
отобразит содержимое файла 'thisFile'. Кроме того, cat можно использовать для вывода содержимого сразу нескольких файлов — например, cat.*txt покажет содержимое всех файлов с расширением *.txt, находящихся в текущей директории.
HEAD
Показывает начало файла. Для того, чтобы указать, сколько строк (по умолчанию их 10) должна отобразить команда, воспользуйтесь ключом -n. Для того, чтобы указать, сколько байтов должна отобразить команда, воспользуйтесь ключом -c.
TAIL
Показывает конец файла. Стартовую точку можно указать в следующих единицах: в байтах (-c), количестве строк (-n) и 512-байтовых блоках (-b).
CHMOD
Используется, как правило, для изменения прав на использование файла. Вместе с этой командой можно использовать символы u (означает пользователя, который владеет этим файлом), g (группа файлов) и o (другие пользователи), а также r (считывание), w (запись) и x (выполнение). К примеру, команда
chmod u+x *filename*
выдаст владельцу файла разрешение на его выполнение.
CHOWN
Меняет пользователя и/или группу пользователей, которые владеют этим файлом. Обычно эта команда используется для запуска через root при помощи sudo. Например, команда
sudo chown pi:root *filename*
сменит пользователя на pi, а группу на root.
SSH
Подключение к другому компьютеру с использованием безопасной оболочки (то есть подключение осуществляется с использованием шифрования). Более подробно читайте на странице о SSH.
SCP
Копирует файл с одного компьютера на другой через SSH. Более подробно читайте тут.
SUDO
Запуск команды от имени суперпользователя. Если подставить ключ -s, это осуществит переход в режим (или, другими словами, в оболочку) суперпользователя. Более подробно читайте тут.
DD
Копирует файл, попутно конвертируя его в указанный формат. Часто используется для копирования всего диска в один файл или обратно. К примеру, при помощи команды
dd if=/dev/sdd of=backup.img
можно создать в папке
/dev/ssd
бэкап-образ SD-карты или USB-носителя. Копируя образ, убедитесь, что указали правильный диск, т.к. эта операция чревата перезаписью всего диска.
DF
Отображает свободное и занятое дисковое пространство на подключенных к Pi файловых системах. Если написать команду с ключом -h (то есть это будет выглядеть как
df -h
), то эта информация будет отображена в более удобочитаемом формате — с указанием данных в гигабайтах (G), мегабайтах (M) и килобайтах (K).
UNZIP
Извлекает файлы из ZIP-файла.
TAR
Упаковывает или распаковывает архив формата TAR. Кроме того, умеет уменьшать размер файлов — по аналогии с ZIP-файлами. Чтобы упаковать файл, используйте
tar -cvzf *имяфайла.tar.gz* *directory/*
Чтобы распаковать содержимое файла, используйте
tar -xvzf *filename.tar.gz*
| (КАНАЛ)
Позволяет использовать выходные данные одной команды как входные данные для другой команды. Оформляется символом |. К примеру, если вам нужно показать только первые 10 записей, отображаемых командой ls, их можно пропустить через команду head, и это будет выглядеть так —
ls | head
То есть | (канал) выступит в роли посредника между командами ls и head.
TREE
Показывает директорию, а также все имеющиеся в ней поддиректории и файлы, и все это в виде дерева.
&
Запускает команду в фоновом режиме, тем самым освобождая оболочку для новых команд.
WGET
Загружает файл из интернета напрямую на компьютер. К примеру, команда
wget http://www.raspberrypi.org/documentation/linux/usage/commands.md
загрузит на компьютер файл commands.md.
CURL
Загружает файл либо с сервера, либо на него. По умолчанию выводит содержимое файла на экран.
MAN
Показывает содержимое справочной страницы файла. Более подробно об этой команде можно узнать, вбив команду
man man
– это покажет справку о команде man.
Поиск
GREP
Прочесывает файлы на предмет заданных паттернов. К примеру, команда
grep "search" *.txt
будет искать строку search во всех файлах, которые заканчиваются на .txt и находятся в текущей директории.
Поддерживает регулярные выражения, что позволяет использовать в поиске специальные буквенные комбинации.
AWK
Эта команда позволяет использовать для поиска и манипулирования текстовыми файлами целый язык программирования, называемый awk.
FIND
Ищет в директориях и поддиректориях файлы, соответствующие заданным паттернам.
WHEREIS
Находит расположение команды. Просматривает места, где обычно располагаются команды, пока не найдет искомую.
Сеть
PING
Используется, как правило, для проверки того, можно ли наладить коммуникацию с другим хостом. Можно использовать с настройками по умолчанию, но нужно указать как минимум имя хоста (например,
ping raspberrypi.org
) или IP-адрес (например,
ping 8.8.8.8
). Если использовать вместе с ключом -c, можно указать еще и количество пакетов.
NMAP
Инструмент для изучения и сканирования интернет-пространства. Возвращает, к примеру, такую информацию о хосте (или группе хостов), как то, какой у него порт или каковы особенности ОС. Если просто вписать nmap, это покажет доступные опции и примеры использования.
HOSTNAME
Отображает имя хоста, которое система имеет в данный момент. Суперпользователь может задать новое имя хоста, указав его в качестве аргумента. Например, так —
hostname new-host
IFCONFIG
Если запустить безо всяких аргументов (как есть — ifconfig), показывает подробности о сетевых настройках для интерфейсов, имеющихся у текущей системы. Если вместе с командой указать название интерфейса (например, eth0 или lo), это позволяет поменять настройки для этого интерфейса. Более подробно читайте на справочной странице (
man ifconfig
) для этой команды.