В операционных системах, подобных Unix, команда wget
загружает файлы, обслуживаемые по HTTP, HTTPS или FTP через сеть. По умолчанию она включена во все дистрибутивы Linux.
Самый простой способ использования wget
— это указание местоположения файла для загрузки по HTTP. Скачать файл http://website.com/static/images/header.jpg
с помощью wget
можно, используя следующую команду:
Отличительной особенностью wget
является неинтерактивность, то есть она может работать в фоновом режиме, пока пользователь не вошел в систему. В результате вы получаете возможность начать извлечение и отключиться от системы, а wget
закончит работу за вас.
Оказывались ли вы в такой ситуации, когда нужно передать файл с удаленного сервера на локальный компьютер? Например, получить загруженный пользователем файл, который привел к возникновению проблем.
Этот файл можно скачать через командную строку с помощью команды scp
. Scp — это сокращение от secure copy (безопасное копирование). Более того, это удаленное безопасное копирование. Эта команда аналогична команде cp
, с которой вы, вероятно, уже знакомы, однако источник или цель находятся в другой системе.
Следующая команда копирует файл foobar.txt
с удаленного сервера в локальную директорию:
scp
также можно использовать для копирования файла из локальной директории на удаленный сервер:
Те же действия можно выполнить с помощью опции -r
, которая рекурсивно копирует целые директории.
Команда ssh-keygen
используется для генерации новой пары ключей SSH. Публичный ключ SSH, сгенерированный этой командой, можно использовать в Gitlab или Bitbucket для установления безопасного соединения.
После добавления ключа SSH в Gitlab или Bitbucket вам не придется вводить пароль при каждой отправке файлов в удаленную ветку.
Чтобы сгенерировать пару ключей SSH, используйте следующую команду:
ssh-keygen -t ed25519Обратите внимание, что в приведенном выше примере мы использовали алгоритм подписи ED25519. Несмотря на то, что он считается лучшим вариантом, стоит рассмотреть и другие доступные алгоритмы подписи.
Генерация пары ключей SSH и ее правильная установка в Gitlab или Bitbucket отнимают около десяти минут, однако значительно экономят время в будущем!
В операционных системах Unix и им подобным chmod
— это командный и системный вызов, который используется для изменения прав доступа к объектам файловой системы (файлам и директориям).
Сама по себе команда chmod
довольно проста, однако предоставление необходимых прав доступа к файлам и директориям — совершенно другая задача.
В первом примере права на чтение и запись для файла robots.txt
предоставляются пользователю и группе. Другим предоставляется разрешение на чтение.
Во втором примере права на чтение, запись и выполнение для папки public/images
также предоставляются пользователю и группе. Другим предоставляется разрешение на чтение и выполнение.
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/Порой приходится использовать слишком длинные или сложные команды, которые нелегко запомнить. К счастью, для них можно создать псевдонимы (alias
)!
У псевдонима есть один недостаток: он является временным и будет доступен только для текущего сеанса терминала.
Чтобы использовать псевдонимы между сеансами, сохраните их в файле профиля конфигурации оболочки пользователя. Он находится в ~/.bashrc or ~/.zshrc, если вы используете Bash или ZSH.
Стандартным способом вывода является вывод на консоль. Однако в некоторых случаях нет необходимости выводить на него все данные.
Для перенаправления вывода в другое место используется >. В следующей команде вывод ls -al
перенаправляется в файл myfile
вместо консоли.
В этом примере используется ls
, однако можно применять и любую другую команду, у которой есть вывод. Чтобы убедиться, что команда работает, можно проверить файл myfile
.
Запустить две и более команд одновременно можно с помощью оператора (;). Вы можете выполнить несколько команд подряд, независимо от того, будет ли каждая предыдущая команда завершена успешно.
ls -al; pwd;Если вы хотите, чтобы вторая команда выполнялась только в случае успешного завершения предыдущей, разделите команды с помощью логического оператора AND — &&
.
Команда cd
для перехода в папку images
выполняется только, если удалось создать эту папку.
Также вторую команду можно выполнить только в том случае, если первая не завершена успешно. Для этого используется логический оператор OR — ||
.
Перевод статьи Daan: Advanced CLI: Commands You Should Know as a Developer
Комментарии