В этой статье объясняется, как использовать встроенные команды терминала для предоставления информации о некоторых командах и их функциях.
Приведите примеры, чтобы проиллюстрировать этот процесс.
Мощный инструмент командной строки. Существуют инструменты, позволяющие выполнять громоздкие и монотонные задачи графического интерфейса пользователя (GUI) всего за несколько секунд. Удаление последних четырех строк в каждом абзаце большого файла займет длительное время в приложении графического интерфейса пользователя. Однако эта задача может быть автоматизирована при использовании командной строки.
Наиболее распространенные способы открытия окна терминала в Ubuntu Linux:
Существует множество команд, связанных с оболочкой терминала в Ubuntu Linux. В следующей статье перечислены наиболее часто используемые группы, которые они затрагивают.
Существует три основные команды, которые мы используем для предоставления всей информации, необходимой для использования различных команд терминала.
Команда man выводит руководство для любой команды, используемой в терминале.
Большинство команд оболочки принимают различные параметры. Чтобы получить некоторые сведения о команде и списке доступных параметров, man
используйте команду - short for manual . Введите имя команды, о которой вы хотите узнать больше, в качестве ее аргумента. Именно с этой командой man
команда работает.
Пример. При вводе команды man who
отображаются следующие выходные данные.
WHO(1) User Commands WHO(1)
NAME
who - show who is logged on
SYNOPSIS
who [OPTION}... [ FILE | ARG1 ARG2 ]
DESCRIPTION
-a, --all
same as -b -d --login -p -r -t -T -u
-b, --boot
time of last system boot
-d, --dead
print dead processes
-H, --heading
print line of column headings
-i, --idle
add idle time as HOURS:MINUTES, . or old (deprecated, use -u)
-l, --login
print system login processes
--lookup
attempt to canonicalize hostnames via DNS
-m, only hostname and user associated with stdin
Manual page who(1) line 1
Многие руководства занимают несколько экранов. Используйте курсор/ARROW
клавиши или клавиши Page Up/Page Down для навигации по тексту. Клавиша пробела отображает следующую строку текста. При нажатии клавиши q происходит выход из руководства и возврат к оболочке.
На странице man видно -a
, что можно использовать параметр для отображения дополнительной информации об активных сессиях пользователей.
user@3[user]$ who -a
|
|
|
|
Nov 14 13:47 |
|
10 |
id=si |
term=0 |
exit=0 |
|
|
|
system boot |
Nov 14 13:47 |
|
|
|
|
|
|
|
|
run-level 5 |
Nov 14 13:47 |
|
|
Last=S |
|
|
|
|
|
|
Nov 14 13:47 |
|
835 |
id=15 |
term=0 |
exit=0 |
LOGIN |
|
|
tty1 |
Nov 14 13:47 |
|
958 |
id=1 |
|
|
root |
|
- |
tty2 |
Nov 14 19:15 |
00:19 |
959 |
|
|
|
user |
|
- |
tty3 |
Nov 14 19:28 |
00:06 |
960 |
|
|
|
LOGIN |
|
|
tty4 |
Nov 14 13:47 |
|
961 |
id=4 |
|
|
LOGIN |
|
|
tty5 |
Nov 14 13:47 |
|
962 |
id=5 |
|
|
LOGIN |
|
|
tty6 |
Nov 14 13:47 |
|
963 |
id=6 |
|
|
user |
|
? |
:0 |
Nov 14 13:47 |
? |
965 |
|
|
|
|
|
|
pts/3 |
Nov 14 16:29 |
|
1746 |
id=/3 |
term=0 |
exit=0 |
user@3[user]$
Она также считывает файлы справки для программ. man
Команда также может предоставить информацию об оболочках, функциях и библиотеках.
Если вы не знаете, как использовать определенную команду, выполните команду с или -h
коммутаторами –help
. Отображается информация об использовании и список параметров, которые можно использовать с командой.
Пример. Если вы хотите знать, как использовать команду wget
, введите wget –help
или wget -h
.
User@Ubuntu@#$ wget --help
GNU Wget 1.12, a non-interactive network retriever.
Usage: wget [OPTION]... [URL]...
Mandatory arguments to long options are mandatory for short options t
oo.
Startup:
-V, --version display the version of Wget and exit.
-h, --help print this help.
-b, --background go to background after startup.
-e, --execute=COMMAND execute a '.wgetrc' -style command.
Logging and input file:
Это часто приводит к выводу большого количества информации в терминале. Она может быть неудобочитаемой. Чтобы упростить чтение выходных данных, используйте pipe
команду less . Это позволит прокручивать информацию с помощью клавиш курсора/стрелок на клавиатуре.
Пример. wget -help | less
GNU Wget 1.12, a non-interactive network retriever.
Usage: wget [OPTION]... [URL]...
Mandatory arguments to long options are mandatory for short options t
oo.
Startup:
-V, --version display the version of Wget and exit.
-h, --help print this help.
-b, --background go to background after startup.
-e, --execute=COMMAND execute a '.wgetrc' -style command.
Logging and input file:
-o, --output-file=FILE log messages to FILE.
:
Нажмите клавишу q, чтобы закрыть утилиту less по завершении.
Чтобы найти определенный параметр, можно выполнить pipe
вывод с помощью grep
команды. (Например, Используйте следующую команду для поиска параметров, содержащих слово proxy.
)
wget -help | grep proxy
User@ubuntu:~$ wget --help | grep proxy
--no-proxy explicitly turn off proxy.
--proxy-user=USER set USER as proxy username.
--proxy-password=PASS set PASS as proxy password.
User@Ubuntu:~$
Некоторые команды также задокументированы внутри info
системы. Приведенная здесь информация дополняет отображаемую man
команду.
Пример. Введите команду info ls,
, чтобы отобразить следующий вывод.
[support@support]$" info ls
Теперь можно просмотреть руководство с важной информацией о команде ls
.
File: coreutils.info, Node: ls invocation, Next: dir invocation, Up: Directory listing
'ls': List directory contents
=============================
The 'ls' program lists information about files (of any type,
including directories). Options and file arguments can be intermixed
arbitrarily, as usual.
For non-option command-line arguments that are directories, by
default 'ls' lists the contents of directories, not recursively, and
omitting files with name beginning with '.'. For other non-option
arguments, be default 'ls' lists just the file name. If no non-option
argument is specified, 'ls' operates on the current directory, acting
as if it had been invoked with a single argument of '.'.
By default, the output is sorted alphabetically, according to the
locale settings in effect. (1) If standard output is a terminal, the
output is in columns (sorted vertically) and control characters are
output as question marks; otherwise, the output is listed one per line
and control characters are output as-is.
--zz-Info: (coreutils.info.gz)ls invocation, 48 lines --Top------------------
Welcome to info version 4.3 Type C-h for help, m for menu item.
Страницы можно прокрутить вниз, нажав клавишу пробела или с помощью курсора/ARROW
клавиш.
help
клавишу H.quit
клавишу Q,
В терминале можно выполнить практически все действия, которые также можно выполнить с помощью графического интерфейса пользователя.
Как уже было описано ранее, многие команды были разработаны для работы в терминале, а затем поверх них был добавлен графический интерфейс пользователя. Вот почему некоторые команды в графическом интерфейсе пользователя могут выглядеть неуклюже: они появились позже, поскольку в большинстве сборок Linux Server были не нужны.
Программа терминала, которая открывается из меню, находится в домашней папке пользователя. Известен как ~
Оператор может найти текущий каталог .
. Большинство команд, работающих с текущей папкой, командами, местоположениями и файлами чувствительны к регистру. /home
не совпадает с /HOME
или /Home
.
Используйте клавишу TAB для завершения имен файлов, если у вас есть длинное название драйвера. driver-128947232jaseu.sh
например, введите и dri
введите остальные. Если у вас нет двух имен, dri
которые начинаются с , добавьте еще один символ, чтобы создать driv
его, и повторите попытку. Убедитесь, что автозаполнение соответствует нужному значению.
Практически любую команду можно прочитать полностью на странице man
-h
--help
, введя или написав начальную команду. Этот синтаксис: man command_name
, или command_name --help
command_name -h
.
Для получения дополнительной информации можно использовать info. Поиск команды можно выполнить с помощью info command_name
. Для большинства команд, входящих в пакет coreutils. Вы также можете найти info
команду info coreutils command_name
«invocation», где была выбрана команда replacescommand_name
.
Практически любая команда может точно показать, что происходит, шаг за шагом. Обычно это -v
или --verbose
.
Для получения дополнительной информации можно одновременно указать несколько флагов команд. См. пример ls -al
ниже.
Имена команд не всегда очевидны. Из-за ограничений пространства в старые дни UNIX они были сокращены и эти соглашения зависли.
cd
- перемещает вас обратно в home, как и cd ~
cd..
- возвращает на каталог выше. Начиная с /home/user/Desktop
, вы cd..
открываете в /home/user
. Его можно расширить, чтобы cd ../../
переместить обратно два каталога в /home
.
cd foldername/
- перемещает вперед к указанной папке в текущей папке.
/
, это важное упущение. Если я в и /home/user
хочу получить доступ Desktop
к . Необходимо ввести без cd Desktop/
перед /
Desktop
. Ввод /
перед вводом нас в корневую часть файловой системы, которая не работает.
cd /some/other/path
- перемещает к указанной папке. Если путь выбран правильно, Не забудьте, что ключ можно TAB
использовать для автоматического выполнения.
ls
- выводит список всех файлов в текущей папке.
ls -l
- предоставляет более длинный список, включающий владельцев, разрешения, размер и дату изменения.
ls -a
- отображает скрытые файлы и папки, а также обычный список.
ls -al
- объединяет два параметра для отображения скрытых файлов и папок и вывода их в длинном формате.
ls -h
- Отображает размеры файлов в удобочитаемом для человека KB, MB, GB,
формате, а не в байтах. Чаще всего он используется с флагом -l
.
Файлы можно просматривать в каталогах, в которые вы даже не находитсяе. Если я в и /home/user/Desktop
хочу просмотреть файл в /home/user
, ls ../
я могу сделать список файлов, один каталог обратно.
cp file /path/to/folder
- копирует указанный файл по указанному пути.
cp -r folder /path/to/folder
- регулярно копирует содержимое папки в другую папку.
cp *.extension /path/to/folder
- копирует файлы с указанным расширением в новую папку. Чтобы скопировать все файлы .doc, он становится cp *.doc /path/to/folder
и папка должна существовать.
cp name* /path/to/folder
- Копирует все файлы, начиная с заданной name
папки. Чтобы скопировать все файлы, начинаемые с example
, он становится cp example* /path/to/folder
и папка должна существовать уже.
Синтаксис mv
аналогичен приведенном выше примеру с cp
исключением для примера 2. mv
не принять этот флаг -r
, так как при перемещении папки также перемещается ее содержимое. Синтаксис не является совершенно одинаковым во всех случаях, но работает с указанными выше примерами. Для получения дополнительной информации обратитесь к руководству пользователя.
Удаление файлов с помощью является постоянным rm
. Корзина не используется. Используйте его с осторожностью и перед нажатием клавиши убедитесь, что вы удаляете именно то, что хотите Enter
. Если вы перекомпликируете команды удаления, это никогда не заканчивается хорошо.
rm file
- Удалите этот конкретный файл с компьютера.
rm -r folder
- Удалите эту папку с компьютера.
rm -rf folder
- принудительно удаляет эту папку из компьютера. Эта команда может привести к путанице, если используется неправильно.
С помощью терминала можно редактировать nano
файлы, чтобы создавать быстрые и приблизительных файлы до полных конфигураций. Это может быть полезно, но он обрабатывает простые текстовые файлы и файлы программирования, поэтому документы Microsoft Word не открывается должным образом.
Если корневой каталог владеет файлом, обычный пользователь не может его редактировать. nano
должны быть префикс с ; sudo
для сохранения изменений. В противном случае он открывается в режиме только для чтения.
nano newfile.whatever
с указанным именем и открывает его для редактирования.
nano existing_file
- открывает существующий файл для редактирования.
Изнутри nano
Сохраните файл, нажав CTRL+O
одновременно клавиши, и измените имя Enter
или нажмите клавишу , чтобы сохранить то же имя. Файл сохраняется.
Выйдите nano
из системы, используя CTRL+X
клавиши. Если у вас есть несохранянные изменения, появится запрос на их сохранение.
mkdir folder_name
- создает папку с указанным именем
mkdir -p /path/to/folder/name
- при необходимости создает каждую папку. Чтобы создать папку /home/user/1stfolder/2ndfolder
, и существует только /home/user
, используйте mkdir -p
как каталоги, так и 1stfolder,
2ndfolder
.
ps aux
- Выводит подробный список всех процессов, запущенных на компьютере. Сюда входят пользователь, идентификатор процесса PID,
и имя процесса. С помощью этого можно просмотреть список процессов и при необходимости завершить ненужные или зависать процессы.
kill PID
- PID представляет собой число, обозначающее нарушающий работу процесс. Необходимо получить PID из команды, ps aux
например . Если процесс не завершится, можно также указать, kill -9 PID
какой из них следует прервать любым образом.
killall program
- Killall
завершает все by name
экземпляры listed program
. Если есть, например, 3 открытых сеанса браузера Firefox, killall Firefox
остановите все сеансы Firefox. kill
взять указанный PID процесса Firefox, который вы хотите завершить и завершить только его.
xkill
это способ графического интерфейса пользователя, который позволяет закрывать окна нажатием кнопки мыши. При вводе xkill
текста должен появиться значок с перекрестно-перекрестным вводом, и следующее окно, на который нажато, будет закрыто.
Pipes
отображаются как straight bar,
клавиша, известная как клавиша |
.
Это редко используемый ключ в Windows. Он находится обычно на клавише с обратной косой чертой.
Они используются для соединения команд. Pipes
берут вывод одной команды и направляют ее для использования в качестве ввода для второй команды, когда они соединены.
Дополнительные сведения о томах и их использовании pipes
можно получить в интерактивных ресурсах, так как на них есть записываемые тома.
>
используется для overwrite
содержимого существующих файлов путем замены их выводом из новой команды.
>>
используется для получения append
информации о существующих файлах. Это полезно для регистрации действий.
Example:
ps aux > processes.log
отправляет выходные данные ps aux
processes.log
в файл для просмотра выходных данных команды в текстовом редакторе и перезаписывает текущее содержимое файла.
tee
используется вместе с , |
чтобы взять выходные данные команды и отправить ее в другое место. Это полезно, если вы пропустили какие-либо ошибки. Таким образом, все, что отображается на экране, также записывается в файл.
Пример. dmesg
| tee boot.txt
выполнит команду, которая dmesg
отображает информацию о начальной загрузке. Отправляет |
выходные данные в dmesg
tee
, который затем выполняет свою задачу, отправляя его в терминал и в файл журнала boot.txt
.
Вы хотите запустить файл в текущем каталоге после того, как он помечен как исполняемый? Оператор ./
может запустить файл в обычном режиме, если вам не нужны права root. ./
означает, in the current directory
что он не работает с файлами за пределами настоящего каталога.
Если вы хотите запустить файл, который не находится в текущем каталоге, необходимо передать путь к соответствующей запущенной программе. Если это программа Python, python /path/to/file
то есть, а если это файл оболочки, это в sh /path/to/file
качестве примера. Существуют и другие программы, но они наиболее распространенные.
Если вы хотите запустить файл с правами root, так как вы получили operation not permitted?
. Необходимо выполнить префикс команды с помощью sudo
. Как и в приведенном выше примере, sudo python /path/to/file
запускает сценарий с правами root.
Если вы хотите запустить программу графического интерфейса пользователя из терминала, введите название программы, case sensitive!
и она запустится. Это делает текущий терминал неиспользуемым. Закрытие терминала при открытой программе также прерывает программу. Лучше всего выполнить фоновое резервное копирование программы, program_name
exit
используя и затем введя слово в терминале, чтобы закрыть его и сохранить процесс.
Если вы хотите запустить программу графического интерфейса пользователя с правами root из терминала, префиксируйте ее с помощью gksudo
или gksu
нет sudo
. Запуск sudo
приложений с графическим интерфейсом пользователя — это неверная привычка, и ее следует избегать.
Используйте not
только sudo
из-за Operation not permitted.
destroy
того, что отображается что-то Помните, что можно компьютеры, выполнив команды в неверном месте с правами root. Убедитесь, что ваши файлы поступают из надежных источников.
Не знаете, в каком каталоге находитесь? Введите pwd
для печати рабочего каталога.
Хотите рассчитать объем дискового пространства? df -h
может дать вам информацию.
Хотите рассчитать размер папки или файла? du -cksh target_name
именно так и выполняется. Хотите рассчитать размер текущей папки? du -cksh
.
Хотите сделать файл исполняемым? chmod +x filename
выполняется ли это.
Необходимо смонтировать iso? В Linux имеется эта функциональность. Создайте каталог где-то, верните /home/user/isomount
и выполните команду, mount -o loop /path/to/myisofile.iso /home/user/isomount
а содержимое смонтировано в этой папке.
После выполнения команды ее необходимо повторно запустить, но вы не можете точно запомнить, как она прошла? Введите history
в терминал, и он распечатает историю команд. Хотите очистить историю? history -c
стирают информацию.