1. wget
В операционных системах, подобных Unix, команда wget
загружает файлы, обслуживаемые по HTTP, HTTPS или FTP через сеть. По умолчанию она включена во все дистрибутивы Linux.
Самый простой способ использования wget
— это указание местоположения файла для загрузки по HTTP. Скачать файл http://website.com/static/images/header.jpg
с помощью wget
можно, используя следующую команду:
wget http://website.com/static/images/header.jpg
Отличительной особенностью wget
является неинтерактивность, то есть она может работать в фоновом режиме, пока пользователь не вошел в систему. В результате вы получаете возможность начать извлечение и отключиться от системы, а wget
закончит работу за вас.
2. scp
Оказывались ли вы в такой ситуации, когда нужно передать файл с удаленного сервера на локальный компьютер? Например, получить загруженный пользователем файл, который привел к возникновению проблем.
Этот файл можно скачать через командную строку с помощью команды scp
. Scp — это сокращение от secure copy (безопасное копирование). Более того, это удаленное безопасное копирование. Эта команда аналогична команде cp
, с которой вы, вероятно, уже знакомы, однако источник или цель находятся в другой системе.
Следующая команда копирует файл foobar.txt
с удаленного сервера в локальную директорию:
scp [email protected]:/path/to/foobar.txt /some/local/directory
scp
также можно использовать для копирования файла из локальной директории на удаленный сервер:
scp /some/local/directory/foobar.txt [email protected]:/destination/path/
Те же действия можно выполнить с помощью опции -r
, которая рекурсивно копирует целые директории.
3. ssh-keygen
Команда ssh-keygen
используется для генерации новой пары ключей SSH. Публичный ключ SSH, сгенерированный этой командой, можно использовать в Gitlab или Bitbucket для установления безопасного соединения.
После добавления ключа SSH в Gitlab или Bitbucket вам не придется вводить пароль при каждой отправке файлов в удаленную ветку.
Чтобы сгенерировать пару ключей SSH, используйте следующую команду:
ssh-keygen -t ed25519
Обратите внимание, что в приведенном выше примере мы использовали алгоритм подписи ED25519. Несмотря на то, что он считается лучшим вариантом, стоит рассмотреть и другие доступные алгоритмы подписи.
Генерация пары ключей SSH и ее правильная установка в Gitlab или Bitbucket отнимают около десяти минут, однако значительно экономят время в будущем!
4. chmod
В операционных системах Unix и им подобным chmod
— это командный и системный вызов, который используется для изменения прав доступа к объектам файловой системы (файлам и директориям).
Сама по себе команда chmod
довольно проста, однако предоставление необходимых прав доступа к файлам и директориям — совершенно другая задача.
chmod 664 robots.txt
chmod 775 public/images
В первом примере права на чтение и запись для файла robots.txt
предоставляются пользователю и группе. Другим предоставляется разрешение на чтение.
Во втором примере права на чтение, запись и выполнение для папки public/images
также предоставляются пользователю и группе. Другим предоставляется разрешение на чтение и выполнение.
5. tar
tar
для Linux обозначает tape archive (ленточный архив) и используется для сбора нескольких файлов в один архив. Tar
является широко используемой командой для создания сжатых архивных файлов.
Начнем с создания архивного файла для определенной директории:
tar -cvf my-archive.tar /path/to/directory
Эта команда создает архивный файл my-archive.tar
, который содержит все файлы из /path/to/directory
, созданной в текущей рабочей директории.
Создание архивного файла — это первый шаг. Второй шаг — распаковка. Распаковать файл в определенную директорию можно с помощью следующей команды:
tar -xvf my-archive.tar -C /home/myfolder/
6. alias
Порой приходится использовать слишком длинные или сложные команды, которые нелегко запомнить. К счастью, для них можно создать псевдонимы (alias
)!
alias short-command="your custom and very long command here"
У псевдонима есть один недостаток: он является временным и будет доступен только для текущего сеанса терминала.
Чтобы использовать псевдонимы между сеансами, сохраните их в файле профиля конфигурации оболочки пользователя. Он находится в ~/.bashrc or ~/.zshrc, если вы используете Bash или ZSH.
Совет 1: направление вывода
Стандартным способом вывода является вывод на консоль. Однако в некоторых случаях нет необходимости выводить на него все данные.
Для перенаправления вывода в другое место используется >. В следующей команде вывод ls -al
перенаправляется в файл myfile
вместо консоли.
ls -al > myfile
В этом примере используется ls
, однако можно применять и любую другую команду, у которой есть вывод. Чтобы убедиться, что команда работает, можно проверить файл myfile
.
cat myfile
Совет 2: Объединение команд
Запустить две и более команд одновременно можно с помощью оператора (;). Вы можете выполнить несколько команд подряд, независимо от того, будет ли каждая предыдущая команда завершена успешно.
ls -al; pwd;
Если вы хотите, чтобы вторая команда выполнялась только в случае успешного завершения предыдущей, разделите команды с помощью логического оператора AND — &&
.
mkdir images && cd images
Команда cd
для перехода в папку images
выполняется только, если удалось создать эту папку.
Также вторую команду можно выполнить только в том случае, если первая не завершена успешно. Для этого используется логический оператор OR — ||
.
Читайте также:
- 9 советов для быстрой работы в UNIX и Linux терминале
- Терминал: 3 команды для продуктивности
- 11 важнейших консольных команд для разработчика
Перевод статьи Daan: Advanced CLI: Commands You Should Know as a Developer