Linux commands: 35 Linux Basic Commands Every User Should Know (Cheat Sheet)
34 Команды Linux, Которые Должен Знать Каждый Пользователь
VPS
access_time
14 октября, 2020
hourglass_empty
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, а затем путь к каталогу. Например, введите ls /home/username/Documents для просмотра содержимого в Documents.
Варианты использования команды Linux ls:
- ls -R также выведет список всех файлов в подкаталогах
- ls -a покажет скрытые файлы
- ls -al выведет список файлов и каталогов с подробной информацией, такой как разрешения, размер, владелец и т. д.
4. Команда cat
cat (сокращение от 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:
- Для поиска файлов в текущем каталоге используйте 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
Эта команда используется для перемещения некоторых данных в файл. Например, если вы хотите добавить текст «Здравствуйте, меня зовут Джон» в файл с именем 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, несомненно, принесёт вам пользу. Удачи!
расширенный справочник команд Unix / Linux / PuTTY SSH
Большинство UNIX-like систем обладают встроенной справкой, которая подробно описывает все доступные команды. Однако чтобы воспользоваться этой справкой, вы должны знать, по крайней мере, название команды, о которой вы хотите получить информацию. Поскольку большинство пользователей только в общих чертах понимают, что они хотят сделать, то, как правило, встроенная справка мало полезна новичкам.
Этот справочник поможет пользователям, знающим, что они хотят сделать, найти соответствующую команду Linux по краткому описанию.
- Системная информация:
- arch или uname -m — отобразить архитектуру компьютера
- uname -r — отобразить используемую версию ядра
- dmidecode -q — показать аппаратные системные компоненты — (SMBIOS / DMI)
- hdparm -i /dev/hda — вывести характеристики жёсткого диска
- hdparm -tT /dev/sda — протестировать производительность чтения данных с жёсткого диска
- cat /proc/cpuinfo — отобразить информацию о процессоре
- cat /proc/interrupts — показать прерывания
- cat /proc/meminfo — проверить использование памяти
- cat /proc/swaps — показать файл(ы) подкачки
- cat /proc/version — вывести версию ядра
- cat /proc/net/dev — показать сетевые интерфейсы и статистику по ним
- cat /proc/mounts — отобразить смонтированные файловые системы
- lspci -tv — показать в виде дерева PCI устройства
- lsusb -tv — показать в виде дерева USB устройства
- date — вывести системную дату
- cal 2007 — вывести таблицу-календарь 2007-го года
- date 041217002007.00* — установить системные дату и время ММДДЧЧммГГГГ.СС (МесяцДеньЧасМинутыГод.Секунды)
- clock -w — сохранить системное время в BIOS
- Остановка системы:
- shutdown -h now или init 0 или telinit 0 — остановить систему
- shutdown -h hours:minutes & — запланировать остановку системы на указанное время
- shutdown -c — отменить запланированную по расписанию остановку системы
- shutdown -r now или reboot — перегрузить систему
- logout — выйти из системы
- Файлы и директории:
- cd /home — перейти в директорию ‘/home’
- cd .. — перейти в директорию уровнем выше
- cd ../.. — перейти в директорию двумя уровнями выше
- cd — перейти в домашнюю директорию
- cd ~user — перейти в домашнюю директорию пользователя user
- cd — — перейти в директорию, в которой находились до перехода в текущую директорию
- pwd — показать текущую директорию
- ls — отобразить содержимое текущей директории
- ls -F — отобразить содержимое текущей директории с добавлением к именам символов, характеризующих тип
- ls -l — показать детализированное представление файлов и директорий в текущей директории
- ls -a — показать скрытые файлы и директории в текущей директории
- ls *[0-9]* — показать файлы и директории содержащие в имени цифры
- tree или lstree — показать дерево файлов и директорий, начиная от корня (/)
- mkdir dir1 — создать директорию с именем ‘dir1’
- mkdir dir1 dir2 — создать две директории одновременно
- mkdir -p /tmp/dir1/dir2 — создать дерево директорий
- rm -f file1 — удалить файл с именем ‘file1’
- rmdir dir1 — удалить директорию с именем ‘dir1’
- rm -rf dir1 — удалить директорию с именем ‘dir1’ и рекурсивно всё её содержимое
- rm -rf dir1 dir2 — удалить две директории и рекурсивно их содержимое
- mv dir1 new_dir — переименовать или переместить файл или директорию
- cp file1 file2 — скопировать файл file1 в файл file2
- cp dir/* . — копировать все файлы директории dir в текущую директорию
- cp -a /tmp/dir1 . — копировать директорию dir1 со всем содержимым в текущую директорию
- cp -a dir1 dir2 — копировать директорию dir1 в директорию dir2
- ln -s file1 lnk1* — создать символическую ссылку на файл или директорию
- ln file1 lnk1 — создать «жёсткую» (физическую) ссылку на файл или директорию
- touch -t 0712250000 fileditest — модифицировать дату и время создания файла, при его отсутствии, создать файл с указанными датой и временем (YYMMDDhhmm)
- Поиск файлов:
- find / -name file1 — найти файлы и директории с именем file1. Поиск начать с корня (/)
- find / -user user1 — найти файл и директорию принадлежащие пользователю user1. Поиск начать с корня (/)
- find /home/user1 -name «*.bin» — найти все файлы и директории, имена которых оканчиваются на ‘. bin’. Поиск начать с ‘/ home/user1’*
- find /usr/bin -type f -atime +100 — найти все файлы в ‘/usr/bin’, время последнего обращения к которым более 100 дней
- find /usr/bin -type f -mtime -10 — найти все файлы в ‘/usr/bin’, созданные или изменённые в течении последних 10 дней
- find / -name *.rpm -exec chmod 755 ‘{}’ \; — найти все фалы и директории, имена которых оканчиваются на ‘.rpm’, и изменить права доступа к ним
- find / -xdev -name «*.rpm» — найти все фалы и директории, имена которых оканчиваются на ‘.rpm’, игнорируя съёмные носители, такие как cdrom, floppy и т.п.
- locate «*.ps» — найти все файлы, содержащие в имени ‘.ps’. Предварительно рекомендуется выполнить команду ‘updatedb’
- whereis halt — показывает размещение бинарных файлов, исходных кодов и руководств, относящихся к файлу ‘halt’
- which halt — отображает полный путь к файлу ‘halt’
- Монтирование файловых систем:
- mount /dev/hda2 /mnt/hda2 — монтирует раздел ‘hda2’ в точку монтирования ‘/mnt/hda2’. Убедитесь в наличии директории-точки монтирования ‘/mnt/hda2’
- umount /dev/hda2 — размонтирует раздел ‘hda2’. Перед выполнением, покиньте ‘/mnt/hda2’
- fuser -km /mnt/hda2 — принудительное размонтирование раздела. Применяется в случае, когда раздел занят каким-либо пользователем
- umount -n /mnt/hda2 — выполнить размонтирование без занесения информации в /etc/mtab. Полезно когда файл имеет атрибуты «только чтение» или недостаточно места на диске
- mount /dev/fd0 /mnt/floppy — монтировать флоппи-диск
- mount /dev/cdrom /mnt/cdrom — монтировать CD или DVD
- mount /dev/hdc /mnt/cdrecorder — монтировать CD-R/CD-RW или DVD-R/DVD-RW(+-)
- mount -o loop file.iso /mnt/cdrom — смонтировать ISO-образ
- mount -t vfat /dev/hda5 /mnt/hda5 — монтировать файловую систему Windows FAT32
- mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share — монтировать сетевую файловую систему Windows (SMB/CIFS)
- mount -o bind /home/user/prg /var/ftp/user — «монтирует» директорию в директорию (binding). Доступна с версии ядра 2.4.0. Полезна, например, для предоставления содержимого пользовательской директории через ftp при работе ftp-сервера в «песочнице» (chroot), когда симлинки сделать невозможно. Выполнение данной команды сделает копию содержимого /home/user/prg в /var/ftp/user
- Дисковое пространство:
- df -h — отображает информацию о смонтированных разделах с отображением общего, доступного и используемого пространства (Прим. переводчика. ключ -h работает не во всех *nix системах)
- ls -lSr |more — выдаёт список файлов и директорий рекурсивно с сортировкой по возрастанию размера и позволяет осуществлять постраничный просмотр
- du -sh dir1 — подсчитывает и выводит размер, занимаемый директорией ‘dir1’ (Прим. переводчика. ключ -h работает не во всех *nix системах)
- du -sk * | sort -rn — отображает размер и имена файлов и директорий, с соритровкой по размеру
- rpm -q -a —qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n — показывает размер используемого дискового пространства, занимаемое файлами rpm-пакета, с сортировкой по размеру (fedora, redhat и т.п.)
- dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1n — показывает размер используемого дискового пространства, занимаемое файлами deb-пакета, с сортировкой по размеру (ubuntu, debian т.п.)
- Пользователи и группы:
- groupadd group_name — создать новую группу с именем group_name
- groupdel group_name — удалить группу group_name
- groupmod -n new_group_name old_group_name — переименовать группу old_group_name в new_group_name
- useradd -c «Nome Cognome» -g admin -d /home/user1 -s /bin/bash user1 — создать пользователя user1, назначить ему в качестве домашнего каталога /home/user1, в качестве shell’а /bin/bash, включить его в группу admin и добавить комментарий Nome Cognome
- useradd user1 — создать пользователя user1
- userdel -r user1 — удалить пользователя user1 и его домашний каталог
- usermod -c «User FTP» -g system -d /ftp/user1 -s /bin/nologin user1 — изменить атрибуты пользователя
- passwd — сменить пароль
- passwd user1 — сменить пароль пользователя user1 (только root)
- chage -E 2005-12-31 user1 — установить дату окончания действия учётной записи пользователя user1
- pwck — проверить корректность системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadow
- grpck — проверяет корректность системных файлов учётных записей. Проверяется файл/etc/group
- newgrp [-] group_name — изменяет первичную группу текущего пользователя. Если указать «-», ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, первичная группа будет назначена из /etc/passwd
- Выставление/изменение полномочий на файлы:
- ls -lh — просмотр полномочий на файлы и директории в текущей директории
- ls /tmp | pr -T5 -W$COLUMNS — вывести содержимое директории /tmp и разделить вывод на пять колонок
- chmod ugo+rwx directory1 — добавить полномочия на директорию directory1 ugo(User Group Other)+rwx(Read Write eXecute) — всем полные права. Аналогичное можно сделать таким образом chmod 777 directory1
- chmod go-rwx directory1 — отобрать у группы и всех остальных все полномочия на директорию directory1.
- chown user1 file1 — назначить владельцем файла file1 пользователя user1
- chown -R user1 directory1 — назначить рекурсивно владельцем директории directory1 пользователя user1
- chgrp group1 file1 — сменить группу-владельца файла file1 на group1
- chown user1:group1 file1 — сменить владельца и группу владельца файла file1
- find / -perm -u+s — найти, начиная от корня, все файлы с выставленным SUID
- chmod u+s /bin/binary_file — назначить SUID-бит файлу /bin/binary_file. Это даёт возможность любому пользователю запускать на выполнение файл с полномочиями владельца файла.
- chmod u-s /bin/binary_file — снять SUID-бит с файла /bin/binary_file.
- chmod g+s /home/public — назначить SGID-бит директории /home/public.
- chmod g-s /home/public — снять SGID-бит с директории /home/public.
- chmod o+t /home/public — назначить STIKY-бит директории /home/public. Позволяет удалять файлы только владельцам
- chmod o-t /home/public — снять STIKY-бит с директории /home/public
- Специальные атрибуты файлов:
- chattr +a file1 — позволить открывать файл на запись только в режиме добавления
- chattr +c file1 — позволяет ядру автоматически сжимать/разжимать содержимое файла.
- chattr +d file1 — указывает утилите dump игнорировать данный файл во время выполнения backup’а
- chattr +i file1 — делает файл недоступным для любых изменений: редактирование, удаление, перемещение, создание линков на него.
- chattr +s file1 — позволяет сделать удаление файла безопасным, т.е. выставленный атрибут s говорит о том, что при удалении файла, место, занимаемое файлом на диске заполняется нулями, что предотвращает возможность восстановления данных.
- chattr +S file1 — указывает, что, при сохранении изменений, будет произведена синхронизация, как при выполнении команды sync
- chattr +u file1 — данный атрибут указывает, что при удалении файла содержимое его будет сохранено и при необходимости пользователь сможет его восстановить
- lsattr — показать атрибуты файлов
- Архивирование и сжатие файлов:
- bunzip2 file1.bz2 — разжимает файл ‘file1.gz’
- gunzip file1.gz —
- gzip file1 или bzip2 file1 — сжимает файл ‘file1’
- gzip -9 file1 — сжать файл file1 с максимальным сжатием
- rar a file1.rar test_file — создать rar-архив ‘file1.rar’ и включить в него файл test_file
- rar a file1.rar file1 file2 dir1 — создать rar-архив ‘file1.rar’ и включить в него file1, file2 и dir1
- rar x file1.rar — распаковать rar-архив
- unrar x file1.rar —
- tar -cvf archive.tar file1 — создать tar-архив archive.tar, содержащий файл file1
- tar -cvf archive.tar file1 file2 dir1 — создать tar-архив archive.tar, содержащий файл file1, file2 и dir1
- tar -tf archive.tar — показать содержимое архива
- tar -xvf archive.tar — распаковать архив
- tar -xvf archive.tar -C /tmp — распаковать архив в /tmp
- tar -cvfj archive.tar.bz2 dir1 — создать архив и сжать его с помощью bzip2(Прим. переводчика. ключ -j работает не во всех *nix системах)
- tar -xvfj archive.tar.bz2 — разжать архив и распаковать его(Прим. переводчика. ключ -j работает не во всех *nix системах)
- tar -cvfz archive.tar.gz dir1 — создать архив и сжать его с помощью gzip
- tar -xvfz archive.tar.gz — разжать архив и распаковать его
- zip file1.zip file1 — создать сжатый zip-архив
- zip -r file1.zip file1 file2 dir1 — создать сжатый zip-архив и со включением в него нескольких файлов и/или директорий
- unzip file1.zip — разжать и распаковать zip-архив
- RPM пакеты (Fedora, Red Hat и тому подобное):
- rpm -ivh package.rpm — установить пакет с выводом сообщений и прогресс-бара
- rpm -ivh —nodeps package.rpm — установить пакет с выводом сообщений и прогресс-бара без контроля зависимостей
- rpm -U package.rpm — обновить пакет без изменений конфигурационных файлов, в случае отсутствия пакета, он будет установлен
- rpm -F package.rpm — обновить пакет только если он установлен
- rpm -e package_name.rpm — удалить пакет
- rpm -qa — отобразить список всех пакетов, установленных в системе
- rpm -qa | grep httpd — среди всех пакетов, установленных в системе, найти пакет содержащий в своём имени «httpd»
- rpm -qi package_name — вывести информацию о конкретном пакете
- rpm -qg «System Environment/Daemons» — отобразить пакеты входящие в группу пакетов
- rpm -ql package_name — вывести список файлов, входящих в пакет
- rpm -qc package_name — вывести список конфигурационных файлов, входящих в пакет
- rpm -q package_name —whatrequires — вывести список пакетов, необходимых для установки конкретного пакета по зависимостям
- rpm -q package_name —whatprovides — show capability provided by a rpm package
- rpm -q package_name —scripts — отобразит скрипты, запускаемые при установке/удалении пакета
- rpm -q package_name —changelog — вывести историю ревизий пакета
- rpm -qf /etc/httpd/conf/httpd.conf — проверить какому пакету принадлежит указанный файл. Указывать следует полный путь и имя файла.
- rpm -qp package.rpm -l — отображает список файлов, входящих в пакет, но ещё не установленных в систему
- rpm —import /media/cdrom/RPM-GPG-KEY — импортировать публичный ключ цифровой подписи
- rpm —checksig package.rpm — проверит подпись пакета
- rpm -qa gpg-pubkey — проверить целостность установленного содержимого пакета
- rpm -V package_name — проверить размер, полномочия, тип, владельца, группу, MD5-сумму и дату последнего изменеия пакета
- rpm -Va — проверить содержимое всех пакеты установленные в систему. Выполняйте с осторожностью!
- rpm -Vp package.rpm — проверить пакет, который ещё не установлен в систему
- rpm2cpio package.rpm | cpio —extract —make-directories *bin* — извлечь из пакета файлы содержащие в своём имени bin
- rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm — установить пакет, собранный из исходных кодов
- rpmbuild —rebuild package_name.src.rpm — собрать пакет из исходных кодов
- YUM — средство обновления пакетов(Fedora, RedHat и тому подобное):
- yum install package_name — закачать и установить пакет
- yum update — обновить все пакеты, установленные в систему
- yum update package_name — обновить пакет
- yum remove package_name — удалить пакет
- yum list — вывести список всех пакетов, установленных в систему
- yum search package_name — найти пакет в репозиториях
- yum clean packages — очисть rpm-кэш, удалив закачанные пакеты
- yum clean headers — удалить все заголовки файлов, которые система использует для разрешения зависимостей
- yum clean all — очисть rpm-кэш, удалив закачанные пакеты и заголовки
- DEB пакеты (Debian, Ubuntu и тому подобное):
- dpkg -i package.deb — установить / обновить пакет
- dpkg -r package_name — удалить пакет из системы
- dpkg -l — показать все пакеты, установленные в систему
- dpkg -l | grep httpd — среди всех пакетов, установленных в системе, найти пакет содержащий в своём имени «httpd»
- dpkg -s package_name — отобразить информацию о конкретном пакете
- dpkg -L package_name — вывести список файлов, входящих в пакет, установленный в систему
- dpkg —contents package.deb — отобразить список файлов, входящих в пакет, который ещё не установлен в систему
- dpkg -S /bin/ping — найти пакет, в который входит указанный файл.
- APT — средство управление пакетами (Debian, Ubuntu и тому подобное):
- apt-get update — получить обновлённые списки пакетов
- apt-get upgrade — обновить пакеты, установленные в систему
- apt-get install package_name — установить / обновить пакет
- apt-cdrom install package_name — установить / обновить пакет с cdrom’а
- apt-get remove package_name — удалить пакет, установленный в систему с сохранением файлов конфигурации
- apt-get purge package_name — удалить пакет, установленный в систему с удалением файлов конфигурации
- apt-get check — проверить целостность зависимостей
- apt-get clean — удалить загруженные архивные файлы пакетов
- apt-get autoclean — удалить старые загруженные архивные файлы пакетов
- Pacman — средство управление пакетами (Arch, Frugalware и alike)
- pacman -S name — install package «name» with dependencies
- pacman -R name — delete package «name» and all files of it
- Просмотр содержимого файлов:
- cat file1 — вывести содержимое файла file1 на стандартное устройство вывода
- tac file1 — вывести содержимое файла file1 на стандартное устройство вывода в обратном порядке (последняя строка становиться первой и т.д.)
- more file1 — постраничный вывод содержимого файла file1 на стандартное устройство вывода
- less file1 — постраничный вывод содержимого файла file1 на стандартное устройство вывода, но с возможностью пролистывания в обе стороны (вверх-вниз), поиска по содержимому и т.п.
- head -2 file1 — вывести первые две строки файла file1 на стандартное устройство вывода. По умолчанию выводится десять строк
- tail -2 file1 — вывести последние две строки файла file1 на стандартное устройство вывода. По умолчанию выводится десять строк
- tail -f /var/log/messages — выводить содержимое файла /var/log/messages на стандартное устройство вывода по мере появления в нём текста.
- Манипуляции с текстом:
- grep -HR OLDTEXT ./ | awk ‘{print $1}’ | sed ‘s/:.*$//’ | grep -v ‘~’ | sort | uniq | xargs perl -i -pe «s/OLD_TEXT/NEW_TEXT/g;» — Поиск и замена текста OLDTEXT на NEW_TEXT во многих файлах одновременно с рекурсивным обходом директорий.$/d’ example.txt — удалить пустые строки и комментарии из файла example.txt
- echo ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’ — преобразовать символы из нижнего регистра в верхний
- sed -e ‘1d’ result.txt — удалить первую строку из файла example.txt
- sed -n ‘/string1/p’ — отобразить только строки, содержащие «string1»
- sed -e ‘s/ *$//’ example.txt — удалить пустые символы в конце каждой строки
- sed -e ‘s/string1//g’ example.txt — удалить строку «string1» из текста не изменяя всего остального
- sed -n ‘1,8p;5q’ example.txt — взять из файла с первой по восьмую строки и из них вывести первые пять
- sed -n ‘5p;5q’ example.txt — вывести пятую строку
- sed -e ‘s/0*/0/g’ example.txt — заменить последовательность из любого количества нулей одним нулём
- cat -n file1 — пронумеровать строки при выводе содержимого файла
- cat example.txt | awk ‘NR%2==1’ — при выводе содержимого файла, не выводить чётные строки файла
- echo a b c | awk ‘{print $1}’ — вывести первую колонку. Разделение, по умолчанию, по пробелу/пробелам или символу/символам табуляции
- echo a b c | awk ‘{print $1,$3}’ — вывести первую и третью колонки. Разделение, по умолчанию, по проблелу/пробелам или символу/символам табуляции
- paste file1 file2 — объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка 1 из file2 = строка 1 колонка n+1-m
- paste -d ‘+’ file1 file2 — объединить содержимое file1 и file2 в виде таблицы с разделителем «+»
- sort file1 file2 — отсортировать содержимое двух файлов
- sort file1 file2 | uniq — отсортировать содержимое двух файлов, не отображая повторов
- sort file1 file2 | uniq -u — отсортировать содержимое двух файлов, отображая только уникальные строки (строки, встречающиеся в обоих файлах, не выводятся на стандартное устройство вывода)
- sort file1 file2 | uniq -d — отсортировать содержимое двух файлов, отображая только повторяющиеся строки
- comm -1 file1 file2 — сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file1’
- comm -2 file1 file2 — сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file2’
- comm -3 file1 file2 — сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах
- Преобразование наборов символов и файловых форматов:
- dos2unix filedos.txt fileunix.txt — конвертировать файл текстового формата из MSDOS в UNIX (разница в символах возврата каретки)
- unix2dos fileunix.txt filedos.txt — конвертировать файл текстового формата из UNIX в MSDOS (разница в символах возврата каретки)
- recode ..HTML < page.txt > page.html — конвертировать содержимое тестового файла page.txt в html-файл page.html
- recode -l | more — вывести список доступных форматов
- Анализ файловых систем:
- badblocks -v /dev/hda1 — проверить раздел hda1 на наличие bad-блоков
- fsck /dev/hda1 — проверить/восстановить целостность linux-файловой системы раздела hda1
- fsck.ext2 /dev/hda1 или e2fsck /dev/hda1 — проверить/восстановить целостность файловой системы ext2 раздела hda1
- e2fsck -j /dev/hda1 — проверить/восстановить целостность файловой системы ext3 раздела hda1 с указанием, что журнал расположен там же
- fsck.ext3 /dev/hda1 — проверить/восстановить целостность файловой системы ext3 раздела hda1
- fsck.vfat /dev/hda1 или fsck.msdos /dev/hda1 или dosfsck /dev/hda1 — проверить/восстановить целостность файловой системы fat раздела hda11
- Форматирование файловых систем:
- mkfs /dev/hda1 — создать linux-файловую систему на разделе hda1
- mke2fs /dev/hda1 — создать файловую систему ext2 на разделе hda1
- mke2fs -j /dev/hda1 — создать журналирующую файловую систему ext3 на разделе hda1
- mkfs -t vfat 32 -F /dev/hda1 — создать файловую систему FAT32 на разделе hda1
- fdformat -n /dev/fd0 — форматирование флоппи-диска без проверки
- mkswap /dev/hda3 — создание swap-пространства на разделе hda3
- swap-пространство:
- mkswap /dev/hda3 — создание swap-пространства на разделе hda3
- swapon /dev/hda3 — активировать swap-пространство, расположенное на разделе hda3
- swapon /dev/hda2 /dev/hdb3 — активировать swap-пространства, расположенные на разделах hda2 и hdb3
- Создание резервных копий (backup):
- dump -0aj -f /tmp/home0.bak /home — создать полную резервную копию директории /home в файл /tmp/home0.bak
- dump -1aj -f /tmp/home0.bak /home — создать инкрементальную резервную копию директории /home в файл /tmp/home0.bak
- restore -if /tmp/home0.bak — восстановить из резервной копии /tmp/home0.bak
- rsync -rogpav —delete /home /tmp — синхронизировать /tmp с /home
- rsync -rogpav -e ssh —delete /home ip_address:/tmp — синхронизировать через SSH-туннель
- rsync -az -e ssh —delete ip_addr:/home/public /home/local — синхронизировать локальную директорию с удалённой директорией через ssh-туннель со сжатием
- rsync -az -e ssh —delete /home/local ip_addr:/home/public — синхронизировать удалённую директорию с локальной директорией через ssh-туннель со сжатием
- dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’ — сделать «слепок» локального диска в файл на удалённом компьютере через ssh-туннель
- tar -Puf backup.tar /home/user — создать инкрементальную резервную копию директории ‘/home/user’ в файл backup.tar с сохранением полномочий
- ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’ — копирование содержимого /tmp/local на удалённый компьютер через ssh-туннель в /home/share/
- ( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’ — копирование содержимого /home на удалённый компьютер через ssh-туннель в /home/backup-home
- tar cf — . | (cd /tmp/backup ; tar xf — ) — копирование одной директории в другую с сохранением полномочий и линков
- find /home/user1 -name ‘*.txt’ | xargs cp -av —target-directory=/home/backup/ —parents — поиск в /home/user1 всех файлов, имена которых оканчиваются на ‘.txt’, и копирование их в другую директорию
- find /var/log -name ‘*.log’ | tar cv —files-from=- | bzip2 > log.tar.bz2 — поиск в /var/log всех файлов, имена которых оканчиваются на ‘.log’, и создание bzip-архива из них
- dd if=/dev/hda of=/dev/fd0 bs=512 count=1 — создать копию MBR (Master Boot Record) с /dev/hda на флоппи-диск
- dd if=/dev/fd0 of=/dev/hda bs=512 count=1 — восстановить MBR с флоппи-диска на /dev/hda
- CDROM:
- cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force — clean a rewritable cdrom
- mkisofs /dev/cdrom > cd.iso — create an iso image of cdrom on disk
- mkisofs /dev/cdrom | gzip > cd_iso.gz — create a compressed iso image of cdrom on disk
- mkisofs -J -allow-leading-dots -R -V «Label CD» -iso-level 4 -o ./cd.iso data_cd — create an iso image of a directory
- cdrecord -v dev=/dev/cdrom cd.iso — burn an ISO image
- gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom — burn a compressed ISO image
- mount -o loop cd.iso /mnt/iso — mount an ISO image
- cd-paranoia -B — rip audio tracks from a CD to wav files
- cd-paranoia — «-3» — rip first three audio tracks from a CD to wav files
- cdrecord —scanbus — scan bus to identify the channel scsi
- Сеть (LAN и WiFi):
- ifconfig eth0 — показать конфигурацию сетевого интерфейса eth0
- ifup eth0 — активировать (поднять) интерфейс eth0
- ifdown eth0 — деактивировать (опустить) интерфейс eth0
- ifconfig eth0 192.168.1.1 netmask 255.255.255.0 — выставить интерфейсу eth0 IP-адрес и маску подсети
- ifconfig eth0 promisc — перевести интерфейс eth0 в promiscuous-режим для «отлова» пакетов (sniffing)
- ifconfig eth0 -promisc — отключить promiscuous-режим на интерфейсе eth0
- dhclient eth0 — активировать интерфейс eth0 в dhcp-режиме.
- route -n
- netstat -rn — вывести локальную таблицу маршрутизации
- route add -net 0/0 gw IP_Gateway — задать IP-адрес шлюза по умолчанию (default gateway)
- route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 — добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с IP-адресом 192.168.1.1
- route del 0/0 gw IP_gateway — удалить IP-адрес шлюза по умолчанию (default gateway)
- echo «1» > /proc/sys/net/ipv4/ip_forward — разрешить пересылку пакетов (forwarding)
- hostname — отобразить имя компьютера
- host www.example.com или host 192.0.43.10 — разрешить имя www.example.com хоста в IP-адрес и наоборот
- ip link show — отобразить состояние всех интерфейсов
- mii-tool eth0 — отобразить статус и тип соединения для интерфейса eth0
- ethtool eth0 — отображает статистику интерфейса eth0 с выводом такой информации, как поддерживаемые и текущие режимы соединения
- netstat -tupn — отображает все установленные сетевые соединения по протоколам TCP и UDP без разрешения имён в IP-адреса и PID’ы и имена процессов, обеспечивающих эти соединения
- netstat -tupln — отображает все сетевые соединения по протоколам TCP и UDP без разрешения имён в IP-адреса и PID’ы и имена процессов, слушающих порты
- tcpdump tcp port 80 — отобразить весь трафик на TCP-порт 80 (обычно — HTTP)
- iwlist scan — просканировать эфир на предмет, доступности беспроводных точек доступа
- iwconfig eth2 — показать конфигурацию беспроводного сетевого интерфейса eth2
- Microsoft Windows networks(SAMBA):
- nbtscan ip_addr
- nmblookup -A ip_addr — разрешить netbios-имя nbtscan не во всех системах ставится по умолчанию, возможно, придётся доустанавливать вручную. nmblookup включён в пакет samba.
- smbclient -L ip_addr/hostname — отобразить ресурсы, предоставленные в общий доступ на windows-машине
- smbget -Rr smb://ip_addr/share — подобно wget может получить файлы с windows-машин через smb-протокол
- mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share — смонтировать smb-ресурс, предоставленный на windows-машине, в локальную файловую систему
- IPTABLES (firewall):
- iptables -t filter -nL
- iptables -nL — отобразить все цепочки правил
- iptables -t nat -L — отобразить все цепочки правил в NAT-таблице
- iptables -t filter -F или iptables -F — очистить все цепочки правил в filter-таблице
- iptables -t nat -F — очистить все цепочки правил в NAT-таблице
- iptables -t filter -X — удалить все пользовательские цепочки правил в filter-таблице
- iptables -t filter -A INPUT -p tcp —dport telnet -j ACCEPT — позволить входящее подключение telnet’ом
- iptables -t filter -A OUTPUT -p tcp —dport http -j DROP — блокировать исходящие HTTP-соединения
- iptables -t filter -A FORWARD -p tcp —dport pop3 -j ACCEPT — позволить «прокидывать» (forward) POP3-соединения
- iptables -t filter -A INPUT -j LOG —log-prefix «DROP INPUT» — включить журналирование ядром пакетов, проходящих через цепочку INPUT, и добавлением к сообщению префикса «DROP INPUT»
- iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE — включить NAT (Network Address Translate) исходящих пакетов на интерфейс eth0. Допустимо при использовании с динамически выделяемыми IP-адресами.
- iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp —dport 22 -j DNAT —to-destination 10.0.0.2:22 — перенаправление пакетов, адресованных одному хосту, на другой хост
- Мониторинг и отладка:
- top — отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных)
- ps -eafw — отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды)
- ps -e -o pid,args —forest — вывести PID’ы и процессы в виде дерева
- pstree — отобразить дерево процессов
- kill -9 98989 или kill -KILL 98989 — «убить» процесс с PID 98989 «на смерть» (без соблюдения целостности данных)
- kill -TERM 98989 — корректно завершить процесс с PID 98989
- kill -1 98989 или kill -HUP 98989 — заставить процесс с PID 98989 перепрочитать файл конфигурации
- lsof -p 98989 — отобразить список файлов, открытых процессом с PID 98989
- lsof /home/user1 — отобразить список открытых файлов из директории /home/user1
- strace -c ls >/dev/null — вывести список системных вызовов, созданных и полученных процессом ls
- strace -f -e open ls >/dev/null — вывести вызовы библиотек
- watch -n1 ‘cat /proc/interrupts’ — отображать прерывания в режиме реального времени
- last reboot — отобразить историю перезагрузок системы
- last user1 — отобразить историю регистрации пользователя user1 в системе и время его нахождения в ней
- lsmod — вывести загруженные модули ядра
- free -m — показать состояние оперативной памяти в мегабайтах
- smartctl -A /dev/hda — контроль состояния жёсткого диска /dev/hda через SMART
- smartctl -i /dev/hda — проверить доступность SMART на жёстком диске /dev/hda
- tail /var/log/dmesg — вывести десять последних записей из журнала загрузки ядра
- tail /var/log/messages — вывести десять последних записей из системного журнала
- Другие полезные команды:
- apropos …keyword — выводит список команд, которые так или иначе относятся к ключевым словам. Полезно, когда вы знаете что делает программа, но не помните команду
- man ping — вызов руководства по работе с программой, в данном случае, — ping
- whatis …keyword — отображает описание действий указанной программы
- mkbootdisk —device /dev/fd0 `uname -r` — создаёт загрузочный флоппи-диск
- gpg -c file1 — шифрует файл file1 с помощью GNU Privacy Guard
- gpg file1.gpg — дешифрует файл file1 с помощью GNU Privacy Guard
- wget -r http://www.example.com — загружает рекурсивно содержимое сайта http://www.example.com
- wget -c http://www.example.com/file.iso — загрузить файл http://www.example.com/file.iso с возможностью останова и продолжения в последствии
- echo ‘wget -c http://www.example.com/files.iso’ | at 09:00 — начать закачку в указанное время
- ldd /usr/bin/ssh — вывести список библиотек, необходимых для работы ssh
- alias hh=’history’ — назначить алиас hh команде history
Справочные материалы по командам подсистемы Windows для Linux
-
- Чтение занимает 3 мин
В этой статье
Лучший способ взаимодействовать с подсистемой Windows для Linux — использовать команду wsl.exe
.The best way to interact with the Windows Subsystem for Linux is to use the wsl.exe
command.
Задать WSL 2 в качестве версии по умолчаниюSet WSL 2 as your default version
Выполните следующую команду в PowerShell, чтобы задать WSL 2 в качестве версии по умолчанию при установке нового дистрибутива Linux:Run the following command in Powershell to set WSL 2 as the default version when installing a new Linux distribution:
wsl --set-default-version 2
Установите вашу версию дистрибутива на WSL 1 или WSL 2Set your distribution version to WSL 1 or WSL 2
Вы можете проверить версию WSL, назначенную каждому из установленных дистрибутивов Linux, открыв командную строку PowerShell и введя команду (доступна только в сборке Windows 19041 или более поздней версии): wsl -l -v
.You can check the WSL version assigned to each of the Linux distributions you have installed by opening the PowerShell command line and entering the command (only available in Windows Build 19041 or higher): wsl -l -v
wsl --list --verbose
Чтобы настроить дистрибутив для одной из версий WSL, выполните:To set a distribution to be backed by either version of WSL please run:
wsl --set-version <distribution name> <versionNumber>
Не забудьте заменить <distribution name>
на фактическое имя дистрибутива и <versionNumber>
с номером «1» или «2».Make sure to replace <distribution name>
with the actual name of your distribution and <versionNumber>
with the number ‘1’ or ‘2’. Вы можете всегда вернуться к WSL версии 1, выполнив эту команду и заменив «2» на «1».You can change back to WSL 1 at anytime by running the same command as above but replacing the ‘2’ with a ‘1’.
Кроме того, если вы хотите сделать WSL 2 архитектурой по умолчанию, выполните следующую команду:Additionally, if you want to make WSL 2 your default architecture you can do so with this command:
wsl --set-default-version 2
Будет установлена версия любого нового дистрибутива, установленного в WSL 2.This will set the version of any new distribution installed to WSL 2.
wsl.exe
Ниже приведен список, содержащий все параметры wsl.exe
при использовании в Windows версии 1903.Below is a list containing all options when using wsl.exe
as of Windows Version 1903.
Использование: wsl [Argument] [Options...] [CommandLine]
Using: wsl [Argument] [Options...] [CommandLine]
Аргументы для выполнения команд LinuxArguments for running Linux commands
Без аргументовWithout arguments
Если командная строка не указана, wsl.exe запускает оболочку по умолчанию.If no command line is provided, wsl.exe launches the default shell.
—exec, -e <CommandLine>—exec, -e <CommandLine>
Выполнение указанной команды без использования оболочки Linux по умолчанию.Execute the specified command without using the default Linux shell.
—
Остальная часть командной строки передается «как есть».Pass the remaining command line as is.
Приведенные выше команды также принимают следующие параметры.The above commands also accept the following options:
—distribution, -d <Distro>—distribution, -d <Distro>
Запуск указанного дистрибутива.Run the specified distribution.
—user, -u <UserName>—user, -u <UserName>
Выполнение от имени указанного пользователя.Run as the specified user.
Аргументы для управления подсистемой Windows для LinuxArguments for managing Windows Subsystem for Linux
—export <Distro> <FileName>—export <Distro> <FileName>
Экспорт дистрибутива в TAR-файл.Exports the distribution to a tar file. Именем файла может быть «-» для стандартного вывода.The filename can be — for standard output.
—import <Distro> <InstallLocation> <FileName>—import <Distro> <InstallLocation> <FileName>
Импорт указанного TAR-файла в качестве нового дистрибутива.Imports the specified tar file as a new distribution. Именем файла может быть «-» для стандартного ввода.The filename can be — for standard input.
—list, -l [параметры]—list, -l [Options]
Вывод списка дистрибутивов.Lists distributions.
Параметры:Options:
—all—all
Вывод списка всех дистрибутивов, включая дистрибутивы, которые сейчас устанавливаются или удаляются.List all distributions, including distributions that are currently being installed or uninstalled.
—running—running
Вывод списка всех дистрибутивов, выполняемых в данный момент.List only distributions that are currently running.
—set-default, -s <Distro>—set-default, -s <Distro>
Указание дистрибутива, используемого по умолчанию.Sets the distribution as the default.
—terminate, -t <Distro>—terminate, -t <Distro>
Завершение указанного дистрибутива.Terminates the specified distribution.
—unregister <Distro>—unregister <Distro>
Отмените регистрацию дистрибутива.Un-register the distribution.
—help отображает сведения об использовании.—help Display usage information.
Дополнительные командыAdditional Commands
Доступны также устоявшиеся команды для взаимодействия с подсистемой Windows для Linux.There are also historic commands to interact with the Windows Subsystem for Linux. Их функциональные возможности реализованы в wsl.exe
, но эти команды по-прежнему можно использовать.Their functionality is encompassed within wsl.exe
, but they are still available for use.
wslconfig.exe
Эта команда позволяет настроить дистрибутив WSL.This command lets you configure your WSL distribution. Ниже приводится список ее параметров.Below is a list of its options.
Использование: wslconfig [Argument] [Options...]
Using: wslconfig [Argument] [Options...]
АргументыArguments
/l, /list [параметры]/l, /list [Options]
Вывод списка зарегистрированных дистрибутивов.Lists registered distributions.
Параметры:Options:
/all Дополнительный вывод списка всех дистрибутивов, включая дистрибутивы, которые сейчас устанавливаются или удаляются./all Optionally list all distributions, including distributions that are currently being installed or uninstalled.
/running Вывод списка всех дистрибутивов, выполняемых в данный момент./running List only distributions that are currently running.
/s, /setdefault <Distro> Задание дистрибутива, используемого по умолчанию./s, /setdefault <Distro> Sets the distribution as the default.
/t, /terminate <Distro> Завершение работы дистрибутива./t, /terminate <Distro> Terminates the distribution.
/u, /unregister <Distro> Отмена регистрации дистрибутива./u, /unregister <Distro> Un-registers the distribution.
/upgrade <Distro> Обновление дистрибутива до файловой системы WslFs./upgrade <Distro> Upgrades the distribution to the WslFs file system format.
bash.exe
Эта команда используется для запуска оболочки Bash.This command is used to start a bash shell. Ниже приведены параметры, которые можно использовать с этой командой.Below are the options you can use with this command.
Использование: bash [Options...]
Using: bash [Options...]
Параметр не заданNo Option given
Запуск оболочки Bash в текущем каталоге.Launches the Bash shell in the current directory. Если оболочка Bash не установлена, автоматически запускается
lxrun /install
.If the Bash shell is not installed automatically runslxrun /install
~
Команда
bash ~
запускает оболочку Bash в корневом каталоге пользователя.bash ~
launches the bash shell into the user’s home directory. Это аналог командыcd ~
.Similar to runningcd ~
.-c <command>-c «<command>»
Выполнение команды, вывод выходных данных и возврат в командную строку Windows.Runs the command, prints the output and exits back to the Windows command prompt.
Пример:
bash -c "ls"
.Example:bash -c "ls"
.
Нерекомендуемые командыDeprecated Commands
Команда lxrun.exe
была первой командой, используемой для установки подсистемы Windows для Linux и управления ею.The lxrun.exe
was the first command used to install and manage the Windows Subsystem for Linux. Она считается нерекомендуемой в Windows 10 версии 1803 и более поздних версиях.It is deprecated as of Windows 10 1803 and later.
С помощью команды lxrun.exe
можно взаимодействовать с подсистемой Windows для Linux (WSL) напрямую.The command lxrun.exe
can be used to interact with the Windows Subsystem for Linux (WSL) directly. Эти команды устанавливаются в каталог \Windows\System32
и могут выполняться в командной строке Windows или PowerShell.These commands are installed into the \Windows\System32
directory and may be run within a Windows command prompt or in PowerShell.
КомандаCommand | ОписаниеDescription |
---|---|
lxrun | Команда lxrun используется для управления экземпляром WSL.The lxrun command is used to manage the WSL instance. |
lxrun /install | Запускает процесс скачивания и установки.Starts the download and install process. Можно добавить параметр /y для обхода всех запросов./y may be added to bypass all prompts. Запрос на подтверждение будет принят автоматически, а в качестве привилегированного пользователя будет задан пользователь по умолчанию.The confirmation prompt is automatically accepted and the default user is set to root. |
lxrun /uninstall | Удаляет дистрибутив и образ Ubuntu.Uninstalls and deletes the Ubuntu image. По умолчанию это не приводит к удалению корневого каталога пользователя Ubuntu.By default this does not remove the user’s Ubuntu home directory. Можно добавить параметр /y для автоматического принятия запроса на подтверждение./y may be added to automatically accept the confirmation prompt Параметр /full позволяет удалить дистрибутив вместе с корневым каталогом пользователя Ubuntu./full uninstalls and deletes the user’s Ubuntu home directory |
lxrun /setdefaultuser <userName> | Задает использование Bash по умолчанию для пользователя Ubuntu.Sets the default Bash on Ubuntu user. Запрашивает пароль, если указанный пользователь не существует.Will prompt for a password if the specified user does not exist. Дополнительные сведения: https://aka.ms/wslusers.For more information visit: https://aka.ms/wslusers. Параметр /y позволяет обойти запрос пароля./y Bypasses promping for the password. Пользователь будет создан без пароля.The user will be created without a password. |
lxrun /update | Обновляет индекс пакетов подсистемы.Updates the subsystem’s package index |
Команды Linux: оболочка Bash
3 years ago |
6.7K
Данная статья предназначена для тех, кто хочет понять основы администрирования Unix систем, изучить bash команды, которые помогут при настройке определенного сервера. Новые пользователи, которые только начинают работу с терминалом Linux, достаточно часто сталкиваются с такими популярными вопросами — установка прав пользователя, изменение прав на папку, получение root прав. Ответы на эти актуальные вопросы помогают быстрее понять всю специфику работы Linux.
BASH: важные особенности
Bash является командным интерпретатором, популярен в unix системах. Как это работает? Вы начинаете вносить в консоль команду, к примеру «mkdir» — интерпретатор преобразует данную команду в один из низкоуровневых языков, это позволяет оперативно создать новый требуемый каталог. Если рассматривать Unix-подобные системы — здесь «папки» называют каталогами. Данный факт известен не всем людям, которые только начинают работу с такими системами.
Несколько основных команд bash
Рассмотрим наиболее популярные команды:
Команда CD используется для того, чтобы перемещаться между каталогами в системе Линукс. Перемещение в домашний каталог будет выполнено после введения команды:
cd /home/YOUR_USER_NAME или проще: cd ~
Соответственно команда cd позволяет перейти в каталог, который расположен выше.
Интересный факт, благодаря грамотно продуманной командной оболочке, все пользователи системы получают доступ к специальным подсказкам команд, что делает процесс управления действиями системы более простым. Такой подход позволяет существенно упростить использование функционала системы.
Как это работает?
К примеру, вы хотите получить доступ к каталогу, у которого очень длинное название — freebestwebhosting. Нет потребности полностью вводить название выбранного каталога. Достаточно просто ввести «free», после этого нажать «tab», это позволит интерпретатору самостоятельно дополнить выбранную вами команду.
Команда CAT
Если вам необходимо проверить содержимое определенного файла, к примеру hosting.txt, достаточно воспользоваться командой cat. Это выглядит примерно так:
cat hosting.txt
Команда GREP
Есть потребность в проверке логов доступа на определенный сайт? Тогда команда GREP станет оптимальным вариантом. Как это работает? Вам необходимо проверить, чем занимался на вашем компьютере пользователь с ІР 10.23.11.14. Для этого достаточно просто ввести команду:
cat /var/log/apache2/access.log | grep 10.23.11.14
Данный запрос позволит вам увидеть все данные по конкретному пользователю, это очень удобное решение, которое позволяет сэкономить большое количество времени.
Команда TAIL
Одна из наиболее полезных команд в Линуксе. Она позволяет оперативно просматривать изменяемые файлы в реальном времени. Можно получить доступ к необходимым вам логам без особых проблем и временных затрат. Чтобы просмотреть определенный лог в реальном времени, необходимо воспользоваться следующей командой:
tail -f /var/log/apache2/access.ru
Команда SSH
Данная команда является протоколом подключения к серверу. Формат команды, которая позволит оперативно подключиться к определенному серверу, выглядит следующим образом:
ssh [email protected] и нажмите enter.
Достаточно, чтобы выбранный сервер поддерживал подключение по ssh (что позволит оперативно получить к нему доступ) — необходимо просто ввести специальный пароль, чтобы пройти идентификацию. Вы сможете работать с оболочкой, которая установлена на вашем сервере, команда является невероятно полезной, позволяет существенно экономить свое время.
SSH имеет свой стандартный порт «22». Сегодня большинство администраторов пытаются надежно защитить свой сервер от посягательств посторонних людей, полностью закрывая доступ к нему через «порт 22». Создается альтернативный порт, позволяющий получать кратковременный доступ. От того, где именно размещен ваш сервер, напрямую зависит то, как будет выглядеть исходная команда. В данном случае, с отказом от стандартного и использованием альтернативного «порта 2213», команда будет выглядеть следующим образом:
ssh [email protected] -p2231
Изменение прав на файл
У каждого отдельного файла есть собственные владельцы и права. Необходимо ввести следующую команду, чтобы изменить права на выбранный вами файл .htaccess на вашем сайте:
chmod 644 .htaccess
Данная команда будет вполне актуальной, если вам необходимо изменить права на каталог или подкаталог. Необходимо воспользоваться опционалом chmod, -R, команда будет выглядеть:
chmod -R 775 catalog
Особенности команды SUDO
Как получить root права, при этом не меняя пользователя? Есть специальная команда, которая позволяет это сделать достаточно быстро:
sudo less /etc/php5/apache2/php.ini
CHOWN И SUDO
Есть команды, которые позволяют изменить владельца определенного файла, они выглядят вот так:
sudo chown john:john backup.sh затем enter и введите пароль для root и снова enter.
Резюме
Сегодня мы смогли рассмотреть наиболее полезные команды Bash в Linux. Все рассмотренные команды помогут при настройке VDS серверов.
В дальнейшем рассмотрим другие полезные команды, которые также смогут открыть абсолютно новые возможности перед людьми, начинающими работать с системой Линукс.
Введение в основные команды устранения неисправностей в Ubuntu Linux
Симптомы
Разрешение
Примеры основных команд поиска и устранения неполадок в ОС Ubuntu Linux и способы их использования
В следующем списке представлены основные текстовые команды в Ubuntu Linux. В нем приведены примеры их использования для поиска и устранения конкретных проблем с компьютером.
Используйте команду
uname
для отображения используемого ядра. Ядро — это первый раздел операционной системы, загружаемый в память. Он контролирует такие системные области, как управление дисками, выделение памяти, системные процессы и обработчик прерываний. В приведенном ниже примере используется ядро3.11.0-15-generic
:user@avalon:~$ uname -a
Linux avalon 3.11.0-15-generic #23-Ubuntu SMP Mon Dec 9 18:17:04 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
user@avalon:~$
Используйте команду
dmesg
для отображения содержимого журнала загрузки. Это лучший способ поиска ошибок при запуске:user@avalon:~/linux101$ sudo dmesg > dmesg.log
В приведенном ниже примере команду
cat
можно использовать с командойdmesg
для объединения содержимого файла журнала. Дополнительную командуgrep
можно использовать для отображения любого экземпляра определенного имени файла в журнале, например Intel или error.user@avalon:~/linux101$ cat dmesg.log | grep intel
[ 1.732400] intel_idle: MWAIT substates: 0x21120
[ 1.732402] intel_idle: v0.4 model 0x3A
[ 1.732405] intel_idle: lapic_timer_reliable_states 0xffffffff
[ 10.148411] fbcon: inteldrmfb (fb0) is primary device
[ 10.922434] i915 0000:00:02.0: fb0 inteldrmfb frame buffer device
[ 10.926448] snd_hda_intel 0000:00:1b.0: irq 50 for MSI/MSI-X
user@avalon:~/linux101$
user@avalon:~/linux101$ cat dmesg.log | grep error
[ 7.478502] EXT4-fs (sda2): re-mounted. Opts: errors=remount-ro
user@avalon:~/linux101$
Команда
lspci
перечисляет все устройства, найденные на шине PCI:user@avalon:~/linux101$ sudo lspci > lspci.log
Использование команды
lspci
с дополнительными командамиcat
иgrep
помогает изолировать определенные устройства PCI, как в случае с Realtek ниже:user@avalon:~/linux101$ cat lspci.log | grep Realtek
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. TRL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 07)
09:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)
09:00.1 SD Host controller: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)
user@avalon~/linux101$
Используйте команду
lsmod
для перечисления всех загруженных файлов mod в ядре:user@avalon:~/linux101$ sudo lsmod > lsmod.log
user@avalon:~linux101$
В ОС Linux файлы драйверов загружаются как ,файлы mod. Чтобы узнать, какой драйвер или файлы mod загружены в ядро, можно использовать команды
cat
иgrep
. При и спользованииlsmod
для поиска конкретных файлов mod вы увидите два примера ниже: Dell иhda
.user@avalon:~/linux101$ cat lsmod.log | grep dell
dell_wmi 12761 0
sparse_keymap 13948 1 dell_wmi
dell_laptop 17369 0
dcdbas 14847 1 dell_laptop
wmi 19070 1 dell_wmi
user@avalon:~/linux101$
user@avalon:~/linux101$ cat lsmod.log | grep hda
snd_hda_codec_hdmi 41117 1
snd_hda_codec_realtek 55704 1
snd_hda_intel 48171 3
snd_hda_codec 188738 3 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_intel
snd_hwdep 13602 1 snd_hda_codec
snd_pcm 102033 3 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel
snd_page_alloc 18710 2 snd_pcm,snd_hda_intel
snd 69141 17 snd_hda)codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec,snd_hda_intel,snd_seq,device,snd_seq_midi
user@avalon:~/linux101$
Используйте команду
lsusb
для перечисления всех устройств USB, подключенных к шине USB:user@avalon:~/linux101$ sudo lsusb > lsusb.log
user@avalon:~linux101$
Можно использовать эту команду с дополнительными командами
cat
иgrep
для изоляции определенных устройств USB, как в случае с Intel ниже:user@avalon:~/linux101$ cat lsusb.log | grep Intel
Bus 002 Device 003: ID 8087:07da Intel Corp.
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 DEvice 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hib
user@avalon:~/linux101$
Используйте команду
ifconfig
для настройки и запроса сетевых параметров ПК:user@avalon:~/linux101$ ifconfig > ifconfig.log
user@avalon:~/linux101$
Можно использовать эту команду с дополнительными командами
cat
иgrep
для поискаinet
, которая перечисляет IP-адреса компьютера:user@avalon:~/linux101$ cat ifconfig.log | grep inet
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
inet addr:192.168.1.90 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::caf7:33ff:fedb:b2bc/64 Scope:Link
user@avalon:~/linux101$
В начало
Список основных команд поиска и устранения неполадок и их функции в ОС Ubuntu Linux
В следующей таблице перечислены некоторые из основных команд, которые используются в Linux для поиска и устранения неисправностей, а также приведены функции и синтаксис для каждой из них.
Команда | Функция | Синтаксис |
---|---|---|
sudo | Используется перед командой для запуска от имени пользователя root или администратора. | sudo apt-get update |
ls | То же, что и «dir»; выводит список текущего каталога. | ls-ll |
cp | Копирование файлов. | cp /dir/filename /dir/filename |
rm | Удаление файла. | rm /dir/filename /dir/filename |
mv | Перемещение файла. | mv /dir/filename /dir/filename |
mkdir | Создание каталога. | mkdir /dirname |
df | Отчет по использованию дискового пространства файловой системы. | df -h |
dmesg | Печать или управление кольцевым буфером ядра. | dmesg |
lspci | Выводит список всех устройств PCI. | lspci |
lsusb | Выводит список всех устройств USB. | lsusb |
lsmod | Отображает состояние модулей в ядре Linux. | lsmod |
cat | Соединяет файлы и печатает с помощью стандартного вывода. | cat /dir/logfile |
grep | Печатает строки ввода, соответствующие определенному шаблону. | grep intel |
apt-get | Обновление программы установки. | apt-get update, or apt-get upgrade |
sosreport | Утилита, которая собирает конфигурацию и диагностическую информацию о системе. Утилита должна быть установлена первой с помощью следующей командной строки: «sudo apt-get install sosreport». После установки рекомендуется перезагрузить систему перед первым запуском утилиты. | sosreport |
cat и grep | Используется для перечисления всех экземпляров определенного элемента поиска. | cat /dir/logfile | grep intel (вывод этой команды будет напечатан в качестве источника вывода по умолчанию в любом экземпляре строки «intel») |
Для получения дополнительной информации по поиску и устранению неполадок ОС Linux на ПК Dell выполните поиск в библиотеке знаний на веб-сайте технической поддержки Dell.
В начало
21 февр. 2021
Оцените эту статью
Благодарим вас за отзыв.
К сожалению, наша система обратной связи в настоящее время не работает. Повторите попытку позже.
Комментарии не должны содержать следующие специальные символы: ()\
Команды Linux
— LinuxConfig.org
Введение
Кому следует прочитать это руководство
Вы начинающий пользователь GNU / Linux и хотите выйти за рамки обычного перетаскивания окна и щелчка мышью? Это руководство предназначено для абсолютно начинающих пользователей, желающих изучить основы командной строки GNU / Linux. В этом руководстве рассматриваются основные команды Linux, связанные с навигацией, администрированием файлов и каталогов, установкой программного обеспечения и устранением основных неполадок системы.
Что такое командная строка GNU / Linux
Скорее всего, когда вы слышите, как кто-то говорит об операционной системе GNU / Linux, вы также слышите, как они говорят о командной строке или командах Linux.Запустите эту команду и выполните ту и ту команду! Правильно?
Но почему? Почему операционная система GNU / Linux почти всегда связана с командами и командной строкой? Простой ответ заключается в том, что командная строка является неотъемлемой частью операционной системы GNU / Linux и, как таковая, предлагает пользователю возможность выполнять задачи более эффективно, с большей точностью и, что наиболее важно, с дополнительной информацией обо всем процессе выполнения.
Многие начинающие пользователи GNU / Linux связывают командную строку и команды Linux с трепетом, высокоуровневыми магическими навыками волшебника и ненужными накладными расходами.
Будем честны сами с собой! Независимо от того, какое оправдание вы могли бы найти в своем отвращении к системе GNU / Linux и ее командной строке, причина, скорее всего, связана с отсутствием понимания и нежеланием учиться.
Поэтому давайте не винить систему GNU / Linux в наших недостатках! Он здесь, чтобы помочь независимо от того, являетесь ли вы начинающим или продвинутым пользователем. Насколько система может вам помочь, не зависит от глубины вашего кошелька, как это бывает с некоторыми другими проприетарными операционными системами! Объем помощи, которую вы получите от системы GNU / Linux, зависит исключительно от вашего желания учиться и вашей решимости.
На данном этапе я уверен, что вы задаете себе вопрос: Нужно ли мне изучать командную строку GNU / Linux и множество команд для использования операционной системы GNU / Linux? Быстрый ответ — нет! Любая достойная операционная система GNU / Linux с установленным графическим интерфейсом пользователя не требует от пользователя использования командной строки для выполнения базовых и даже расширенных задач.
Единственная причина, по которой вы могли бы подумать об изучении командной строки GNU / Linux, — это повысить свою эффективность, чтобы получить максимальную отдачу от системы, и если этого требует предстоящая задача.Помните, что многие пользователи GNU / Linux годами даже не знают, что такое командная строка! Незнание командной строки Linux — это прекрасно, и если система делает то, что вам нужно, нет необходимости изучать даже самые простые команды.
Независимо от того, какую версию операционной системы GNU / Linux вы используете, имеет ли она графический интерфейс пользователя или нет, командная строка всегда присутствует в той или иной форме.
Ищу системного аналитика Linux!
Геофизический институт UAF ищет опытного системного аналитика Linux, который присоединится к их команде аналитиков и инженеров исследовательской кибер-инфраструктуры.РАСПОЛОЖЕНИЕ: Fairbanks, Alaska, USA
ЗАЯВИТЬ СЕЙЧАС
Таким образом, если вы знаете основы работы с командной строкой, вы все равно будете чувствовать себя как дома независимо от используемой системы. Командная строка, используя множество команд, позволяет вам администрировать систему и выполнять даже самые сложные задачи в любой системе GNU / Linux без графического интерфейса, а также удаленно на больших расстояниях, что, по-видимому, заставляет вас чувствовать, что вы сидите прямо в перед компьютером.
Однако для этого нужно обладать хотя бы элементарным пониманием командной строки GNU / Linux и изучить основы использования некоторых из предлагаемых в ней команд.Не бойтесь, это именно то, что вы узнаете, прочитав это руководство по командам Linux.
Что такое команды Linux
Команды Linux — это суть всей операционной системы GNU / Linux, используемой для администрирования всей системы. Возможно, вы этого не знаете, но большинство приложений, которые вы запускаете в графическом пользовательском интерфейсе, выполняют команды Linux за вас в фоновом режиме для выполнения данной задачи.
Разрешение приложению автоматически запускать команды Linux дает нам много очевидных преимуществ.Однако недостатком является то, что во многих случаях мы не можем настроить выполнение команды для достижения желаемого результата. Кроме того, если что-то пойдет не так, пользователь, скорее всего, останется в неведении без каких-либо намеков на то, как даже начать устранение проблемы.
Теперь вы можете подумать: Хорошо, все в порядке, но сколько там команд и нужно ли мне выучить их все? Количество команд Linux, доступных в вашей системе GNU / Linux, не имеет значения, поскольку количество всегда отличается от системы к системе.Однако, если вы настаиваете на точном количестве, выполните следующую команду в своем терминале:
$ для i в $ {PATH //: /}; do ls $ i; сделано | сортировать | uniq | туалет -l
В моей установке Ubuntu Desktop Linux доступно ровно 2024 команд.
Количество команд, доступных в вашей системе, будет другим. Суть в том, что в среднем операционная система GNU / Linux может содержать несколько тысяч команд, что в конечном итоге также отвечает на наш следующий вопрос: нужно ли пользователю изучать их все.Что ж, вы можете попробовать, но этот квест обречен на провал.
По этой причине лучший подход — начать с основ; Абсолютно необходимо изучить команды Linux, которые помогут вам ориентироваться в файловой системе GNU / Linux и выполнять основные задачи администрирования. После того, как вы выполните эту задачу и станете уверенно работать с командной строкой Linux, все остальное будет естественно с минимальными усилиями, просто используя систему GNU / Linux. Все, что вам нужно, — это непредвзятость и решимость.
Ладно, хватит трепа и приступим!
Базовые команды Linux для файловой системы и навигации
Аргументы, параметры и параметры командной строки
Понимание разницы между аргументами, параметрами и параметрами командной строки Linux, вероятно, является наиболее важной частью, если кто-то хочет когда-либо понять команду GNU / Linux линия полностью.Следовательно, не пропускайте эту тему, а вместо этого убедитесь, что вы полностью понимаете ее, прежде чем переходить к следующему разделу.
Лучший инструмент для объяснения разницы между аргументами, параметрами и параметрами командной строки Linux — это команда ls. Не беспокойтесь, если вы еще не знакомы с командой ls
, поскольку эта команда подробно описана в следующих разделах. Откройте терминал и выполните следующую команду. Не вводите знак $
, поскольку этот знак служит только для информирования вас о том, что эта команда должна выполняться в командной строке и должна выполняться от имени обычного непривилегированного пользователя:
$ ls
После того, как вы ввели указанную выше команду и нажали клавишу ENTER, команда выводит список всех файлов и каталогов в текущем каталоге.На данный момент не обращайте внимания на вывод команды и обратите внимание, что эта команда состоит из одного аргумента, которым является сама команда ls
. Мы называем этот аргумент аргументом 0
. Затем попробуйте эту команду:
$ ls -a
Приведенная выше команда состоит из двух аргументов. Первый аргумент, называемый аргументом 0
, — это сама команда ls
, а второй аргумент с номером 1
— это параметр команды ls
-a
.
Параметры команды позволяют пользователю изменять вывод команды. Каждая команда Linux имеет свой набор параметров. Параметры команды жестко запрограммированы в самой команде. Как следует из названия, параметры команды являются необязательными и не требуют их использования пользователем. В этом случае параметр -a
команды ls
указывает команде на печать также скрытых файлов или каталогов, расположенных в нашем каталоге.
Не выходя из домашнего каталога, выполните следующую команду:
$ ls -l.bashrc
Если вы последуете, вы уже знаете, что указанная выше команда состоит из трех аргументов. Во-первых, это аргумент 0
самой команды. Второй аргумент, точнее, аргумент 1
— это параметр -l
команды ls
, который инструктирует команду ls
создать длинный листинг, дающий пользователю дополнительную информацию об одном или нескольких файлах. Наконец, третий аргумент номер 2
— это параметр, передаваемый команде ls
, указывающий команде действовать только с одним файлом с именем .bashrc
.
Параметр — это аргумент командной строки, который предоставляет дополнительную информацию либо самой команде, либо одному или нескольким ее параметрам. В зависимости от того, какую команду вы выполняете, вы можете указать одну или несколько опций или параметров. Рассмотрим следующий пример:
$ ls -l -h .bashrc .bash_history
В данном случае наша команда состоит из пяти аргументов. Есть команда ls
, две опции, а именно -l
и -h
, и, наконец, есть два имени файла в качестве параметров, .bashrc
и . Файл .bash_history
.
Порядок, в котором вы указываете все аргументы в командной строке, зависит от команды Linux, которую вы выполняете. Однако рекомендуемое и универсальное правило — указывать все необходимые параметры после команды, за которой следуют все необходимые параметры. Например, приведенная ниже команда также является допустимой, которая дает тот же результат, что и приведенная выше, однако следует избегать такого синтаксиса команд:
$ ls .bashrc -l.bash_history -h
Наконец, чтобы сократить вашу команду и, таким образом, сделать ее более читаемой, большинство команд позволяют пользователю объединять несколько параметров в один аргумент. Это означает, что можно объединить параметры -l
и -h
в один аргумент как -lh
. Например:
$ ls -lh .bashrc .bash_history
Следующее видео подводит итог всему разделу. К настоящему времени вы должны четко понимать, что такое аргументы, параметры и параметры командной строки.
Навигация по файловой системе
В этом разделе рассматривается еще одна важная часть командной строки Linux, а именно навигация по файловой системе. На протяжении многих лет я видел, как многим пользователям было трудно понять навигацию по файловой системе GNU / Linux, поскольку она резко отличается от обычных дисков C:
или D:
. В этом разделе вы также изучите первые две команды Linux, а именно команду cd
и команду pwd
.
Начнем со следующего утверждения: Забудьте о дисках C:
или D:
, которые вы знаете по другим проприетарным операционным системам. Эти знания здесь не применимы и могут вас только запутать. Файловая система GNU / Linux позволяет получить доступ к любому жесткому диску или разделу из любого каталога внутри всей файловой системы. Однако на данном этапе нам не следует об этом беспокоиться.
Возможно, лучшая аналогия для описания файловой системы GNU / Linux — это та, которую я уже использовал в своем учебнике по сценариям Bash.Представьте себе файловую систему GNU / Linux как многоэтажное здание. Так называемый корневой каталог (входная дверь здания), обозначенный номерами /
, обеспечивает вход во всю файловую систему (здание), тем самым предоставляя доступ ко всем каталогам (уровни / комнаты) и файлам (люди).
Чтобы перейти в комнату 1 на уровне 3, нам сначала нужно войти в главную дверь /
, затем пройти на уровень 3 level3 /
и оттуда войти в комнату room1
. Следовательно, абсолютный путь к этой конкретной комнате в здании равен / level3 / room1
.Отсюда, если мы хотим посетить комнату 2 также на уровне 3, нам сначала нужно выйти из нашего текущего местоположения, то есть room1, введя ../
, а затем указать имя комнаты room2
. Мы выбрали относительный путь к комнате 2, который в данном случае равен ../room2
. Мы уже были на третьем уровне, поэтому не было необходимости покидать все здание и идти абсолютным путем через главный вход / level3 / room2
. Сбивает с толку? Не волнуйтесь, после нескольких сеансов работы с командной строкой GNU / Linux эти знания усваиваются и становятся для вас второй натурой.
Хотите верьте, хотите нет, но операционная система GNU / Linux предоставляет всем пользователям компас для помощи в навигации по файловой системе в виде команды pwd
( p rint w orking d irectory). Каждый раз, когда вы заблудитесь, просто введите команду pwd
, и она покажет вам путь. Попробуй это сейчас. Откройте терминал и введите pwd
, а затем нажмите ENTER:
. $ pwd
Пример команды pwd
для вывода текущего пути к рабочему каталогу.
По умолчанию ваш начальный рабочий каталог всегда является вашим домашним каталогом. У каждого несистемного пользователя есть свой каталог, расположенный в каталоге / home
. Как показано на изображении выше, абсолютный путь к домашнему каталогу пользователя linuxconfig
— / home / linuxconfig
. Если ваша система включает пользователя «john», то абсолютный путь к домашнему каталогу этого пользователя — / home / john
.
На этом этапе мы должны знать, как вводить команды в командной строке, а также знать, как получить наше текущее местоположение в файловой системе.Пора начинать двигаться. Для этого мы используем команду cd
( c hange d irectory). Команда cd
позволяет пользователю переходить к любому каталогу, доступному в файловой системе, при условии, что у пользователя есть соответствующие права доступа.
Попробуйте, выполнив следующие команды и не бойтесь экспериментировать. Не забывайте о вашем личном компасе, команде pwd
, которая мгновенно сообщит вам ваше текущее местоположение.Обязательно замените пользователя linuxconfig
ниже своим именем пользователя:
$ cd / home
$ cd linuxconfig
$ cd /
$ cd home / linuxconfig
$ cd ../linuxconfig
$ cd ../../etc
$ cd / home / linuxconfig
За исключением строк 5 и 6, приведенные выше команды не требуют пояснений. В строке 5 мы использовали ярлык ../
для перехода к родительскому каталогу каталога linuxconfig
. В строке 6 мы переместили два каталога вверх и в конечном итоге перешли в каталог и т. Д.
.
Навигация в командной строке Linux с помощью команды cd
.
Изучение файловой системы GNU / Linux и понимание разницы между абсолютным и относительным путями — непростая тема для любого новичка. Прежде чем двигаться дальше, убедитесь, что вы чувствуете себя комфортно с командой cd
Linux и навигацией между каталогами, так как эти знания пригодятся вам в следующих разделах.
Ищу системного аналитика Linux!
Геофизический институт UAF ищет опытного системного аналитика Linux, который присоединится к их команде аналитиков и инженеров исследовательской кибер-инфраструктуры.РАСПОЛОЖЕНИЕ: Фэрбенкс, Аляска, США
ЗАЯВИТЬ СЕЙЧАС
Список содержимого каталога
На этом этапе вы должны хорошо разбираться в навигации по файловой системе с помощью команды cd
, а также иметь базовое понимание GNU / Командная строка Linux в целом, включая аргументы командной строки, параметры и параметры. До сих пор мы научились переходить в любой каталог, но еще не научились составлять список содержимого каталога. Перечисление содержимого каталога — основная тема этого раздела.
Инструмент, который можно использовать для вывода списка содержимого любого каталога, — это команда ls
. Попробуй это сейчас. Откройте терминал и введите команду ls
в своем домашнем каталоге самостоятельно, без каких-либо опций или параметров:
$ ls
Цвет выделен по сравнению с обычным выводом команды ls
.
При выполнении команды ls
без каких-либо опций или параметров команда выводит список содержимого текущего рабочего каталога. Многие современные терминалы предоставляют пользователю дополнительную информацию, раскрашивая каталоги в синий цвет, обычные файлы — в белый, а исполняемые файлы — в зеленый цвет.Имейте в виду, что вы не найдете такой роскоши на многих терминалах, и по этой причине нам необходимо научиться различать различные типы элементов содержимого каталога вручную с помощью команды ls
.
Как мы уже узнали в предыдущих разделах, можно изменить вывод команды, используя ее предварительно запрограммированные параметры. В этом случае опция -l
, также известная как длинный список, добавляет дополнительную информацию к выходным данным по умолчанию ls
:
$ ls -l
ls
опция длинного списка команды -l
предоставляет дополнительную информацию о каждом элементе каталога.Выделена информация о типе файла для каждого элемента каталога, где d
обозначает тип каталога, а –
обозначает обычный файл.
Используя параметр -l
, команда ls
предоставляет пользователю дополнительную информацию, такую как разрешения, права собственности пользователя или группы, размер файла и время модификации.
Другой распространенный вариант команды ls
— -a
, который перечисляет все, а также скрытые файлы или каталоги в каталоге.Любой файл или каталог с префиксом .
скрыт, поэтому не включается в вывод команды по умолчанию ls
.
$ ls -a
Многие параметры команды ls
имеют значение только в сочетании с некоторыми другими параметрами. Например, чтобы показать размер любого выбранного файла, пользователь может указать команды ls
с опцией -l
и фактическим именем файла в качестве параметра. Рассмотрим следующий пример команды ls
, чтобы показать размер изображения .jpg
файл:
$ ls -l image.jpg
Отобразите размер файла с помощью команды Linux ls
.
По умолчанию команда ls
отображает размер файлов в байтах, за исключением случаев, когда указан параметр -h
(читаемый человеком). Обратите внимание, что опция -h
не имеет смысла, если она не указана в сочетании с опцией -l
.
Здесь важно отметить, что с помощью параметров пользователи могут перечислить любой каталог или найти информацию о любом файле во всей файловой системе, не покидая своего домашнего каталога.Для этого просто укажите абсолютный или относительный путь к файлу или каталогу, о котором вы хотите указать дополнительную информацию, в качестве параметра для команды ls
. Попробуйте следующие примеры команды ls
:
$ ls / etc / systemd $ ls -l ../ $ ls -lh / etc / services
Пример параметра абсолютного или относительного пути с командой ls
.
Создание каталога
Назначение каталогов — поддерживать файловую систему, следовательно, наши и системные файлы организованы.В этом разделе вы узнаете, как создавать каталоги с помощью команды mkdir
в командной строке GNU / Linux.
Создать каталог в системе GNU / Linux так же просто, как выполнить команду mkdir
с указанием желаемого имени в качестве аргумента. Попробуй это сейчас. Откройте терминал и создайте новый каталог с именем, например dir1
в вашем домашнем каталоге.
$ mkdir dir1
Затем используйте команду ls
, чтобы вывести список содержимого вашего текущего рабочего каталога, и, если каталог был создан правильно, вы должны увидеть его в выходных данных команды.
Так же, как при создании каталога внутри вашего текущего рабочего каталога, вы также можете создать каталог в любом месте файловой системы, при условии, что у вас есть соответствующие разрешения для этого. Теперь давайте создадим новый каталог с именем example
в каталоге / tmp
.
Теперь есть два подхода к этой задаче. Во-первых, мы могли перейти к / tmp
с помощью команды cd
и, оказавшись в каталоге, выполнить команду mkdir
, за которой следует новое имя каталога.
Другое решение — создать каталог, просто добавив к имени нового каталога правильный абсолютный или относительный путь к каталогу, в котором будет создан наш новый каталог из примера
. Следовательно, нет необходимости использовать команду cd
для перехода в каталог / tmp /
до того, как будет выполнена команда mkdir
:
$ mkdir / tmp / пример
Относительно команды mkdir
мало что можно узнать. Пока вы понимаете разницу между абсолютным и относительным путем, как объяснялось ранее, все в порядке.Есть только один другой общий параметр, используемый в сочетании с командой mkdir
, и это параметр -p
.
Допустим, вы хотите создать новый каталог dir2
в существующем каталоге dir1
, а также создать новый каталог dir3
в dir2
. Первое решение — сначала создать dir2
, а затем выполнить вторую команду mkdir
для создания dir3
в каталоге dir2
.Однако, используя опцию -p
, это может быть достигнуто одним выполнением команды mkdir
:
$ mkdir -p каталог1 / каталог2 / каталог3
Создание каталогов с помощью команды mkdir
в командной строке GNU / Linux.
Создание файлов и чтение содержимого файла
Система GNU / Linux хранит большую часть информации о настройках, конфигурации, а также данные, такие как журналы, в виде простых текстовых файлов ASCII. По этой причине для любого пользователя важно иметь хотя бы базовое понимание работы с текстовыми файлами.
В этом разделе вы узнаете, как создавать файлы, читать содержимое файла и как редактировать текстовый файл с помощью простого редактора текстовых файлов на основе командной строки.
Давайте начнем с создания пустого файла с именем file1
в нашем домашнем каталоге. Для этого воспользуемся командой touch
. Откройте свой терминал и введите следующую команду Linux:
$ touch file1
Это все! Теперь вы успешно создали новый файл с именем file1
в своем домашнем каталоге.Теперь выполните команду ls
, и вы должны увидеть этот новый файл в своем домашнем каталоге.
Создайте файл с помощью команды GNU / Linux touch
.
Возможно, вы заметили, что мы создали файл без расширения, например .txt
или .exe
. Обратите внимание, расширение файла в системах GNU / Linux в основном не имеет никакого значения, кроме того факта, что после выполнения команды ls
для вывода списка всех файлов и каталогов сразу видно, что файл с расширением .txt
, вероятно, является текстовым файлом ASCII, а файл с .png
, вероятно, будет файлом изображения.
Здесь важно указать, что существует множество способов создания файла в операционной системе GNU / Linux. На самом деле вам вряд ли нужно создавать пустой файл, как мы это делали ранее. Фактически, основная цель сенсорной команды — не создавать файлы, а манипулировать с их временными метками, что уже в другой раз.
Поскольку основная цель файлов — хранить данные, мы и собираемся сделать это.Давайте воспользуемся редактором текстовых файлов под названием nano
, чтобы создать новый файл с именем todo-list.txt
, содержащий произвольный текст. Начните с выполнения следующей команды:
$ nano todo-list.txt
После выполнения команды nano
откроется редактор nano, который позволит вам редактировать содержимое нового файла todo-list.txt
. В редакторе nano
внесите необходимые изменения в содержимое файла.
Когда все будет готово, нажмите CTRL + o
, а затем ENTER
, чтобы сохранить файл.На этом этапе создается новый файл todo-list.txt
. Чтобы выйти из редактора nano
, нажмите комбинацию клавиш CTRL + x
, как показано на изображениях ниже:
Откройте редактор nano
. Введите желаемое имя файла в качестве параметра.
Отредактируйте содержимое файла, введя желаемый текст. Когда все будет готово, нажмите комбинацию клавиш CTRL + o
, чтобы сохранить текущее содержимое файла.
Подтвердите имя файла и нажмите клавишу ENTER
.
Ищу системного аналитика Linux!
Геофизический институт UAF ищет опытного системного аналитика Linux, который присоединится к их команде аналитиков и инженеров исследовательской кибер-инфраструктуры. РАСПОЛОЖЕНИЕ: Фэрбенкс, Аляска, США
ЗАЯВИТЬ СЕЙЧАС
Продолжите редактирование и повторите два предыдущих шага или выйдите из редактора nano
, нажав комбинацию клавиш CTRL + x
.
Новый файл с именем todo-list.txt
теперь создан и должен быть видим после выполнения команды ls
.
Вы можете продолжить редактирование любого существующего текстового файла, указав имя файла в качестве параметра команды текстового редактора nano
.
До сих пор мы узнали, как создать файл и как редактировать существующий или новый текстовый файл с помощью текстового редактора командной строки. Мы еще не рассмотрели, как читать содержимое текстового файла. Ну, честно говоря, тут не так уж много! Вы можете прочитать содержимое любого файла с помощью команды cat
GNU / Linux.
Попробуйте прямо сейчас. Выполните команду cat
и в качестве параметра укажите имя файла, который вы хотите проверить. Например:
$ cat todo-list.txt
Используйте команду cat
для отображения содержимого любого текстового файла. Просто укажите имя файла в качестве параметра команды cat
.
Прежде чем мы помечаем этот раздел как «Готово и запыленный», есть еще одна команда, с которой вы должны ознакомиться. Эта команда называется файл
.
Помните, ранее мы говорили о том, что не обязательно добавлять в имена файлов расширения. Хорошо, если это так, как мы узнаем, какой тип файла хранится в нашем домашнем каталоге или где-нибудь в файловой системе GNU / Linux, если на то пошло? Здесь вам пригодится команда file
. Команда file
выводит тип файла любого файла, предоставленного ей в качестве параметра. Попробуйте сейчас:
$ файл todo-list.txt
Получите информацию о типе файла с помощью команды file
GNU / Linux.
Ищу системного аналитика Linux!
Геофизический институт UAF ищет опытного системного аналитика Linux, который присоединится к их команде аналитиков и инженеров исследовательской кибер-инфраструктуры. МЕСТОПОЛОЖЕНИЕ: Fairbanks, Alaska, USA
ЗАЯВИТЬ СЕЙЧАС
Переименование или перемещение файлов и каталогов
Еще один логический шаг — научиться переименовывать или перемещать файлы и каталоги. На этом этапе мы обсудили, как создавать файлы или каталоги, но как насчет перемещения существующего каталога или файла в другое место? Что ж, вам должно быть приятно узнать, что перемещение и переименование файлов или каталогов в системе GNU / Linux по сути одно и то же.
Переименование и перемещение файлов в файловой системе GNU / Linux — простая задача. Все, что требуется, — это команда mv
и понимание абсолютного и относительного пути, как было описано выше в разделе Навигация по файловой системе выше.
Рассмотрим следующий пример:
$ touch file1 $ mkdir dir1
Используя приведенные выше команды touch
и mkdir
, мы создали файл с именем file1
и каталог dir1
.Использование команд touch
и mkdir
уже рассматривалось ранее, поэтому объяснение не требуется.
Предстоит переименовать file1
в file2
и dir1
в dir2
с помощью команды mv
. Для этого нам нужно предоставить команде mv
абсолютный или относительный путь к файлу или каталогу, который мы хотим переименовать, в качестве первого параметра. Второй обязательный параметр — это абсолютный или относительный путь к файлу или каталогу, который мы хотим, чтобы наш файл или каталог был переименован в:
$ mv file1 file2 $ mv dir1 dir2
Здесь важно понять, что в GNU / Linux нет явной команды для переименования файлов.Вместо этого используется команда mv
(сокращение от move) для перемещения файла или каталога из одного места в другое при изменении их имени в процессе. Рассмотрим следующий пример:
$ mv файл2 / tmp / файл3 $ mv dir2 / tmp / dir2
Первая команда переместила file2
в каталог / tmp /
и переименовала его в file3
. Вторая команда переместила dir2
в / tmp /
, и, поскольку мы указали то же имя каталога назначения, имя каталога остается прежним.
Следовательно, вторая команда по существу только перемещает исходный dir2
в целевой каталог / tmp /
, поэтому второй параметр, указывающий новое имя каталога, не требуется и может быть выполнен просто как:
$ mv dir2 / tmp /
Важно понимать приведенную выше команду mv
, поскольку команда mv
также может принимать несколько параметров. Это означает, что можно перемещать несколько каталогов и / или файлов одновременно, выполнив одну команду mv
:
$ mkdir dir4 dir5 $ touch file4 file5 $ mv file4 dir4 file5 dir5 / tmp
Приведенная выше команда mv
переместила несколько файлов и каталогов в новое место: каталог / tmp
.Здесь важно отметить, что независимо от того, сколько исходных файлов или каталогов вы собираетесь предоставить команде mv
в качестве параметров, последний предоставленный параметр рассматривается как место назначения.
Прежде чем перейти к другой теме, важно упомянуть один, возможно, опасный факт о команде mv
.
ПРЕДУПРЕЖДЕНИЕ :
Если параметр файла назначения, указанный в команде mv
, уже существует, он может быть перезаписан без предупреждения, поэтому это действие может привести к необратимому удалению данных без возможности восстановления.Рассмотрим следующий пример команды mv
:
$ cat /tmp/sample.txt linuxconfig.org $ touch sample.txt $ mv sample.txt /tmp/sample.txt $ cat /tmp/sample.txt $
Если не уверены, используйте опцию -i
, чтобы указать команде mv
выдавать предупреждение в случае, если целевой файл уже существует. Пример:
$ mv -i sample.txt /tmp/sample.txt mv: перезаписать '/tmp/sample.txt'?
На изображении ниже показана команда mv
в действии, как описано в этом разделе:
Рабочий пример того, как перемещать и переименовывать файлы или каталоги в GNU / Linux с помощью команды mv
.
Копирование файлов и каталогов
В предыдущем разделе мы обсудили, как перемещать файлы и каталоги из одного места в другое с помощью команды mv
GNU / Linux. В этом разделе рассматривается аналогичная тема о том, как сделать копии файлов и каталогов с помощью команды cp
.
Большая часть знаний, собранных в предыдущем разделе, поможет нам изучить команду cp
GNU / Linux, поскольку синтаксис для команд mv
и cp
очень похож.Основное отличие состоит в том, что вместо перемещения файлов или каталога команда cp
создает точную копию исходного файла или каталога.
Как и в случае с командой mv
, для команды cp
необходимо указать как минимум два параметра. Первый параметр — это исходный файл или каталог, а второй параметр — это файл или каталог назначения.
Начнем с простого примера создания копии файла, расположенного в нашем домашнем каталоге.Сначала мы используем команду touch
для создания нового файла с именем file1
, а затем делаем его точную копию под названием file2
:
$ touch file1 $ cp file1 file2
Довольно очевидное правило здесь заключается в том, что параметры источника и назначения, передаваемые команде cp
, не могут быть одинаковыми:
$ cp file1 file1 cp: 'file1' и 'file1' - это один и тот же файл
Единственный способ указать точно такое же имя файла как для параметра источника, так и для параметра назначения — это скопировать файл в другой каталог, используя абсолютный или относительный путь.В следующем примере команды cp
создается копия file1
в каталог / tmp
:
$ cp file1 / tmp / file1
Однако, если у вас нет намерения изменять имя файла, нет необходимости указывать имя файла в качестве параметра назначения. Следовательно, указанная выше команда может быть сокращена как:
$ cp file1 / tmp /
Вы можете использовать тот же синтаксис команды cp
для создания копии каталога. Однако есть одно существенное отличие: для копирования каталога нам нужно использовать параметр команды -r
(рекурсивный) cp
.Рассмотрим следующий пример:
$ mkdir dir1 $ cp dir1 / tmp / cp: -r не указано; исключение каталога 'dir1' $ cp -r каталог1 / tmp
Как и в случае с командой GNU / Linux mv
, команда cp
также принимает несколько параметров. Это означает, что можно одновременно копировать несколько файлов и каталогов, выполнив одну команду cp
.
Правило состоит в том, что последним параметром должен быть каталог. Изучите следующий пример, в котором мы сначала создаем еще один пример каталога и файла.Затем мы копируем этот каталог вместе с двумя другими файлами в каталог / tmp /
:
$ mkdir dir2 $ touch file1 file2 $ cp -r каталог2 / файл1 файл2 / tmp /
ПРЕДУПРЕЖДЕНИЕ :
Если параметр файла назначения, указанный в команде cp
, уже существует, он может быть перезаписан без предупреждения, поэтому это действие может привести к необратимому удалению ваших данных без возможности восстановления. В некоторых случаях такое поведение справедливо и для каталогов! Рассмотрим следующий пример команды cp
:
$ cat образец.текст linuxconfig.org $ touch /tmp/sample.txt $ cp /tmp/sample.txt sample.txt $ cat sample.txt $
Если не уверены, используйте опцию -i
, чтобы указать команде cp
выдавать предупреждение в случае, если целевой файл уже существует. Пример:
$ cp -i /tmp/sample.txt sample.txt cp: перезаписать sample.txt?
На изображении ниже показана команда cp
в действии, как описано в этом разделе:
cp
Примеры команд GNU / Linux для копирования каталогов и файлов в файловой системе GNU / Linux с помощью терминала командной строки GNU / Linux.
Ищу системного аналитика Linux!
Геофизический институт UAF ищет опытного системного аналитика Linux, который присоединится к их команде аналитиков и инженеров исследовательской кибер-инфраструктуры. РАСПОЛОЖЕНИЕ: Fairbanks, Alaska, USA
ЗАЯВИТЬ СЕЙЧАС
Удаление файлов и каталогов
На этом этапе вы должны быть достаточно уверенными в основах командной строки Linux. Вы также могли заметить образец, в котором используются команды.Вы должны знать, как создавать, перемещать и переименовывать любой файл или каталог. Однако, если вы не знаете, как удалить файлы или каталоги, ваша файловая система заполняется, а значит, возможность хранить больше данных будет потеряна.
В этом разделе будут рассмотрены две команды. Первая команда — rmdir
, вторая — rm
. Глядя на имена команд rmdir
и rm
, вы можете быстро сделать вывод, что команда rmdir
используется для удаления каталогов, а последняя команда rm
используется для удаления файлов, и по большей части вы верно.Давайте начнем с рассмотрения команды rmdir
.
Для наших экспериментов мы будем использовать следующую структуру каталогов, содержащую несколько подкаталогов и файлов. Наша цель — научиться использовать команды rmdir
и rm
для удаления всех файлов и каталогов:
Практикуйте структуру каталогов, чтобы узнать, как удалять файлы и каталоги с помощью команд rmdir
и rm
.
Как и любые команды GNU / Linux, которые вы уже изучили, команда rmdir
также принимает несколько аргументов.Например, чтобы удалить dir4
, все, что нам нужно сделать, это указать каталог команд rmdir
с именем каталога, который мы хотим удалить в качестве параметра:
$ rmdir my_files / dir4 /
Все просто, правда? Давайте теперь удалим следующий каталог, скажем, dir1
:
$ rmdir my_files / dir1 rmdir: не удалось удалить my_files / dir1: каталог не пустой
Как видите, приведенная выше команда rmdir
не смогла удалить каталог dir1
.Основная задача rmdir
заключается в удалении каталогов, и, поскольку каталог dir1
содержит файлы, команда rmdir
пропустила этот каталог с сообщением об ошибке с жалобой на то, что этот каталог не пуст.
Логика верна! Единственный способ удалить непустой каталог — использовать довольно длинный параметр командной строки rmdir
--ignore-fail-on-non-empty
. Однако сейчас гораздо проще использовать команду rm
.Команда rm
с правильной комбинацией параметров способна удалить любое количество файлов и каталогов, независимо от того, является ли каталог пустым или заполненным любым количеством файлов и подкаталогов.
Сначала давайте протестируем rm
, чтобы удалить файл с именем my_file.txt
:
$ rm my_files / my_file.txt
Чтобы удалить каталог с rm
, нам нужно использовать комбинацию опций -r
. Параметр -r
означает рекурсивный, что означает, что команда удалит любой каталог, а также его содержимое.Следующая команда удалит весь каталог my_files / dir1
, включая все файлы или подкаталоги:
WARNING :
Удаление файлов с помощью команды rm
является необратимым действием. Это означает, что в зависимости от используемой файловой системы и использования вашей системы ваши данные не могут быть восстановлены. Обязательно отмерьте дважды и один раз отрежьте при использовании команды rm
Linux.
$ rm -r мои_файлы / каталог1 /
Использование команды rm
довольно просто.Как и многие другие команды Linux, он принимает несколько параметров, поэтому может легко удалить один или любое количество файлов и каталогов.
Удаление файлов и каталогов с помощью команды GNU / Linux rm
и rmdir
.
Поиск файлов или каталогов
На этом этапе вы должны быть достаточно хорошо знакомы с навигацией по файловой системе и управлением файлами / каталогами. Прежде чем мы перейдем к следующему разделу, посвященному основным командам системного администрирования GNU / Linux, мы должны обсудить, как искать файлы в случае возникновения такой необходимости.Есть две основные команды Linux, которые позволяют пользователю искать файлы. А именно, это команда locate
и команда find
.
Команда find
— мощный инструмент, поэтому ее использование может быть немного сложным, особенно когда дело касается новичков. По этой причине мы рассматриваем только команду locate
, поскольку ее гораздо проще использовать.
Базовое использование команды locate
Linux довольно просто. Введите , найдите
, а затем укажите имя файла или каталога в качестве параметра.Например, давайте поищем файл с названием issue
:
$ найти проблему
Приведенная выше команда создает список файлов или каталогов во всей файловой системе, содержащий строку проблема
в любом месте имени файла или каталога. В зависимости от того, что вы ищете, этот список может вырасти до значительного размера.
Следовательно, поиск точного совпадения имени файла, скорее всего, даст результат, который мы более склонны найти приемлемым. Для этого нам нужно использовать регулярные выражения и найти опцию командной строки
-r
.
Регулярные выражения выходят далеко за рамки этого руководства. На данный момент нам нужно только знать, что для поиска точного имени файла или каталога нам нужно окружить строку /
и $
. Например:
$ locate -r / issue $
Использование команды GNU / Linux locate для поиска файлов и каталогов
Прежде чем вы повысите себя до уровня locate
, мастера команд Linux, давайте кратко обсудим, как работает команда locate
.Команда locate
выполняет чрезвычайно быструю поиск, потому что она просто обращается к существующему файлу индекса предварительной сборки базы данных, обновляемому один раз в день с помощью команды updatedb
.
Недостатком является то, что команда locate
не выбирает файлы или каталоги, созданные с момента выполнения последней команды updatedb
. Однако для включения любых новых файлов у пользователей есть возможность вручную запустить команду updatedb
, как показано ниже:
$ sudo updatedb
updatedb Пример использования команды
.
Базовое администрирование Команды Linux
Выполнение команд с правами администратора
Большинство команд Linux, которые вы будете запускать, будут выполняться без прав администратора. Фактически, выполнение команд с правами администратора рекомендуется только в том случае, если этого требует предстоящая задача. Следование этому простому правилу будет способствовать общей целостности системы и позволит пользователю избежать дорогостоящих и ненужных ошибок при взаимодействии с командной строкой Linux.
Однако трудно себе представить, чтобы полностью избежать выполнения команд Linux с правами администратора. Административные права требуются для установки нового программного обеспечения, настройки основных системных служб и многого другого. Здесь вам пригодится команда sudo
Linux. Приставка к любой команде Linux префикса sudo
гарантирует, что команда будет выполняться с правами администратора, также известными как root. Попробуйте сами:
$ sudo whoami $ whoami
Команда whoami
всегда возвращает имя пользователя, который ее выполняет.В этом случае мы видим, что добавление к команде whoami
Linux префикса sudo
обеспечивает выполнение команды whoami
от имени пользователя root.
По умолчанию пользователю sudo
дается 5 минут на повторный ввод привилегированных команд с помощью команды sudo
без пароля после первой успешной аутентификации.
Установка программного обеспечения
Установка по умолчанию вашей системы GNU / Linux может быть и очень часто настраивается для включения дополнительного программного обеспечения в соответствии с вашими потребностями.Если есть разница между различными дистрибутивами GNU / Linux, то это способ установки программного обеспечения. Программное обеспечение поставляется в виде пакетов, доступных из репозитория соответствующих дистрибутивов.
Есть две основные ветви дистрибутивов GNU / Linux, когда дело доходит до управления пакетами программного обеспечения.
А именно это DEB и об / мин . Первая ветвь использует apt
, а вторая ветвь использует команду yum
для установки программного обеспечения.Конечно, есть много других вспомогательных команд, помогающих с установкой или обслуживанием программного обеспечения, но основы поясняются ниже.
Сначала мы начинаем поиск имени пакета программного обеспечения, которое хотим установить. Допустим, нам нужно установить какой-то торрент-клиент, чтобы мы могли скачивать торрент-файлы. Сначала мы ищем имя пакета:
СИСТЕМЫ DEB GNU / LINUX: $ apt search торрент-клиент СИСТЕМЫ RPM GNU / LINUX: $ yum search торрент-клиент
Приведенные выше команды создадут список имен пакетов и их соответствующее описание.Прочтите столбец описания и выберите в левом столбце пакет, который вы хотите установить. После того, как вы выбрали пакет, который хотите установить, снова выполните соответствующую команду управления пакетами, чтобы установить пакет.
Допустим, пакет, который мы хотим установить, называется bittorrent
. Чтобы начать установку, наша команда должна быть выполнена с правами администратора, как описано в предыдущем разделе. При появлении запроса введите y
для выполнения установки:
СИСТЕМЫ DEB GNU / LINUX: $ sudo apt установить bittorrent СИСТЕМЫ RPM GNU / LINUX: $ sudo yum установить bittorrent
Использование инструмента управления пакетами программного обеспечения из командной строки apt
для установки программного обеспечения в системе Ubuntu Linux.
Проверка использования дискового пространства
В этом разделе вы узнаете, как проверить каталог и размер файла, а также как получить информацию о текущем использовании дискового пространства. Первая команда Linux, которую мы рассмотрим в этом разделе, — это команда df
. Имя команды df
является сокращением слов d isk f ree.
При выполнении команды df
без каких-либо параметров команда возвращает информацию об используемом и доступном дисковом пространстве для всех доступных разделов в килобайтах.Вывод команды по умолчанию df
выводит информацию об использовании диска в килобайтах. Однако это поведение можно перезаписать с помощью параметра -h
:
$ df -h
Чтобы проверить свободное место на диске в любом желаемом каталоге, просто добавьте полный путь к этому каталогу в качестве параметра команды df
. Пример:
$ df -h / home
Проверьте свободное место на диске с помощью команды df
в каталоге / home
.
ПРИМЕЧАНИЕ : Проверка свободного места в каталоге с помощью команды df
не показывает никакой информации о его размере. Команда df
выводит только информацию об использовании дискового пространства раздела, в котором находится каталог. Чтобы проверить размер каталога, используйте команду du
Linux, как описано ниже.
Теперь, когда мы узнали, как проверять свободное место на диске, также важно знать, как получить информацию о размере файла и каталога.
Чтобы получить информацию о размере файла в удобочитаемом формате, мы можем использовать описанную выше команду ls
с комбинацией опций -l
(длинный список) и -h
(человекочитаемый) и полный или относительный путь к рассматриваемому файлу. Например, приведенная ниже команда ls
вернет размер файла под названием swapfile
, расположенного в корневом каталоге /
:
$ ls -lh / файл подкачки
Как и при проверке размера файла, мы можем использовать команду du
для проверки размера каталога.По умолчанию команда du
при поставке с параметром каталога отображает размер всех каталогов в пределах:
$ du -h / home /
Чтобы получить общий размер отдельного каталога, используйте параметр -s
. Еще раз, как и во всех приведенных выше примерах в этом разделе, нас интересует удобочитаемый вывод, поэтому мы используем параметр -h
:
$ du -sh / home /
Пример использования команды du
Linux для проверки размера каталога / home
.
Ищу системного аналитика Linux!
Геофизический институт UAF ищет опытного системного аналитика Linux, который присоединится к их команде аналитиков и инженеров исследовательской кибер-инфраструктуры. РАСПОЛОЖЕНИЕ: Fairbanks, Alaska, USA
ПРИМЕНИТЬ СЕЙЧАС
Сжатие файлов и каталогов
В этом разделе мы обсудим несколько способов сжатия и распаковки файлов в системе GNU / Linux. Первые инструменты, которые вы изучите, — это команды tar
и gzip
.Команда tar
в основном используется для объединения всего каталога в один файл и, при необходимости, применения сжатия в процессе, если это необходимо.
Следующий пример команды tar
объединит весь каталог my_dir
в один файл с именем my_dir.tar
:
$ tar cf my_dir.tar my_dir
Для дальнейшего сжатия полученного файла мы можем использовать команду gzip
для создания сжатого файла с именем my_dir.tar.gz
:
$ gzip my_dir.tar
Однако в большинстве случаев нам все равно нужно сжать каталог, поэтому можно сжать каталог, комбинируя инструменты tar
и gzip
в качестве альтернативы вышеуказанным командам:
$ tar cxf my_dir.tar my_dir
Файлы, созданные комбинацией команд tar
и gzip
, называются архивами gzip или просто архивами .
Чтобы распаковать любой архив, мы можем просто отменить процесс, но вместо gzip
мы будем использовать команду gunzip
. Например, чтобы распаковать архив gzip my_dir.tar.gz
, мы можем использовать команду gunzip
:
$ gunzip my_dir.tar.gz
Приведенная выше команда создаст наш исходный файл my_dir.tar
, содержащий каталог my_dir
. Используя команду tar
, мы можем дополнительно распаковать этот архив, чтобы получить исходный каталог my_dir
:
$ tar xf my_dir.деготь
Пример сжатия и распаковки файлов и каталогов с использованием команд Linux tar
, gzip
и gunzip
.
Завершение работы и перезагрузка
Когда дело доходит до завершения работы и перезагрузки операционной системы GNU / Linux, вам нужно изучить только одну команду, которая выполняет и перезагрузку, и завершение работы. Эта команда интуитивно называется shutdown
.
Да, это правда, что вы можете перезагрузить свою систему, например, с помощью команды init 6
или reboot
, но изучение команды shutdown
дает вам больше возможностей и возможностей.Ниже приведены несколько примеров команды shutdown
.
Первый пример команды shutdown
перезагрузит вашу систему за одну минуту:
$ sudo выключение -r
Чтобы перезагрузить вашу систему GNU / Linux, немедленно выполните:
$ sudo shutdown -r сейчас
Завершение работы системы с помощью команды shutdown
следует тому же принципу, что и приведенные выше команды перезагрузки. В следующих двух примерах показано, как выключить систему за одну минуту, сразу и с 1.Задержка на 5 часов (90 минут):
$ sudo выключение $ sudo выключение сейчас $ sudo выключение +90
Если вы выполнили отложенное выключение системы, вы можете отменить процесс выключения:
$ sudo выключение -c
Расширенные команды Linux
Устранение неполадок подключения к Интернету / сети
Этот раздел познакомит вас с некоторыми базовыми навыками работы в сети. В частности, вы узнаете, как получить IP-адрес служб, необходимых для установки надлежащего подключения к Интернету, и как устранить неполадки сетевого подключения и подключения к Интернету.
Давайте начнем с получения нашего локального IP-адреса с помощью команды ip
. Команда ip
имеет ряд опций, включая адрес
или или опцию
для краткости для отображения IP-адресов, назначенных всем доступным и включенным сетевым интерфейсам:
$ ip a
Приведенная выше команда показывает IP-адрес, который в настоящее время используется системой. Обратите внимание, что имя вашего сетевого интерфейса может быть другим. В следующем примере мы получаем IP-адрес вашего шлюза.Мы снова используем команду ip
, но на этот раз с опцией r
(маршрут):
$ ip r
Следующий фрагмент головоломки — IP-адрес DNS (сервера доменных имен). Чтобы проверить, какой DNS-сервер используется вашей системой для преобразования имен хостов в IP-адрес, просто проверьте содержимое файла /etc/resolv.conf
с помощью команды cat
, как объяснялось ранее:
$ cat /etc/resolv.conf
Команды Linux для получения основной информации о конфигурации сети.
Теперь, когда мы получили самую основную информацию о конфигурации сети, мы можем использовать ее для устранения многих проблем с сетевым подключением, таких как, например, подключение к Интернету. Лучшим инструментом для этой задачи является команда ping
.
Используя команду ping
, мы можем проверить соединение с любым IP-адресом или хостом. Команда ping
отправит пакет на любой желаемый хост или IP-адрес и сообщит нам о результате. По умолчанию команда ping
отправляет бесконечный эхо-запрос на выбранный IP-адрес или хост.Чтобы прервать непрерывный пинг
, нажмите комбинацию клавиш CTRL + C
. В качестве альтернативы используйте опцию -c
с комбинацией чисел, указывающих количество пакетов, которые вы хотите отправить. Например:
$ ping linuxconfig.org PING linuxconfig.org (104.24.11.18) 56 (84) байт данных. 64 байта из 104.24.11.18 (104.24.11.18): icmp_seq = 1 ttl = 57 time = 9,83 мс 64 байта из 104.24.11.18 (104.24.11.18): icmp_seq = 2 ttl = 57 time = 10.0 мс 64 байта из 104.24.11.18 (104.24.11.18): icmp_seq = 3 ttl = 57 время = 9,95 мс --- linuxconfig.org статистика пинга --- 3 пакета передано, 3 получено, потеря пакетов 0%, время 2002 мс rtt min / avg / max / mdev = 9,833 / 9,933 / 10,008 / 0,073 мс $ ping -c 2 8.8.4.4 PING 8.8.4.4 (8.8.4.4) 56 (84) байтов данных. 64 байта из 8.8.4.4: icmp_seq = 1 ttl = 121 время = 10,3 мс 64 байта из 8.8.4.4: icmp_seq = 2 ttl = 121 время = 10,4 мс --- 8.8.4.4 статистика пинга --- 2 пакета передано, 2 получено, потеря пакетов 0%, время 1001 мс rtt min / avg / max / mdev = 10.340 / 10,412 / 10,485 / 0,125 мс
Если у вас возникли проблемы с подключением к Интернету, вы можете устранить неполадки сетевых подключений, выполнив проверку связи со всеми указанными выше IP-адресами, начиная с вашего локального IP-адреса или с любого общедоступного узла. Использование этой стратегии поможет вам сузить круг возможных проблем, вызывающих проблемы с сетевым подключением, как показано ниже.
Устранение неполадок подключения к Интернету с помощью команды ping
Linux.
Изменение прав доступа и владельца
Каждый файл или каталог в файловой системе GNU / Linux может принадлежать разным пользователям, а также различным группам пользователей.Кроме того, каждый файл или каталог можно настроить так, чтобы он соответствовал одному или нескольким разрешениям, таким как чтение, запись и выполнение. Тема, касающаяся прав доступа к файлам или каталогам или прав собственности, может охватывать небольшую книгу. Поскольку нас интересуют основы, вот несколько советов, которые помогут вам начать работу.
Начнем с получения фактической информации о разрешениях для файлов или каталогов. Для этого выполните уже изученную команду ls
с опцией -l
и именем файла или каталога в качестве параметра.Например:
$ ls -l директория /
Подробная информация о выходе проиллюстрирована на изображении ниже. Пожалуйста, найдите время, чтобы переварить информацию, прежде чем двигаться дальше:
Подробная информация о файле или каталоге, полученная с помощью команды ls
и ее опции длинного списка -l
.
Как уже указано на изображении выше, существует три типа разрешений: чтение, , запись, и выполнение, . В следующей таблице перечислены все типы разрешений вместе с их символьным и восьмеричным представлением:
Тип разрешения | Восьмеричное представление | Символьное представление | |||
---|---|---|---|---|---|
Чтение | 4 | r | w | ||
Execute | 1 | x |
Инструмент для изменения прав доступа к файлам или каталогам в файловой системе GNU / Linux — chmod
.Есть два способа изменить права доступа к файлу или каталогу с помощью команды chmod
, а именно, с помощью восьмеричного или символьного представления. Из этих двух подходов лучше всего тот, который вам легче всего запомнить и использовать.
В следующем примере показано, как использовать команду chmod
как с восьмеричным, так и с символьным представлением, чтобы изменить права доступа к каталогу dir
на следующие:
Target | Requirement | Octal Presentation | Symbolic Presentation |
---|---|---|---|
Пользователь (владелец) | Чтение, запись и выполнение | 7 как в (4 + 2 + 1) | u = rwx |
Группа | Чтение и запись | 6 как в ( 4 + 2) | g = rw |
Другое | Без разрешений | 0 | o = |
Следующие две команды linux chmod
, использующие восьмеричное и символьное представление разрешений, взаимозаменяемы и изменяют dir
права доступа к каталогу в соответствии с вышеуказанными требованиями:
Восьмеричный: $ chmod 760 dir СИМВОЛИКА: $ chmod u = rwx, g = rw, o = dir
Последний инструмент, который будет рассмотрен в этом разделе, — это команда chown
.Команда chown
позволяет пользователю изменить владельца файла или каталога. Каждый файл или каталог имеет два типа владения. А именно, это владение пользователем и группой. Смена владельца с помощью команды chown
— довольно простая процедура. Общее правило смены владельца файла или каталога — предоставить команде chown
два параметра. Первый предоставленный параметр содержит имя пользователя и имя группы, которой мы хотим, чтобы этот файл или каталог принадлежал этому файлу или каталогу, разделенные .
и второй параметр, представляющий имя рассматриваемого файла или каталога.
В следующем примере команды chown
Linux файл с именем file.txt
будет принадлежать пользователю lubos
и всем пользователям, принадлежащим к группе linuxconfig
:
$ chown lubos.linuxconfig file.txt
ПРИМЕЧАНИЕ : Для успешного изменения владельца файла или каталога с помощью команды chown
Linux применяются следующие два правила.Во-первых, пользователь и группа должны существовать, а во-вторых, для смены владельца от пользователя или группы root
требуются административные разрешения. См. Приведенное выше объяснение команды sudo
для получения дополнительной информации.
Следующее изображение представляет собой краткое изложение того, что обсуждалось в этом разделе:
Пример использования команд Linux chmod
и chown
.
Проверьте версию ядра системы.
Бывают случаи, когда вам нужно устранить неполадки в вашем компьютере GNU / Linux, поэтому вам необходимо получить информацию о вашем текущем работающем ядре a.к.а. Линукс.
Использование команды uname
с комбинацией -a
выведет подробную информацию о версии и архитектуре вашего ядра:
$ uname -a
Заключение
Вот и все! Но не позволяйте этой статье вводить вас в заблуждение, думая, что больше нечему учиться. Напротив, эта статья почти не затрагивает поверхность, так как ее цель состояла в том, чтобы познакомить читателя только с некоторыми базовыми методами командной строки GNU / Linux.
Пожалуйста, оставьте отзыв ниже, чтобы помочь мне улучшить эту статью. Если у вас есть дополнительные вопросы или вам нужна дополнительная помощь, посетите форум LinuxConfig.
Чему вы должны научиться дальше? Что ж, продолжайте экспериментировать с основами и старайтесь ежедневно добавлять новые команды Linux в свой репертуар. Практика ведет к совершенству!
Когда вы освоитесь с основными командами Linux, ознакомьтесь с моим Руководством по созданию сценариев на Bash для начинающих, чтобы узнать, как автоматизировать задачи с помощью команд Linux и сочетания сценариев оболочки.
35 основных команд Linux, которые должен знать каждый пользователь (шпаргалка)
VPS
время доступа
2 марта 2021 г.
песочные часы пустые
9 мин чтения
person_outline
Артурас Б.
Когда мы слышим о Linux, большинство людей думает о сложной операционной системе, которая используется только программистами. Но все не так страшно, как кажется.
Linux — это целое семейство операционных систем Unix с открытым исходным кодом, основанных на ядре Linux.Сюда входят все самые популярные системы на базе Linux, такие как Ubuntu, Fedora, Mint, Debian и другие. Точнее, их называют дистрибутивами или дистрибутивами.
С тех пор, как Linux был впервые выпущен в 1991 , он продолжал набирать популярность благодаря своей природе с открытым исходным кодом. Люди могут свободно изменять и распространять его под своим именем.
При работе с ОС Linux вам необходимо использовать оболочку — интерфейс, который дает вам доступ к службам операционной системы.Большинство дистрибутивов Linux используют графический пользовательский интерфейс (GUI) в качестве оболочки, в основном для обеспечения простоты использования для своих пользователей.
При этом рекомендуется использовать интерфейс командной строки (CLI), поскольку он более мощный и эффективный. Задачи, требующие многоэтапного процесса через графический интерфейс, можно выполнить за считанные секунды, введя команды в интерфейс командной строки.
Итак, если вы планируете использовать Linux, изучение основных командных строк будет иметь большое значение. В этой статье вы познакомитесь с 35 базовыми командами Linux, которые, несомненно, помогут вам ориентироваться в Linux как новичку.
Основные команды Linux
Прежде чем мы перейдем к списку команд, вам нужно сначала открыть командную строку. Если вы все еще не уверены в интерфейсе командной строки, ознакомьтесь с этим руководством по интерфейсу командной строки.
Хотя шаги могут отличаться в зависимости от используемого вами дистрибутива, обычно вы можете найти командную строку в разделе Utilities .
Вот список основных команд 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 , а затем путь к каталогу. Например, введите ls / home / username / Documents , чтобы просмотреть содержимое Documents .
Есть варианты, которые вы можете использовать с командой ls :
- ls -R также выведет список всех файлов в подкаталогах
- ls -a покажет скрытые файлы
- ls -al выведет список файлов и каталогов с подробной информацией, такой как разрешения, размер, владелец и т. Д.
4. Команда cat
cat (сокращение от concatenate) — одна из наиболее часто используемых команд в Linux.Он используется для вывода списка содержимого файла на стандартный вывод (sdout). Чтобы запустить эту команду, введите cat , а затем имя файла и его расширение. Например: cat file.txt .
Вот и другие способы использования команды cat :
- cat> filename создает новый файл
- cat имя_файла1 имя_файла2> имя_файла3 объединяет два файла (1 и 2) и сохраняет их вывод в новом файле (3)
- для преобразования файла в верхний или нижний регистр, cat filename | tr a-z A-Z> вывод.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 oldname.ext newname.ext
7. Команда mkdir
Используйте команду mkdir для создания нового каталога — если вы наберете mkdir Music , он создаст каталог с именем Music .
Также есть дополнительные mkdir команд:
- Чтобы создать новый каталог внутри другого каталога, используйте эту базовую команду Linux mkdir Music / Newfile
- используйте опцию p (родительские) для создания каталога между двумя существующими каталогами. Например, mkdir -p Music / 2020 / Newfile создаст новый файл «2020».
8. Команда rmdir
Если вам нужно удалить каталог, используйте команду rmdir .Однако rmdir позволяет удалять только пустые каталоги.
9. Команда rm
Команда rm используется для удаления каталогов и содержимого в них. Если вы хотите только удалить каталог — в качестве альтернативы rmdir — используйте rm -r .
Примечание : Будьте очень осторожны с этой командой и дважды проверьте, в каком каталоге вы находитесь. Это удалит все, и отмены не будет.
10. сенсорная команда
Команда touch позволяет создать новый пустой файл через командную строку Linux.В качестве примера введите touch /home/username/Documents/Web.html , чтобы создать HTML-файл с названием Web в каталоге Documents .
11. Найдите команду
Вы можете использовать эту команду, чтобы найти файл, точно так же, как команду поиска в Windows. Более того, использование аргумента -i вместе с этой командой сделает регистр нечувствительным, так что вы можете искать файл, даже если вы не помните его точное имя.
Для поиска файла, содержащего два или более слов, используйте звездочку (*) .Например, команда locate -i school * note будет искать любой файл, содержащий слова «школа» и «примечание», будь то в верхнем или нижнем регистре.
12. Найти команду
Подобно команде locate , команда find также выполняет поиск файлов и каталогов. Разница в том, что вы используете команду find для поиска файлов в заданном каталоге.
В качестве примера, команда find / home / -name notes.txt будет искать файл с именем notes.txt в домашнем каталоге и его подкаталогах.
Другие варианты использования find :
- Для поиска файлов в текущем каталоге используйте find. -name notes.txt
- Для поиска каталогов используйте / -type d -name notes. txt
13. Команда grep
Еще одна базовая команда Linux, которая, несомненно, полезна для повседневного использования, — это grep . Это позволяет вам искать по всему тексту в данном файле.
Для иллюстрации, grep blue notepad.txt будет искать слово blue в файле блокнота. Строки, содержащие искомое слово, будут отображаться полностью.
14. Команда sudo
Сокращенно от « SuperUser Do », эта команда позволяет выполнять задачи, требующие прав администратора или root. Однако не рекомендуется использовать эту команду для повседневного использования, потому что может легко возникнуть ошибка, если вы сделали что-то не так.
15.команда df
Используйте команду df , чтобы получить отчет об использовании дискового пространства системы в процентах и КБ. Если вы хотите видеть отчет в мегабайтах, введите df -m .
16. du command
Если вы хотите проверить, сколько места занимает файл или каталог, ответом будет команда du (Использование диска). Однако в сводке использования диска будут отображаться номера блоков диска вместо обычного формата размера. Если вы хотите видеть его в байтах, килобайтах и мегабайтах, добавьте в командную строку аргумент -h .
17. Головная команда
Команда head используется для просмотра первых строк любого текстового файла. По умолчанию отображаются первые десять строк, но вы можете изменить это число по своему усмотрению. Например, если вы хотите показать только первые пять строк, введите head -n 5 filename.ext .
18. хвостовая команда
Эта функция аналогична команде head, но вместо отображения первых строк команда tail отобразит последние десять строк текстового файла.Например, tail -n filename.ext.
19. Команда diff
Сокращение от слова «разница»: команда 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. Команда рабочих мест
рабочих мест Команда отобразит все текущие задания вместе с их статусами. Работа — это в основном процесс, запускаемый оболочкой.
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. верхняя команда
В качестве терминала, эквивалентного диспетчеру задач в Windows, команда top отобразит список запущенных процессов и количество ЦП, которое использует каждый процесс. Очень полезно отслеживать использование системных ресурсов, особенно зная, какой процесс необходимо завершить, поскольку он потребляет слишком много ресурсов.
29. Команда истории
Если вы используете Linux в течение определенного периода времени, вы быстро заметите, что можете запускать сотни команд каждый день. Таким образом, запуск команды history особенно полезен, если вы хотите просмотреть команды, которые вы ввели ранее.
30. команда man
Не знаете, как работают некоторые команды Linux? Не волнуйтесь, вы можете легко научиться использовать их прямо из оболочки Linux с помощью команды man .Например, ввод man tail покажет ручную инструкцию хвостовой команды.
31. эхо-команда
Эта команда используется для перемещения некоторых данных в файл. Например, если вы хотите добавить текст «Привет, меня зовут Джон» в файл с именем name.txt, введите echo Привет, меня зовут Джон >> name.txt
32. zip, команда распаковки
Используйте команду zip для сжатия файлов в zip-архив и используйте команду unzip для извлечения заархивированных файлов из zip-архива.
33. Команда hostname
Если вы хотите узнать имя вашего хоста / сети, просто введите hostname . Добавление -I в конец отобразит IP-адрес вашей сети.
34. useradd, команда userdel
Поскольку Linux является многопользовательской системой, это означает, что с одной и той же системой одновременно могут взаимодействовать несколько человек. useradd используется для создания нового пользователя, а passwd добавляет пароль к учетной записи этого пользователя.Чтобы добавить нового человека с именем John type, useradd John , а затем, чтобы добавить его тип пароля, passwd 123456789.
Удаление пользователя очень похоже на добавление нового пользователя. Чтобы удалить тип учетной записи пользователя, userdel UserName
Бонусные советы и хитрости
Используйте команду clear , чтобы очистить терминал, если он загроможден слишком большим количеством прошлых команд.
Попробуйте нажать кнопку TAB для автозаполнения того, что вы набираете.Например, если вам нужно ввести документы, начните вводить команду (давайте с cd Documents, , затем нажмите клавишу 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 | Linuxize
Новые пользователи Linux, пришедшие из мира Windows, могут найти работу с командной строкой несколько пугающей. Однако использовать это не так уж и сложно. Все, что вам нужно, чтобы начать работу с командной строкой, — это выучить несколько основных команд.
Хотя большинство дистрибутивов Linux удобны для пользователя и имеют простой в использовании графический интерфейс, знание того, как использовать командную строку, может быть очень полезным. Командная строка дает вам больше возможностей над вашей системой и доступ к функциям, недоступным через графический интерфейс.
В этой статье мы рассмотрим некоторые из наиболее распространенных команд Linux, которые ежедневно используются системными администраторами Linux.
Получение информации о команде #
Запоминание параметров команды обычно не требуется и, возможно, является пустой тратой времени.Обычно, если вы не используете команду часто, вы можете легко забыть ее параметры.
У большинства команд есть опция --help
, которая выводит короткое сообщение о том, как использовать команду, и завершает работу:
Команда
man
#
Почти все команды Linux распространяются вместе со страницами руководства. Справочная или справочная страница — это форма документации, в которой объясняется, что делает команда, примеры того, как вы запускаете команду, и какие аргументы она принимает.
Команда man
используется для отображения справочной страницы данной команды.
Например, чтобы открыть страницу руководства команды cd
, введите:
man cd
Для навигации по страницам руководства используйте стрелку
, Page Up
и Page Вниз
ключей. Вы также можете нажать клавишу Enter
для перемещения по одной строке, полосу Space
для перехода к следующему экрану и клавишу b
для перехода на один экран назад. Чтобы выйти из страницы руководства, нажмите клавишу q
.
Навигация по файловой системе #
В Linux каждый файл и каталог находится в корневом каталоге, первом или самом верхнем каталоге в дереве каталогов.Корневой каталог обозначается одинарной косой чертой /
.
При навигации по файловой системе при работе с файлами вы можете использовать абсолютный или относительный путь к ресурсу.
Абсолютный или полный путь начинается с системного корня /
, а относительный путь начинается с вашего текущего каталога.
Текущий рабочий каталог (команда
pwd
) #
Текущий рабочий каталог — это каталог, в котором в данный момент работает пользователь.Каждый раз, когда вы взаимодействуете с командной строкой, вы работаете в каталоге.
Используйте команду pwd
, чтобы узнать, в каком каталоге вы сейчас находитесь:
pwd
Команда отображает путь к вашему текущему рабочему каталогу:
/ home / linuxize
Изменение каталога (команда
cd
) #
Команда cd
(«изменить каталог») используется для изменения текущего рабочего каталога в Linux и других Unix-подобных операционных системах.
При использовании без аргументов cd
приведет вас в ваш домашний каталог:
cd
Чтобы перейти в каталог, вы можете использовать его абсолютный или относительный путь.
Предполагая, что каталог Downloads
существует в каталоге, из которого вы запускаете команду, вы можете перейти к нему, используя относительный путь к каталогу:
cd Downloads
Вы также можете перейти в каталог с помощью используя его абсолютный путь:
cd / home / linuxize / Downloads
Две точки (..
), один за другим, представляют родительский каталог или, другими словами, каталог непосредственно над текущим.
Предположим, вы находитесь в каталоге / usr / local / share
. Чтобы переключиться в каталог / usr / local
(на один уровень выше текущего каталога), введите:
cd ../
Чтобы переместиться на два уровня вверх:
cd ../ .. /
Чтобы вернуться к предыдущему рабочему каталогу, используйте в качестве аргумента символ тире ( -
):
cd -
Если в имени каталога, в который вы хотите перейти, есть пробелы, вы должны либо заключите путь в кавычки, либо используйте символ обратной косой черты (), чтобы избежать пробела:
cd Dir \ name \ with \ space
Работа с файлами и каталогами #
Список содержимого каталога (команда
ls
) #
Команда ls
выводит информацию о файлах и каталогах в каталоге.
При использовании без параметров и аргументов ls
отображает список в алфавитном порядке имен всех файлов в текущем рабочем каталоге:
ls
Чтобы вывести список файлов в определенном каталоге, передайте путь к каталог в качестве аргумента:
ls / usr
По умолчанию вывод команды ls
показывает только имена файлов и каталогов. Используйте -l
для печати файлов в формате длинного списка:
ls -l / etc / hosts
Вывод включает тип файла, разрешения, количество жестких ссылок, владельца, группу, размер, дату, и имя файла:
-rw-r - r-- 1 root root 337 4 октября 11:31 / etc / hosts
Команда ls
по умолчанию не выводит список скрытых файлов.Скрытый файл — это любой файл, который начинается с точки (.
).
Чтобы отобразить все файлы, включая скрытые, используйте параметр -a
:
ls -a ~ /
Отображение содержимого файла (команда
cat
) #
Команда cat
печатает содержимое одного или нескольких файлов и объединить (объединить) файлы путем добавления содержимого одного файла в конец другого файла
Чтобы отобразить содержимое файла на экране, передайте имя файла cat
в качестве аргумента:
cat / etc / hosts
Создание файлов (команда
touch
) #
Команда touch
используется для обновления меток времени в существующих файлах и каталогах, а также для создания новых пустых файлов.
Чтобы создать файл, укажите имя файла в качестве аргумента:
touch file.txt
Если файл уже существует, touch
изменит время последнего доступа и модификации файла на текущее время.
Создание каталогов (команда
mkdir
) #
В Linux вы можете создавать новые каталоги (также известные как папки) с помощью команды mkdir
.
Чтобы создать каталог, передайте имя каталога в качестве аргумента команды:
mkdir / tmp / newdirectory
mkdir
может принимать одно или несколько имен каталогов в качестве аргументов.
Если аргументом является имя каталога без полного пути, новый каталог создается в текущем рабочем каталоге.
Для создания родительских каталогов используйте параметр -p
:
mkdir -p Projects / linuxize.com / src / assets / images
Приведенная выше команда создает всю структуру каталогов.
Когда mkdir
вызывается с опцией -p
, он создает каталог, только если он не существует.
Создание символических ссылок (команда
ln
) #
Символьная ссылка (или символическая ссылка) — это файл особого типа, который указывает на другой файл или каталог.
Чтобы создать символическую ссылку на данный файл, используйте команду ln
с параметром -s
, имя файла в качестве первого аргумента и имя символической ссылки в качестве второго аргумента:
ln -s исходный_файл символическая_ссылка
Если в качестве аргумента указан только один файл, ln
создает ссылку на этот файл в текущем рабочем каталоге с тем же именем, что и файл, на который он указывает.
Удаление файлов и каталогов (команда
rm
) #
Для удаления файлов и каталогов используйте команду rm
.
По умолчанию, при запуске без каких-либо параметров, rm
не удаляет каталоги. Он также не предлагает пользователю продолжить удаление данных файлов.
Чтобы удалить файл или символическую ссылку, используйте команду rm
, за которой следует имя файла в качестве аргумента:
rm file.txt
rm
принимает в качестве аргументов одно или несколько имен файлов или каталогов.
Параметр -i
указывает rm
запрашивать пользователя для каждого заданного файла перед его удалением:
rm -i file.txt
rm: удалить обычный пустой файл file.txt?
Используйте опцию -d
для удаления одного или нескольких пустых каталогов:
rm -d dirname
Чтобы удалить непустые каталоги и все файлы в них рекурсивно, используйте -r
(рекурсивный ) option:
rm -rf dirname
Параметр -f
указывает rm
никогда не запрашивать пользователя и игнорировать несуществующие файлы и аргументы.
Копирование файлов и каталогов (команда
cp
) #
Команда cp
позволяет копировать файлы и каталоги.
Чтобы скопировать файл в текущий рабочий каталог, используйте исходный файл в качестве первого аргумента и новый файл в качестве второго:
cp file file_backup
Чтобы скопировать файл в другой каталог, укажите абсолютное или относительный путь к целевому каталогу. Если в качестве места назначения указано только имя каталога, скопированный файл будет иметь то же имя, что и исходный файл.
cp file.txt / backup
По умолчанию, если целевой файл существует, он будет перезаписан.
Чтобы скопировать каталог, включая все его файлы и подкаталоги, используйте параметр -R
или -r
:
cp -R Pictures / opt / backup
Перемещение и переименование файлов и каталогов (
mv
command) #
Команда mv
(сокращение от move) используется для переименования и перемещения файлов и каталогов из одного места в другое.
Например, чтобы переместить файл в каталог, вы должны запустить:
mv file.txt / tmp
Чтобы переименовать файл, вам необходимо указать имя файла назначения:
mv file.txt file1 .txt
Синтаксис перемещения каталогов такой же, как и при перемещении файлов.
Чтобы переместить несколько файлов и каталогов одновременно, укажите целевой каталог в качестве последнего аргумента:
mv file.tx1 file1.txt / tmp
Установка и удаление пакетов #
Диспетчер пакетов — это инструмент, который позволяет вы можете устанавливать, обновлять, удалять и иным образом управлять пакетами программного обеспечения для конкретного дистрибутива.
В разных дистрибутивах Linux есть разные менеджеры пакетов и разные форматы пакетов.
Только root или пользователь с привилегиями sudo могут устанавливать и удалять пакеты.
Ubuntu и Debian (команда
apt
) #
Advanced Package Tool или APT — это система управления пакетами, используемая дистрибутивами на основе Debian.
В дистрибутивах Debian есть несколько инструментов управления пакетами из командной строки, из которых наиболее часто используются apt
и apt-get
.
Перед установкой нового пакета сначала необходимо обновить индекс пакета APT:
apt update
Индекс APT — это база данных, в которой хранятся записи о доступных пакетах из репозиториев, включенных в вашей системе.
Чтобы обновить установленные пакеты до последних версий, запустите:
apt upgrade
Установить пакеты так же просто, как и запустить:
apt install package_name
Чтобы удалить установленный пакет, введите:
apt remove package_name
CentOS and Fedora (
dnf
command) #
RPM — мощная система управления пакетами, используемая Red Hat Linux и ее производными, такими как CentOS и Fedora.RPM также относится к команде rpm
и формату файлов .rpm
.
Чтобы установить новый пакет в дистрибутивах на основе Red Hat, вы можете использовать команды yum
или dnf
:
dnf install package_name
Начиная с CentOS 8, dnf
заменяет yum
в качестве пакета по умолчанию. управляющий делами. dnf
обратно совместим с yum
.
Чтобы обновить установленные пакеты до последних версий, введите:
dnf update
Удалить пакеты так же просто:
dnf remove package_name
Владение файлами и разрешения #
В Linux доступ к файлы управляются через права доступа к файлам, атрибуты и права собственности.Это гарантирует, что только авторизованные пользователи и процессы могут получить доступ к файлам и каталогам.
В Linux каждый файл связан с владельцем и группой и имеет права доступа для трех разных классов пользователей:
- Владелец файла.
- Члены группы.
- Все остальные.
К каждому классу применяются три типа разрешений:
- Разрешение на чтение.
- Разрешение на запись.
- Разрешение на выполнение.
Эта концепция позволяет указать, какие пользователи могут читать файл, записывать в файл или выполнять файл.
Чтобы просмотреть владельца файла и разрешения, используйте команду ls -l
.
Изменение разрешений (команда
chmod
) #
Команда chmod
позволяет изменять права доступа к файлам. Он работает в двух режимах: символьном и числовом.
При использовании числового режима вы можете установить разрешения для владельца, группы и всех остальных.Каждое разрешение на запись, чтение и выполнение имеет следующее числовое значение:
-
r
(чтение) = 4 -
w
(запись) = 2 -
x
(выполнение) = 1 - без разрешений = 0
Число разрешений определенного класса пользователей представлено суммой значений разрешений для этой группы.
Например, чтобы предоставить владельцу файла права на чтение и запись и только права на чтение для членов группы и всех других пользователей, вы должны запустить:
chmod 644 filename
Только root, владелец файла или пользователь с sudo привилегии могут изменять права доступа к файлу.
Чтобы рекурсивно работать со всеми файлами и каталогами в данном каталоге, используйте команду chmod
с параметром -R, (–recursive):
chmod -R 755 dirname
Будьте особенно осторожны при рекурсивном изменении права доступа к файлам.
Смена владельца (команда
chown
) #
Команда chown
позволяет вам изменить пользователя и группу, владеющую данным файлом, каталогом или символической ссылкой.
Чтобы изменить владельца файла, используйте команду chown
, за которой следует имя пользователя нового владельца и целевой файл:
chown имя пользователя имя файла
Чтобы изменить как владельца, так и группу файла , вызовите команду chown
, за которой следует новый владелец и группа, разделенные двоеточием (:
) без промежуточных пробелов, и целевой файл:
chown имя пользователя: имя группы имя файла
Используйте -R
( --recursive
), чтобы рекурсивно работать со всеми файлами и каталогами в данном каталоге:
chown -R имя пользователя: имя группы dirname
Повышение привилегий (команда
sudo
) #
Команда sudo
позволяет запускать программы от имени другого пользователя, по умолчанию root.Если вы проводите много времени в командной строке, sudo
— одна из команд, которую вы будете использовать довольно часто.
Использование sudo
вместо входа в систему с правами суперпользователя более безопасно, поскольку вы можете предоставить ограниченные административные привилегии отдельным пользователям без их знания пароля суперпользователя.
Чтобы использовать sudo
, просто добавьте к команде префикс sudo
:
sudo command
Управление пользователями и группами #
Linux — многопользовательская система, что означает, что с ней могут взаимодействовать несколько человек. одна и та же система одновременно.Группы используются для организации и администрирования учетных записей пользователей. Основная цель групп — определить набор привилегий, таких как разрешение на чтение, запись или выполнение для данного ресурса, совместно используемого пользователями внутри группы.
Создание пользователей (команды
useradd
и passwd
) #
Команда useradd
позволяет создавать новых пользователей.
Чтобы создать новую учетную запись пользователя, вызовите команду useradd
, за которой следует имя пользователя:
useradd newuser
После создания пользователя установите пароль пользователя, выполнив команду passwd
:
passwd newuser
Удаление пользователей (команда
userdel
) #
В Linux вы можете удалить учетную запись пользователя с помощью команды userdel
.
Чтобы удалить учетную запись пользователя с именем, передайте имя пользователя команде userdel
:
userdel newuser
Используйте параметр -r
(–remove), чтобы удалить домашний каталог пользователя и почтовый ящик:
userdel -r newuser
Управление группами (команда
groupadd
и groupdel
) #
Чтобы создать новую группу, вызовите команду groupadd
, за которой следует имя группы:
groupadd mygroup
Кому Для удаления группы используйте команду groupdel
с именем группы в качестве аргумента:
groupdel mygroup
Добавление пользователей в группы (команда
usermod
) #
Чтобы добавить существующего пользователя в группу, используйте команду Команда usermod
, за которой следует параметр -G
и имя группы:
usermod -a -G sudo linuxize
Заключение №
90 008 Мы рассмотрели некоторые из наиболее часто используемых команд Gnu / Linux.
Хотя вы можете выполнять большинство задач, связанных с разработкой и системой, с помощью графического интерфейса, командная строка делает вас более продуктивным и позволяет делать больше за меньшее время.
Щелкните ссылки для каждой команды, чтобы получить дополнительную информацию о параметрах команды и их использовании.
Если у вас есть вопросы или отзывы, не стесняйтесь оставлять комментарии.
Команды Linux — GeeksforGeeks
Команды Linux
Linux — это Unix-подобная операционная система.Все команды Linux / Unix запускаются в терминале, предоставляемом системой Linux. Этот терминал похож на командную строку ОС Windows. Команды Linux / Unix чувствительны к регистру. Терминал может использоваться для выполнения всех административных задач. Это включает установку пакетов, манипулирование файлами и управление пользователями. Терминал Linux является интерактивным для пользователя. Терминал выводит результаты команд, которые задает сам пользователь. Выполнение набранной команды происходит только после нажатия клавиши Enter.
A | B | C | D | E | F | G | H | Я | J | K | L | M | N | O | P | Q | R | S | Т | U | V | W | X | Y | Z
}
.string-table td, th {
цвет фона: # c6ebd9;
граница: 1px solid # 5fb962;
выравнивание текста: слева;
отступ: 8 пикселей;
}
.string-table td: nth-child (odd) {
ширина: 25%;
цвет фона: # c6ebd9;
}
.string-table td: nth-child (даже) {
ширина: 100%;
}
.string-table th {
граница: 1px solid # 5fb962;
отступ: 0px 32px 0px 32px! important;
выравнивание текста: слева;
нижняя граница: 0 пикселей;
}
.строка-таблица td
{
граница: 1px solid # 5fb962;
черный цвет;
выравнивание текста: слева! важно;
граница снизу: 0px! важно;
}
доступ | Используется для проверки, имеет ли вызывающая программа доступ к указанному файлу. Его можно использовать, чтобы проверить, существует ли файл |
accton | Используется для включения или выключения процесса учета или изменения файла учета процесса информации |
aclocal | Используется для автоматического создания aclocal.m4 из файла configure.in |
acpi | Используется для отображения состояния батареи и другой информации ACPI |
acpi_available | Проверяет, доступна ли подсистема ACPI (Advanced Configuration and Power Interface) |
acpid | Он обеспечивает интеллектуальное управление питанием в системе и используется для уведомления программ пользовательского пространства о событиях ACPI. |
addr2line | Используется для преобразования адресов в имена файлов и номера строк |
агетти | Это Linux-версия getty, которая представляет собой программу Unix, работающую на главном компьютере, которая управляет физическими или виртуальными терминалами для обеспечения многопользовательского доступа. |
псевдоним | Указывает оболочке заменить одну строку другой строкой при выполнении команд |
микшер | Это микшер командной строки для драйвера звуковой карты ALSA (Advanced Linux Sound Architecture). |
игра | Это аудиоплеер командной строки для драйверов звуковой карты ALSA (Advanced Linux Sound Architecture). |
аплаймиди | Используется для воспроизведения стандартных файлов MIDI (цифровой интерфейс музыкальных инструментов) путем отправки содержимого файла MIDI на порт MIDI ALSA (усовершенствованная звуковая архитектура Linux). |
по поводу | Это помогает пользователю, когда он не помнит точную команду, но знает несколько ключевых слов, связанных с командой, которые определяют ее использование или функциональность. |
кв | Предоставляет высокоуровневый интерфейс командной строки (CLI) для системы управления пакетами и предназначен в качестве интерфейса для конечного пользователя, который позволяет использовать некоторые параметры, которые по умолчанию лучше подходят для интерактивного использования по сравнению с более специализированными инструментами APT, такими как apt-cache и apt. -получить |
apt-get | Это инструмент командной строки, который помогает обрабатывать пакеты в Linux |
склонность | Открывает высокотехнологичный интерфейс для взаимодействия с диспетчером пакетов машины. |
ар. | Используется для создания, изменения и извлечения файлов из архивов |
арка | Используется для печати архитектуры компьютера |
arp | Он управляет кешем ARP системы.Это также позволяет сделать дамп кеша ARP |
aspell | Используется как средство проверки правописания в Linux |
атд | Это демон планировщика заданий, который запускает задания, запланированные для последующего выполнения |
атрм | Используется для удаления указанных заданий. Чтобы удалить задание, его номер задания передается в команде |
атк | Отображает список незавершенных заданий, запланированных пользователем |
autoconf | Используется в Linux для создания сценариев конфигурации |
автоголовок | Используется для создания файла шаблона C «#define» или любого другого заголовка шаблона для настройки для использования |
автопроизводитель | Используется для автоматического создания Makefile.в файлах, соответствующих установленным стандартам кодирования GNU |
autoreconf | Используется для создания автоматически собираемого исходного кода для Unix-подобных систем |
автообновление | Используется для обновления файла configure.in в нашей системе Linux до более новой версии Autoconf. |
awk | Это язык сценариев, используемый для управления данными и создания отчетов. |
баннер | Используется для вывода строки символов ASCII большими буквами в стандартный вывод |
базовое имя | Он удаляет информацию о каталоге и суффиксы из имен файлов i.е. он печатает имя файла NAME с удаленными ведущими компонентами каталога |
партия | Используется для чтения команд со стандартного ввода или указанного файла и их выполнения, когда это позволяют уровни загрузки системы, т.е. когда средняя загрузка падает ниже 1,5 |
до н.э. | Используется для калькулятора командной строки |
bg | Используется для размещения заданий переднего плана на заднем плане |
biff | Система почтовых уведомлений для unix, которая уведомляет пользователя в командной строке о поступлении новой почты и сообщает, от кого она |
переплет | Используется для установки привязок клавиш Readline и переменных |
зубр | Это в основном генератор парсера, похожий на yacc |
перерыв | Используется для завершения выполнения цикла for, цикла while и цикла до |
встроенный | Используется для запуска встроенной оболочки, передачи ей аргументов (args), а также для получения статуса выхода |
bzcmp | Используется для вызова утилиты cmp для сжатых файлов bzip2 |
bzdiff | Используется для сравнения сжатых файлов bzip2 |
bzgrep | Используется для поиска шаблона или выражения, но внутри файла, сжатого с помощью bzip2. |
bzip2 | Используется для сжатия и распаковки файлов |
bzless | Ему не нужно читать весь входной файл перед запуском, поэтому с большим файлом он запускается быстрее |
bzmore | Используется как фильтр для просмотра на ЭЛТ сжатых файлов bzip2, сохраненных с расширением.bz2 суффикс |
кал | Используется для просмотра календаря на конкретный месяц или целый год. По умолчанию календарь текущего месяца отображается как результат |
чемодан | Это лучшая альтернатива, когда нам приходилось использовать несколько if / elif для одной переменной |
кот | Читает данные из файла и выдает их содержимое в качестве вывода. Это помогает нам создавать, просматривать и объединять файлы |
куб.см | Используется для компиляции кодов языка C и создания исполняемых файлов |
ccrypt | Это инструмент командной строки для шифрования и дешифрования данных |
кд | Известная как команда смены каталога.Используется для изменения текущего рабочего каталога |
cfdisk | Он отображает или управляет таблицей разделов диска, предоставляя текстовый «графический» интерфейс. |
чаге | Используется для просмотра и изменения информации об истечении срока действия пароля пользователя |
чат | Это команда файловой системы, которая используется для изменения атрибутов файла в каталоге. |
ЧФН | Позволяет легко изменить имя пользователя и другие данные.chfn — это аббревиатура от Change finger |
ЧГРП | Используется для изменения группового владения файлом или каталогом |
chkconfig | Используется для вывода списка всех доступных служб и просмотра или обновления их настроек уровня выполнения |
chmod | Используется для изменения режима доступа к файлу |
Чаун | Используется для изменения владельца файла или группы |
chpasswd | Используется для одновременной смены пароля для нескольких пользователей |
chroot | Используется для изменения корневого каталога |
chrt | Используется для управления атрибутами процесса в реальном времени |
чш | Используется для изменения оболочки входа пользователя (в настоящее время оболочки входа) |
chvt | Используется для переключения между различными доступными терминалами TTY (TeleTYpewriter) |
cksum | Используется для отображения значения CRC (Cyclic Redundancy Check), размера файла в байтах и имени файла для стандартного вывода |
прозрачный | Используется для очистки экрана терминала |
cmp | Используется для побайтового сравнения двух файлов и помогает определить, идентичны ли два файла или нет. |
столб | Используется для фильтрации обратного перевода строки.Утилита col просто считывает со стандартного ввода и записывает на стандартный вывод |
цвет | Используется для форматирования вывода текстового процессора, чтобы его можно было просматривать на дисплеях электронно-лучевой трубки. |
кольм | Удаляет выбранные столбцы из файла |
колонка | Используется для отображения содержимого файла в столбцах |
комм | Построчно сравнивает два отсортированных файла и записывает их в стандартный вывод; общие и уникальные строки |
сжать | Используется для уменьшения размера файла.После сжатия файл будет доступен с добавленным расширением .Z |
продолжить | Используется для пропуска текущей итерации в цикле for, while и до |
CP | Используется для копирования файлов или группы файлов или каталога |
коп | cpio означает «копировать, копировать». Он используется для обработки архивных файлов, таких как * .cpio или * .tar. Эта команда может копировать файлы в архивы |
копий | Он автоматически используется компилятором C для преобразования вашей программы перед компиляцией |
крон | Программная утилита, предлагаемая Linux-подобной операционной системой, которая автоматизирует запланированную задачу в заранее определенное время |
crontab | Список команд, которые вы хотите запускать по регулярному расписанию, а также имя команды, используемой для управления этим списком. |
csplit | Используется для разделения любого файла на множество частей по требованию пользователя |
теги | Обеспечивает быстрый доступ к файлам (например, быстрый просмотр определения функции) |
чашек | Это тип планировщика для CUPS (Common Unit Printing System).Реализует систему печати на основе Internet Printing Protocol |
локон | Инструмент для передачи данных на сервер или с сервера с использованием любого из поддерживаемых протоколов |
разрез | Для вырезания разделов из каждой строки файлов и вывода результата на стандартный вывод |
CVS | Используется для хранения истории файла. Всякий раз, когда файл поврежден или что-то пойдет не так, cvs поможет нам вернуться к предыдущей версии и восстановить наш файл |
дата | Используется для отображения системной даты и времени.Также используется для установки даты и времени системы |
постоянного тока | Используется для вычисления арифметических выражений. Он оценивает выражения в виде постфиксного выражения |
дд | Это утилита командной строки для Unix и Unix-подобных операционных систем, основная цель которой — преобразование и копирование файлов. |
заявить | Используется для объявления переменных и функций оболочки, установки их атрибутов и отображения их значений |
депмод | Используется для создания списка описания зависимостей модулей ядра и связанных с ним файлов карты. |
df | Используется для отображения информации, относящейся к файловым системам, об общем и доступном пространстве |
разница | Используется для отображения различий в файлах путем сравнения файлов построчно |
diff3 | Используется для сравнения трех файлов построчно |
дирек | Используется для вывода содержимого каталога |
имя | Используется для удаления конечных косых черт «/» из ИМЕНИ и печати оставшейся части. |
dirs | Используется для отображения списка текущих запомненных каталогов |
отключить | Используется для остановки принтеров или классов |
dmesg | Используется для проверки кольцевого буфера ядра и печати буфера сообщений ядра |
dmidecode | Используется, когда пользователь хочет получить информацию об аппаратном обеспечении системы, такую как процессор, оперативная память (DIMM), сведения о BIOS и т. Д.системы Linux в читаемом формате |
доменное имя | Используется для возврата доменного имени сетевой информационной системы (NIS) хоста |
dos2unix | Преобразует текстовый файл DOS в формат UNIX |
досфск | Диагностирует файловую систему MS-DOS на предмет проблем и пытается их исправить |
дстат | Используется для получения информации или статистики из компонентов системы, таких как сетевые соединения, устройства ввода-вывода, ЦП и т. Д. |
du | Используется для отслеживания файлов и каталогов, занимающих слишком много места на жестком диске. |
отвал | Используется для резервного копирования файловой системы на какое-либо устройство хранения |
dumpe2fs | Используется для печати суперблока и информации о группе блоков для файловой системы, присутствующей на устройстве |
свалки | Используется для дампа таблиц перевода клавиатуры |
эхо | Используется для отображения строки текста / строки, переданной в качестве аргумента |
изд | Используется для запуска текстового редактора ed, который представляет собой строковый текстовый редактор с минимальным интерфейсом, что делает его менее сложным для работы с текстовыми файлами i.e создание, редактирование, отображение и управление файлами |
эгреп | Он обрабатывает шаблон как расширенное регулярное выражение и распечатывает строки, соответствующие шаблону. |
извлечь | Позволяет извлечь съемный носитель (обычно CD-ROM, гибкий диск, магнитную ленту или диск JAZ или ZIP) с помощью программного обеспечения. |
emacs | Это редактор с простым пользовательским интерфейсом.Также в этом редакторе нет режима вставки. Есть только режим редактирования. |
включить | Используется для запуска принтеров или классов |
ок. | Используется для печати переменных среды. Он также используется для запуска утилиты или команды в настраиваемой среде |
оценка | Встроенная команда, используемая для выполнения аргументов как команда оболочки |
из | Это текстовый редактор в Linux, который также называется режимом строкового редактора редактора vi. |
исполнительный | Используется для выполнения команды из самого bash |
выход | Используется для выхода из оболочки, в которой она запущена в данный момент. |
развернуть | Позволяет преобразовывать табуляции в пробелы в файле, и если файл не указан, он читает из стандартного ввода |
кроме | Этот язык команд или сценариев работает со сценариями, ожидающими ввода данных пользователем.Он автоматизирует задачу, предоставляя входные данные |
экспорт | Это команды BUILTINS оболочки bash, что означает, что она является частью оболочки. Он отмечает переменные среды для экспорта в дочерние процессы |
выражение | Он оценивает заданное выражение и отображает соответствующий результат. |
коэффициент | Используется для печати простых множителей заданных чисел, заданных из командной строки или считанных из стандартного ввода |
FC | Используется для отображения, редактирования или повторного выполнения команд, ранее введенных в интерактивную оболочку |
кэш-память | Он сканирует каталоги шрифтов и создает кеш шрифтов для приложений, которые используют fontconfig для обработки шрифтов. |
fc-лист | Используется для вывода списка доступных шрифтов и стилей шрифтов.Используя опцию формата, можно отфильтровать и отсортировать список всех шрифтов |
fdisk | Форматировать диск — это диалоговая команда в Linux, используемая для создания и управления таблицей разделов диска |
фг | Используется для перевода фонового задания на передний план |
фгреп | Используется для поиска строк с фиксированными символами в файле |
файл | Используется для определения типа файла.Тип .file может быть удобочитаемым (например, «ASCII text») или MIME-типом (например, «text / plain; charset = us-ascii») |
найти | Используется для поиска файлов и каталогов и выполнения с ними последующих операций |
палец | Это команда поиска информации о пользователе, которая предоставляет подробную информацию обо всех пользователях, вошедших в систему. |
fmt | Работает как средство форматирования для упрощения и оптимизации текстовых файлов |
крат | Оборачивает каждую строку во входном файле, чтобы она соответствовала указанной ширине, и выводит ее на стандартный вывод. |
для | Используется для многократного выполнения набора команд для каждого элемента, присутствующего в списке. |
бесплатно | Отображает общий объем доступного свободного места, а также объем используемой памяти и памяти подкачки в системе, а также буферы, используемые ядром. |
Развлечения | Используется для рисования различных рисунков на терминале |
функция | Используется для создания функций или методов |
г ++ | Используется для предварительной обработки, компиляции, сборки и связывания исходного кода с целью создания исполняемого файла |
gawk | Используется для сканирования и обработки шаблонов. Язык |
gcc | GNU Compiler Collections используется в основном для компиляции языков C и C ++.Его также можно использовать для компиляции Objective C и Objective C ++ |
гдб | Инструмент GNU Debugger помогает отлаживать программы, написанные на C, C ++, Ada, Fortran и т. Д. |
getent | Используется для получения записей в ряде важных текстовых файлов, называемых базами данных |
gpasswd | Используется для администрирования / etc / group и / etc / gshadow |
grep | Выполняет поиск в файле определенного шаблона символов и отображает все строки, содержащие этот шаблон. |
группа добавить | Используется для создания новой группы пользователей |
groupdel | Используется для удаления существующей группы |
groupmod | Используется для модификации или изменения существующей группы в системе Linux |
группы | Группы — это совокупность пользователей.Группы позволяют легко управлять пользователями с одинаковыми правами доступа и безопасности |
grpck | Проверяет целостность информации о группах. Он проверяет, что все записи в / etc / group и / etc / gshadow имеют правильный формат и содержат действительные данные |
grpconv | Используется для преобразования в теневые группы. Команда grpconv создает gshadow из группы и опционально существующего gshadow |
GS | Эта команда вызывает Ghostscript, который является интерпретатором языков Adobe Systems PostScript и Portable Document Format (PDF). |
gunzip | Используется для сжатия или расширения файла или списка файлов в Linux |
gzexe | Используется для сжатия исполняемых файлов, а также для автоматического распаковки и выполнения файлов |
gzip | Эта команда сжимает файлы.Каждый отдельный файл сжимается в один файл. |
остановка | Используется для указания аппаратному обеспечению остановить все функции ЦП. В основном это перезагружает или останавливает систему. |
хеш | Используется для ведения хэш-таблицы недавно выполненных программ |
hdparm | Используется для получения статистики о жестком диске, изменения интервалов записи, управления звуком и настроек прямого доступа к памяти |
Головка | Печатает первые N данных данного входа |
помощь | Отображает информацию о встроенных командах оболочки |
шестигранник | Используется для фильтрации и отображения указанных файлов или стандартного ввода в удобочитаемом формате |
история | Используется для просмотра ранее выполненной команды |
хост | Используется для операций поиска DNS (система доменных имен) |
хостел | Используется для отображения идентификатора хоста в шестнадцатеричном формате. |
имя хоста | Используется для получения имени DNS (системы доменных имен) и установки имени хоста системы или имени домена NIS (сетевая информационная система). |
hostnamectl | Предоставляет соответствующий API, используемый для управления именем хоста системы Linux и изменения связанных с ним настроек. |
htop | Это утилита командной строки, которая позволяет пользователю в интерактивном режиме контролировать жизненно важные ресурсы системы или процессы сервера в режиме реального времени. |
час | Утилита для доступа к аппаратным часам, также называемая часами реального времени (RTC) |
iconv | Используется для преобразования текста в одной кодировке в другую кодировку |
id | Используется для определения имен пользователей и групп и числовых идентификаторов (UID или ID группы) текущего пользователя или любого другого пользователя на сервере |
если | Используется для выполнения команд на основе условий |
ifconfig | Используется для настройки резидентных сетевых интерфейсов ядра. |
iftop | Это инструмент анализа сети, используемый системными администраторами для просмотра статистики, связанной с пропускной способностью. |
ifup | Он в основном поднимает сетевой интерфейс, позволяя ему передавать и получать данные |
импорт | Используется для захвата снимка экрана для любой из активных страниц, которые у нас есть, и дает результат в виде файла изображения |
информация | Читает документацию в информационном формате.Он предоставит подробную информацию о команде по сравнению с главной страницей |
insmod | Используется для вставки модулей в ядро |
установить | Используется для копирования файлов и установки атрибутов |
iostat | Используется для мониторинга системной статистики ввода / вывода для устройств и разделов |
iotop | Используется для отображения и мониторинга деталей использования дискового ввода-вывода и даже получения таблицы существующего использования операций ввода-вывода процессом |
IP | Используется для выполнения нескольких задач сетевого администрирования |
ipcrm | Используется для удаления некоторых ресурсов IPC (межпроцессного взаимодействия).Он исключает объекты IPC и связанную с ними структуру данных из системы |
ipcs | Показывает информацию о средствах связи между процессами, для которых вызывающий процесс имеет доступ на чтение. |
iptables | Используется для настройки и обслуживания таблиц брандмауэра Netfilter для IPv4, включенного в ядро Linux |
iptables-save | Он сохранит текущие правила iptables в указанном пользователем файле, который может быть использован позже, когда пользователь захочет. |
iwconfig | Используется для отображения параметров и статистики беспроводной сети, которые извлекаются из / proc / net / wireless |
присоединиться | Это утилита командной строки для соединения строк двух файлов на основе ключевого поля, присутствующего в обоих файлах. |
journalctl | Используется для просмотра журналов systemd, ядра и журнала |
убить | Используется для завершения процессов вручную.Команда kill отправляет сигнал процессу, который завершает процесс |
последняя | Используется для отображения списка всех пользователей, вошедших в систему и вышедших из нее с момента создания файла / var / log / wtmp |
меньше | Используется для чтения содержимого текстового файла по одной странице (один экран) за раз |
пусть | Используется для оценки арифметических выражений переменных оболочки |
пер. | Используется для создания ссылок между файлами |
найти | Используется для поиска файлов по имени |
внешний вид | Показывает строки, начинающиеся с заданной строки |
lsblk | Используется для отображения сведений о блочных устройствах, и эти блочные устройства (кроме оперативного диска) в основном представляют собой файлы, которые представляют устройства, подключенные к компьютеру. |
lshw | Используется для генерации подробной информации об аппаратной конфигурации системы из различных файлов в каталоге / proc. |
lsmod | Используется для отображения состояния модулей в ядре Linux. В результате получается список загруженных модулей |
фунтов | Предоставляет список открытых файлов |
LSUSB | Используется для отображения информации о шинах USB и подключенных к ним устройствах |
mailq | Эта команда в Linux печатает очередь почты i.e список сообщений, находящихся в очереди почты |
человек | Используется для отображения руководства пользователя любой команды, которую мы можем запустить на терминале |
md5sum | Для проверки целостности данных с помощью MD5 (алгоритм 5 дайджеста сообщения) |
мкдир | Позволяет пользователю создавать каталоги. Эта команда может создать несколько каталогов одновременно |
modinfo | Используется для отображения информации о модуле ядра Linux |
далее | Используется для просмотра текстовых файлов в командной строке, отображая по одному экрану, если файл большой (например, файлы журнала) |
крепление | Используется для монтирования файловой системы, найденной на устройстве, в большую древовидную структуру (файловая система Linux) с корнем ‘/‘ |
mpstat | Используется для вывода статистики, связанной с процессором. |
мв | Используется для перемещения одного или нескольких файлов или каталогов из одного места в другое в файловой системе, например UNIX |
NC (netcat) | Это один из мощных сетевых инструментов, инструментов безопасности или инструментов сетевого мониторинга. |
netstat | Отображает различную информацию, связанную с сетью, такую как сетевые соединения, таблицы маршрутизации, статистику интерфейсов, маскарадные соединения, многоадресное членство и т. Д. |
нмкли | Используется для управления NetworkManager. nmcli commnad также может использоваться для отображения статуса сетевого устройства, создания, редактирования, активации / деактивации и удаления сетевых подключений |
nslookup | Это инструмент сетевого администрирования для запроса системы доменных имен (DNS) для получения доменного имени или сопоставления IP-адреса или любой другой конкретной записи DNS. |
из | Используется для преобразования содержимого ввода в различные форматы с восьмеричным форматом в качестве формата по умолчанию |
пароль | Используется для изменения паролей учетных записей пользователей |
паста | Используется для объединения файлов по горизонтали (параллельное слияние) путем вывода строк, состоящих из строк из каждого указанного файла, разделенных табуляцией в качестве разделителя, на стандартный вывод |
пидоф | Используется для определения идентификаторов процессов конкретной запущенной программы |
пинг | Используется для проверки сетевого подключения между хостом и сервером / хостом |
мизинец | Это команда поиска информации о пользователе, которая дает подробную информацию обо всех пользователях, вошедших в систему.В отличие от пальца, на мизинце вы можете обрезать интересующую вас информацию. |
pmap | Используется для отображения карты памяти процесса. Карта памяти показывает, как распределена память |
отключение питания | Посылает сигнал ACPI, который предписывает системе выключить питание |
printf | Используется для отображения заданной строки, числа или любого другого спецификатора формата в окне терминала |
пс | Используется для перечисления текущих запущенных процессов и их PID вместе с некоторой другой информацией, зависит от различных параметров |
pwd | Выводит путь к рабочему каталогу, начиная с корня |
ранлиб | Используется для создания индекса архива |
rcp | Используется для копирования файлов с одного компьютера на другой |
читать | Считывает общее количество байтов из указанного файлового дескриптора в буфер. |
readelf | Используется для получения информации о файлах ELF (исполняемый и связываемый формат) |
ссылка для чтения | Используется для печати разрешенных символических ссылок или канонических имен файлов |
перезагрузка | Указывает системе на перезагрузку или перезагрузку |
переименовать | Используется для переименования названных файлов в соответствии с регулярным выражением perlexpr |
сброс | Используется для инициализации терминала.Это полезно, когда программа умирает, оставляя терминал в ненормальном состоянии |
восстановить | Используется для восстановления файлов из резервной копии, созданной с помощью дампа |
возврат | Используется для выхода из функции оболочки. |
рев. | Используется для переворота строк по символам |
п.м | Используется для удаления таких объектов, как файлы, каталоги, символические ссылки и т. Д. Из файловой системы, например UNIX |
rmdir | Используется для удаления пустых каталогов из файловой системы в Linux |
rmmod | Используется для удаления модуля из ядра |
маршрут | Используется, если вы хотите работать с таблицей маршрутизации IP / ядра |
rsync | Это программная утилита для Unix-подобных систем, которая эффективно синхронизирует файлы и каталоги между двумя хостами или машинами. |
сар | Используется для мониторинга ресурсов системы Linux, таких как использование ЦП, использование памяти, потребление устройств ввода-вывода и т. Д. |
scp | Используется для безопасного копирования файлов между серверами. |
экран | Предоставляет возможность запускать и использовать несколько сеансов оболочки из одного сеанса ssh |
сценарий | Используется для машинописного текста или записи всех действий терминала |
сценарий повтора | Используется для воспроизведения машинописного текста / активности_терминала, хранящегося в файле журнала, который был записан командой сценария |
sdiff | Используется для сравнения двух файлов с последующей записью результатов в стандартный вывод в параллельном формате |
сед | Используется для поиска, фильтрации, подстановки текста, замены и манипуляций с текстом, таких как вставка, поиск удаления и т. Д. |
выберите | Используется для создания нумерованного меню, из которого пользователь может выбрать опцию |
след | Используется для генерации чисел от ПЕРВОГО до ПОСЛЕДНЕГО с шагом увеличения |
наборов | Используется для запуска программы в новом сеансе |
смена | Сдвигает / перемещает аргументы командной строки на одну позицию влево. |
ключ | выводит на стандартный вывод либо скан-коды, либо код клавиши, либо код ascii для каждой нажатой клавиши |
клочья | Используется для полного удаления файла с жесткого диска |
остановка | Используется для безопасного отключения системы |
сон | Используется для создания фиктивного задания.Фиктивная работа помогает отсрочить выполнение |
источник | Используется для чтения и выполнения содержимого файла (обычно набора команд), переданного в качестве аргумента в текущем сценарии оболочки |
сортировать | Используется для сортировки файла с упорядочением записей в определенном порядке |
раздельный | Используется для разделения больших файлов на файлы меньшего размера |
SSH | Протокол, используемый для безопасного подключения к удаленному серверу / системе |
strace | Это один из самых мощных инструментов для мониторинга, диагностики и обучения Linux. |
stty | Используется для изменения и печати настроек линии терминала |
судо | Используется как префикс некоторых команд, которые разрешено запускать только суперпользователю. |
сумма | Используется для определения контрольной суммы и подсчета блоков в файле |
синхронизация | Используется для синхронизации кэшированной записи в постоянное хранилище |
systemctl | Используется для проверки и контроля состояния системы «systemd» и диспетчера служб |
такс | Используется для объединения и печати файлов в обратном порядке |
Хвост | Печатает последние N данных указанного входа |
гудрон | Используется для создания архива и извлечения файлов архива |
тройник | Читает стандартный ввод и записывает его как в стандартный вывод, так и в один или несколько файлов. |
время | Используется для выполнения команды и распечатывает сводку реального времени, пользовательского времени центрального процессора и системного времени центрального процессора, затраченного на выполнение команды, когда она завершается. |
верх | Обеспечивает динамический просмотр работающей системы в реальном времени. |
сенсорный | Используется для создания, изменения и модификации временных меток файла |
tr | Это утилита командной строки для перевода или удаления символов |
путь трассировки | Используется для отслеживания пути к месту назначения, обнаруживая MTU на этом пути |
traceroute | Распечатывает маршрут, по которому пакет достигает хоста |
Дерево | Рекурсивная программа для просмотра каталогов, которая создает список файлов с глубоким отступом. |
tty | Отображает информацию, относящуюся к терминалу.Он в основном печатает имя файла терминала, подключенного к стандартному вводу |
тип | Используется для описания того, как его аргумент будет преобразован, если используется в качестве команд |
без названия | Отображает информацию о системе |
не раскрыть | Преобразует каждый пробел в табуляцию, записывая полученный результат в стандартный вывод |
uniq | Это утилита командной строки, которая сообщает или отфильтровывает повторяющиеся строки в файле. |
unix2dos | Преобразует текстовый файл Unix в формат DOS |
до | Используется для выполнения набора команд до тех пор, пока последняя команда в командах «до» имеет статус выхода, отличный от нуля. |
Время работы | Используется, чтобы узнать, как долго система активна (работает) |
useradd | Используется для добавления учетных записей пользователей в вашу систему |
usermod | Используется для изменения свойств пользователя в Linux через командную строку |
имя пользователя | Он предоставляет набор команд для получения имени пользователя и его конфигураций с хоста Linux |
пользователей | Используется для отображения имен пользователей, которые в данный момент вошли в систему на текущем хосте |
userdel | Используется для удаления учетной записи пользователя и связанных файлов |
vi | Это редактор по умолчанию, который поставляется с операционной системой UNIX и называется визуальным редактором. |
vmstat | Это команда мониторинга производительности системы, поскольку она предоставляет информацию о процессах, памяти, подкачке страниц, блочном вводе-выводе, диске и планировании ЦП. |
внстат | Используется системными администраторами для мониторинга параметров сети, таких как потребление полосы пропускания или, возможно, некоторый входящий или исходящий трафик. |
Вт | Используется, чтобы показать, кто вошел в систему и что они делают |
стенка | Отображает сообщение, или содержимое файла, или иным образом его стандартный ввод на терминалах всех пользователей, вошедших в систему в данный момент. |
часы | Используется для периодического выполнения программы с отображением вывода в полноэкранном режиме |
туалет | Используется для определения количества строк, количества слов, байтов и символов в файлах, указанных в аргументах файла. |
Wget | Используется для загрузки файлов с сервера, даже если пользователь не вошел в систему, и он может работать в фоновом режиме, не мешая текущему процессу |
whatis | Используется для получения однострочного описания страниц руководства |
из которых | Используется для поиска исполняемого файла, связанного с данной командой, путем поиска его в переменной среды path |
а | Используется для многократного выполнения набора команд до тех пор, пока КОМАНДА возвращает истину |
кто | Используется для получения информации о текущем авторизованном пользователе в системе |
whoami | Отображает имя текущего пользователя при вызове этой команды |
запись | Позволяет пользователю общаться с другими пользователями, копируя строки с одного пользовательского терминала на другой |
xargs | Используется для создания и выполнения команд из стандартного ввода.Он преобразует ввод, полученный из стандартного ввода, в аргументы команды |
xdg-open | Используется для открытия файла или URL-адреса в предпочитаемом пользователем приложении |
да | Используется для печати непрерывного потока вывода заданной СТРОКИ. Если STRING не упоминается, выводится «y» |
zdiff | Используется для вызова программы сравнения файлов, сжатых с помощью gzip |
zdump | Используется для печати текущего времени в указанной зоне или, можно сказать, печатает текущее время в каждом имени зоны, указанном в командной строке. |
zgrep | Используется для поиска выражений в заданном файле, даже если он сжат |
почтовый индекс | Это утилита сжатия и упаковки файлов для Unix.Каждый файл хранится в одном файле .zip {.zip-filename} с расширением .zip |
Последние статьи о Linux / Unix!
Подробнее о командах Linux:
Изучите основы Linux — Учебник по командам Bash для начинающих
Это руководство по командам Linux будет охватывать 60 основных команд Bash, которые понадобятся вам как разработчику. Каждая команда включает пример кода и подсказки, когда ее использовать.
Этот справочник команд Linux следует правилу 80/20: вы выучите 80% темы примерно за 20% времени, потраченного на ее изучение.
Я считаю, что этот подход дает вам всесторонний обзор.
Это руководство не пытается охватить все, что связано с Linux и его командами. Он фокусируется на небольших основных командах, которые вы будете использовать 80% или 90% времени, и пытается упростить использование более сложных.
Все эти команды работают в Linux, macOS, WSL и везде, где есть среда UNIX.
Я надеюсь, что содержание этого руководства поможет вам добиться того, чего вы хотите: освоиться с Linux .
Вы можете добавить эту страницу в закладки в своем браузере, чтобы иметь возможность ссылаться на это руководство в будущем.
И вы можете скачать это руководство в формате PDF / ePUB / Mobi бесплатно.
Наслаждайтесь!
Содержание
Введение в Linux и оболочки
Что такое Linux?
Linux — это операционная система, такая же как macOS или Windows.
Это также самая популярная операционная система с открытым исходным кодом, которая дает вам большую свободу.
Он поддерживает подавляющее большинство серверов, составляющих Интернет.Это основа, на которой все построено. Но не только это. Android основан на (модифицированной версии) Linux.
«Ядро» Linux (называемое ядром ) появилось в 1991 году в Финляндии и прошло очень долгий путь от своего скромного начала. Он стал ядром операционной системы GNU, создав дуэт GNU / Linux.
В Linux есть одна вещь, которую корпорации вроде Microsoft, Apple и Google никогда не смогут предложить: свобода делать со своим компьютером все, что угодно.
На самом деле они идут в противоположном направлении, строя огороженные сады, особенно на передвижной стороне.
Linux — это максимальная свобода.
Он разрабатывается добровольцами, некоторым платят компании, которые полагаются на него, а некоторые — независимо. Но нет ни одной коммерческой компании, которая могла бы определять, что входит в Linux или приоритеты проекта.
Вы также можете использовать Linux в качестве повседневного компьютера. Я использую macOS, потому что мне очень нравятся приложения и дизайн (а еще я был разработчиком приложений для iOS и Mac).Но перед тем, как использовать macOS, я использовал Linux в качестве основной операционной системы компьютера.
Никто не может диктовать, какие приложения вы можете запускать или «звонить домой» с приложениями, которые отслеживают вас, ваше положение и многое другое.
Linux также особенный, потому что существует не просто «один Linux», как в случае с Windows или macOS. Вместо этого у нас есть дистрибутивов .
«Дистрибутив» производится компанией или организацией и содержит ядро Linux с дополнительными программами и инструментами.
Например, у вас есть Debian, Red Hat и Ubuntu, вероятно, самые популярные дистрибутивы.
Но существует гораздо больше. Вы также можете создать свой собственный дистрибутив. Но, скорее всего, вы воспользуетесь популярным, у которого много пользователей и сообщество людей вокруг него. Это позволяет вам делать то, что вам нужно, не теряя слишком много времени на изобретение колеса и поиск ответов на общие проблемы.
Некоторые настольные компьютеры и ноутбуки поставляются с предустановленной ОС Linux. Или вы можете установить его на свой компьютер под управлением Windows или на Mac.
Но вам не нужно нарушать работу вашего существующего компьютера только для того, чтобы получить представление о том, как работает Linux.
У меня нет компьютера с Linux.
Если вы используете Mac, вам просто нужно знать, что под капотом macOS находится операционная система UNIX. В нем много общих идей и программного обеспечения, которые используются в системе GNU / Linux, потому что GNU / Linux является бесплатной альтернативой UNIX.
UNIX — это общий термин, который объединяет многие операционные системы, используемые в крупных корпорациях и учреждениях, начиная с 70-х годов
Терминал macOS предоставляет вам доступ к тем же самым командам, которые я опишу в оставшейся части этого руководства.
Microsoft имеет официальную подсистему Windows для Linux, которую вы можете (и должны!) Установить в Windows. Это даст вам возможность очень легко запускать Linux на вашем ПК.
Но в подавляющем большинстве случаев вы будете запускать компьютер с Linux в облаке через VPS (виртуальный частный сервер), такой как DigitalOcean.
Что такое оболочка Linux?
Оболочка — это интерпретатор команд, который предоставляет пользователю интерфейс для работы с базовой операционной системой.
Он позволяет выполнять операции с помощью текста и команд, а также предоставляет пользователям расширенные функции, такие как возможность создавать сценарии.
Это важно: оболочки позволяют выполнять задачи более оптимизированным образом, чем графический интерфейс пользователя (графический пользовательский интерфейс) может позволить вам это сделать. Инструменты командной строки могут предлагать множество различных параметров конфигурации, не будучи слишком сложными в использовании.
Есть много разных видов снарядов. Этот пост посвящен оболочкам Unix, которые обычно встречаются на компьютерах с Linux и macOS.
Со временем для этих систем было создано множество различных оболочек, и некоторые из них доминируют в пространстве: Bash, Csh, Zsh, Fish и многие другие!
Все снаряды происходят от Bourne Shell, называемого sh
. «Борн», потому что его создателем был Стив Борн.
Bash означает оболочку Bourne-Again . sh
был проприетарным, а не открытым исходным кодом, а Bash был создан в 1989 году, чтобы создать бесплатную альтернативу проекту GNU и Free Software Foundation.Поскольку за использование оболочки Bourne проектам приходилось платить, Bash стал очень популярным.
Если вы используете Mac, попробуйте открыть терминал Mac. По умолчанию он запускает ZSH (или до-Catalina, Bash).
Вы можете настроить свою систему для запуска любой оболочки — например, я использую оболочку Fish.
Каждая оболочка имеет свои уникальные особенности и расширенное использование, но все они имеют общие функции: они позволяют выполнять программы, и их можно программировать.
В оставшейся части этого руководства мы подробно рассмотрим наиболее распространенные команды, которые вы будете использовать.
Команда Linux
man
Первая команда, которую я представлю, поможет вам понять все остальные команды.
Каждый раз, когда я не знаю, как использовать команду, я набираю man
, чтобы получить руководство:
Это страница человека (из _manual_ ). Страницы руководства — важный инструмент, который нужно изучить разработчику. В них содержится столько информации, что иногда ее даже слишком много.
Приведенный выше снимок экрана — это всего лишь 1 из 14 экранов с объяснением команды ls
.
В большинстве случаев, когда мне нужно быстро выучить команду, я использую этот сайт под названием tldr pages : https://tldr.sh. Вы можете установить эту команду и запустить ее следующим образом: tldr
. Он дает вам очень быстрый обзор команды с некоторыми удобными примерами распространенных сценариев использования:
Это не замена для man
, а удобный инструмент, позволяющий не потеряться в огромном количестве информации, присутствующей в man
стр.Затем вы можете использовать страницу man
для изучения всех различных опций и параметров, которые вы можете использовать в команде.
Команда Linux
ls
Внутри папки вы можете перечислить все файлы, содержащиеся в папке, с помощью команды ls
:
лс
Если вы добавите имя папки или путь, она распечатает содержимое этой папки:
лс / бин
ls
принимает множество опций.Одна из моих любимых комбинаций — -al
. Попробуйте:
ls -al / bin
По сравнению с простой командой ls
, она возвращает гораздо больше информации.
У вас слева направо:
- права доступа к файлам (и если ваша система поддерживает ACL, вы также получите флаг ACL)
- количество ссылок на этот файл
- владелец файла
- группа файла
- размер файла в байтах
- дата и время последнего изменения файла
- имя файла
Этот набор данных создается опцией l
.Варианты и
вместо этого также показывают скрытые файлы.
Скрытые файлы — это файлы, начинающиеся с точки (.
).
Команда Linux
cd
Если у вас есть папка, вы можете перейти в нее с помощью команды cd
. cd
означает c hange d irectory. Вы вызываете его, указывая папку, в которую нужно перейти. Вы можете указать имя папки или весь путь.
Пример:
мкдир фруктов
cd фрукты
Теперь вы находитесь в папке fruit
.
Вы можете использовать специальный путь ..
для указания родительской папки:
cd .. # вернуться в домашнюю папку
Символ # обозначает начало комментария, которое длится всю строку после того, как он был найден.
Вы можете использовать его для создания пути:
мкдир фруктов
mkdir автомобили
cd фрукты
cd ../cars
Существует еще один специальный индикатор пути — .
и указывает на текущую папку .
Вы также можете использовать абсолютные пути, которые начинаются с корневой папки /
:
cd / и т. Д.
Команда Linux
pwd
Всякий раз, когда вы чувствуете себя потерянным в файловой системе, вызовите команду pwd
, чтобы узнать, где вы находитесь:
pwd
Будет напечатан путь к текущей папке.
Команда Linux
mkdir
Папки создаются с помощью команды mkdir
:
мкдир фруктов
Вы можете создать несколько папок с помощью одной команды:
mkdir собаки тачки
Вы также можете создать несколько вложенных папок, добавив параметр -p
:
mkdir -p фрукты / яблоки
Параметры в командах UNIX обычно принимают эту форму.Вы добавляете их сразу после имени команды, и они изменяют поведение команды. Вы также можете часто комбинировать несколько вариантов.
Вы можете узнать, какие параметры поддерживает команда, набрав man
. Попробуйте сейчас, например, с помощью man mkdir
(нажмите клавишу q
, чтобы перейти на страницу руководства). Страницы руководства — это замечательная встроенная справка для UNIX.
Команда Linux
rmdir
Так же, как вы можете создать папку с помощью mkdir
, вы можете удалить папку с помощью rmdir
:
мкдир фруктов
rmdir фрукты
Вы также можете удалить сразу несколько папок:
мкдир фрукты тачки
rmdir фрукты автомобили
Удаляемая папка должна быть пустой.
Чтобы удалить папки с файлами в них, мы будем использовать более общую команду rm
, которая удаляет файлы и папки, используя опцию -rf
:
rm -rf фрукты автомобили
Будьте осторожны, поскольку эта команда не запрашивает подтверждения и немедленно удаляет все, что вы просите удалить.
Нет bin при удалении файлов из командной строки, и восстановление потерянных файлов может быть трудным.
Команда Linux
mv
Если у вас есть файл, вы можете перемещать его с помощью команды mv
.Вы указываете текущий путь к файлу и его новый путь:
сенсорный тест
мв груша new_pear
Файл pear
теперь перемещен в new_pear
. Вот как вы, , переименуете файлов и папок.
Если последним параметром является папка, файл, расположенный по пути первого параметра, будет перемещен в эту папку. В этом случае вы можете указать список файлов, и все они будут перемещены по пути к папке, указанному последним параметром:
сенсорная груша
прикоснуться к яблоку
mkdir фрукты
мв груша яблоко фрукты # копье и яблоко перемещены в папку с фруктами
Команда Linux
cp
Вы можете скопировать файл с помощью команды cp
:
сенсорный тест
cp яблоко another_apple
Для копирования папок необходимо добавить опцию -r
для рекурсивного копирования всего содержимого папки:
мкдир фруктов
cp -r фрукты автомобили
Команда Linux
open
Команда open
позволяет открывать файл, используя следующий синтаксис:
открыть <имя файла>
Вы также можете открыть каталог, который в macOS открывает приложение Finder с открытым текущим каталогом:
открыть <имя каталога>
Я использую его постоянно, чтобы открыть текущий каталог:
открытый.
Особый
. Символ
указывает на текущий каталог, а..
указывает на родительский каталог.
Эту же команду можно использовать для запуска приложения:
открыть <название приложения>
Команда Linux
touch
Вы можете создать пустой файл с помощью команды touch
:
сенсорный яблоко
Если файл уже существует, он открывает файл в режиме записи, и метка времени файла обновляется.
Команда Linux
find
Команда find
может использоваться для поиска файлов или папок, соответствующих определенному шаблону поиска. Поиск выполняется рекурсивно.
Давайте узнаем, как им пользоваться на примере.
Найдите все файлы в текущем дереве с расширением .js
и распечатайте относительный путь к каждому файлу, который соответствует:
найти. -name '* .js'
Важно использовать кавычки вокруг специальных символов, таких как *
, чтобы оболочка не интерпретировала их.
Найти каталоги в текущем дереве, соответствующие имени «src»:
найти. -type d -name src
Используйте -тип f
для поиска только файлов или -тип l
для поиска только символьных ссылок.
-name
чувствительно к регистру. используйте -iname
для выполнения поиска без учета регистра.
Вы можете искать по нескольким корневым деревьям:
найти папку1 папку2-имя имя_файла.txt
Найти каталоги в текущем дереве, соответствующие имени «node_modules» или «public»:
найти.-type d -name node_modules -или -name public
Вы также можете исключить путь, используя -not -path
:
найти. -type d -name '* .md' -not -path 'node_modules / *'
Вы можете искать файлы, содержащие более 100 символов (байтов):
найти. -тип f -размер + 100c
Искать файлы размером более 100 КБ, но меньше 1 МБ:
найти. -тип f -размер + 100k -размер -1M
Искать файлы, отредактированные более 3 дней назад:
найти.-тип f -mtime +3
Искать файлы, отредактированные за последние 24 часа:
найти. -type f -mtime -1
Вы можете удалить все файлы, соответствующие поисковому запросу, добавив опцию -delete
. Это удалит все файлы, отредактированные за последние 24 часа:
найти. -type f -mtime -1 -delete
Вы можете выполнить команду для каждого результата поиска. В этом примере мы запускаем cat
для печати содержимого файла:
найти.-type f -exec cat {} \;
Обратите внимание на прекращение \;
. {}
заполняется именем файла во время выполнения.
Команда Linux
ln
Команда ln
является частью команд файловой системы Linux.
Используется для создания ссылок. Что такое ссылка? Это как указатель на другой файл или файл, указывающий на другой файл. Возможно, вы знакомы с ярлыками Windows. Они похожи.
У нас есть 2 типа ссылок: жестких ссылок и мягких ссылок .
Жесткие ссылки
Жесткие ссылки используются редко. У них есть несколько ограничений: вы не можете ссылаться на каталоги и вы не можете ссылаться на внешние файловые системы (диски).
Жесткая ссылка создается с использованием следующего синтаксиса:
ln <оригинал> <ссылка>
Например, у вас есть файл recipes.txt. Вы можете создать жесткую ссылку на него, используя:
ln recipes.txt newrecipes.txt
Созданная вами новая жесткая ссылка неотличима от обычного файла:
Теперь каждый раз, когда вы редактируете любой из этих файлов, содержимое обоих файлов обновляется.
Если вы удалите исходный файл, ссылка все равно будет содержать содержимое исходного файла, так как оно не удаляется, пока на него не будет указана одна жесткая ссылка.
Программные ссылки
Софт линки разные. Они более мощные, поскольку вы можете связываться с другими файловыми системами и каталогами. Но учтите, что при удалении оригинала ссылка будет разорвана.
Вы создаете программные ссылки, используя опцию -s
ln
:
ln -s <оригинал> <ссылка>
Например, у вас есть файл рецептов.текст. Вы можете создать на него софт-ссылку, используя:
ln -s recipes.txt newrecipes.txt
В этом случае вы можете увидеть специальный флаг l
, когда вы перечисляете файл с помощью ls -al
. Имя файла имеет в конце @
, и он также окрашен по-разному, если у вас включены цвета:
Теперь, если вы удалите исходный файл, ссылки будут разорваны, и оболочка сообщит вам «Нет такого файла или каталога», если вы попытаетесь получить к нему доступ:
Команда Linux
gzip
Вы можете сжать файл, используя протокол сжатия gzip с именем LZ77, используя команду gzip
.
Вот простейшее использование:
gzip имя файла
Это сжимает файл и добавляет к нему расширение .gz
. Исходный файл удаляется.
Чтобы предотвратить это, вы можете использовать опцию -c
и использовать перенаправление вывода для записи вывода в файл filename.gz
:
gzip -c имя_файла> имя_файла.gz
Параметр
-c
указывает, что вывод будет идти в стандартный поток вывода, оставляя исходный файл нетронутым.
Или вы можете использовать опцию -k
:
gzip -k имя файла
Есть разные уровни сжатия. Чем сильнее сжатие, тем больше времени потребуется для сжатия (и распаковки). Уровни варьируются от 1 (самое быстрое, худшее сжатие) до 9 (самое медленное, лучшее сжатие), по умолчанию — 6.
Вы можете выбрать определенный уровень с помощью опции - <НОМЕР>
:
gzip -1 имя файла
Вы можете сжать несколько файлов, перечислив их:
gzip имя_файла1 имя_файла2
Вы можете рекурсивно сжать все файлы в каталоге, используя параметр -r
:
gzip -r a_folder
Параметр -v
выводит информацию о степени сжатия.Вот пример его использования вместе с опцией -k
(сохранить):
gzip
также можно использовать для распаковки файла с помощью параметра -d
:
gzip -d имя_файла.gz
Команда Linux
gunzip
Команда gunzip
в основном эквивалентна команде gzip
, за исключением того, что опция -d
всегда включена по умолчанию.
Команду можно вызвать следующим образом:
имя файла gunzip.gz
Это произведет сжатие с помощью gunzip и удалит расширение .gz
, поместив результат в имя файла
. Если этот файл существует, он перезапишет его.
Вы можете извлечь файл в другое имя, используя перенаправление вывода с помощью параметра -c
:
gunzip -c filename.gz> другое имя файла
Команда Linux
tar
Команда tar
используется для создания архива, группируя несколько файлов в один файл.
Его название происходит из прошлого и означает ленточный архив (в те времена, когда архивы хранились на магнитных лентах).
Эта команда создает архив с именем archive.tar
с содержимым file1
и file2
:
tar -cf archive.tar файл1 файл2
Параметр
c
означает создать . Опцияf
используется для записи в файл архива.
Для извлечения файлов из архива в текущей папке используйте:
tar -xf архив.деготь
вариант
x
означает извлечение .
И чтобы извлечь их в определенный каталог, используйте:
tar -xf archive.tar -C каталог
Вы также можете просто перечислить файлы, содержащиеся в архиве:
tar
часто используется для создания сжатого архива , архивируя архив с помощью gzip.
Это делается с помощью опции z
:
tar -czf архив.tar.gz файл1 файл2
Это похоже на создание tar-архива с последующим запуском на нем gzip
.
Чтобы разархивировать gzip-архив, вы можете использовать gunzip
или gzip -d
, а затем разархивировать его. Но tar -xf
распознает, что это сжатый архив, и сделает это за вас:
tar -xf archive.tar.gz
Команда Linux
псевдоним
Обычно всегда запускают программу с набором параметров, которые вам нравятся.
Например, возьмите команду ls
. По умолчанию выводится очень мало информации:
Но если вы используете параметр -al
, он напечатает что-то более полезное, включая дату изменения файла, размер, владельца и разрешения. В нем также будут перечислены скрытые файлы (файлы, начинающиеся с .
):
Вы можете создать новую команду, например, мне нравится называть ее ll
, это псевдоним ls -al
.
У вас это так:
псевдоним ll = 'ls -al'
Как только вы это сделаете, вы можете позвонить ll
так же, как это была обычная команда UNIX:
Теперь при вызове псевдонима
без какой-либо опции будут перечислены определенные псевдонимы:
Псевдоним будет работать до закрытия терминального сеанса.
Чтобы сделать его постоянным, вам нужно добавить его в конфигурацию оболочки. Это может быть ~ / .bashrc
или ~ /.profile
или ~ / .bash_profile
, если вы используете оболочку Bash, в зависимости от варианта использования.
Будьте осторожны с кавычками, если у вас есть переменные в команде: если вы используете двойные кавычки, переменная разрешается во время определения. Если вы используете одинарные кавычки, это разрешается во время вызова. Эти двое разные:
псевдоним lsthis = "ls $ PWD"
псевдоним lscurrent = 'ls $ PWD'
$ PWD относится к текущей папке, в которой находится оболочка. Если теперь вы перейдете к новой папке, lscurrent
перечислит файлы в новой папке, тогда как lsthis
по-прежнему перечислит файлы в папке, где вы были, когда вы определил псевдоним.
Команда Linux
cat
В некотором смысле похожа на tail
, у нас есть cat
. Кроме cat
также может добавлять контент в файл, и это делает его очень мощным.
В простейшем случае cat
выводит содержимое файла на стандартный вывод:
cat файл
Вы можете распечатать содержимое нескольких файлов:
кот файл1 файл2
и используя оператор перенаправления вывода >
, вы можете объединить содержимое нескольких файлов в новый файл:
кот файл1 файл2> файл3
Используя >>
, вы можете добавить содержимое нескольких файлов в новый файл, создав его, если он не существует:
cat файл1 файл2 >> файл3
Когда вы просматриваете файлы исходного кода, полезно видеть номера строк.Вы можете указать cat
напечатать их, используя опцию -n
:
cat -n file1
Вы можете добавить число только к непустым строкам, используя -b
, или вы также можете удалить все несколько пустых строк, используя -s
.
cat
часто используется в сочетании с оператором трубы |
для передачи содержимого файла в качестве входных данных другой команде: cat file1 | другая команда
.
Команда Linux
less
Я часто использую команду less
.Он показывает вам контент, хранящийся внутри файла, в красивом и интерактивном пользовательском интерфейсе.
Использование: минус <имя файла>
.
Как только вы войдете в сеанс минус
, вы можете выйти, нажав q
.
Вы можете перемещаться по содержимому файла с помощью клавиш вверх
и вниз
или используя клавишу пробела
и b
для перехода от страницы к странице. Вы также можете перейти к концу файла, нажав G
, и вернуться к началу, нажав g
.
Вы можете искать содержимое внутри файла, нажав /
и введя слово для поиска. Это поиск вперед . Вы можете искать в обратном направлении, используя ?
символ и ввод слова.
Эта команда просто визуализирует содержимое файла. Вы можете напрямую открыть редактор, нажав v
. Он будет использовать системный редактор, которым в большинстве случаев является vim
.
Нажатие клавиши F
включает режим слежения или режим просмотра .Когда файл изменяется кем-то другим, например, из другой программы, вы можете увидеть изменения в реальном времени .
По умолчанию этого не происходит, и вы видите только версию файла на момент его открытия. Вам нужно нажать ctrl-C
, чтобы выйти из этого режима. В этом случае поведение аналогично запуску команды tail -f
.
Вы можете открывать несколько файлов и перемещаться по ним с помощью : n
(для перехода к следующему файлу) и : p
(для перехода к предыдущему).
Linux
tail
команда
На мой взгляд, лучший вариант использования tail — это вызов с опцией -f
. Он открывает файл в конце и следит за изменениями файла.
Каждый раз, когда в файле появляется новое содержимое, оно печатается в окне. Это отлично подходит для просмотра файлов журнала, например:
хвост -f /var/log/system.log
Для выхода нажмите ctrl-C
.
Вы можете распечатать последние 10 строк файла:
tail -n 10 <имя файла>
Вы можете распечатать все содержимое файла, начиная с определенной строки, используя +
перед номером строки:
tail -n +10 <имя файла>
tail
может намного больше, и, как всегда, я советую проверить man tail
.
Команда Linux
wc
Команда wc
дает нам полезную информацию о файле или входных данных, которые он получает по каналам.
эхо-тест >> test.txt
туалет test.txt
1 1 5 test.txt
Пример через каналы, мы можем подсчитать результат выполнения команды ls -al
:
ls -al | Туалет
6 47 284
Первый возвращаемый столбец — это количество строк. Второй — количество слов.Третий — это количество байтов.
Мы можем сказать, что он просто считает строки:
туалет -l test.txt
или просто слова:
wc -w test.txt
или просто байты:
туалет -c test.txt
байтов в кодировке ASCII приравниваются к символам. Но с кодировками, отличными от ASCII, количество символов может отличаться, потому что некоторые символы могут занимать несколько байтов (например, это происходит в Unicode).
В этом случае флаг -m
поможет вам получить правильное значение:
туалет -m test.txt
Команда Linux
grep
Команда grep
— очень полезный инструмент. Когда вы овладеете им, это очень поможет вам в повседневном программировании.
Если вам интересно,
grep
обозначает глобальное регулярное выражение print .
Вы можете использовать grep
для поиска в файлах или объединить его с конвейерами для фильтрации вывода другой команды.
Например, вот как мы можем найти вхождения строки document.getElementById
в файле index.md
:
grep -n document.getElementById index.md
Используя опцию -n
, он покажет номера строк:
grep -n document.getElementById index.md
Одна очень полезная вещь — указать grep печатать 2 строки до и 2 строки после совпадающей строки, чтобы дать вам больше контекста.Это делается с помощью опции -C
, которая принимает несколько строк:
grep -nC 2 document.getElementById index.md
Поиск по умолчанию чувствителен к регистру. Используйте флаг -i
, чтобы сделать его нечувствительным.
Как уже упоминалось, вы можете использовать grep для фильтрации вывода другой команды. Мы можем воспроизвести те же функции, что и выше, используя:
меньше index.md | grep -n document.getElementById
Строка поиска может быть регулярным выражением, и это делает grep
очень мощным.
Еще одна вещь, которую вы можете найти очень полезной, — это инвертировать результат, исключив строки, соответствующие определенной строке, с помощью параметра -v
:
Команда Linux
sort
Предположим, у вас есть текстовый файл, содержащий имена собак:
Этот список неупорядочен.
Команда sort
помогает отсортировать их по имени:
Используйте опцию r
, чтобы изменить порядок:
Сортировка по умолчанию чувствительна к регистру и по алфавиту.Используйте параметр --ignore-case
для сортировки без учета регистра и параметр -n
для сортировки с использованием числового порядка.
Если файл содержит повторяющиеся строки:
Вы можете использовать опцию -u
для их удаления:
sort
работает не только с файлами, как многие команды UNIX, но и с конвейерами. Таким образом, вы можете использовать его на выходе другой команды. Например, вы можете заказать файлы, возвращаемые с помощью ls
, с помощью:
ls | Сортировать
sort
очень мощный и имеет гораздо больше опций, которые вы можете изучить, позвонив man sort
.
Команда Linux
uniq
uniq
— это команда, которая помогает сортировать строки текста.
Вы можете получить эти строки из файла или использовать каналы из вывода другой команды:
uniq dogs.txt
ls | уникальный
Вы должны учитывать одну ключевую вещь: uniq
будет обнаруживать только соседние повторяющиеся строки.
Это означает, что вы, скорее всего, будете использовать его вместе с сортировкой
:
сорт собак.txt | уникальный
У команды sort
есть собственный способ удаления дубликатов с параметром -u
( уникальный ). Но uniq
мощнее.
По умолчанию удаляет повторяющиеся строки:
Вы можете указать, чтобы он отображал только повторяющиеся строки, например, с помощью опции -d
:
sort dogs.txt | uniq -d
Вы можете использовать опцию -u
, чтобы отображать только неповторяющиеся строки:
Вы можете подсчитать количество вхождений каждой строки с опцией -c
:
Используйте специальную комбинацию:
сорт собак.txt | uniq -c | sort -nr
, чтобы отсортировать эти строки по наиболее частому:
Команда Linux
diff
diff
— удобная команда. Предположим, у вас есть 2 файла, которые содержат почти одинаковую информацию, но вы не можете найти разницу между ними.
diff
обработает файлы и расскажет, в чем разница.
Предположим, у вас есть 2 файла: dogs.txt,
и moredogs.txt
. Разница в том, что moredogs.txt
содержит еще одно имя собаки:
.
diff dogs.txt moredogs.txt
сообщит вам, что во втором файле есть еще одна строка, строка 3 с строкой Vanille
:
Если вы измените порядок файлов, он сообщит вам, что во втором файле отсутствует строка 3, содержимое которой Vanille
:
Использование опции -y
будет сравнивать 2 файла построчно:
Параметр -u
, однако, будет вам более знаком, поскольку он используется системой управления версиями Git для отображения различий между версиями:
Сравнение каталогов работает точно так же.Вы должны использовать опцию -r
для рекурсивного сравнения (переход в подкаталоги):
Если вас интересует, какие файлы отличаются, а не содержимое, используйте параметры r
и q
:
Есть много других вариантов, которые вы можете изучить на странице руководства, запустив man diff
:
Команда Linux
echo
Команда echo
выполняет одно простое задание: выводит на выход переданный ей аргумент.
Этот пример:
эхо "привет"
выведет на терминал hello
.
Мы можем добавить вывод в файл:
echo "привет" >> output.txt
Мы можем интерполировать переменные среды:
echo "Переменная пути - $ PATH"
Помните, что специальные символы необходимо экранировать обратной косой чертой \
. $
например:
Это только начало.Мы можем делать несколько приятных вещей, когда дело касается взаимодействия с функциями оболочки.
Мы можем повторить файлы в текущей папке:
эхо *
Мы можем повторить файлы в текущей папке, которые начинаются с буквы o
:
эхо о *
Здесь можно использовать любую допустимую команду и функцию Bash (или любую используемую вами оболочку).
Вы можете распечатать путь к домашней папке:
эхо ~
Вы также можете выполнять команды и выводить результат на стандартный вывод (или в файл, как вы видели):
эхо $ (ls -al)
Обратите внимание, что по умолчанию пробелы не сохраняются.Для этого вам нужно заключить команду в двойные кавычки:
Вы можете создать список строк, например диапазоны:
эхо {1..5}
Команда Linux
chown
Каждый файл / каталог в операционной системе, такой как Linux или macOS (и в каждой системе UNIX в целом), имеет владельца .
Владелец файла может все с ним делать. Он может решить судьбу этого файла.
Владелец (и пользователь root
) также может сменить владельца на другого пользователя, используя команду chown
:
chown <владелец> <файл>
Как это:
Тест Флавио Чауна.текст
Например, если у вас есть файл, который принадлежит корню
, вы не можете писать в него как другой пользователь:
Вы можете использовать chown
для передачи права собственности вам:
Довольно часто возникает необходимость изменить владельца каталога и рекурсивно всех содержащихся в нем файлов, а также всех подкаталогов и файлов, содержащихся в них.
Вы можете сделать это с помощью флага -R
:
chown -R <владелец> <файл>
Файлы / каталоги имеют не только владельца, но и группу .С помощью этой команды вы можете изменить это одновременно со сменой владельца:
chown <владелец>: <группа> <файл>
Пример:
chown flavio: пользователи test.txt
Вы также можете просто изменить группу файла с помощью команды chgrp
:
chgrp <группа> <имя файла>
Linux
chmod
команда
Каждый файл в операционных системах Linux / macOS (и системах UNIX в целом) имеет 3 разрешения: чтение, запись и выполнение.
Войдите в папку и выполните команду ls -al
.
Странные строки, которые вы видите в каждой строке файла, например drwxr-xr-x
, определяют права доступа к файлу или папке.
Давайте рассмотрим это.
Первая буква указывает на тип файла:
-
-
означает, что это обычный файл -
d
означает, что это каталог -
л
означает ссылку
Тогда у вас есть 3 набора значений:
- Первый набор представляет права владельца файла
- Второй набор представляет разрешения членов группы файл связан с
- Третий набор представляет разрешения для всех остальных
Эти наборы состоят из 3 значений. rwx
означает, что конкретная персона имеет доступ на чтение, запись и выполнение. Все, что удаляется, заменяется на -
, что позволяет формировать различные комбинации значений и относительных разрешений: rw-
, r-
, r-x
и т. Д.
Вы можете изменить разрешения, предоставленные файлу, с помощью команды chmod
.
chmod
можно использовать двумя способами. Первый использует символьные аргументы, второй — числовые аргументы.Начнем сначала с символов, что более интуитивно понятно.
Вы вводите chmod
, затем пробел и букву:
-
a
обозначает все -
u
обозначает пользователя -
г
обозначает группу -
o
обозначает другие
Затем вы набираете +
или -
, чтобы добавить разрешение или удалить его. Затем вы вводите один или несколько символов разрешений ( r
, w
, x
).
Все, за которыми следует имя файла или папки.
Вот несколько примеров:
chmod a + r filename # теперь все могут читать
chmod a + rw filename # теперь все могут читать и писать
chmod o-rwx filename # другие (не владелец, не в той же группе файла) не могут прочитать, записать или выполнить файл
Вы можете применить одни и те же разрешения к нескольким лицам, добавив несколько букв перед +
/ -
:
chmod og-r filename # другие и группа больше не могут читать
Если вы редактируете папку, вы можете применить разрешения к каждому файлу, содержащемуся в этой папке, с помощью флага -r
(рекурсивный).
Числовые аргументы работают быстрее, но мне трудно их запомнить, когда вы не используете их изо дня в день. Вы используете цифру, которая представляет права доступа персонажа. Это числовое значение может быть максимум 7, и оно рассчитывается следующим образом:
.
-
1
при наличии разрешения на выполнение -
2
при наличии разрешения на запись -
4
при наличии разрешения на чтение
Это дает нам 4 комбинации:
-
0
без разрешений -
1
можно выполнить -
2
можно писать -
3
может писать, выполнять -
4
умеет читать -
5
может читать, выполнять -
6
может читать, писать -
7
может читать, писать и выполнять
Мы используем их парами по 3, чтобы установить права всех трех групп вместе:
chmod 777 имя файла
chmod 755 имя файла
chmod 644 имя файла
Команда Linux
umask
Когда вы создаете файл, вам не нужно заранее определять права доступа.У разрешений есть значения по умолчанию.
Эти значения по умолчанию можно контролировать и изменять с помощью команды umask
.
Набрав umask
без аргументов, вы увидите текущую umask, в данном случае 0022
:
Что означает 0022
? Это восьмеричное значение, представляющее разрешения.
Другое распространенное значение — 0002
.
Используйте umask -S
, чтобы увидеть удобочитаемую запись:
В этом случае пользователь ( и
), владелец файла, имеет права на чтение, запись и выполнение для файлов.
Другие пользователи, принадлежащие к той же группе ( g
), имеют разрешение на чтение и выполнение, как и все другие пользователи ( или
).
В числовом представлении мы обычно меняем последние 3 цифры.
Вот список, который объясняет значение числа:
-
0
чтение, запись, выполнение -
1
чтение и запись -
2
чтение и выполнение -
3
только чтение -
4
запись и выполнение -
5
только запись -
6
только выполнить -
7
без разрешений
Обратите внимание, что это числовое обозначение отличается от того, которое мы используем в chmod
.
Мы можем установить новое значение для маски, задав значение в числовом формате:
маска 002
или вы можете изменить разрешение конкретной роли:
маска g + r
Команда Linux
du
Команда du
вычислит размер каталога в целом:
du
Число 32
здесь представляет собой значение, выраженное в байтах.
Запуск du *
рассчитает размер каждого файла отдельно:
Вы можете установить du
для отображения значений в мегабайтах, используя du -m
, и гигабайт, используя du -g
.
Параметр -h
покажет удобочитаемое обозначение размеров, адаптированное к размеру:
Добавление опции -a
также напечатает размер каждого файла в каталогах:
Удобно отсортировать каталоги по размеру:
du -h <каталог> | sort -nr
, а затем трубопровод к головке
, чтобы получить только первые 10 результатов:
Команда Linux
df
Команда df
используется для получения информации об использовании диска.
В его основной форме будет напечатана информация о установленных томах:
Использование опции -h
( df -h
) покажет эти значения в удобочитаемом формате:
Вы также можете указать имя файла или каталога, чтобы получить информацию о том, на каком конкретном томе он находится:
Команда Linux
basename
Предположим, у вас есть путь к файлу, например / Users / flavio / test.txt
.
Работает
basename /Users/flavio/test.txt
вернет text.txt
строка:
Если вы запустите basename
в строке пути, указывающей на каталог, вы получите последний сегмент пути. В этом примере / Users / flavio
— это каталог:
Команда Linux
dirname
Предположим, у вас есть путь к файлу, например / Users / flavio / test.txt
.
Работает
имя каталога /Users/flavio/test.txt
вернет строку / Users / flavio
:
Linux
ps
команда
На вашем компьютере постоянно выполняется множество различных процессов.
Вы можете проверить их все с помощью команды ps
:
Это список инициированных пользователем процессов, запущенных в текущий момент в текущем сеансе.
Здесь у меня есть несколько экземпляров оболочки fish,
, в основном открываемых VS Code внутри редактора, и экземпляр Hugo, выполняющий предварительную версию сайта для разработки.
Это просто команды, назначенные текущему пользователю. Чтобы перечислить все процессы , нам нужно передать некоторые параметры в ps
.
Самый распространенный, который я использую, — ps ax
:
Параметр
a
также используется для вывода списка процессов других пользователей, а не только ваших собственных.x
показывает процессы, не связанные с каким-либо терминалом (не инициированные пользователями через терминал).
Как видите, более длинные команды сокращены.Используйте команду ps axww
, чтобы продолжить перечисление команд с новой строки, а не вырезать ее:
Нам нужно указать
w
2 раза, чтобы применить этот параметр (это не опечатка).
Вы можете искать определенный процесс, комбинируя grep
с конвейером, например:
ps axww | grep "Код Visual Studio"
Столбцы, возвращаемые командой ps
, представляют некоторую ключевую информацию.
Первая информация — это PID
, идентификатор процесса.Это ключевой момент, когда вы хотите сослаться на этот процесс в другой команде, например, чтобы убить его.
Затем у нас есть TT
, который сообщает нам используемый идентификатор терминала.
Затем STAT
сообщает нам состояние процесса:
I
процесс, который находится в режиме ожидания (спящий более 20 секунд)
R
работающий процесс
S
процесс, который спит менее 20 секунд
T
остановленный процесс
U
процесс в непрерывном ожидании
Z
мертвый процесс (зомби )
Если у вас более одной буквы, вторая представляет дополнительную информацию, которая может быть очень технической.
Обычно +
указывает на то, что процесс находится на переднем плане в своем терминале. s
означает, что процесс является лидером сеанса.
ВРЕМЯ
сообщает нам, как долго выполняется процесс.
Команда Linux
top
Команда top
используется для отображения динамической информации в реальном времени о запущенных в системе процессах.
Очень удобно понимать, что происходит.
Его использовать просто — вы просто набираете top
, и терминал полностью погружается в это новое представление:
Процесс длительный. Чтобы выйти, вы можете ввести q
букву или ctrl-C
.
Нам предоставляется много информации: количество процессов, сколько запущено или спящих, загрузка системы, загрузка ЦП и многое другое.
Ниже список процессов, занимающих больше всего памяти и ЦП, постоянно обновляется.
По умолчанию, как видно из выделенного столбца % CPU
, они сортируются по используемому процессору.
Вы можете добавить флаг для сортировки процессов по используемой памяти:
top -o mem
Linux
kill
команда
Процессы Linux могут получать сигналов и реагировать на них.
Это один из способов взаимодействия с запущенными программами.
Программа kill
может посылать программе различные сигналы.
Он не просто используется для завершения программы, как следует из названия, но это его основная задача.
Используем так:
убить
По умолчанию это отправляет сигнал TERM
указанному идентификатору процесса.
Мы можем использовать флаги для отправки других сигналов, в том числе:
kill -HUP
kill -INT
kill -KILL
kill -TERM
kill -CONT
kill -STOP
HUP
означает положить трубку .Он отправляется автоматически, когда окно терминала, запустившее процесс, закрывается перед завершением процесса.
INT
означает прерывание , и он отправляет тот же сигнал, который используется, когда мы нажимаем ctrl-C
в терминале, что обычно завершает процесс.
KILL
отправляется не процессу, а ядру операционной системы, которое немедленно останавливает и завершает процесс.
TERM
означает прекращение .Процесс получит его и завершится. Это сигнал по умолчанию, отправляемый kill
.
CONT
означает продолжить . Его можно использовать для возобновления остановленного процесса.
STOP
отправляется не процессу, а ядру операционной системы, которое немедленно останавливает (но не завершает) процесс.
Вместо этого вы можете увидеть числа, например kill -1
. В данном случае
1
соответствует HUP
.
2
соответствует INT
.
9
соответствует KILL
.
15
соответствует TERM
.
18
соответствует CONT
.
15
соответствует STOP
.
Команда Linux
killall
Подобно команде kill
, команда killall
будет отправлять сигнал сразу нескольким процессам вместо того, чтобы отправлять сигнал определенному идентификатору процесса.
Это синтаксис:
killall <имя>
, где имя
— имя программы. Например, у вас может быть несколько запущенных экземпляров программы top
, а killall top
завершит их все.
Вы можете указать сигнал, например, с kill
(и посмотрите учебник kill
, чтобы узнать больше о конкретных типах сигналов, которые мы можем отправлять), например:
killall -HUP сверху
Linux
jobs
command
Когда мы запускаем команду в Linux / macOS, мы можем настроить ее на выполнение в фоновом режиме, используя символы и
после команды.
Например, мы можем запустить top
в фоновом режиме:
верх &
Это очень удобно для долго работающих программ.
Мы можем вернуться к этой программе с помощью команды fg
. Это отлично работает, если у нас есть только одно задание в фоновом режиме, в противном случае нам нужно использовать номер задания: fg 1
, fg 2
и так далее.
Чтобы получить номер задания, мы используем команду jobs
.
Допустим, мы запускаем top и
, а затем top -o mem &
, поэтому у нас запущено 2 лучших экземпляра. вакансии
сообщит нам это:
Теперь мы можем вернуться к одному из тех, которые используют fg
. Чтобы снова остановить программу, мы можем нажать cmd-Z
.
Выполнение заданий -l
также распечатает идентификатор процесса каждого задания.
Команда Linux
bg
Когда команда выполняется, вы можете приостановить ее, используя ctrl-Z
.
Команда немедленно остановится, и вы вернетесь в терминал оболочки.
Вы можете возобновить выполнение команды в фоновом режиме, чтобы она продолжала работать, но это не помешало вам выполнять другую работу в терминале.
В этом примере у меня остановлены 2 команды:
Я могу запустить bg 1
, чтобы возобновить в фоновом режиме выполнение задания №1.
Я мог бы также сказать bg
без какой-либо опции, поскольку по умолчанию выбирается работа №1 в списке.
Команда Linux
fg
Когда команда выполняется в фоновом режиме, потому что вы запустили ее с и
в конце (пример: top и
или потому что вы поместили ее в фоновый режим с помощью команды bg
), вы можете вывести его на передний план с помощью fg
.
Работает
фг
возобновит на переднем плане последнее приостановленное задание.
Вы также можете указать, какое задание вы хотите возобновить на переднем плане, передав номер задания, который можно получить с помощью команды jobs
.
Запуск fg 2
возобновит работу № 2:
Linux
type
command
Команда может быть одного из четырех типов:
- исполняемый файл
- оболочка встроенная программа
- функция оболочки
- псевдоним
Команда type
может помочь разобраться в этом, если мы хотим знать или нам просто любопытно.Он расскажет вам, как будет интерпретироваться команда.
Вывод будет зависеть от используемой оболочки. Это Bash:
Это ЗШ:
Это рыба:
Одна из самых интересных вещей здесь заключается в том, что для псевдонимов он скажет вам, к чему это алиасинг. Вы можете увидеть псевдоним ll
в случае Bash и Zsh, но Fish предоставляет его по умолчанию, поэтому он скажет вам, что это встроенная функция оболочки.
Linux
which
command
Предположим, у вас есть команда, которую вы можете выполнить, потому что она находится в пути оболочки, но вы хотите знать, где она находится.
Вы можете сделать это с помощью , а не
. Команда вернет путь к указанной команде:
, который
будет работать только для исполняемых файлов, хранящихся на диске, но не для псевдонимов или встроенных функций оболочки.
Команда Linux
nohup
Иногда вам нужно запустить долгоживущий процесс на удаленном компьютере, а затем вам нужно отключиться.
Или вы просто хотите предотвратить остановку команды при возникновении сетевых проблем между вами и сервером.
Чтобы запустить команду даже после выхода из системы или закрытия сеанса на сервере, используйте команду nohup
.
Используйте nohup <команда>
, чтобы процесс продолжал работать даже после выхода из системы.
Команда Linux
xargs
Команда xargs
используется в оболочке UNIX для преобразования ввода из стандартного ввода в аргументы команды.
Другими словами, при использовании xargs
вывод команды используется как ввод другой команды.
Вот синтаксис, который вы будете использовать:
command1 | xargs command2
Мы используем канал ( |
) для передачи вывода в xargs
. Это позаботится о запуске команды command2
, используя выходные данные command1
в качестве аргумента (ов).
Приведем простой пример. Вы хотите удалить определенные файлы из каталога. Эти файлы перечислены в текстовом файле.
У нас есть 3 файла: file1
, file2
, file3
.
В todelete.txt
у нас есть список файлов, которые мы хотим удалить, в этом примере file1
и file3
:
Мы направим вывод cat todelete.txt
команде rm
через xargs
.
Таким образом:
cat todelete.txt | xargs rm
Вот результат, файлы, которые мы перечислили, теперь удалены:
Принцип работы таков: xargs
будет запускать rm
2 раза, по одному для каждой строки, возвращаемой cat
.
Это простейшее использование xargs
. Есть несколько вариантов, которые мы можем использовать.
Один из самых полезных, на мой взгляд (особенно при изучении xargs
), — это -p
. Использование этой опции заставит xargs
распечатать запрос подтверждения с действием, которое он собирается предпринять:
Параметр -n
позволяет указать xargs
выполнять одну итерацию за раз, поэтому вы можете индивидуально подтвердить их с помощью -p
.Здесь мы говорим xargs
выполнять одну итерацию за раз с -n1
:
Вариант -I
— еще один широко используемый вариант. Это позволяет вам поместить вывод в заполнитель, а затем вы можете делать разные вещи.
Один из них — запуск нескольких команд:
command1 | xargs -I% / bin / bash -c 'command2%; command3% '
Вы можете поменять местами символ
%
, который я использовал выше, на что-нибудь еще — это переменная.
Команда редактора Linux
vim
vim
— очень популярный редактор файлов , особенно среди программистов. Он активно развивается и часто обновляется, и вокруг него существует большое сообщество. Есть даже конференция Vim!
vi
в современных системах — это просто псевдоним для vim
, что означает vi
i m
.
Вы запускаете его, запустив vi
в командной строке.
Вы можете указать имя файла во время вызова для редактирования этого конкретного файла:
vi test.txt
Вы должны знать, что у Vim есть 2 основных режима:
- команда (или нормальный ) режим
- вставка режим
Когда вы запускаете редактор, вы находитесь в командном режиме. Вы не можете вводить текст, как вы ожидаете от редактора на основе графического интерфейса. Вы должны войти в режим вставки .
Это можно сделать, нажав клавишу i
. Как только вы это сделаете, в нижней части редактора появится слово - INSERT -
:
Теперь вы можете набирать текст и заполнять экран содержимым файла:
Вы можете перемещаться по файлу с помощью клавиш со стрелками или клавиш h
— j
— k
— l
. h-l
для левого-правого, j-k
для нижнего-верхнего.
Когда вы закончите редактирование, вы можете нажать клавишу esc
, чтобы выйти из режима вставки и вернуться в командный режим .
На этом этапе вы можете перемещаться по файлу, но не можете добавлять в него содержимое (и будьте осторожны при нажатии клавиш, поскольку они могут быть командами).
Одна вещь, которую вы можете сделать сейчас, — это сохранить файл . Вы можете сделать это, нажав :
(двоеточие), затем w
.
Вы можете сохранить и выйти из , нажав :
, затем w
и q
: : wq
Вы можете выйти из без сохранения , нажав :
, затем q
и !
: : q!
Вы можете отменить и отредактировать, перейдя в командный режим и нажав и
.Вы можете повторить (отменить отмену), нажав ctrl-r
.
Это основы работы с Vim. Отсюда начинается кроличья нора, в которую мы не можем углубиться в этом небольшом введении.
Я упомяну только те команды, которые помогут вам начать редактирование с помощью Vim:
- нажатие клавиши
x
удаляет текущий выделенный символ - нажатие
- нажмите
0
для перехода в начало строки - перейдите к первому символу слова и нажмите
d
, а затемw
, чтобы удалить это слово.Если вы последуете за ним сe
вместоw
, пробел перед следующим словом сохранится - используйте число от
d
доw
, чтобы удалить более 1 слова, например, используйтеd3w
, чтобы удалить 3 слова вперед - нажмите
d
, а затемd
, чтобы удалить всю строку. Нажмитеd
, а затем$
, чтобы удалить всю строку с того места, где находится курсор, до конца
Чтобы узнать больше о Vim, я могу порекомендовать Vim FAQ.Вы также можете запустить команду vimtutor
, которая уже должна быть установлена в вашей системе и очень поможет вам начать исследование vim
.
Команда редактора Linux
emacs
emacs
— отличный редактор, который исторически считается редактором для систем UNIX. Известно, что vi
vs emacs
«пламенные войны» и жаркие дискуссии вызвали у разработчиков по всему миру много непродуктивных часов.
emacs
очень мощный. Некоторые люди используют его весь день как своего рода операционную систему (https://news.ycombinator.com/item?id=1
58). Здесь мы просто поговорим об основах.
Вы можете открыть новый сеанс emacs, просто вызвав emacs
:
пользователей macOS, остановитесь на секунду. Если вы работаете в Linux, проблем нет, но macOS не поставляет приложения, использующие GPLv3, и каждая встроенная команда UNIX, обновленная до GPLv3, не обновлялась.
Хотя есть небольшая проблема с командами, которые я перечислял до сих пор, в этом случае использование версии emacs 2007 года не совсем то же самое, что использование версии с 12 годами улучшений и изменений.
Это не проблема с обновленным Vim. Чтобы исправить это, запустите
brew install emacs
, а при запускеemacs
будет использоваться новая версия от Homebrew (убедитесь, что у вас установлен Homebrew).
Вы также можете редактировать существующий файл, вызвав emacs
:
Теперь вы можете начать редактирование.Когда вы закончите, нажмите ctrl-x
, а затем ctrl-w
. Подтверждаете папку:
, и Emacs сообщает, что файл существует, и спрашивает, следует ли его перезаписать:
Ответьте y
, и вы получите подтверждение успеха:
Вы можете выйти из Emacs, нажав ctrl-x
, а затем ctrl-c
.
Или ctrl-x
, за которым следует c
(удерживайте нажатой ctrl
).
Об Emacs нужно много знать, конечно, больше, чем я могу написать в этом небольшом введении.Я рекомендую вам открыть Emacs и нажать ctrl-h
r
, чтобы открыть встроенное руководство, и ctrl-h
t
, чтобы открыть официальное руководство.
Команда редактора Linux
nano
nano
— удобный редактор для начинающих.
Запустите его, используя nano
.
Вы можете напрямую вводить символы в файл, не беспокоясь о режимах.
Вы можете выйти без редактирования, используя ctrl-X
.Если вы редактировали буфер файла, редактор запросит у вас подтверждение, и вы сможете сохранить изменения или отменить их.
Справка внизу показывает команды клавиатуры, которые позволяют работать с файлом:
pico
более или менее то же самое, хотя nano
— это GNU-версия pico
, которая в какой-то момент истории не была с открытым исходным кодом. Клон nano
был создан для удовлетворения требований лицензии на операционную систему GNU.
Команда Linux
whoami
Введите whoami
, чтобы вывести имя пользователя, который в данный момент вошел в сеанс терминала:
Примечание: это отличается от команды
who am i
, которая выводит дополнительную информацию
Команда Linux
who
Команда who
отображает пользователей, вошедших в систему.
Если вы не используете сервер, к которому имеют доступ несколько человек, скорее всего, вы будете единственным пользователем, вошедшим в систему несколько раз:
Почему несколько раз? Потому что каждая открытая оболочка будет считаться доступом.
Вы можете увидеть имя используемого терминала и время / день начала сеанса.
Флаги -aH
сообщают , кто из
отображает дополнительную информацию, включая время простоя и идентификатор процесса терминала:
Специальная команда who am i
выведет список деталей текущего сеанса терминала:
Команда Linux
su
Когда вы вошли в оболочку терминала с одним пользователем, вам может потребоваться переключиться на другого пользователя.
Например, вы вошли в систему как root для выполнения некоторого обслуживания, но затем вы хотите переключиться на учетную запись пользователя.
Это можно сделать с помощью команды su
:
su <имя пользователя>
Например: su flavio
.
Если вы вошли в систему как пользователь, запуск su
без чего-либо еще предложит вам ввести пароль пользователя root
, так как это поведение по умолчанию.
su
запустит новую оболочку от имени другого пользователя.
Когда вы закончите, набрав exit
в оболочке, эта оболочка закроется и вы вернетесь обратно в оболочку текущего пользователя.
Команда Linux
sudo
sudo
обычно используется для запуска команды от имени пользователя root.
У вас должна быть возможность использовать sudo
, и как только вы это сделаете, вы можете запускать команды как root, введя пароль своего пользователя (, а не пароль пользователя root).
Разрешения легко настраиваются, что особенно удобно в многопользовательской серверной среде.Некоторым пользователям может быть предоставлен доступ к запуску определенных команд через sudo
.
Например, вы можете отредактировать файл конфигурации системы:
Судо нано / и т. Д. / Хосты
, который в противном случае не удалось бы сохранить, поскольку у вас нет для него прав
.
Вы можете запустить sudo -i
, чтобы запустить оболочку от имени пользователя root:
Вы можете использовать sudo
для выполнения команд от имени любого пользователя. root
используется по умолчанию, но используйте опцию -u
, чтобы указать другого пользователя:
sudo -u flavio ls / Пользователи / flavio
Команда Linux
passwd
Пользователям Linux назначен пароль.Вы можете изменить пароль с помощью команды passwd
.
Здесь возможны две ситуации.
Первый — когда вы хотите сменить пароль. В этом случае вы набираете:
пароль
, и в интерактивном режиме вас попросят ввести старый пароль, а затем вам будет предложено ввести новый:
.
Когда вы root
(или имеете привилегии суперпользователя), вы можете установить имя пользователя, для которого вы хотите изменить пароль:
passwd <имя пользователя> <новый пароль>
В этом случае вводить старую не нужно.
Команда Linux
ping
Команда ping
проверяет связь с конкретным сетевым хостом в локальной сети или в Интернете.
Вы используете его с синтаксисом ping
, где
может быть доменным именем или IP-адресом.
Вот пример pinging google.com
:
Команда отправляет запрос серверу, а сервер возвращает ответ.
ping
по умолчанию отправляет запрос каждую секунду.Он будет продолжать работать, пока вы не остановите его с помощью ctrl-C
, если только вы не передадите количество раз, которое хотите попробовать с параметром -c
: ping -c 2 google.com
.
Как только ping
остановлен, он напечатает некоторую статистику о результатах: процент потерянных пакетов и статистику о производительности сети.
Как вы можете видеть, на экране отображается IP-адрес хоста и время, которое потребовалось для получения ответа.
Не все серверы поддерживают пинг, в случае истечения времени ожидания запроса:
Иногда это делается специально, чтобы «спрятать» сервер или просто уменьшить нагрузку.Пакеты ping также могут быть отфильтрованы межсетевыми экранами.
ping
работает с использованием протокола ICMP ( Internet Control Message Protocol ), протокола сетевого уровня, подобного TCP или UDP.
Запрос отправляет пакет на сервер с сообщением ECHO_REQUEST
, и сервер возвращает сообщение ECHO_REPLY
. Я не буду вдаваться в подробности, но это основная концепция.
Пинг хоста полезен, чтобы узнать, доступен ли хост (предположим, что он реализует эхо-запрос) и насколько он удален с точки зрения того, сколько времени потребуется, чтобы вернуться к вам.
Обычно, чем ближе сервер географически, тем меньше времени потребуется, чтобы вернуться к вам. Простые законы физики приводят к тому, что большее расстояние приводит к большей задержке в кабелях.
Команда Linux
traceroute
Когда вы пытаетесь связаться с хостом в Интернете, вы проходите через домашний маршрутизатор. Затем вы попадаете в сеть своего интернет-провайдера, которая, в свою очередь, проходит через свой собственный восходящий сетевой маршрутизатор и так далее, пока вы, наконец, не достигнете хоста.
Вы когда-нибудь хотели знать, через какие шаги проходят ваши пакеты?
Для этого создана команда traceroute
.
Вы вызываете
traceroute <хост>
, и он будет (медленно) собирать всю информацию во время прохождения пакета.
В этом примере я попытался зайти в свой блог с помощью traceroute flaviocopes.com
:
Не каждый пройденный маршрутизатор возвращает нам информацию. В этом случае traceroute
печатает * * *
. В противном случае мы можем увидеть имя хоста, IP-адрес и некоторый индикатор производительности.
Для каждого маршрутизатора мы можем увидеть 3 образца, что означает, что traceroute пытается по умолчанию 3 раза, чтобы вы могли точно определить время, необходимое для его достижения.
Вот почему выполнение traceroute
занимает столько времени по сравнению с простым выполнением ping
на этот хост.
Вы можете настроить это число с помощью опции -q
:
traceroute -q 1 flaviocopes.com
Команда Linux
clear
Введите clear
, чтобы очистить все предыдущие команды, которые выполнялись в текущем терминале.
Экран очистится, и вы увидите подсказку вверху:
Примечание: у этой команды есть удобный ярлык:
ctrl-L
Как только вы это сделаете, вы потеряете доступ к прокрутке, чтобы увидеть результат предыдущих введенных команд.
Таким образом, вы можете вместо этого использовать clear -x
, который по-прежнему очищает экран, но позволяет вернуться к предыдущей работе путем прокрутки вверх.
Команда Linux
history
Каждый раз, когда вы запускаете команду, она запоминается в истории.
Вы можете отобразить всю историю, используя:
История
Это показывает историю с числами:
Вы можете использовать синтаксис ! <Номер команды>
, чтобы повторить команду, сохраненную в истории. В приведенном выше примере ввод ! 121
повторит команду ls -al | wc -l
команда.
Обычно в истории хранятся последние 500 команд.
Вы можете объединить это с grep
, чтобы найти команду, которую вы выполнили:
история | grep docker
Чтобы очистить историю, запустите history -c
.
Команда Linux
export
Команда export
используется для экспорта переменных в дочерние процессы.
Что это значит?
Предположим, у вас есть переменная TEST, определенная следующим образом:
TEST = "тест"
Вы можете распечатать его значение, используя echo $ TEST
:
Но если вы попытаетесь определить сценарий Bash в файле script.sh
с помощью указанной выше команды:
Потом при установке chmod u + x скрипт.sh
, и вы выполняете этот сценарий с ./script.sh
, строка echo $ TEST
ничего не напечатает!
Это связано с тем, что в Bash переменная TEST
была определена локально для оболочки. При выполнении сценария оболочки или другой команды для ее выполнения запускается подоболочка, которая не содержит текущих локальных переменных оболочки.
Чтобы переменная была доступна там, нам нужно определить TEST
не таким образом:
TEST = "тест"
а так:
экспорт TEST = "test"
Попробуйте и запустите ./script.sh
теперь должен печатать «test»:
Иногда нужно что-то добавить к переменной. Часто это делается с помощью переменной PATH
. Вы используете этот синтаксис:
экспорт ПУТЬ = $ ПУТЬ: / новый / путь
Обычно используется экспорт
, когда вы создаете новые переменные таким образом. Но вы также можете использовать его при создании переменных в файлах конфигурации .bash_profile
или .bashrc
с помощью Bash или в .zshenv
с ЗШ.
Чтобы удалить переменную, используйте опцию -n
:
экспорт -n ТЕСТ
Вызов export
без какой-либо опции отобразит все экспортируемые переменные.
Команда Linux
crontab
Задания Cron — это задания, запуск которых запланирован через определенные промежутки времени. У вас может быть команда, выполняющая что-то каждый час, каждый день или каждые две недели. Или по выходным.
Они очень мощные, особенно при использовании на серверах для обслуживания и автоматизации.
Команда crontab
— это точка входа для работы с заданиями cron.
Первое, что вы можете сделать, это выяснить, какие задания cron вы определили:
crontab -l
У вас может и не быть, как у меня:
Бег
crontab -e
для редактирования заданий cron и добавления новых.
По умолчанию открывается редактор по умолчанию, обычно это vim
. Мне больше нравится nano
.Вы можете использовать эту строку для использования другого редактора:
РЕДАКТОР = nano crontab -e
Теперь вы можете добавлять по одной строке для каждого задания cron.
Синтаксис определения заданий cron пугает. Вот почему я обычно использую веб-сайт, чтобы помочь мне создать его без ошибок: https://crontab-generator.org/
Вы выбираете временной интервал для задания cron и вводите команду для выполнения.
Я решил запустить сценарий, расположенный в / Users / flavio / test.ш
каждые 12 часов. Это строка crontab, которую мне нужно запустить:
* * / 12 * * * /Users/flavio/test.sh> / dev / null 2> & 1
Я запускаю crontab -e
:
РЕДАКТОР = nano crontab -e
, и я добавляю эту строку, затем нажимаю ctrl-X
и нажимаю y
для сохранения.
Если все хорошо, задание cron настроено:
Как только это будет сделано, вы можете увидеть список активных заданий cron, запустив:
crontab -l
Вы можете снова удалить задание cron, запустив crontab -e
, удалив строку и выйдя из редактора:
Команда Linux
uname
Вызов uname
без каких-либо параметров вернет кодовое имя операционной системы:
Опция m
показывает имя оборудования ( x86_64
в этом примере), а опция p
печатает имя архитектуры процессора ( i386
в этом примере):
Параметр s
печатает имя операционной системы. r
печатает выпуск, а v
печатает версию:
Опция n
печатает сетевое имя узла:
Опция a
распечатывает всю доступную информацию:
В macOS вы также можете использовать команду sw_vers
, чтобы распечатать дополнительную информацию об операционной системе macOS. Обратите внимание, что это отличается от версии Darwin (Kernel), которая выше — 19.6.0
.
Дарвин — это имя ядра macOS. Ядро — это «ядро» операционной системы, а операционная система в целом называется macOS. В Linux ядром является Linux, а имя операционной системы — GNU / Linux (хотя мы все называем его «Linux»).
Команда Linux
env
Команда env
может использоваться для передачи переменных среды без их установки во внешней среде (текущая оболочка).
Предположим, вы хотите запустить приложение Node.js и установить для него переменную USER
.
Вы можете запустить
env USER = узел flavio app.js
и переменная среды USER
будут доступны из приложения Node.js через интерфейс Node process.env
.
Вы также можете запустить команду, очищающую все уже установленные переменные среды, используя опцию -i
:
env -i node app.js
В этом случае вы получите сообщение об ошибке env: node: Нет такого файла или каталога
, потому что команда node
недоступна, поскольку переменная PATH
, используемая оболочкой для поиска команд в общих путях, отключено.
Значит нужно передать полный путь к узлу программе
:
env -i / usr / local / bin / node app.js
Попробуйте использовать простой файл app.js
с таким содержанием:
консоль.журнал (process.env.NAME)
console.log (process.env.PATH)
Вы увидите вывод как
undefined
неопределенный
Вы можете передать переменную env:
env -i ИМЯ = узел flavio app.js
, а на выходе будет
Флавио
неопределенный
Удаление опции -i
сделает PATH
снова доступным внутри программы:
Команду env
также можно использовать для распечатки всех переменных среды.Если запустить без параметров:
ок.
он вернет список установленных переменных среды, например:
HOME = / Пользователи / flavio
LOGNAME = flavio
ПУТЬ = / usr / local / bin: / usr / bin: / bin: / usr / sbin: / sbin: / Library / Apple / usr / bin
PWD = / Пользователи / flavio
ОБОЛОЧКА = / usr / local / bin / fish
Вы также можете сделать переменную недоступной внутри программы, которую вы запускаете, используя опцию -u
. Например, этот код удаляет переменную HOME
из командной среды:
env -u приложение HOME node.js
Команда Linux
printenv
Вот краткое руководство по команде printenv
, используемой для печати значений переменных среды
В любой оболочке имеется большое количество переменных среды, установленных либо системой, либо вашими собственными сценариями оболочки и конфигурацией.
Вы можете распечатать их все на терминале с помощью команды printenv
. Результат будет примерно таким:
HOME = / Пользователи / flavio
LOGNAME = flavio
ПУТЬ = / usr / local / bin: / usr / bin: / bin: / usr / sbin: / sbin: / Library / Apple / usr / bin
PWD = / Пользователи / flavio
ОБОЛОЧКА = / usr / local / bin / fish
, как правило, с еще несколькими строками.
Вы можете добавить имя переменной в качестве параметра, чтобы отображалось только это значение переменной:
printenv ПУТЬ
Заключение
Большое спасибо за чтение этого справочника.
Я надеюсь, что это вдохновит вас узнать больше о Linux и его возможностях. Это вечнозеленое знание, которое в ближайшее время не устареет.
Помните, что вы можете скачать это руководство в формате PDF / ePUB / Mobi, если хотите!
Я каждый день публикую на своем веб-сайте флавиокопы уроки программирования .com, если вы хотите ознакомиться с более интересным контентом, подобным этому.
Вы можете связаться со мной в Twitter @flaviocopes.
20 основных команд Linux, которые вам понадобятся ежедневно
В предыдущем посте мы обсуждали, как установить Linux; Теперь мы поговорим о самых мощных функциях Linux, которыми являются команды Linux или команды оболочки.
Полную документацию по командам Linux вы можете найти в документации Linux.
Сила Linux в командах, которые вы можете использовать.
Я собираюсь рассказать об основных командах Linux с их основными параметрами, которые вы можете использовать ежедневно.
Команда ls
Список файлов и папок в текущем каталоге.
Параметры
–l
, чтобы вывести содержимое в виде подробного списка.
-а
Показать все файлы (скрытые + не скрытые).
Вы можете комбинировать параметры следующим образом:
ls -la
команда cd
Изменить каталог с текущего каталога на другой.
кд / быт
Перейдет в домашний каталог
команда cp
Скопируйте источник в цель.
Параметры
-i
Интерактивный режим означает ожидание подтверждения, если на целевом устройстве есть файлы, он будет перезаписан.
-r
Рекурсивное копирование означает включение подкаталогов, если они найдены.
Пример
cp –ir sourcedir targetdir
команда mv
Переместите источник в цель и удалите источник.
Параметры
-i
Интерактивный режим означает ожидание подтверждения, если на целевом устройстве есть файлы, он будет перезаписан.
Пример
mv –i sourceFile targetFile
команда rm
Удалите файл или каталог, и вы должны использовать –r, если хотите удалить каталог.
Параметры
-r
Рекурсивное удаление означает удаление всех подкаталогов, если они найдены.
-i
Интерактивный означает ожидание подтверждения
команда mkdir
Создайте новый каталог.
mkdir новый Dir
команда rmdir
Удалить каталог
команда chown
Изменить владельца файла или каталога.
Параметры:
-R
Capital R здесь означает изменение владельца всех подкаталогов, если они обнаружены, и вы должны использовать этот параметр, если вы используете команду для каталога.
chown –R корень: root myDir
команда chmod
Изменить разрешение файла или каталога.
Параметры
Режим, состоящий из 3 частей, владельца , группы и других означает, какие будут разрешения для этих режимов, и вы должны их указать.
Это одно из следующих разрешений:
Прочитать = 4
Запись = 2
Выполнить = 1
Каждое разрешение представлено числом, как показано, и вы можете комбинировать разрешения.
Пример
chmod 755 myfile
Это означает, что установите разрешение для файла с именем myfile следующим образом:
owner: установите значение 7, что означает, что 4 + 2 + 1 означает чтение + запись + выполнение.
Группа
: установите значение 5, что означает, что 4 + 1 означает чтение + выполнение.
другое: установите значение 5, что означает, что 4 + 1 означает чтение + выполнение.
Примечание: выполнить для папки означает ее открыть.
команда поиска
Чтобы найти файл в вашей системе, команда locate выполнит поиск в системе предоставленного вами шаблона.
найдите myfile
команда updatedb
обновляет базу данных, используемую командой locate.
команда даты
Просто печатает сегодняшнюю дату.Просто введите дату на оболочке.
команда tar
Объединяет несколько файлов в архив и сжимает, если хотите.
Параметры
-c
Создайте новый архив.
-z
Сжать архив с помощью пакета gzip.
-j
Сожмите архив с помощью пакета bzip2.
-v
Подробный режим означает отображение обработанных файлов.
-ф
Записывать вывод в файл, а не на экран.
-х
Распаковать файлы из архива.
Пример
tar –czvf myfiles.tar.gz myfiles
Эта команда упакует и сожмет все файлы в папке myfiles в сжатый архив с именем myfiles.tar.gz.
tar-xzvf myfiels.tar.gz
Эта команда распакует архив.
команда cat
Отображение содержимого файла на экране без ограничений.
Пример
cat myfile.txt
меньше команды
Отображает содержимое файла с помощью экрана прокрутки, чтобы вы могли перемещаться между страницами с помощью PgUp, PgDn, Home и End.
меньше myfile
команда grep
Ищет строку в указанных файлах и отображает, какая строка содержит совпавшую строку.
Параметры
-R
Рекурсивный поиск внутри подкаталогов, если он найден.
-i
Нечувствительный поиск и игнорирование регистра.
-л
Отображает имя файла, а не текстовые строки.
Пример
grep –Ril mystring / home
команда passwd
Используется для изменения пароля пользователя.
du команда
Вычисляет использование диска файлом или каталогом.
Параметры
-h
Отображение удобочитаемой формы.
-с
Обобщите общий размер вывода.
Пример
du –hs / дом
команда перезагрузки
Немедленно перезагрузите систему.Просто введите перезагрузку.
команда остановки
Выключает систему, но не забудьте закрыть все файлы, чтобы избежать потери данных.
Это были лишь некоторые из ведущих команд Linux.
Обратите внимание: если вы забыли какие-либо параметры команды, просто введите команду с параметром — -help, и она отобразит список используемых параметров, поэтому вам не нужно запоминать все эти параметры в начале.
кот - помощь
Продолжение следует.
Основные команды Linux, часть 2
Основатель LikeGeeks. Я работаю системным администратором Linux с 2010 года. Я отвечаю за обслуживание, защиту и устранение неполадок серверов Linux для множества клиентов по всему миру. Я люблю писать сценарии оболочки и Python для автоматизации моей работы.
10 основных команд Linux, которые вам необходимо знать
Независимо от того, являетесь ли вы системным администратором Windows, желающим расширить свои навыки в Linux, недавно перешедшим на Linux, или кем-то, кто хочет найти работу в ИТ, это введение в некоторые распространенные Linux команды для вас.Эти 10 команд часто используются системными администраторами Linux — фактически, они используют по крайней мере восемь из них ежедневно. И независимо от того, как долго вы используете Linux, вы всегда будете использовать эти команды. Некоторые из вас, пользователи MS-DOS, узнают некоторые из них, и, что неудивительно, они выполняют одну и ту же функцию в обеих операционных системах.
ls
отображает содержимое каталога
Команда list ( ls
) эквивалентна команде DOS DIR
в том, что она выводит список файлов и каталогов.Если вы просто наберете ls
в командной строке ( $
), вы увидите все не скрытые файлы в вашем текущем каталоге, который является вашим домашним каталогом, когда вы впервые войдете в систему Linux. Команда ls
мало что покажет в вашем домашнем каталоге в новой системе, поэтому давайте исследуем каталог, содержащий множество файлов и каталогов: / etc
. В каталоге / etc
( et-see ) находятся файлы конфигурации системы Linux.
$ ls / и т. Д.
На вашем экране появляется большое количество файлов (более 200).Вы успешно перечислили содержимое каталога / etc
, но на самом деле вы можете перечислить файлы несколькими разными способами. Выше я упоминал не скрытые файлы. В вашем домашнем каталоге, где вы сейчас находитесь, вероятно, есть скрытые файлы. Скрытые файлы в Linux начинаются с точки (.
). Например, у вас, вероятно, есть файл .bash_profile
. Чтобы увидеть это, используйте следующую команду ls
.
$ ls -a
Теперь вы видите несколько файлов, начинающихся с точки.Переключатель -a
— или опция, как его называют — показывает всех файла, даже скрытых.
man
отображает страницы руководства
Linux имеет обширный набор онлайн-документации для вашей справки. Они называются страницами руководства, как в руководстве. Сокращенная команда для обращения к этой документации:
man
, и перед вами появляется полный экран информации.
Навигация по страницам руководства проста.Используйте клавишу Enter для перехода на одну строку за раз, клавишу « b
» для возврата, полоску Space для перехода на полноэкранную страницу и клавишу « q
» для выхода из man страница. В качестве примера просмотрите страницу руководства для команды ls
.
$ мужчина ls
cat
объединяет файлы
Команда cat
важна как базовая команда, потому что она выполняет две очень важные функции: объединение (слияние) файлов (как следует из названия) и печать содержимого файла на экране.Печать содержимого файлов — гораздо более частое использование этой команды. Если вы хотите увидеть содержимое файла, используйте следующий формат:
$ cat <имя файла>
Например, вы можете ввести следующее, чтобы отобразить на экране содержимое системного файла passwd
:
$ cat / etc / passwd
Чтобы использовать cat
для своих возможностей конкатенации файлов, общая форма команды:
$ cat файл1 файл2> файл1 файл2
Например, чтобы перенаправить содержимое списка продуктов .txt
и todo_list.txt
в файл Saturday.txt
:
$ cat grocerylist.txt todo_list.txt> Saturday.txt
Вы можете объединить столько файлов, сколько хотите в один файл, используя cat
.
[Бесплатная загрузка: шпаргалка по расширенным командам Linux. ]
сенсорный
изменяет временные метки файла
Команда touch
— это еще одна команда, которая служит двойной цели.Его предназначение — обновлять отметки времени в файлах. Если вы перечисляете содержимое каталога в длинном формате с помощью:
$ ls -l
В выходных данных команды отображаются разрешения, права собственности, размер, дата / время создания или последнего доступа, а также имя файла:
-rw-rw-r--. 1 khess khess 175 23 июля, 19:19 all.txt
-rw-rw-r--. 1 khess khess 61 23 июля, 19:17 new.txt
-rw-rw-r--. 1 хесс хесс 114 23 июля 19:09 student.txt
Используйте touch
для обновления метки времени последнего доступа:
$ сенсорный новый.txt
$ ls -l
-rw-rw-r--. 1 khess khess 175 23 июля, 19:19 all.txt
-rw-rw-r--. 1 khess khess 61 26 июля, 11:28 new.txt
-rw-rw-r--. 1 хесс хесс 114 23 июля 19:09 student.txt
Использование touch
для обновления времени последнего доступа на самом деле является нечастым использованием этой команды. Обычно touch
используется для создания пустого файла в качестве заполнителя. Некоторые программы требуют, чтобы файл существовал для правильной работы, и это один из способов запустить такой процесс.В противном случае это использование предлагает быстрый способ создания файла без открытия текстового редактора и последующего сохранения пустого файла:
$ touch today.txt
$ ls -l
-rw-rw-r--. 1 khess khess 175 23 июля, 19:19 all.txt
-rw-rw-r--. 1 khess khess 61 26 июля, 11:28 new.txt
-rw-rw-r--. 1 khess khess 114 23 июля 19:09 student.txt
-rw-rw-r--. 1 khess khess 0 26 июл, 11:53 today.txt
Сегодня вы создали новый пустой файл .txt
.
pwd
печатает рабочий каталог
Команда pwd
— это компас вашей системы Linux, поскольку она сообщает вам, где вы находитесь. У него нет другой функции, кроме предоставления вам этой информации. Попробуйте сделать следующее, и вы увидите, что находитесь в своем домашнем каталоге, который отображается в формате / home /
:
$ pwd
/ home / khess
Если вы заблудились или просто задаетесь вопросом, где вы находитесь в файловой системе, эта команда вам подскажет.Пользователи Linux часто используют его перед изменением или удалением файлов, чтобы быть уверенным в их текущем местонахождении.
Команда pwd
всегда отображает полный путь к вашему местоположению, даже если вы находитесь в нескольких каталогах далеко от корневого (/
) каталога, поэтому я вижу / home / khess
, а не khess
или / хесс
.
cd
изменяет каталог
Очень тесно связана с командой pwd
команда cd
.Смена каталогов — частое занятие в системе Linux. Как было сказано ранее, при первом входе в систему вы попадаете в свой домашний каталог. У каждого пользователя в системе Linux есть домашний каталог. Учетные записи обычных пользователей имеют личные каталоги в каталоге / home
. Ваш домашний каталог находится под / home / <имя пользователя>
. Чтобы просмотреть все домашние каталоги пользователя, cd
в каталог / home
.
$ кд / дом
$ ls
То, что вы здесь видите, зависит от вашей системы.Если вы единственный пользователь в личной системе, вы увидите только свой домашний каталог. В производственных системах могут быть сотни учетных записей пользователей. Быстрый способ вернуться в домашний каталог, независимо от того, где вы находитесь в системе, — это ввести cd
без аргументов или путей к каталогам:
$ cd
Итак, если вы когда-нибудь «заблудитесь» в системе и вам понадобится сбросить настройки, введите cd
, и вы будете безопасно помещены в ваш домашний каталог.Вы можете cd
практически в любой каталог в системе, указав его полный путь после команды cd
:
$ кд / usr / бин
Чтобы изменить каталог на тот, который находится над текущим каталогом, используйте аргумент с двойной точкой (точкой):
$ CD ..
Теперь вы находитесь в каталоге / usr
. Помните, что вы можете «доказать» свое местонахождение самому себе, введя команду pwd
:
$ pwd
/ usr
Бывают случаи, когда вам не нужно cd
в конкретный каталог.Вы можете прочитать файл из вашего текущего местоположения, если вы укажете полный путь к файлу, который хотите просмотреть. Например, вам не нужно перемещать cd
в каталог / usr / bin
, чтобы выполнить команду pwd
. Вы выдаете его из вашего текущего местоположения, потому что он находится на вашем пути.
Путь — это более сложная тема для другой статьи, но имейте в виду, что вам не нужно cd
, чтобы сделать все. Время до cd
— это когда вы по какой-то причине будете работать в определенном каталоге.В противном случае вы можете делать то, что вам нужно, из домашнего каталога. В следующем разделе вы узнаете, почему смена каталогов может быть плохой вещью.
rm
удаляет файлы и каталоги
Команда rm
удаляет (удаляет) файлы и каталоги. Одна из особенностей Linux, которая отличается от DOS / Windows, заключается в том, что он не болтлив, а это означает, что при удалении файла или каталога вы не (по умолчанию) не получите сообщение вроде » Уверены ли вы?» Это просто не в стиле Linux.Существует рекомендуемый обходной путь для такого поведения, который я покажу вам позже в этом разделе.
А пока давайте удалим файл today.txt
, который вы создали ранее с помощью команды touch
:
$ п.м. сегодня.txt
Вы заметили, что не получали никаких вопросов или подсказок? Linux предполагает, что вы знаете, что хотите сделать, до того, как нажмете клавишу Enter . Это немного сбивает с толку, не правда ли? Спросите системных администраторов Linux, пропадали ли какие-либо файлы во время одного из сеансов.Ставлю деньги на положительный ответ, и я не игрок. Вы можете обойти это неинтерактивное поведение некоторых команд, поместив переключатель -i
(параметр) после команды. Попробуйте следующий пример:
$ сенсорный newfile.txt
$ rm -i newfile.txt
rm: удалить обычный пустой файл newfile.txt?
-i
делает rm
интерактивным. Ответьте y
, и файл исчезнет.Ответьте n
и сохраните файл. На всякий случай всегда можно использовать переключатель -i
с rm
. В этом нет никакого вреда или стыда, и вы будете рады, что сделали это в какой-то момент в будущем.
cp
копирует файлы и каталоги
Копирование файлов и каталогов — очень распространенная задача для системных администраторов Linux. В его использовании нет большого секрета, и вы просто вводите команду copy ( cp
), источник файла или каталога и место назначения.Чтобы скопировать файл file.txt
в каталог / opt / files
, используйте:
$ cp file.txt / opt / files
Чтобы скопировать весь каталог и все его содержимое, включая подкаталоги, используйте опцию -R
(Recurse). Скопируйте каталог данных в домашнем каталоге в / opt / files
. Вы можете использовать -r
или -R
для рекурсивного копирования файлов:
$ cp -R data / opt / files
Команда cp
встречается редко, так как параметры для действия в верхнем и нижнем регистре совпадают.Конечно, вы можете использовать подстановочные знаки при копировании файлов, чтобы фильтровать их с помощью шаблонов:
$ cp * .txt / opt / files
mkdir
делает каталоги
Если вы организованный человек, вы захотите создать каталоги, чтобы удовлетворить свою потребность в правильном расположении файлов и данных в отдельных отсеках (каталогах). Каталоги создавать легко. Введите команду mkdir
, а затем укажите имя каталога, который вы хотите создать:
$ mkdir data
Если вы еще более организованы и выполнили некоторое планирование, вы можете создать целую иерархию каталогов с помощью одной команды.Вы хотите создать каталог данных, который включает подкаталоги для документов, форм, тестов и исходящих. Зачем вводить несколько команд, если можно делать все сразу:
$ mkdir -p данные / документы / формы / тесты / исходящие
Параметр -p
сообщает системе, что вы создаете родительский каталог и подкаталоги . Проверьте свою работу с помощью команды ls
. Вы также можете создать несколько каталогов на одном уровне одновременно.
$ mkdir docs электронные таблицы по электронной почте старый
Используйте команду ls
, чтобы убедиться, что команда mkdir
сделала то, что вы хотели.
ps
перечисляет текущие запущенные процессы
Последняя из 10 основных команд Linux, которые вам нужно знать, — это ps
. Эта команда показывает, какие процессы запущены в данный момент. Если вы введете команду ps
, вы увидите только свои собственные процессы:
$ ps
PID TTY TIME CMD
7505 точек / 0 00:00:00 bash
18119 точек / 0 00:00:00 ps
Если вы ничего не запускаете, то этот вывод не очень интересен.Намного интереснее увидеть, что происходит в системе. Вы можете сделать это, добавив несколько опций в ps
. Наиболее полезными являются параметры -e
и -f
для каждого (всего) и полного формата соответственно. Чтобы получить максимальную информацию от команды ps
, объедините эти два параметра в следующую команду. Я включил для вас первые несколько строк из вывода ps -ef
из моей системы:
$ пс -эф
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Jul23? 00:00:25 / usr / lib / systemd / systemd --system --deserialize 20
root 2 0 0 23 июля? 00:00:00 [kthreadd]
root 3 2 0 23 июля? 00:00:00 [rcu_gp]
root 4 2 0 23 июля? 00:00:00 [rcu_par_gp]
root 6 2 0 Jul23? 00:00:00 [kworker / 0: 0H-kblockd]
root 8 2 0 Jul23? 00:00:00 [mm_percpu_wq]
Поля просты для понимания и полезны при устранении проблем с производительностью:
Поле | Описание |
---|---|
С | Использование ЦП. |
CMD | Имя команды или процесса с путем. |
PID | Идентификатор процесса. |
PPID | Идентификатор родительского процесса: родительский процесс — это тот процесс, который породил процесс. |
STIME | Время начала процесса. |
ВРЕМЯ | Процессорное время для процесса. |
TTY | Пользовательский терминал, запустивший процесс. Системный процесс покажет?. |
UID | ID пользователя владельца процесса. |
Есть и другие параметры, которые вы можете использовать с командой ps
, и кажется, что у каждого есть предпочтение, но два самых популярных: ps -ef
и ps aux
.Они оба предоставляют вам много информации о процессе.
Итак, у вас есть 10 основных команд Linux, которые вам нужно знать. Нет одной команды более важной, чем другие. Все они важны и все полезны. Я выбрал их, потому что это 10 команд, которые каждый регулярно использует, будь вы новичок или старый соленый системный администратор из темных времен до Linux.
Если вас интересует сравнение команд DOS и Linux, посмотрите это: Сравнение общих команд DOS и Linux.
[Хотите попробовать Red Hat Enterprise Linux? Загрузите сейчас бесплатно.]
.