34 Команды Linux, Которые Должен Знать Каждый Пользователь
VPS
Янв 14, 2022
Olha L.
7хв. читання
Большинство людей думают, что Linux — это сложная операционная система, которая используется только программистами. Но на самом деле это не так. К тому же базовые команды Linux довольно понятны и просты.
Linux — это целое семейство операционных систем Unix с открытым исходным кодом, основанных на ядре Linux. Сюда входят все самые популярные системы на основе Linux, такие как Ubuntu, Fedora, Mint, Debian и другие. Если быть точным, их называют дистрибутивами.
С тех пор как Linux был впервые выпущен в 1991 году, он продолжал набирать популярность благодаря открытому исходному коду. Люди могут свободно модифицировать и распространять его под своим именем.
При работе с ОС Linux вам нужно использовать оболочку — интерфейс, который даёт вам доступ к службам операционной системы. В большинстве дистрибутивов Linux для удобства в качестве оболочки используется графический интерфейс пользователя (GUI).
При этом рекомендуется использовать интерфейс командной строки (CLI), так как он более мощный и эффективный. Задачи, для решения которых в графическом интерфейсе понадобиться много этапов, можно выполнить за считанные секунды, вводя команды в CLI.
Так что, если вы планируете использовать Linux, знание базовых командных строк является необходимостью. В этой статье вы узнаете 34 основные команды Linux, которые, несомненно, помогут вам сориентироваться как новичку.
Получите скидку до 77% на Linux VPS-хостинг.
Начать
Оглавление
Основные Команды Linux
Прежде чем перейти к списку команд, необходимо открыть командную строку. Если вы плохо ориентируетесь в интерфейсе командной строки, ознакомьтесь с этим руководством по CLI (англ).
Хотя шаги могут несколько различаться в зависимости от используемого вами дистрибутива, обычно командную строку вы можете найти в разделе «Утилиты».
Итак, 34 базовые команды Linux. Поехали!
1.
Команда pwdИспользуйте команду pwd, чтобы узнать путь к текущему рабочему каталогу (папке), в котором вы находитесь от корневого каталога. Команда вернёт абсолютный (полный) путь, который по сути является путём всех каталогов, начинающийся с косой черты (/). Примером абсолютного пути является /home/username.
2. Команда cd
Для навигации по файлам и каталогам Linux используйте команду cd. Она требует либо полный путь, либо имя каталога, в зависимости от текущего рабочего каталога, в котором вы находитесь.
Допустим, вы находитесь в /home/username/Documents и хотите перейти в Photos, подкаталог Documents. Для этого просто введите следующую команду: cd Photos.
Другой сценарий, если вы хотите перейти в совершенно новый каталог, например, /home/username/Movies. В этом случае вам нужно ввести cd, а затем абсолютный путь к каталогу: cd/home/username/Movies.
Также есть несколько шорткодов для более быстрой навигации:
- cd . . (с двумя точками), чтобы переместиться на один каталог вверх
- cd, чтобы перейти прямо в домашнюю папку
- cd- (с дефисом), чтобы перейти к предыдущему каталогу
Также стоит отметить, что оболочка Linux чувствительна к регистру. Важно точно вводить имена каталогов.
3. Команда ls
Команда ls используется для просмотра содержимого каталога. По умолчанию эта команда отобразит содержимое вашего текущего рабочего каталога.
Если вы хотите просмотреть содержимое других каталогов, введите ls
Варианты использования команды Linux ls:
- ls -R также выведет список всех файлов в подкаталогах
- ls -a покажет скрытые файлы
- ls -al выведет список файлов и каталогов с подробной информацией, такой как разрешения, размер, владелец и т. д.
4.
Команда catcat (сокращение от concatenate) — одна из наиболее часто используемых команд в Linux. Используется для вывода содержимого файла в командной строке (sdout). Чтобы запустить эту команду, введите cat, а затем имя файла и его расширение. Например: cat file.txt.
Вот другие варианты использования команды Linux cat:
- cat> filename создаёт новый файл
- cat filename1 filename2>filename3 объединяет два файла (1 и 2) и сохранит их содержимое в новом файле (3)
- Чтобы преобразовать файл в верхний или нижний регистр, cat filename | tr a-z A-Z >output.txt
5. Команда cp
Используйте команду cp для копирования файлов из текущего каталога в другой каталог. Например, команда cp scenery.jpg/home/username/Pictures создаст копию scenery.jpg (из вашего текущего каталога) в каталог Pictures.
6. Команда mv
Основное предназначение команды mv — перемещение файлов, хотя её также можно использовать для их переименования.
Аргументы в mv похожи на аргументы команды cp. Вам нужно ввести mv, имя файла и каталог назначения. Например: mv file.txt/home/username/Documents.
Команда Linux для переименования файлов будет выглядеть так: mv starojeimia.ext novojeimia.ext.
7. Команда mkdir
Используйте команду mkdir, чтобы создать новый каталог. Если вы введёте mkdir Music, команда создаст каталог с именем Music.
Дополнительные команды mkdir:
- Чтобы создать новый каталог внутри другого каталога, используйте эту базовую команду Linux mkdir Music/Newfile;
- Используйте опцию p (parents), чтобы создать каталог между двумя существующими каталогами. Например, mkdir -p Music/2020/Newfile создаст новый файл «2020».
8. Команда rmdir
Если вам нужно удалить каталог, используйте команду rmdir. Однако rmdir позволяет удалять только пустые директории.
9. Команда rm
Команда rm используется для удаления файлов. Если вы хотите удалить каталог со всем его содержимым, в качестве альтернативы rmdir используйте rm с опцией -r.
Примечание: будьте очень осторожны с этой командой и всегда проверяйте, в каком каталоге вы находитесь. Она удаляет всё и её невозможно отменить.
10. Команда touch
Команда touch позволяет создать новый пустой файл через командную строку Linux. В качестве примера введите touch /home/username/Documents/Web.html, чтобы создать файл HTML с названием Web в каталоге Documents.
11. Команда locate
Используйте эту команду, чтобы найти нужный вам файл. Она работает, как команда поиска в Windows. Более того, аргумента -i сделает команду нечувствительной к регистру, благодаря чему вы сможете искать файлы, даже если вы не помните их точные названия.
Чтобы найти файл, содержащий два или более слов, используйте звёздочку (*). Например, команда locate -i school*note будет искать любой файл, содержащий слова «school» и «note», не зависимо от того написаны они с большой или маленькой буквы.
12. Команда find
Подобно команде locate, find также выполняет поиск файлов и каталогов. Разница в том, что команда find используется для поиска файлов в текущем каталоге.
Например, команда find/home/-name notes.txt будет искать файл с именем notes.txt в домашнем каталоге и его подкаталогах.
Другие варианты использования команды Linux
- Для поиска файлов в текущем каталоге используйте find . -name notes.txt
- Для поиска каталогов используйте / -type d -name notes. txt
13. Команда grep
Ещё одна базовая команда Linux, которая, несомненно, пригодится для повседневного использования — grep. С её помощью совершается поиск по всему тексту в текущем файле.
Например, grep ubuntu notepad.txt будет искать слово ubuntu в файле notepad. Строки, содержащие искомое слово, будут отображаться полностью.
14. Команда sudo
Сокращенно от «SuperUser Do», эта команда позволяет выполнять задачи, требующие прав администратора или root. Однако не рекомендуется использовать эту команду для повседневных задач, так как неправильное её использование может легко стать причиной появления ошибок.
15. Команда df
Используйте команду df, чтобы получить отчёт об использовании дискового пространства в системе в процентах и килобайтах. Если вы хотите просмотреть отчёт в мегабайтах, введите df -m.
16. Команда du
Если вы хотите проверить, сколько места занимает файл или каталог, воспользуйтесь командой du (Disk Usage). Однако вместо размера в обычном формате, в сводке вы увидите количество блоков диск. Если вы хотите посмотреть информацию в байтах, килобайтах и мегабайтах, добавьте аргумент -h в командную строку.
17. Команда head
Команда head используется для просмотра первых строк любого текстового файла. По умолчанию она покажет первые десять строк, но вы можете изменить это число. Например, если вы хотите показывать только первые пять строк, введите head -n 5 filename. ext.
18. Команда tail
Эта команда имеет функцию, аналогичную команде head, но вместо отображения первых строк tail выводит последние десять строк текстового файла. Например, tail -n filename.ext.
19. Команда diff
Являясь сокращением от английского слова difference (разница), команда diff сравнивает содержимое двух файлов построчно. После анализа файлов будут выведены строки, которые не совпадают. Программисты часто используют эту команду, когда им нужно внести изменения в программу, не переписывая весь исходный код.
Простейшая форма этой команды — diff file1.ext file2.ext.
20. Команда tar
Команда tar является наиболее часто используемой командой для архивирования нескольких файлов в tarball — общий формат файлов Linux, аналогичный формату zip, при этом сжатие является опциональным.
Это довольно сложная команда с длинным списком функций, таких как добавление новых файлов в существующий архив, перечисление содержимого архива, извлечение содержимого из архива и многое другое. Проверьте некоторые практические примеры (англ), чтобы узнать больше о других функциях.
21. Команда chmod
chmod — ещё одна команда Linux, используемая для изменения разрешений на чтение, запись и выполнение файлов и каталогов. Поскольку это довольно сложная команда, рекомендуем прочитать полное руководство (англ) по её применению.
22. Команда chown
В Linux все файлы принадлежат конкретному пользователю. Команда chown позволяет изменить или перенести владельца файла на указанное имя пользователя. Например, chown linuxuser2 file.ext сделает linuxuser2 владельцем file.ext.
23. Команда jobs
Команда jobs отображает все текущие задачи вместе с их статусами. Задача — это процесс, запущенный в фоновом режиме.
24. Команда kill
Если у вас есть не отвечающая программа, вы можете завершить её вручную, используя команду kill. Команда отправит определённый сигнал неверно работающему приложению и даст ему команду прекратить работу.
В общей сложности вы можете использовать шестьдесят четыре сигнала (англ), но люди обычно используют только два сигнала:
- SIGTERM (15) — просит программу прекратить работу и даёт ей некоторое время, чтобы сохранить весь прогресс. Если вы не указали сигнал при вводе команды kill, этот сигнал будет использоваться по умолчанию.
- SIGKILL (9) — принудительно останавливает программы. Несохранённый прогресс будет потерян.
Помимо знания сигналов, вам также необходимо знать числовой идентификатор процесса (PID) программы, которую вы хотите уничтожить. Если вы не знаете PID, просто запустите команду ps ux.
Узнав, какой сигнал вы хотите использовать и PID программы, введите следующий синтаксис:
kill [опция сигнала] PID.
25. Команда ping
Используйте команду ping для проверки состояния подключения к серверу. Например, просто введя ping google.com, команда проверит, можете ли вы подключиться к Google, а также измерить время ответа.
26. Команда wget
Командная строка Linux очень полезна — вы даже можете загружать файлы из интернета. Сделать это можно с помощью команды wget. Для этого просто введите wget и ссылку для скачивания.
27. Команда uname
Команда uname, сокращение от Unix Name, выведет подробную информацию о вашей системе Linux, такую как имя машины, операционная система, ядро и т. д.
28. Команда top
Являясь эквивалентом диспетчера задач в Windows, команда top выводит список запущенных процессов, а также информацию о том, сколько ЦП использует каждый процесс. Отслеживать использование системных ресурсов очень полезно. Таким образом, вы сможете определить какой процесс необходимо прекратить, поскольку он потребляет слишком много ресурсов.
29. Команда history
Регулярно пользуясь Linux, вы заметите, что запускаете сотни команд каждый день. Команда history позволяет просмотреть команды, которые вы вводили ранее.
30.
Команда manНеуверены в функциях некоторых команд Linux? Не беспокойтесь, вы можете легко научиться использовать их прямо из оболочки Linux с помощью команды man. Например, man tail покажет инструкцию к команде tail.
31. Команда echo
Эта команда выводит текст в stdout (стандартный вывод). Оператор >> дописывает stdout в файл. Также есть оператор >, который создаст файл, если он не существует и выведет туда текст или перезапишет существующий файл. Например, если вы хотите добавить текст «Здравствуйте, меня зовут Джон» в файл с именем name.txt, введите echo Здравствуйте, меня зовут Джон >> name.txt.
32. Команда zip, unzip
Используйте команду zip для сжатия ваших файлов в zip-архив, а команду unzip для извлечения zip-файлов из zip-архива.
33. Команда hostname
Если вы хотите узнать имя вашего хоста/сети, просто введите hostname. Добавление -I в конце выведет IP-адрес вашей сети.
34. Команда useradd, userdel
Поскольку Linux является многопользовательской системой, это означает, что более чем один человек может взаимодействовать с одной и той же системой одновременно. useradd используется для создания нового пользователя, в то время как passwd добавляет пароль к учётной записи этого пользователя. Чтобы добавить нового пользователя с именем Джон, введите useradd John. А затем, чтобы добавить пароль, напишите passwd 123456789.
Процесс удаления пользователя напоминает его добавление. Чтобы удалить учётную запись, введите команду userdel ImiaPolzovatelia.
Бонусные Советы и Приёмы
Используйте команду clear для очистки терминала, если он перегружен предыдущими командами.
Попробуйте кнопку TAB для автозаполнения того, что вы печатаете. Например, если вам нужно набрать Documents, начните вводить команду (например, cd Docu, затем нажмите клавишу Tab), и терминал заполнит всё остальное, показывая вам полную фразу cd Documents.
Комбинации клавиш Ctrl+C и Ctrl+Z используются для остановки любой команды, которая работает в данный момент. Ctrl+C останавливает программу, а Ctrl+Z — ставит её на паузу.
Если вы случайно заморозили терминал, нажав Ctrl+S, просто отмените это с помощью комбинации Ctrl+Q.
Ctrl+A перемещает вас в начало строки, а Ctrl+E — в конец.
Вы можете запустить несколько команд в одной команде, используя «;», чтобы отделить их. Например Command1; Command2; Command3. Или &&, если вы хотите, чтобы следующая команда запускалась только тогда, когда предыдущая будет успешной.
Подводим Итоги
Основные команды Linux помогают пользователям легко и эффективно выполнять повседневные задачи. Чтобы запомнить базовые команды Linux, может потребоваться некоторое время, но нет ничего невозможного, особенно если вы постоянно практикуетесь.
В любом случае знание основных команд Linux, несомненно, принесёт вам пользу. Удачи!
Ольга вже близько восьми років працює менеджером у сфері IT, три з яких вона займається SEO. Написання технічних завдань та інструкцій — один з її основних обов’язків. Її хобі — дізнаватися щось нове і створювати цікаві та корисні статті про сучасні технології, веброзробку, мови програмування, пошукову оптимізацію сайтів та багато іншого.
Більше статей від Olha L.
10 команд Linux для начинающих пользователей
480 auto
В предыдущей статье мы привели базовые горячие клавиши, которые помогают быстрее адаптироваться на первых этапах знакомства с терминалом. Мы продолжим тему первых шагов знакомства с терминалом Linux и познакомим вас с 10 его командами, знание которых сильно облегчит работу в среде Linux.
Начнём с команды, без которой невозможно перемещаться по каталогам Linux, а значит и полноценно работать, — cd.
1
Cd – переход между директориями
Cd — это одна из самых часто используемых команд, так как невозможно работать не перемещение по директориям. Синтаксис команды очень прост: cd
Чтобы перейти в нужный каталог — необходимо ввести его полный путь, а если вы хотите перейти в подкаталог из каталога — достаточно ввести его название. Например, мы хотим перейти в каталог /etc/, тогда команда будет выглядеть так:
cd /etc/
Команда имеет множество удобных шорткодов для более быстрой навигации:
- cd – перемещение в домашний каталог пользователя, аналог cd home или cd ~
- cd .. – перемещение на один каталог вверх
- cd — – возвращение в предыдущей каталог
- cd / – перемещение в корневую директорию
Если вы запутались или вам сложно сориентироваться, в какой директории вы сейчас находитесь – воспользуйтесь командой pwd. Она выведет полный путь директории.
2
Pwd – отображение полного пути до текущей рабочей директории
Команда pwd возвращает абсолютный (полный) путь, который является путём всех каталогов, начинающийся с косой черты (/).
pwd
Пример вывода полного пути:
pseudolukian@DELL-2J1ZPT2:/etc/apt/sources.list.d$ pwd
/etc/apt/sources.list.d
Команда pwd не имеет никаких ключей. Если мы хотим просмотреть содержимое директории, в которой находимся нам нужно воспользоваться командой ls.
3
Ls — отображение содержимого директории
Команда ls выводит содержимое каталога, в котором сейчас находится пользователь. Синтаксис команды:
ls
Вы можете просмотреть содержимое любого каталога, к которому знаете путь. Например, команда ls /etc/ выведет на экран содержимое каталога etc:
ls /etc/
Команда ls по сравнению с pwd имеет множество полезных ключей, которые меняют форму вывода команды.
Ключ — это специальный параметр команды или терминальной утилиты.
Ключи указываются между названием команды или утилиты и файлом, который передаётся на вход: команда -ключ название файла.Например, при указании ключа -R, ls будет выводить содержимое вложенных директорий:
./apt.conf.d: pseudolukian@DELL-2J1ZPT2:/etc/apt$ ls -R
.:
apt.conf.d auth.conf.d preferences.d sources.list sources.list.d trusted.gpg.d
01-vendor-ubuntu 10periodic 20auto-upgrades 50command-not-found 99update-notifier
01autoremove 15update-stamp 20packagekit 50unattended-upgrades
01autoremove-kernels 20archive 20snapd.conf 70debconf
./auth.conf.d:
./preferences.d:
./sources.list.d:
./trusted.gpg.d:
ubuntu-keyring-2012-archive.gpg ubuntu-keyring-2012-cdimage.gpg ubuntu-keyring-2018-archive.gpg
По умолчанию ls не отображает скрытые файлы, чтобы ls начал отображать скрытые файлы, его надо запустить с ключом -a. Пример вывода содержимого директории /etc/apt:
pseudolukian@DELL-2J1ZPT2:/etc/apt$ ls -a
. .. apt.conf.d auth.conf.d preferences.d sources.list sources.list.d trusted.gpg.d
Обратите внимание, в начале списка, выведены объекты директории:
- Точка – это псевдоним пути к текущей директории
- Две точки – это псевдоним родительской директории (директория на уровень выше)
Следующий ключ -l. Используя этот ключ, ls выведет список файлов и каталогов с подробной информацией о пользователях, правах доступа, размерах, владельцах и т. д. Пример вывода с ключом -l:
pseudolukian@DELL-2J1ZPT2:/etc/apt$ ls -l
total 4
drwxr-xr-x 1 root root 4096 Feb 20 02:49 .
drwxr-xr-x 1 root root 4096 Aug 17 15:40 ..
drwxr-xr-x 1 root root 4096 Feb 20 02:51 apt.conf.d
drwxr-xr-x 1 root root 4096 Apr 9 2020 auth.conf.d
drwxr-xr-x 1 root root 4096 Apr 9 2020 preferences.d
-rw-r--r-- 1 root root 2743 Feb 20 02:51 sources.list
drwxr-xr-x 1 root root 4096 Apr 9 2020 sources. list.d
drwxr-xr-x 1 root root 4096 Feb 20 02:49 trusted.gpg.d
Ключи могут быть использованы одновременно. Например, чтобы вывести всё содержимое директории, вместе со скрытыми объектами, команду можно указать так: ls -la.
Итак, мы посмотрели на команды, которые помогают перемещаться по каталогам Linux, теперь можно перейти к командам, предназначенным для просмотра содержимого файлов и манипуляций с ними: копирование, удаление, перемещение.
4
Cat, head, sed, tail – вывод содержимого файла
Рассмотрим сразу набор команд, которые используются для вывода содержимого файла в командной строке. Начнем с команды cat, которая используется для просмотра текстовых файлов или скриптов. Синтаксис команды:
cat
Чтобы просмотреть содержимое файла – укажите его полное имя после команды cat:
pseudolukian@DELL-2J1ZPT2:~$ cat test.txt
Привет!
Мы открыли тестовый файл с помощью команды cat. Всё работает нормально :)
Команда cat обладает множеством полезных ключей и функций. Например, ключ -n выводит содержимое файла с нумерацией строк:
pseudolukian@DELL-2J1ZPT2:~$ cat -n test.txt
1 Привет!
2 Мы открыли тестовый файл с помощью команды cat. Всё работает нормально :)
3 Для более наглядного примера, напишем ещё несколько строк. А лучше вставим список.
4 Linux - замечательная ОС, она позволяет:
5 - легко запускать веб-сервера;
6 - гибко настраивать права доступа;
7 - управлять инфраструктурой;
8 - и многое другое.
Часто бывает нужно вывести первые несколько строк файла. Для этого используется команда head с указанием количества, выводимых строк и названием файла:
pseudolukian@DELL-2J1ZPT2:~$ head -2 test.txt
Привет!
Мы открыли тестовый файл с помощью команды cat. Всё работает нормально :)
Чтобы вывести последние строки файла — используют команду tail с указанием количества строк и названия файла:
pseudolukian@DELL-2J1ZPT2:~$ tail -4 test. txt
- легко запускать веб-сервера;
- гибко настраивать права доступа;
- управлять инфраструктурой;
- и многое другое.
Для вывода произвольного количества строк из файла применяется команда sed с указанием диапазона строк в формате: ‘начало, конец !d’.
pseudolukian@DELL-2J1ZPT2:~$ sed '2,3!d' test.txt
Мы открыли тестовый файл с помощью команды cat. Всё работает нормально :)
Для более наглядного примера напишем ещё несколько строк. А лучше вставим список.
Команды cat, head, sed и tail позволяют выводить информацию в терминал по определенным условиям. Однако часто нужно найти конкретную информацию в файле или файл целиком. Для этого существует команда — grep.
5
Grep — поиск файлов в директориях и строк в файлах
Строго говоря, grep — это утилита командной строки, которая входит во все широко используемые дистрибутивы Linux, а слово грепнуть стало нарицательным для поиска чего-либо.
Чаще всего grep используется в сочетании с другими командами, передавая на вход данные через оператор потока PIPE — |. Например, следующая цепочка команд (конвейер) найдёт среди множества файлов все файлы, в названии которых есть слово vdc с расширением .png и выведет на экран первые 3 файла:
ls -l | grep .png | head -3
Искать можно как файлы и директории, так и строки внутри файлов. Например, найдёт строку в тестовом текстовом файле test_test_.txt, содержащую слово «Мы»:
cat test_test.txt | grep Мы
Если нужно найти словосочетание с пробелами, то оно берется в кавычки:
cat test_test.txt | grep "Мы открыли"
Несмотря на то, что grep обычно используется, как фильтр, команду можно использовать и самостоятельно. Для этого достаточно указать искомое значение и место для поиска: файл или директория.
Грепнем строку «Мы открыли» в файле test_test. txt:
grep "Мы открыли" test_test.txt
Для поиска файлов в директории и вложенных директориях применяется ключ -r. Например, найдем всех файлы с расширением .txt в домашней директории пользователя и всех вложенных директориях:
root@DELL-2J1ZPT2:/home/pseudolukian# grep -r .txt
Конечно, в рамках данной обзорной статьи продемонстрировать все возможности команды grep — невозможно. Мы ограничились только базовым функционалом, а также рассмотрели команды, с помощью которых можно перемещаться по директориям и просматривать содержимое файлов.
Теперь посмотрим на команды, которые позволяют проводить манипуляции с файлами и директориями.
6
Touch, cp, mv, rm — создание, копирование, удаление и перемещение файлов
Создать файл в Linux можно несколькими путями: 1) Запустить нужную терминальную утилиту и после сохранить готовый файл; 2) Создать пустой файл командой touch и после его открыть в нужной утилите.
Для создания пустого файла применяется команда touch, которой нужно в качестве аргумента передать название и расширение файла:
touch test.txt
Чтобы создать копию файла — применяется команда cp, с указанием нового имени файла. Например:
cp test.txt copied_test.txt
Если файл нужно скопировать в другую директорию — ее нужно указать в конце команды:
cp test.txt /home/
Команда cp имеет множество полезных ключей, которые могут пригодиться. Вот некоторые из них:
- -f — перезаписать существующий файл при копировании
- -i — спросить нужно ли перезаписывать существующий файл
- -r — рекурсивное копирование директории (подробнее в разделе о работе с директориями)
Ключей, конечно же, намного больше, но для базовых задач по копированию — их более чем достаточно.
Для перемещения файлов между директориями применяется команда mv:
mv test. txt /home/
Часто команду mv используют для переименования файлов. В этом случае синтаксис команды будет таким:
mv test.txt new_nest.txt
Чтобы удалить файл — применяется команда rm:
rm test.txt
Далее рассмотрим команды для работы с директориями.
7
Mkdir, cp, rm — создание, копирование, удаление и перемещение директорий
Для создания директорий используют команду mkdir, с указанием названия новой директории. Например, мы создадим директорию folder в /home:
mkdir folder
Для более наглядной демонстрации последующих команд копирования и удаления, создадим в директории folder несколько пустых файлов командой touch, применив небольшой лайфхак — мы автоматизируем процесс создания файлов с помощью такой конструкции:
touch some_file_{1..10}.txt
Теперь скопируем директорию folder командой cp. Если директория содержит файлы, тогда необходимо указать ключ -r (рекурсивное копирование):
cp -r folder/ copied_folder
Для удаления директории, содержащий файлы применяют команду rm с ключом -r:
rm -r folder
Переместить директорию со всем содержимым можно командой mv. Сначала указывается переносимый каталог, а затем каталог для переноса:
mv folder /home
Работа с файлами и директориями не ограничивается их созданием, удалением и перемещением. Часто необходимо изменить права доступа к файлам и назначить им владельца.
8
Chmod — установка прав на файл
Для работы с правами доступа используется команда chmod. Синтаксис команды:
chmod права файл или папка
Просмотреть права можно командой ls с ключом -l:
root@DELL-2J1ZPT2:/home# ls -l
total 0
drwxr-xr-x 1 root root 4096 Aug 24 12:41 folder
drwxr-xr-x 1 pseudolukian pseudolukian 4096 Aug 24 14:21 pseudolukian
-r--r----- 1 root root 0 Aug 25 13:34 test. txt
Указать изменения в правах на файл через chmod можно двумя разными форматами записей:
Первый формат записи — символьный. В нем используются следующие символы:
- u — пользователь-владелец
- g — группа-владелец
- o — другие пользователи
- a — все пользователи
- r — права на чтение
- w — права на запись
- x — права на выполнение
- «+» — добавить права
- «—» — отменить права
- «=» — заменить набор прав.
Пример добавления прав в символьном формате записи:
chmod u+rwx,g+rwx,a+rwx test.txt
Пример отмены прав в символьном формате записи:
chmod u-rwx,g-rwx,a-rwx test.txt
Если нужно изменить сразу набор прав, то используется следующая запись:
chmod u=rwx,g=rwx,a=rwx test. txt
Если нужно некоторые права добавить, а некоторые отменить, то вместо права указывается прочерк — «-»:
chmod u=r-x,g=rw-,a=--- test.txt
Второй формат записи — числовой. Здесь права представляются не в виде букв, а в виде восьмеричной записи групп значений:
- r — 4
- w — 2
- x — 1.
Так запись формата rwxrwxrwx можно представить, как сумму значений прав, разбитых по группам: (4+2+1), (4+2+1), (4+2+1) = 777. Чаще всего для изменения прав используют именно такой формат записи.
Пример добавления прав в цифровом формате записи:
chmod 777 test.txt
Этой записью мы установили максимальные права доступа для всех. Например, если нужно запретить исполнение файла — устанавливается значение 6 (r — 4 + w — 2) в нужную группу прав. Запретим исполнение для всех:
chmod 666 test. txt
Если нужно отменить права сразу на группу прав — устанавливается 0. Например, отменим все права на файл для владельца-пользователя:
chmod 066 test.txt
Мы рассмотрели работу с правами доступа к файлам и папкам. Часто бывает необходимо еще изменить владельца и группу владельцев файла или папки. Делается это с помощью команд chown и chgrp.
9
Chown, chgrp — смена владельца файла и группы
В Linux каждый файл и директория имеют своего владельца и группу владельца. Назначаются владельцы при создании объектов. Такая система сделана для того, чтобы разделить права доступа между пользователями.
Напомним, что узнать владельца можно командой ls -l. А сменить владельца и группу владельца можно командой chown. Синтаксис команды:
chown новый пользователь:новая группа файл или папка
Например, изменим пользователя и группу пользователя для файла test. txt на root-пользователя:
chown root:root test.txt
Для изменения пользователя у директории и всех вложенных объектов применяется команда chown с ключом -R:
chown root:root ./folder
Существует команда, которая изменяет только группу владельца — chgrp. Синтаксис команды:
chgrp название группы владельца файл или директория
Как изменить владельца или группу владельца мы рассмотрели, теперь ознакомимся с командами для создания пользователя и групп в Linux.
10
Useradd, groupadd — создание пользователя, группы и добавление пользователя в группу
Создать пользователя или изменить права уже существующим пользователям в Linux можно с помощью команды useradd. Команда позволяется также создать домашний каталог и скопировать в него системные файлы. Синтаксис команды:
useradd опции имя_пользователя
Команда useradd имеет множество опций. Мы приведем только некоторые из них:
- -D — отобразить параметры, которые будут применены по умолчанию при создании нового пользователя
- -p — задать пароль пользователя
- -s — задать командную оболочку для пользователя
- -g — основная группа пользователя
- -G — дополнительная группа пользователя
Ознакомимся сначала с дефолтными условиями создания нового пользователя:
useradd -D
Команда вернет информацию следующего вида:
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no
Если стандартные условия вас устраивают, то создать нового пользователя можно, указав только два параметра: имя пользователя и пароль.
useradd -p porol new_user
По умолчанию у дефолтной группы довольно ограниченные права, чтобы новые пользователи могли получить доступ к системным ресурсам, можно указать ключ -G с системными ресурсами. Например:
useradd -G adm,cdrom -p parol new_user
Если стандартные группы пользователей вам не подходят и нужно создать новою группу, то делается это командой groupadd.
Создадим группу new_users:
groupadd new_users
Теперь с помощью команд cat и grep проверим, что группа была создана:
root@DELL-2J1ZPT2:/home/folder# cat /etc/group | grep new_users
new_users:x:1002:
А если требуется получить список всех групп, то просто воспользуйтесь командой cat без grep:
cat /etc/group
Команда вернёт список названий групп. Здесь стоит поэкспериментировать с объединением команд для работы с выводом на экран через оператор |. Это позволит вам лучше понять принцип работы каждой из команд.
Если статья показалась вам интересной, возможно, вас заинтересует наша другая статья — «10 горячих клавиш Linux для начинающих пользователей».
Опробовать на боевую новые знания можно прямо сейчас. Достаточно создать виртуальный сервер под управлением Linux и воспользоваться бесплатным тестовым периодом.
Что такое команды Curl в Linux? Полное руководство с примерами.
ВПС
24 августа 2022 г.
Edward S.
4min Read
Команда cURL — важный инструмент Linux, обычно используемый для передачи данных и устранения неполадок с подключением. cURL поддерживается libcurl, бесплатной библиотекой для передачи URL-адресов на стороне клиента.
Давайте углубимся и узнаем, как его использовать.
Загрузить полную памятку по командам Linux
Что такое команда cURL?
cURL (URL-адрес клиента) — это инструмент командной строки, который позволяет передавать данные на сервер или с сервера без участия пользователя с помощью поддерживаемой библиотеки libcurl. cURL также можно использовать для устранения проблем с подключением.
Проверить версию cURL
Как и с любой командой Linux, прежде чем мы начнем работать с cURL, нам нужно войти в наш VPS. Если вам нужна помощь, ознакомьтесь с этим руководством по SSH.
Во-первых, давайте проверим, какая версия cURL доступна, с помощью следующей команды:
curl --version
Вывод покажет версию cURL и список поддерживаемых протоколов. Теперь мы можем посмотреть на некоторые примеры команд cURL
Базовый синтаксис команд cURL
Давайте узнаем, как использовать команды cURL. Базовый синтаксис cURL выглядит следующим образом:
curl [ОПЦИИ] [URL]
Самое простое использование cURL — отображение содержимого страницы. В приведенном ниже примере отображается домашняя веб-страница testdomain.com .
завиток testdomain.com
Будет отображен полный исходный код домашней страницы домена. Если протокол не указан, curl интерпретирует это как HTTP.
Параметры командного файла cURL
Команды cURL могут загружать файлы из удаленного расположения. Вы можете сделать это двумя разными способами:
- -O сохранит файл в текущем рабочем каталоге с тем же именем, что и удаленный.
- -o позволяет указать другое имя файла или местоположение
Пример этого показан ниже:
curl -O http://testdomain.com/testfile.tar.gz
Приведенная выше команда сохранит это как testfile.tar.gz .
curl -o newtestfile.tar.gz http://testdomain.com/testfile.tar.gz
Приведенная выше команда сохранит это как newtestfile.tar.gz .
Если по какой-либо причине загрузка прерывается, вы можете возобновить ее с помощью cURL. Это можно сделать с помощью следующей команды:
curl -C - -O http://testdomain.com/testfile.tar.gz
Используя cURL, мы также можем загружать несколько файлов, как показано ниже:
curl -O http://testdomain.com/testfile.tar.gz -O http://mydomain.com/myfile.tar.gz
Если вы хотите загрузить несколько файлов с нескольких URL-адресов, перечислите их все в файле. Команды cURL можно комбинировать с xargs для загрузки различных URL-адресов.
Например, если у нас есть файл allUrls.txt , который содержит список всех URL-адресов для загрузки, то приведенный ниже пример можно использовать для загрузки всех файлов.
xargs –n 1 curl -O < allUrls.txt
cURL Команды для HTTP
cURL также можно использовать при наличии прокси-сервера. Если вы находитесь за прокси-сервером, прослушивающим порт 8090 на сайте sampleproxy.com, загрузите файлы, как показано ниже:
curl -x sampleproxy.com:8090 -U имя пользователя:пароль -O http://testdomain.com/testfile. tar.gz
В приведенном выше примере вы можете пропустить -U имя пользователя:пароль , если прокси-сервер не требует метода аутентификации.
Типичный запрос HTTP всегда будет содержать заголовок. Заголовок HTTP отправляет дополнительную информацию об удаленном веб-сервере вместе с фактическим запросом. Хотя с помощью инструментов разработчика браузера вы можете проверить информацию заголовка, вы можете проверить ее с помощью команды cURL.
Ниже приведен пример получения информации заголовка с веб-сайта.
curl -I www.testdomain.com
Используя cURL, вы можете сделать запрос GET и POST . А Запрос GET будет выглядеть следующим образом:
curl http://mydomain.com
Пример запроса POST будет таким, как показано ниже:
curl –data «text=Hello» https://myDomain .com/firstPage.jsp
Здесь text=Hello — это параметр запроса POST. Это поведение будет похоже на HTML-формы.
Вы также можете указать несколько методов HTTP в одной команде cURL. Сделайте это, используя опцию –next , например:
curl –data «text=Hello» https://myDomain.com/firstPage.jsp --next https://myDomain.com/displayResult.jsp
Содержит запрос POST, за которым следует запрос GET.
Каждый HTTP-запрос будет иметь пользовательский агент, который отправляется как часть запроса. Это указывает на детали веб-браузера клиента. По умолчанию запрос cURL содержит curl и номер версии в качестве сведений об агенте пользователя. Пример вывода показан ниже:
«GET / HTTP/1.1» 200 «_» «curl/7/29/0»
Вы можете изменить эту информацию пользовательского агента по умолчанию, используя следующую команду:
curl -I http://mydomain.com --user-agent «Мой новый браузер»
Теперь измененный вывод будет:
«GET / HTTP/1.1» 200 «_» «Мой новый браузер»
cURL для файлов cookie
Команды cURL можно использовать для проверки того, какие файлы cookie загружаются по любому URL-адресу. Итак, если вы обращаетесь к https://www.samplewebsite.com , то вы можете вывести в файл, сохранить куки и получить к ним доступ с помощью cat или редактора VIM.
Ниже приведен пример такой команды:
curl --cookie-jar Mycookies.txt https://www.samplewebsite.com /index.html -O
Аналогично, если у вас есть файлы cookie в файле, то Вы можете отправить его на сайт. Пример такой команды показан ниже:
curl --cookie Mycookies.txt https://www. samplewebsite.com
cURL для FTP
Команда cURL поддерживает FTP! Вы можете использовать их для загрузки файлов с удаленного сервера.
curl -u имя пользователя:пароль -O ftp://sampleftpserver/testfile.tar.gz
В приведенной выше команде ftp://sampleftpserver — это FTP-сервер, который принимает соединения. Имя пользователя и пароль можно не указывать для анонимных FTP-соединений. Введите команду и наблюдайте, как заполняется индикатор выполнения.
Вы также можете загружать файлы с помощью следующей команды:
curl -u имя пользователя:пароль -T testfile.tar.gz ftp://sampleftpserver
Опять же, мы можем пропустить имя пользователя и пароль для анонимных FTP-соединений.
Ограничение выхода cURL
При использовании cURL вы не можете знать, насколько большим будет вывод. Вы можете ограничить пропускную способность, чтобы убедиться, что она не регулируется cURL.
Приведенная ниже команда ограничивает пропускную способность до 100 КБ:
curl --limit-rate 100 КБ http://testdomain.com/samplefile.tar.gz -O
Заключение
cURL — мощная и широко используемая команда. Это полезно, когда вы зависите от командной строки. Он имеет несколько опций и поддерживает несколько протоколов. Это отличная причина выучить эту команду!
Помните, если вы хотите изучить некоторые расширенные команды, просто обратитесь к руководству, которое должно быть во всех версиях Unix:
man curl
Мы надеемся, что это руководство дало вам хорошую отправную точку для использования cURL! Как вы будете использовать эту команду? Дайте нам знать об этом в комментариях!
Откройте для себя другие команды Linux для управления сервером
Как проверить место на диске в Linux
Как рассчитать выполнение процесса с помощью команды Time
Как передать файлы с помощью команды Scp
Как отслеживать изменения с помощью команды Watch
Как выключить и перезапустить сервер
Как передать и синхронизировать данные с помощью Rsync
Эдвард — редактор контента с многолетним опытом работы в области ИТ в качестве писателя, маркетолога и энтузиаста Linux. Цель Эдварда — побудить читателей создать впечатляющее присутствие в Интернете. Еще он очень любит собак, гитары и все, что связано с космосом.
Еще от Эдварда С.
Как использовать команду Linux Sed — VPS Tutorial
ВПС
23 августа 2022 г.
Laura Z.
4min Read
Команда SED — это мощная команда Linux, которая помогает выполнять задачи общего назначения, т. е. анализировать и преобразовывать текст. В настоящее время SED работает во всех основных операционных системах.
Синтаксис и ряд полезных функций SED в основном заимствованы из редактора ed. Сам механизм включает стандартные входные потоки, а также из текстовых файлов. Синтаксис SED, основанный на сценариях, поначалу выглядит немного сложным. Однако многие сложные задачи можно решить с помощью нескольких строк SED-скрипта.
Загрузить полную памятку по командам Linux
Установка SED
В дистрибутивах на базе Linux SED устанавливается по умолчанию. Помните, что перед запуском вы должны получить доступ к своему VPS с помощью SSH. Ознакомьтесь с нашим руководством по PuTTY, если у вас возникли проблемы. Команду which можно использовать для проверки наличия в системе SED. Debian GNU/Linux может установить SED с помощью диспетчера пакетов apt следующим образом:
[пользователь]: ~$ sudo apt-get install sed
Чтобы гарантировать успешную установку SED, используется следующая команда:
[пользователь]: ~$ sed --version
Команда возвращает следующий вывод:
sed (GNU sed) 4.2.2
Copyright (C) 2012 Free Software Foundation, Inc.
Лицензия GPLv3+: версия GNU GPL 3 или выше http://gnu.org/licenses/gpl.html.
Это бесплатное программное обеспечение: вы можете изменять и распространять его.
НИКАКИХ ГАРАНТИЙ, насколько это разрешено законом.
Написано Джеем Фенласоном, Томом Лордом, Кеном Пиццини,
и Паоло Бонзини.
Домашняя страница GNU sed: http://www.gnu. org/software/sed/.
Общая помощь по использованию программного обеспечения GNU: http://www.gnu.org/gethelp/.
Отправлять отчеты об ошибках по электронной почте: [email protected]
Рабочий процесс SED
Основной рабочий процесс SED — это чтение, выполнение и отображение, как указано на рис. 1 .
Команда чтения принимает входное значение и сохраняет его в буфере шаблонов . Часть выполнения последовательно выполняет команду в файле. После выполнения он отображает выходной поток. Буфер паттернов освобождается, когда содержимое отображается в интерфейсе. Процесс чтения, выполнения и отображения команды повторяется до конца файла.
SED Пример
Проще говоря, SED читает файл и выводит его текст. Чтобы создать текстовый файл, используйте редактор vi.
[пользователь]: ~$ vi text.txtПрограммы должны быть написаны для того, чтобы их могли читать люди, и только случайно, чтобы машины могли выполнять их». ― Гарольд Абельсон, Структура и интерпретация компьютерных программ
Команда для чтения текстового файла выглядит следующим образом:
[пользователь]: ~$ sed '' text.txtПрограммы должны быть написаны так, чтобы их могли читать люди, и только случайно для машин. выполнить." ― Гарольд Абельсон, Структура и интерпретация компьютерных программ
Команда получает данные из файла « text.txt ». Перед загрузкой входного файла запишите аргумент командной строки в паре одинарных кавычек. Это «указывает» командной строке выполнить SED.
SED считывает входной файл « text.txt » и сохраняет данные в буфере шаблонов. После этого можно проводить операцию.
В этом случае мы передаем пустой аргумент, поэтому никакая операция не выполняется. SED отображает сохраненные данные в качестве стандартного вывода и очищает свой буфер шаблонов.
[пользователь]: ~$ sed ''Программы должны быть написаны для того, чтобы их могли читать люди, и только случайно, чтобы машины могли их выполнять. " ― Гарольд Абельсон, «Структура и интерпретация компьютерных программ». Программы должны быть написаны для того, чтобы их могли читать люди, и только случайно для того, чтобы машины выполняли их». ― Гарольд Абельсон, Структура и интерпретация компьютерных программ
Команда SED '' принимает ввод с клавиатуры. Отображается в первой и второй строке. Он отображает данные, хранящиеся в буфере шаблонов. Чтобы закрыть сеанс SED, используйте CTRL+D ввод с клавиатуры.
Основные команды
Давайте изучим основные способы использования команды Linux SED:
Команда удаления
Чтобы выполнить команду удаления, используйте d вместе с файлом в кавычках. Команда удалит первую строку в файле text.txt
[пользователь]: ~$ sed '1d' text.txtWrite Command
Чтобы выполнить команду записи, напишите w , строку номер и файл в кавычках. Следующая команда читает вторую строку и записывает ее в text2. txt файл.
[пользователь]: ~$ sed '2~2 w text2.txt' text.txt [пользователь]: ~$ cat text2.txt Гарольд Абельсон, Структура и интерпретация компьютерных программ
Добавить команду
Используйте ключевое слово и номер строки в кавычках. После закрытия кавычек укажите прилагаемый источник. Следующая команда добавляется после второй строки в файл text.txt.
[пользователь]: ~$ sed '2 a Пример добавления' text.txt[пользователь]: ~$ cat text.txtПрограммы должны быть написаны так, чтобы их могли читать люди, и только случайно, чтобы машины выполняли их». ― Гарольд Абельсон, Структура и интерпретация компьютерных программПример приложения '
Команда чтения
Используйте r и введите путь к файлу в кавычках. Следующая команда прочитает ввод из текстового файла и добавит после третьей строки в файл text2.txt .
[пользователь]: ~$ sed '3 r text.txt' text2.txt [пользователь]: ~$ cat text2.