Справочник linux: Список 70 основных команд для терминала ОС Linux 🐧
Операционные системы Linux (Unix) имеют очень богатый набор команд. В связи с этим иногда очень удобно иметь под рукой небольшой справочник, который поможет найти наиболее часто используемые команды и утилиты. В данном справочнике команды Linux (Unix) разбиты по категориям и с кратким описанием каждой команды и примерами ее применения, что значительно облегчает поиск нужной команды. Информационные и диагностические команды
Управление системой
Файловые операции
Архивация
Управление процессами
Оперативная память
Жесткий диск
Сеть
Текст
Печать
Пользователи и группы
Разное
Справка
Вы также можете ознакомиться с другими статьями:
|
Окно терминала | |
clear | Очищение экрана терминала. |
history | Показать последние набранные команды. |
! | Выполнить последнюю команду. Вы также можете использовать !n чтобы повторить n команд или !-n чтобы посторить команду n команд назад. |
man | Отображает оперативное руководство для команды. |
whatis | Поиск man-страниц с указанным ключевым целым словом. |
alias | Определяет аббревиатуру для длинной команды. |
exit | Выход из терминала. |
Управление файлами и каталогами | |
cd | Изменяет каталог. Используется для навигации по папкам. |
pwd | Отображает текущий рабочий каталог. |
cd | Изменяет текущий каталог. |
ls | Отображает оглавление каталога. |
cp | Копирует файлы. |
mv | Переименовывает файл либо перемещает файл из одного каталога в другой. |
rm | Уничтожает файлы. |
stat | Показывает, когда файл был изменен. |
touch | Изменяет метку времени файла. |
rmdir | Уничтожает каталоги. |
mkdir | Создает каталог. |
rename | Изменяет имя файла или группы файлов. |
find | Поиск файлов на основе заданного критерия. |
locate | Поиск файлов с помощью периодически обновляемой базы данных. |
grep | Поиск в текстовом файле с помощью регулярных выражений. |
mount | Добавляет устройства к файловой системе. |
umount | Отключает устройства из файловой системы. |
cat | Отображает файл на стандартном устройстве вывода (используется также для конкатенации файлов). |
chmod | Изменяет права доступа одного или нескольких файлов. |
chown | Изменяет владельца или группового владельца файла. |
Пользователи | |
su | Смена пользователя. Также дает доступ к системным правам. |
whoami | Выводит действительный идентификатор пользователя. |
id | Выводит идентификатор пользователя, идентификатор группы и группы пользователя. |
passwd | Создание или изменение пароля пользователя. |
Системное администрирование | |
uname | Выводит системную информацию, такую как тип машины и операционной системы. |
sudo | Предоставляет возможность пользователям выполнять команды от имени суперпользователя root либо других пользователей. |
apt/dnf/pacman | Команды для установки программного обеспечения и обновлений. Какой из них будет использоваться, зависит от вашей операционной системы на базе Linux. Для каждой из них требуются права администратора и дополнительные инструкции, такие как sudo apt install program-name. |
jobs | Отображает состояние всех текущих заданий. Задание — это представление выполняемого процесса или группы процессов. |
bg | Отправляет задание в фон. |
fg | Отправляет задание на передний план. |
kill | Завершает процесс по идентификатору. |
killall | Завершает все процессы с указанным именем. |
ps | Выводит список выполняемых процессов. |
top | Выводит список процессов по степени загрузки системы. В отличие от ps выводит список в реальном времени. |
uptime | Отображает время непрерывной работы системы. |
whereis | Производит поиск исходного текста, двоичного файла и man-страницы для команды. |
df | Подсчитывает объем свободной и доступной дисковой памяти. |
free | Отображает количество свободной памяти в системе. |
Администрирование сети | |
ip | Отображает IP адрес, сетевые интерфейсы, пропускную способность и др. |
ping | Отправка или получение данных с другого компьютера в сети. Часто используется для проверки наличия сетевого соединения и скорости этого соединения. |
dig | Поиск DNS адреса. |
wget | Загружает файл. |
ssh | Безопасное подключение и вход в удаленную сеть. |
Разное | |
echo | Отображение строки текста. Часто используется в программах и скриптах для передачи информации пользователям. |
factor | Отображает возможные множители десятичного числа. |
expr | Решение математических уравнений. |
look | Поиск слова в словаре. |
Описание более 350 команд Линукс / Хабр
На дигге была найдена интересная ссылка (PDF-версия) — описание более, чем 350 команд Линукс (на английском языке). Фактически представляет собой шпаргалку, где команды разбиты на категории. Отмечу, что это не простой список команд, а именно описание с применением. Чтобы не быть голословным приведу несколько примеров.
Смотрим информацию о процессоре
cat /proc/cpuinfo
Получаем информацию о свопе
cat /proc/swaps
Ищем файлы, которые не использовались более 100 дней
find /usr/bin -type f -atime +100
Смотрим установленные пакеты, отсортированные по размеру (для Дебиан и Убунту)
dpkg-query -W -f='${Installed-Size;10}\t${Package}\n' | sort -k1,1n
Конвертим текстовый файлы в HTML (требуется соответсвующий пакет)
recode ..HTML < page.txt > page.html
Надеюсь будет полезно не только новичкам, но и обычным пользователям, я например, информацию о свопе, смотрел совсем другим способом, причем, довольно кривым.
PS Хотел оформить в виде ссылки, но там сильные ограничения на количество «букаф».
Update 1: ссылка от пользователя Tagire: Секреты командной строки (вики Gentoo).
Update 2: автоматическая распаковка архивов от пользователя nuit:
Добавляем в ~/.bashrc строчки, которые идут после этого предложения и командой «ex название_архива» распаковываем всевозможные архивы, не забивая голову, запоминанием опций:
function ex { if [ -f $1 ] ; then case $1 in *.tar.bz2) tar xjf $1 ;; *.tar.gz) tar xzf $1 ;; *.bz2) bunzip2 $1 ;; *.rar) rar x $1 ;; *.gz) gunzip $1 ;; *.tar) tar xf $1 ;; *.tbz2) tar xjf $1 ;; *.tgz) tar xzf $1 ;; *.zip) unzip $1 ;; *.Z) uncompress $1 ;; *.7z) 7z x $1 ;; *) echo "'$1' cannot be extracted via ex()" ;; esac else echo "'$1' is not a valid file" fi }
Надеюсь я качественно отформатировал код.
Update 3: ссылка от пользователя Tagire: Linux — кратко обо всём (большая шпаргалка).
Update 4: поиск «того-не-знаю-чего» пользователя urandom (поиск по ключевому слову компонентов и програм):
apropos keyword
Update 5: обновлены ссылки и добавлена PDF-версия от пользователя develop7
Разделы базы знаний | Большинство UNIX-like систем обладают встроенной справкой, которая подробно описывает все доступные команды. Однако чтобы воспользоваться этой справкой, вы должны знать, по крайней мере, название команды, о которой вы хотите получить информацию. Поскольку большинство пользователей только в общих чертах понимают, что они хотят сделать, то, как правило, встроенная справка мало полезна новичкам. Этот справочник поможет пользователям, знающим, что они хотят сделать, найти соответствующую команду Linux по краткому описанию. Системная информация
Остановка системы
Файлы и директории
Поиск файлов
Монтирование файловых систем
Дисковое пространство
Пользователи и группы
Выставление/изменение полномочий на файлы
Специальные атрибуты файлов
Архивирование и сжатие файлов
RPM пакеты (Fedora, Red Hat и тому подобное)
YUM — средство обновления пакетов(Fedora, RedHat и тому подобное)
DEB пакеты (Debian, Ubuntu и тому подобное)
APT — средство управление пакетами (Debian, Ubuntu и тому подобное)
Pacman — средство управление пакетами (Arch Linux, Chakra, Frugalware и alike)
Просмотр содержимого файлов
Манипуляции с текстом
Преобразование наборов символов и файловых форматов
Анализ файловых систем
Форматирование файловых систем
swap-пространство
Создание резервных копий (backup)
|
Подборка материала для начинающего linux-сисадмина / Песочница / Хабр
Добрый день.
Однажды меня спросили, что почитать начинающему админу. Сам я тоже являюсь начинающим, но давно зрела идея составить такой список, что же можно почитать с небольшим личным мнением или простым описанием.
Тут я поделюсь ссылками, книгами где можно набраться уму разуму.
Кто заинтересовался — прошу под кат.
Linux/Unix:
Книги:
DNS и BIND — толстая книга про DNS и днс-сервер BIND.
Из этих двух книг каждый выбирают сам, в принципе они взаимозаменяемые:
Компьютерные сети Э. Таненбаум — крутая книга по сетям.
Компьютерные сети Олиферы — также крутая книга по сетям.
LPIC-1 Study Guide Second Edition — книга для подготовки к сдаче экзамена LPIC-1.
Postfix Полное руководство — книга о почтовом сервере postfix.
Операционная система UNIX — добротная книга по устройству unix’ов.
Основы Linux от основателя Gentoo — очень крутая книга.
Тайм-менеджмент для системных администраторов — управляй своим временем.
Unix и Linux. Руководство системного администратора — книга мне понравилась, хотя в принципе сборник man’ов.
Rute User’s Tutorial and Exposition — старая, но хорошо написанная книга о GNU/Linux.
Red Hat Linux Essentials — подготовка к курсу RH033.
Самоучитель системного администратора — если честно, то книга так себе, но можно ознакомиться.
Linux. Необходимый код и команды. Карманный справочник — крутой маленький справочник, держу под рукой.
Linux. Полное руководство — добротная книга, хоть и старая. MUST HAVE.
Энциклопедия Linux. Наиболее полное и подробное руководство — опять таки добротная книга, хоть и старая.
Linux. Системное программирование — все о системных вызовах в Linux.
Системное и сетевое администрирование. Практическое руководство — очень крутая книга, правда не о настройках того или иного софта.
Основы программирования в Linux — мега крутая книга, правда описывается C/C++/Bash.
Ссылки:
habrahabr.ru — разнообразные статьи и новости на IT и около-IT тематику.
www.opennet.ru — огромный сборник манов, вики, статей, советов, новостей и прочего на тему Linux, Unix.
www.linux.org.ru — русская информация об ОС Linux.
xgu.ru/wiki — точка обмена знаниями по UNIX/Linux-системам, системам с открытым исходных кодом, сетям и другим родственным вещам.
www.ibm.com/developerworks/ru/linux — крутые статьи от IBM.
syslog.tv — говорят, что бывают полезные статьи, но сам лично не читал.
www.cyberciti.biz — различные how-to и советы.
events.yandex.ru/events/kit — Курсы Информационных технология от Яндекса (видео), очень советую, крутые доклады.
course.secsem.ru/lections — Лекции по курсу «Практические аспекты сетевой безопасности» (видео, аудио, текст).
www.howtoforge.com — большая подборка How-to.
workaround.org — несколько полезных статей и руководств по Linux.
highload.com.ua — масштабирование и производительность, высокие нагрузки, PHP, MySQL.
find.unixpin.com/ru — построитель команды find.
www.grymoire.com/Unix — отличные учебники по sed, awk и полезные статьи.
kernelnewbies.org/KernelHacking — как же работает ядро?
forum.ru-board.com/forum.cgi?forum=8 — раздел форума для сисадминов.
sysadminblog.ru — блоги сисадминов про cisco, ip телефонию, linux, openldap и другое.
wiki.dieg.info — довольно много полезных советов по Linux.
www.sysadminwiki.ru/wiki — неплохая вики.
olemskoi.ru — блог системного администратора Linux.
debian.pro — блок для пользователя и администратора Debian.
interface31.ru/tech_it/index.html — технический блог со статьями по администрированию.
antizlo.blogspot.ru — опять таки неплохой блог.
howitmake.ru — очередной блог.
vds-admin.ru — linux-мануалы, how-to.
wiki.enchtex.info — ряд полезных статей и how-to по администрированию ubuntu и gentoo.
rfc2.ru — русские переводы RFC.
handynotes.ru — есть довольно хорошие статьи.
xtips.ru — шпаргалка для системных администраторов.
vim-adventures.com — игра-туториал для пользователей Vim.
nixsrv.com — Learn Linux The Hard Way — довольно интересные задачки для новичка.
www.linuxfromscratch.org/lfs — Linux From Scratch — соберем свой собственный линукс дистрибутив с блэкджеком и девушками.
Bash:
Книги:
Advanced Bash-Scripting Guide — по моему самый полный гайд по bash.
Bash Guide — добротный гайд по bash.
Ссылки:
ss64.com — отличный справочник консольных команд bash, cmd, powershel и т.д.
cb.vu/unixtoolbox.xhtml — описание shell-команд и примеры.
Perl:
Книги:
Perl Best Practices — как писать хороший код на perl.
Extreme programming in Perl — методология Экстремального Программирования на Perl.
Modern Perl — современные подходы к программированию на Perl.
Perl & LWP — добротная книга о перле и вебе.
Perl. Сборник рецептов. Для профессионалов — сборник крутых рецептов из реальной практики.
CGI programming with Perl — как писать CGI на perl.
Perl для системного администрирования — рассказывает о том, как можно применить Perl для администрирования.
Разработка сетевых программ на Perl — все ясно из названия, но описывается как разрабатывать на ООП Perl.
Learning Perl — отличная книга, начинал с нее.
Программирование на Perl — добротно, от создателя языка.
Освой самостоятельно Perl за 24 часа — крутая книга по Perl, CGI.
Perl. Изучаем глубже — продолжение Learning Perl.
Ссылки:
www.cpan.org — окало 120 тысяч модулей к Perl.
Python:
Книги:
Изучаем Python — добротная книга по питону.
Python в системном администрировании Unix и Linux — не самая лучшая, но и не самая худшая книга, стоит потраченного времени.
Программирование на Python. Том 1 — крутая книга, порог вхождения средний.
Программирование на Python. Том 2 — продолжение крутой книги 🙂
Программирование на Python 3. Подробное руководство — автор не разжевывает абсолютно все, но указывает, что необходимо запомнить. Советую.
Ссылки:
docs.python.org/2 — официальная документация по Python 2.7.3.
docs.python.org/3 — официальная документация по Python 3.3.0.
С:
Книги:
Язык программирования С — лучшая книга по Си, но довольно высокий порог вхождения.
Как программировать на С — мне очень понравилась книга манерой изложения и доступностью, по сравнению с первой книгой.
Программирование на языке С — очень хорошо изложен материал.
C++:
Книги:
Язык программирования С++ — опять таки одна из лучших книг по С++, но порог вхождения опять таки велик.
Как программировать на С++ — аналогично книге по Си, очень доступно.
Регулярные выражения:
Книги:
Регулярные выражения — наверное лучшая книга по регексам.
Ссылки:
regex.learncodethehardway.org/book — Learn Regex The Hard Way
Базы данных:
Книги:
MySQL Руководство по изучению языка — неплохая книга по MySQL.
Изучаем SQL — очень нравится, но пока не осилил целиком, достойная книга.
Ссылки:
habrahabr.ru/post/105954 — MySQL шпаргалки
PHP:
Книги:
PHP в примерах — несколько человек мне посоветовали эту книгу, но честно говоря показалась не очень полезной.
PHP 5 в подлиннике — начал читать, довольно хорошо написано простым языком, обо всем.
Книги старался добавлять только те, которые прочел/начал читать/не дочитал.
Так же буду очень рад любым замечаниям.
За ссылки огромное спасибо автору этого поста и всем его комментаторам.
15 малоизвестных команд Linux / Хабр
Каждому разработчику в определенной степени следует овладеть навыками работы в терминале. Физически находиться у компьютера не всегда возможно, поэтому приходится подключаться удаленно. И действительно, GUI-программы вполне могут с этим с правиться, но зачастую они работают медленнее, чем получение доступа через тот же терминал (в конце концов, это лишь обмен текстом).
Независимо от того, новичок вы или гуру, уверен, вы найдете для себя полезное среди нижеприведенных советов и рекомендаций.
1. man
Начнем с простого, команда man, что означает manual. Если хотите прочитать о какой-либо команде, просто наберите:
man [command]
Вот так можно прочитать мануал по man’у:
man man
man — не малоизвестная команда, ее вы найдете в любом учебнике Unix’а, однако я бы хотел обратить ваше внимание на некоторые ее особенности.
Так, например, чтобы прочитать про ASCII-таблицу, наберите следующее:
man ascii
Путались когда-нибудь, что меньше пико- или фемто-? Пробуйте следующее:
man units
Подобных веселых команд еще много. Есть с чем поразвлечься. (попробуйте xkill). А пока, идем дальше.
2. cd —
Если вы случайно сменили директорию, можно просто вернуться в последнюю набрав:
cd -
3. sudo !!
Этот комикс подчеркивает важность команды sudo в Unix. sudo выполняет команду с правами администратора. Если вы набрали команду без sudo, а потом оказалось, что она необходима, наберите просто:
sudo !!
и она запустится уже с правами администратора.
4. mtr
mtr — мощный инструмент для диагностики сети. Он совмещает в себе функциональность traceroute и ping.
mtr [hostname]
5. [space] command
Опытные пользователи, возможно, знают, что история запущенных команд сохраняется в файле ~/.bash_history.
Так, чтобы команда не записывалась в историю, просто наберите перед командой пробел.
[space] [command]
6. jot
jot генерирует текст. Числа, текст, все вместе. Чтобы сгенерировать числа, попробуйте следующее:
jot [количество чисел] [начиная с]
Если пропишете один аргумент, сгенерируются числа от 1 до значения аргумента.
Чтобы получить случайные:
jot -r [количество чисел] [нижний предел] [верхний предел]
Подробнее читайте здесь или наберите man jot
7. df
Довольно простая команда. Показывает свободное пространство на диске (disk free)
8. pkill
pkill (или process kill) завершает запущенный процесс. Эта команда особенно полезна, когда приложение не отвечает:
pkill [application_name]
Веселой/жестокой команда может оказаться, если вы запускаете ее на удаленной машине. Будьте осторожны, можно потерять важные данные.
9. ddate
Дискордианский календарик
10. cal
Старый-добрый Григорианский календарь.
11. tac
Вы, возможно, слышали про команду cat. Она имеет ряд утилит для создания, копирования, слияния и отображения текстовых файлов. tac делает то же самое, но в обратном порядке.
12. w
Команда w показывает, кто на данный момент вошел в систему, наряду с другой полезной информацией такой, как время работы или нагрузкой процессора.
13. factor
factor раскладывает число на множители:
factor [number]
14. yes
Возвращаемся к веселым командам, yes выводит текст несколько раз:
yes [string]
Используйте ее, чтобы запутать подкравшихся сзади друзей. Внимание, единственный способ остановить ее — CTRL + C (ну, или закрыть терминал)
15. nl
nl нумерует строки. Больше всего полезна при использовании ее в качестве аргумента. Давайте взглянем на пару примеров:
Ну вот мы и подошли к концу команд нашего списка. Сколько уже знали? Сколько из них используете регулярно? Пишите, у кого — сколько? У кого 15/15 — тот выиграл.
Предлагаю делиться интересными командами, кто что знает. Спасибо за внимание, всего хорошего.
BASH, основы навигации / Хабр
Предисловие
Об этом руководстве
Добро пожаловать в первую из четырех частей обучающего руководства по основам Linux, разработанного чтобы подготовить вас к сдаче экзамена Linux Professional Institute 101. В нем вы познакомитесь с bash (стандартной оболочкой командного интерпретатора в Linux), узнаете о большинстве возможностей таких стандартных команд Linux, как ls, cp и mv, разберетесь в инодах, жестких и символьных ссылках, и многом другом. К концу этого руководства у вас сформируется некий фундамент знаний, и вы будете готовы к изучению основ администрирования Linux. К концу всего курса (8 частей), у вас будет достаточно навыков, чтобы стать системным администратором Linux и пройти сертификацию LPIC Level 1 от Linux Professional Institute, если конечно захотите.
Данная первая часть руководства отлично подходит для новичков в Linux, а также для тех пользователей, кто хочет освежить или улучшить свое понимание фундаментальных концепций Linux, таких, как копирование и перемещение файлов, создание символических и жестких ссылок, а также стандартных команд обработки текста, включая конвейеры и перенаправления. По ходу мы также дадим множество советов, подсказок и трюков, что делает это руководство насыщенным и практичным, даже для тех, кто уже имеет солидный опыт работы с Linux. Для начинающих большая часть этого материала будет новой, но более продвинутые пользователи Linux найдут это руководство отличным средством, чтобы разложить свои фундаментальные навыки по полочкам у себя в голове.
Тем, кто изучал первую версию этого руководства с целью, отличной от подготовки к экзамену LPI, возможно, что вам не нужно его перечитывать. Однако, тем же, кто планирует сдавать экзамены, стоит обязательно просмотреть данную исправленную версию.
Введение в bash
Оболочка
Если вы уже использовали Linux ранее, то наверняка знаете, что после входа в систему вас приветствует приглашение, которое выглядит примерно так:
$
На практике приглашение, которое вы видите, может немного отличаться. Например, оно может содержать имя хоста, имя текущей рабочей директории, или все вместе. Не зависимо от того, как выглядит ваше приглашение, есть одна несомненная вещь: программа, которая выводит это приглашение, называется оболочка интерпретатора команд (от англ. shell — оболочка, он же командная строка или терминал — прим. пер.), и, вероятнее всего, вашей командной оболочкой будет ‘bash’.
А у вас запущен bash?
Вы можете убедиться, что используете bash, набрав:
$ echo $SHELL
/bin/bash
Если строчка выше выдает ошибку, или ответ не соответствует, возможно, что вы запустили другую оболочку. В этом случае большая часть этого руководства все еще будет полезна, но было бы значительно лучше для вас переключиться на bash, ради подготовки к экзамену 101.
О bash
Bash — это акроним от Bourne-again-shell, от англ. «ещё-одна-командная-оболочка-Борна» или «рождённая-вновь-командная оболочка» (тут игра слов Bourne/born — прим. пер.), и является оболочкой по умолчанию для большинства Linux-систем. Задача оболочки получать от вас команды, через которые вы взаимодействуете с Linux-системой. После того, как вы закончили ввод команд, вы можете выйти из оболочки (exit) или закончить сеанс (logout), в этом случае вы увидите приглашение входа в систему.
Кстати, вы также можете выйти из оболочки bash нажав control-D в приглашении.
Использование «cd»
Вы, возможно, уже обнаружили, что пялиться на приглашение bash — не самое впечатляющее занятие в мире. Ну что ж, давайте узнаем как путешествовать по нашей файловой системе. В приглашении введите пожалуйста следующую команду (без $):
$ cd /
Вы только что сообщили bash, что хотите работать в директории /, также известной, как корневая; все директории в системе имеют форму дерева, и / является его вершиной, т.е. корнем (в информатике деревья растут наоборот, корень вверху, а ветки спускаются вниз — прим. пер.). cd устанавливает директорию, в которой вы в данный момент работаете, также известную как «текущая рабочая директория».
Пути
Чтобы узнать текущую рабочую директорию в bash нужно набрать:
$ pwd
/
В примере с cd, аргумент / называется путь. Он сообщает cd куда мы хотим отправиться. В частности, аргумент / это абсолютный путь, что значит, что он задает расположение относительно корня дерева файловой системы.
Абсолютные пути
Ниже несколько из них:
/dev
/usr
/usr/bin
/usr/local/bin
Как можно заметить, у всех абсолютных путей есть одна общая черта, они начинаются с /. Указывая, допустим, /usr/local/bin в качестве аргумента для cd, мы сообщаем, что хотим попасть в / директорию, затем в usr директорию внутри нее, и так далее в local и bin, вниз по дереву. Абсолютные пути всегда отсчитываются начиная от / сперва.
Относительные пути
Другой тип пути называется «относительный путь». bash, cd, и другие команды всегда интерпретируют их относительно текущей директории. Относительные пути НИКОГДА не начинаются с /. Так, если мы сначала переместимся в /usr:
$ cd /usr
То, затем мы можем использовать относительный путь local/bin, чтобы попасть в директорию /usr/local/bin:
$ cd local/bin
$ pwd
/usr/local/bin
Использование ..
Относительные пути могут также содержать одну или более «..» директории. Директория «..» специальная; она указывает на родительскую директорию. Так, продолжая с примера выше:
$ pwd
/usr/local/bin
$ cd ..
$ pwd
/usr/local
Как видно, наша текущая директория теперь /usr/local. Мы смогли переместиться «назад» на одну директорию относительно текущей, где были до того.
Кроме того, мы также можем использовать «..» в существующем относительном пути, позволяющем нам переместиться в директорию «рядом» с той, в которой находимся:
$ pwd
/usr/local
$ cd ../share
$ pwd
/usr/share
Примеры относительных путей
Относительные пути могут быть чуточку более сложными. Ниже несколько примеров, попробуйте самостоятельно догадаться, где вы окажитесь после набора каждой из этих команд.
$ cd /bin
$ cd ../usr/share/zoneinfo
$ cd /usr/X11R6/bin
$ cd ../lib/X11
$ cd /usr/bin
$ cd ../bin/../bin
А теперь наберите их и проверьте свои предположения. 😉
Понимание .
Перед тем как мы закончим изучение cd, есть несколько моментов, которые необходимо прояснить. Во-первых, есть еще одна специальная директория «.», которая означает «текущая директория». Хотя она и не используется с командой cd, но часто используется для выполнения программы из текущей директории, как в следующем примере:
$ ./myprog
В данном случае будет запущена исполняемая программа myprog, находящаяся в текущей рабочей директории.
cd и домашняя директория
Если бы мы хотели переместиться в нашу домашнюю директорию, то могли бы набрать:
$ cd
Без каких либо аргументов cd переместит в вашу домашнюю директорию, которая будет /root для суперпользователя, или обычно /home/username (где username — имя пользователя в системе — прим.пер.) для любого другого пользователя. Но, что если мы хотим указать файл в нашей домашней директории? Может быть мы хотим передать путь к файлу в качестве аргумента нашей программе myprog. Если файл расположен в нашей домашней директории, мы можем набрать:
$ ./myprog /home/drobbins/myfile.txt
Однако, использования абсолютного пути вроде этого, не всегда удобно. К счастью, мы можем использовать символ ~ (тильда), чтобы проделать то же самое:
$ ./myprog ~/myfile.txt
Другие домашние директории пользователей
Bash воспримет одиночную ~ как указатель на вашу домашнюю директорию, но вы также можете использовать её для указания на домашние директории других пользователей. Например, если мы хотели сослаться на файл под названием fredsfile.txt в домашней директории пользователя fred, то могли бы набрать:
$ ./myprog ~fred/fredsfile.txt
Продолжение…
Об авторах
Daniel Robbins
Дэниэль Роббинс — основатель сообщества Gentoo и создатель операционной системы Gentoo Linux. Дэниэль проживает в Нью-Мехико со свой женой Мэри и двумя энергичными дочерьми. Он также основатель и глава Funtoo, написал множество технических статей для IBM developerWorks, Intel Developer Services и C/C++ Users Journal.
Chris Houser
Крис Хаусер был сторонником UNIX c 1994 года, когда присоединился к команде администраторов университета Тэйлора (Индиана, США), где получил степень бакалавра в компьютерных науках и математике. После он работал во множестве областей, включая веб-приложения, редактирование видео, драйвера для UNIX и криптографическую защиту. В настоящий момент работает в Sentry Data Systems. Крис также сделал вклад во множество свободных проектов, таких как Gentoo Linux и Clojure, стал соавтором книги The Joy of Clojure.
Aron Griffis
Эйрон Гриффис живет на территории Бостона, где провел последнее десятилетие работая в Hewlett-Packard над такими проектами, как сетевые UNIX-драйвера для Tru64, сертификация безопасности Linux, Xen и KVM виртуализация, и самое последнее — платформа HP ePrint. В свободное от программирования время Эйрон предпочитает размыщлять над проблемами программирования катаясь на своем велосипеде, жонглируя битами, или болея за бостонскую профессиональную бейсбольную команду «Красные Носки».
Справочное руководство по основам работы с командами Linux
Хотя многие люди, использующие Linux, будут использовать графический экран, бывают случаи, когда очень полезно использовать инструменты командной строки, которые могут быть для удобства (путем автоматизации утомительных задач), для предоставления дополнительных параметров или при удаленном управлении компьютером. Эти команды запускаются из оболочки Linux.
В этом справочном руководстве объясняются некоторые основные команды и способы их сочетания для совместной работы. Здесь слова команда и программа используются как синонимы.В этом справочном руководстве я имею в виду программы командной строки, которые принимают заданный ввод и возвращают информацию после соответствующей обработки. Это отличается от полных приложений, которые могут быть графическими, предоставлять более полнофункциональный текстовый дисплей или требовать взаимодействия с пользователем во время работы.
Краткие названия команд
Команды UNIX не обязательно самые простые для запоминания. Они разработаны как короткие команды, чтобы уменьшить объем ввода:
например.
ls — Список содержимого каталога
cd — Изменить каталог
cp — Копировать
pg — Показать вывод по одной странице за раз
more — Аналогично pg
меньше — нравится больше, но с большим количеством функций!
Это может немного затруднить запоминание, но позволяет сэкономить на вводе большого количества команд.
Общая философия UNIX заключается в том, чтобы команды выполняли только свои собственные специфические функции и выполняли их хорошо, но не охватывали функциональные возможности, предлагаемые другими командами.Например, вместо того, чтобы каждая программа должна реализовывать функцию сортировки, большинство команд будут выводить несортированный вывод, и, если необходимо, вывод может быть передан команде сортировки, задача которой просто сортировать данные в определенном порядке.
Другой пример этого в действии — то, что многие команды будут выводиться на экран, не беспокоясь о том, сколько данных передается. Сама по себе команда, передающая большой объем данных, приведет к тому, что часть информации будет прокручиваться за пределы экрана.Чтобы просмотреть информацию постранично, вывод передается через команду pg, которая обрабатывает разбиение на страницы. В качестве альтернативы вывод может быть передан через команду sort (для сортировки по порядку) или команды head или tail (для отображения первых или последних нескольких строк).
В следующем примере показана команда ls, которая передается по конвейеру через команду more, так что за раз отображается один полный экран.
ls | более
Подробнее об этом будет сказано ниже.
Формат команд
Команды, предназначенные для запуска из командной строки, обычно имеют некоторые параметры, которые можно использовать для изменения способа работы команды. Типичная команда может иметь несколько параметров для изменения способа ее действия с данными и может принимать другие аргументы, такие как имена файлов или вводимый текст.
параметры команды аргументы
Примером этого может быть команда ls. Команда ls будет объяснена отдельно; пока достаточно знать, что команда ls выведет список содержимого каталога и примет определенные параметры и аргументы (аналогично команде dir в DOS / Windows).Одна опция для команды ls — это опция «-l», которая означает предоставление более подробной информации о файлах, а другая — «-a», которая показывает все файлы, включая скрытые. Предоставляемый аргумент — это имя файла или каталога.
ls -l / домашний / стюарт
покажет содержимое моего домашнего каталога. Параметр -l изменяет способ выполнения программы, а аргументом является / home / stewart, который сообщает программе, в каком каталоге искать. Команда ls не требует никаких параметров или аргументов.Например, следующие команды также являются вполне допустимыми.
ls / home / stewart
показывает краткий листинг каталога
ls -l
показывает полный список текущего каталога
ls
показывает краткий список текущего каталога
Если требуется более одной опции, их можно указать двумя способами. Либо индивидуально как отдельные варианты т.е.
ls -l -a / домашний / стюарт
или комбинированный, т.е.
ls -la / домашний / стюарт
, оба приведенных выше кода дадут одинаковый результат.
Максимальное использование команд UNIX
Хотя количество опций в каждой команде UNIX может поначалу показаться слишком большим, это часть того, что делает UNIX такой мощной. Еще одна особенность, которая делает UNIX такой мощной, — это возможность комбинировать несколько команд, чтобы сделать их более полезными. Это может быть достигнуто либо путем объединения команд в командной строке, либо путем объединения команд в файл сценария, который может варьироваться от чего-то очень тривиального до отдельной программы.
Использование командных переключателей
Самый простой способ расширить функциональность команды — это попробовать некоторые из доступных переключателей.
Здесь снова используется команда ls, чтобы показать другой вывод.
$ ls
документы readme.txt file1.txt file2.txt
При добавлении опции ‘-l’ предоставляется дополнительная информация.
$ ls -l
всего 6177
drwx ------ 2 пользователя stewart 512 сен 16 17:42 docs
-rw ------- 1 пользователь stewart 124 сен 16 17:26 readme.текст
-rw ------- 1 пользователь stewart 3156558 16 сен, 17:25 file1.txt
-rw ------- 1 stewart пользователи 3505 16 сен 17:25 file2.txt
Трубопроводы (|)
Как упоминалось ранее, мы часто хотим взять вывод одной команды и передать его другой. Стандартный способ сделать это — использовать конвейер, называемый конвейером, или конвейерную передачу вывода.
Труба представляет собой вертикальную черту ‘|’. На стандартной клавиатуре Великобритании это обычно находится в левом нижнем углу клавиатуры и набирается с помощью Shift и клавиши ‘\’.На американской клавиатуре это та же клавиша ‘\’, но иногда она расположена над клавишей RETURN. На других европейских клавиатурах это может быть одна из цифровых клавиш (например, Alt-Gr 6).
Сначала указывается первая команда для выполнения, за которой следует символ вертикальной черты, а затем вторая команда. Любой вывод первой команды затем используется как вход для второй команды.
Например, чтобы отсортировать базовый список каталогов по имени, команда ls проходит через команду sort.
ls | сорт
Выход может быть передан через несколько команд, используя канал для каждой из них. Полная командная строка называется конвейером.
ls | сортировать | более
Перенаправление stdout, stdin и stderr (> <)
Если команда не передана в другую, вывод обычно идет на стандартный вывод (stdout), который обычно является экраном. Ввод обычно берется из стандартного ввода (stdin), которым обычно является клавиатура.Для автоматизации процессов иногда требуется изменить это так, чтобы, например, вывод команды отправлялся в файл или на принтер, или ввод команды брался из файла. Это делается путем перенаправления потоков stdout и stdin.
Перенаправление стандартного вывода (stdout)>
Вывод команды ls может быть перенаправлен в файл в этом случае с именем dirlist.txt
LS> dirlist.txt
Если файл dirlist.txt уже существует, он будет удален. Также можно добавить вывод в конец существующего файла, используя >> вместо>.
Например
echo "Это следующая строка журнала" >> log.file
Здесь любой существующий контент останется, но текст «Это следующая строка журнала» будет добавлен в конец файла.
Стандартная ошибка перенаправления (stderr) 2>
Хотя вы можете видеть весь вывод команды на одном экране, это не всегда обязательно из стандартного вывода.Существует также другой поток данных, называемый стандартной ошибкой, который по умолчанию направляется на тот же экран, что и стандартный вывод. Этот поток данных используется для отправки сообщений о любых сообщениях об ошибках. Преимущество наличия ошибок в виде отдельного потока заключается в том, что даже если вы перенаправляете stdout в файл, вы мгновенно увидите все сообщения об ошибках на экране.
Если команда выполняется автоматически без взаимодействия с пользователем, то сообщения, выводимые на экран, могут не отображаться. Таким образом, стандартный поток данных об ошибках может быть перенаправлен аналогично стандартному выводу путем добавления префикса перенаправления цифрой 2.Фактически, поток данных stdout должен иметь префикс с цифрой 1, однако это отбрасывается для экономии ввода. Для перенаправления любых сообщений об ошибках в файл error.log и обычных ответов в файл журнала можно использовать следующее.
команда> файл журнала 2> журнал ошибок
Одиночный символ «больше» (>) может быть заменен двойным символом «больше» (>>), если вы хотите, чтобы результат был добавлен к файлу, а не перезаписывал файл.
Также можно записать как стандартный вывод, так и стандартный поток ошибок в один и тот же файл.Это не просто случай использования того же имени файла в приведенной выше команде, как вы могли ожидать. Причина в том, что файл может быть открыт для записи только одним процессом за раз. Два перенаправления — это два разных процесса, которые не позволяют обоим потокам записывать в один и тот же файл. Это может быть достигнуто путем перенаправления потока данных об ошибках в поток данных stdout с помощью 2> & 1. Что теперь дает:
команда> output.file 2> & 1
Использование временного файла
Проблема, аналогичная проблеме попытки дважды записать файл, заключается в том, что вы не можете использовать файл, используемый в качестве входного, в качестве выходного файла.Например, нельзя вводить следующую команду
сортировать файл1> файл1 Недействительно
вместо этого вывод должен быть перенаправлен во временный файл, а затем переименован в требуемое имя.
sort file1> / temp / tmp $$
mv / tmp / tmp $$ file1
Файл, заканчивающийся на $$, будет фактически создан системой с уникальным номером. Это полезно для временных файлов, поскольку предотвращает перезапись временного файла, используемого другим процессом.
Вывод в файл и командную строку (тройник)
Ранние перенаправления обычно подходят для большинства целей, однако иногда необходимо, чтобы кто-то контролировал вывод команды, а также дублировал ее в файл для целей регистрации или для выполнения дальнейшей обработки.
Команда tee используется в конвейере, и независимо от того, какие входные данные она получает, она помещает выходные данные в файл и пересылает их по конвейеру.
команда | тройник 1
Строка выше примет любой вывод команды и поместит копию в файл1, а также отправит ее на экран.Это можно было бы дополнительно объединить, разрешив дальнейшую обработку вывода другой командой. Команду tee можно использовать в таком конвейере сколько угодно раз.
command1 | тройник file1 | команда2
Если вы хотите, чтобы tee добавлялся к файлу, а не перезаписывал его, используется опция -a.
Перенаправление стандартного входа (stdin) <
Такое же базовое перенаправление может быть выполнено и в обратном направлении, поскольку интерактивная программа, требующая ввода от пользователя, может быть автоматизирована.Например, с интерактивной программой, такой как ftp (протокол передачи файлов). Программа ftp позволяет передавать файлы с одного компьютера на другой по сети. Однако для этого необходимо, чтобы пользователь вводил команды для передачи файла. Вместо этого команды можно вводить в текстовый файл так же, как они вводятся с клавиатуры. Затем файл направляется в программу вместо stdin.
ftp linux2.penguintutor.com
(на самом деле существуют альтернативные способы выполнения определенных ftp-передач, которые не требуют интерактивного ввода, такие как использование nftp, lftp или, в некоторых случаях, sitecopy).
Нет Clobber
Перенаправление к файлу может иметь неприятные последствия, если файл уже существует и не требует замены. При неправильном использовании перенаправления можно случайно перезаписать важный файл. В оболочке bash / korn есть опция, позволяющая предотвратить ошибочную перезапись файлов. Это опция noclobber, которую можно установить, набрав
.
набор -o noclobber
Если теперь будет сделана попытка перезаписать файл, оболочка выдаст сообщение об ошибке и предотвратит запись в файл.Опцию no clobber можно отключить с помощью
комплект + noclobber
При необходимости параметр noclobber может быть помещен в профиль пользователя для автоматической установки этого параметра.
Таблица дескрипторов файла
Использование stdin, stdout и stderr возможно с использованием только одинарных знаков меньше / больше из-за способа, которым процессы назначаются таблице дескрипторов файлов.
Таблица дескрипторов файлов - это список номеров, относящихся к открытым файлам.Первыми открываются 3 файла: stdin, stdout и stderr, они пронумерованы 0 для stdin, 1 для stdout и 2 для stderr. Следовательно, на stdin и stdout можно ссылаться с помощью <и> соответственно (без дальнейшего имени файла), тогда как stderr требует 2>, чтобы убедиться, что это выходной поток с номером 2, который должен быть перенаправлен.
Дополнительная литература
Справочное руководство Bash
.Учебное пособие по
Linux - 4. Научитесь использовать страницы руководства
страниц руководства!
Ваша ссылка на Linux.
Введение
Командная строка Linux предлагает массу возможностей и возможностей. Если ваша память похожа на мою, вам трудно запомнить большое количество деталей. К счастью для нас, существует простой в использовании ресурс, который может сообщить нам обо всех замечательных вещах, которые мы можем делать с помощью командной строки. Об этом мы и узнаем в этом разделе.Я знаю, что вы стремитесь и хотите увязнуть в чем-то, и мы начнем с этого в следующем разделе, я обещаю, однако сначала нам нужно научиться использовать страницы руководства.
Так какие именно?
Справочные страницы - это набор страниц, которые объясняют каждую команду, доступную в вашей системе, включая то, что они делают, особенности того, как вы их запускаете, и какие аргументы командной строки они принимают. Некоторые из них немного сложны для понимания, но они довольно последовательны по своей структуре, поэтому, как только вы освоитесь, все не так уж плохо.Вы вызываете страницы руководства с помощью следующей команды:
man <команда искать>
- человек ls
- Имя
- ls - просмотреть содержимое каталога
- Краткое содержание
- ls [опция] ... [файл] ...
- Описание
- Вывести информацию о ФАЙЛАХ (по умолчанию текущий каталог). Сортировать записи в алфавитном порядке, если не указаны ни -cftuvSUX, ни --sort.
- Обязательные аргументы для длинных опций являются обязательными и для коротких опций.
- -a, --всего
- не игнорировать записи, начинающиеся с.
- -A, - почти все
- не перечислить подразумевается. и ..
- ...
Давайте разберемся:
- Строка 3 сообщает нам фактическую команду, за которой следует простое однострочное описание ее функции.
- Строки 6 - это так называемый синопсис. На самом деле это всего лишь краткий обзор того, как следует запускать команду. Квадратные скобки ([]) указывают на то, что что-то не обязательно. (параметр в этой строке относится к параметрам командной строки, перечисленным под описанием)
- Строка 9 представляет нам более подробное описание команды.
- Строка 11 и далее Ниже описания всегда будет список всех параметров командной строки, доступных для команды.
Чтобы выйти из страниц руководства, нажмите «q» для выхода.
В поисках
На страницах Руководства можно выполнить поиск по ключевым словам. Это может быть полезно, если вы не совсем уверены в том, какую команду можете использовать, но знаете, чего хотите достичь. Чтобы этот подход был эффективным, вам может потребоваться несколько приемов. Нередко можно встретить определенное слово на многих страницах руководства.
man -k <поисковый запрос>
Если вы хотите выполнить поиск на странице руководства, это также возможно.Чтобы сделать это, пока вы находитесь на конкретной странице руководства, на которой вы хотите выполнить поиск, нажмите косую черту '/', за которой следует термин, который вы хотите найти, и нажмите 'Enter'. Если термин появляется несколько раз, вы можете циклически их просматривать нажав кнопку «n» для следующего.
Подробнее о выполнении команд
Многие люди, разбирающиеся в Linux, знают, какие параметры командной строки мы должны использовать, чтобы изменить поведение наших команд в соответствии с нашими потребностями.Многие из них имеют как длинную, так и короткую версию. например. Выше вы заметите, что для перечисления всех записей каталога (включая скрытые файлы) мы можем использовать параметр -a или --all (помните из предыдущего раздела, какие файлы и каталоги начинаются с.?). Длинная рука - это просто более удобочитаемая форма. Вы можете использовать любой из них, они оба делают одно и то же. Одним из преимуществ использования длинной руки является то, что вам будет легче запомнить, что делают ваши команды. Одним из преимуществ использования сокращений является то, что вы можете легко связать несколько слов вместе.
- pwd
- / главная / райан
- ls -a
- ls - все
- ls -alh
Найдите на странице руководства ls , что делает последняя команда.
Как видите, длинные параметры командной строки начинаются с двух тире (-), а сокращенные - с одного тире (-). Когда мы используем одно тире, мы можем вызвать несколько вариантов, поместив все буквы, представляющие эти варианты, вместе после тире.(Есть несколько случаев, когда для определенной опции требуется аргумент, и эти опции обычно должны быть помещены отдельно вместе с соответствующими аргументами. Однако пока не слишком беспокойтесь об этих особых случаях. Мы укажем их, когда мы с ними сталкиваемся.)
Сводка
Мероприятия
Хорошо, теперь давайте применим это на практике.Попробуйте следующее:
- Просмотрите страницу руководства для ls . Поиграйте с некоторыми параметрами командной строки, которые вы там найдете. Убедитесь, что вы играете с несколькими комбинациями. Также убедитесь, что вы играете с ls как с абсолютными, так и с относительными путями.
- Теперь попробуйте выполнить несколько поисков по страницам руководства. В зависимости от выбранных вами условий вы можете получить довольно большой список. Взгляните на несколько страниц, чтобы понять, на что они похожи.
.
11 лучших бесплатных инструментов библиографии Linux (обновлено 2019)
Библиографическое программное обеспечение (также известное как программное обеспечение для цитирования или менеджеры ссылок) играет очень важную роль в исследованиях. Этот тип программного обеспечения помогает быстрее публиковать исследования. Исследователи собирают огромную коллекцию библиографических ссылок, имеющих отношение к их области исследований, и им необходимо цитировать соответствующие ссылки в своих опубликованных журнальных статьях.
Следовательно, для этих людей важно эффективное управление библиографическими ссылками, что позволяет им экономить время на поиск необходимых ссылок.Некоторые из других способов оптимизации этого процесса заключаются в том, что этот тип программного обеспечения помогает исследователям систематизировать библиографии, форматируя цитаты для научных статей, импортируя цитаты с веб-сайтов и баз данных, а также делая заметки к статьям.
Менеджер библиографии обычно позволяет пользователю выполнять поиск в академических и неакадемических базах данных, хранить ссылки, комментировать их, импортировать / экспортировать между различными форматами и представлять данные в стандартных форматах.
Существует широкий спектр программного обеспечения с открытым исходным кодом, которое предлагает аналогичные функции (и многое другое), доступное для Linux.Особо следует упомянуть здесь BibTeX. BibTeX - это программа и формат файла, разработанный Ореном Паташником и Лесли Лэмпортом в 1985 году для системы подготовки документов LaTeX.
Распространенное заблуждение состоит в том, что инструменты библиографии действительно полезны только для ученых. Однако этот тип программного обеспечения представляет собой тип справочного менеджера, предлагающий возможность сбора больших объемов метаданных.
Чтобы получить представление о качестве доступного программного обеспечения, мы составили обновленный список из 11 превосходных библиографических программ, включая собственные приложения Linux, инструменты на основе Java и веб-программы.Надеюсь, здесь будет что-то интересное для тех, кто хочет публиковать свои исследования быстрее.
А теперь давайте рассмотрим 11 имеющихся библиографических инструментов. Для каждого заголовка мы составили отдельную страницу портала, полное описание с подробным анализом его функций, а также ссылки на соответствующие ресурсы.
Инструменты для библиографии | |
---|---|
KBibTeX | Программное обеспечение для управления ссылками в первую очередь для BibTeX |
Zotero | Мощный инструмент для онлайн / офлайн-исследований для Firefox и автономной версии |
JabRef | Графический интерфейс для управления базами данных BibTeX |
WIKINDX | Обеспечивает виртуальную исследовательскую среду |
Пиблиограф | Инструмент для работы с библиографическими базами данных |
Справочник | Организатор документов и менеджер библиографии для Gnome |
cb2Bib | Извлечь библиографические ссылки из различных источников |
refbase | Эффективное управление научной литературой, ссылками и цитатами |
papis | Расширяемая командная строка для управления документами и библиографией |
Bibfilex | Пакет LaTeX, реализующий библиографические функции с BibTeX |
pubs | Библиография в командной строке |
Статьи по теме
.