wiki:использование_терминала Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:использование_терминала [2010/03/28 16:47]
— (текущий)
Строка 1: Строка 1:
-====== Использование терминала ====== 
  
-Под Linux существуют GUI (графические интерфейсы пользователя),​ где вы можете с помощью мышки выполнить необходимую работу без чтения большого объёма документации. Но традиционное окружение Unix - это CLI (интерфейс командной строки),​ где вы вводите команды,​ чтобы сказать компьютеру о том, что нужно сделать. Такой подход является более гибким и обеспечивает больше возможностей,​ а также более быструю работу,​ но требует знания команд. 
- 
-Существует множество разнообразных дистрибутивов Linux, но практически все они используют одни и те же команды,​ которые вводятся в терминале. ​ 
-Также существует великое множество графических интерфейсов (GUI), но они все работают по разному и мало подчинены стандартам. Опытные пользователи,​ работающие с разными дистрибутивами Linux, обычно запоминают команды,​ которые универсальны для всех Ubuntu и, как правило,​ работают во всех остальных системах.  ​ 
- 
-Команды консоли могут приводить в растерянность новичка:​ 
-<​code>​sudo gobbledegook blah_blah -w -t -f  
-aWkward/​ComBinationOf/​mixedCase/​underscores_strokes/​and.dots</​code>​ 
- 
-Однако,​ даже опытные пользователи часто копируют команды из мануалов или гайдов себе в терминал. Они их просто не запоминают! 
-Конечно,​ важно знать, как работать в терминале,​ и если вы умеете просто набирать текст или копировать его, вы справитесь с терминалом,​ работать там не сложнее. 
-В этой статье собраны некоторые хитрые команды и комбинации клавиш,​ которые облегчат вам использование интерфейса консоли. 
- 
-=====Как читать эту статью===== 
- 
-  * Все названия команд выделены **жирным**. 
-  * Команды,​ которые должны быть набраны,​ выделены **"​жирным и кавычками"​**. 
-  * Все команды,​ приведённые на этой странице,​ должны быть выполнены из командной строки в терминале. 
-  * **Помните,​ что терминал чувствителен к регистру.** Слова User, user и USER в Linux различаются. 
- 
-=====Запуск терминала===== 
- 
-==== В Gnome (Ubuntu) ==== 
- 
-Терминал находится в Приложения -> Стандартные -> Терминал 
- 
-==== В Xfce (Xubuntu) ==== 
- 
-Терминал находится в Приложения -> Система -> Терминал 
- 
-==== В KDE (Kubuntu) ==== 
- 
-Терминал находится в Приложения -> Система -> Терминал (Konsole) 
- 
-===== Команды ===== 
- 
-==== sudo: Выполнение команд с неограниченными привилегиями ==== 
- 
-  * Перед большинством команд,​ перечисленных ниже, необходимо писать команду sudo. Это временно даёт права суперпользователя,​ которые необходимы для работы с файлами и каталогами,​ которые не принадлежат вашему аккаунту. ​ Для использования sudo требуется ввести пароль. Только пользователи с такими административными привилегиями могут использовать эту команду. ​ 
- 
-==== Команды для работы с файлами и папками ==== 
- 
-  * Символ тильда (~) обозначает вашу домашнюю папку. Если вы //user//, то тильда (~) — это /​home///​user//​ . 
-  * **pwd:** Команда **pwd** ("​print working directory"​) позволяет вам узнать,​ в какой директории вы находитесь в данный момент. Помните,​ однако,​ что эту же информацию Gnome Terminal всегда показывает в названии окна. 
-  * **ls:** Эта команда покажет вам все файлы в текущей директории. Если использовать эту команду с определёнными опциями,​ можно также включить отображение размера файлов,​ времени последнего изменения и прав на файлы. Например,​ **"ls ~"** покажет всё, что у вас есть в домашней папке. 
-  * **cd:** Команда cd меняет рабочую директорию. Когда вы только запускаете терминал,​ вы будете находиться в вашей домашней папке. Чтобы перемещаться по файловой системе,​ нужно использовать **cd**. Примеры:​ 
-      -   ​Чтобы попасть в корневой каталог,​ выполните **"cd /"** 
-      -   ​Чтобы попасть в домашнюю папку, выполните **"​cd"​** или **"cd ~"** 
-      -   ​Чтобы переместиться на один каталог вверх, используйте **"cd .."** 
-      -   ​Для возврата в предыдущую посещённую директорию,​ используйте **"cd -"** 
-      -   ​Для перемещения через несколько директорий за раз, нужно написать полный путь папки, в которую вы хотите переместиться. Например,​ команда **"cd /​var/​www"​** переместит вас в подкаталог /www каталога /var/. А команда **"cd ~/​Рабочий\ стол"​** переместит вас на рабочий стол. //*В данном случае "​\"​ обозначает экранирование пробела.//​ 
-  * **cp:** Команда cp копирует файл. Например,​ команда **"cp text new"** создаст точную копию файла "​text"​ и назовёт её "​new",​ при этом "​file"​ никуда не исчезнет. Для копирования директории необходимо воспользоваться командой **"cp -r directory new"​**,​ где опция -r обозначает рекурсивное копирование. 
-  * **mv:** Команда **mv** перемещает файл в другое место или просто переименовывает файл. Например,​ команда **"mv file text"​** переименует "​file"​ в "​text"​. **"mv text ~/​Рабочий\ стол"​** переместит "​text"​ вам на рабочий стол, но не переименуют его. Чтобы всё-таки переименовать файл, нужно специально указывать ему новое имя. Вы можете заменять путь к вашей домашней папке на '​~',​ чтобы ускоряет работу. Помните,​ что при использовании mv вместе с sudo, терминал так же привязывает '​~'​ к вашей домашней папке. Однако если вы включаете сессию суперпользователя в консоли с помощью **sudo -i** или **sudo -s**, то '​~'​ будет ссылаться на корень диска, а не на ваш домашний каталог. 
-  * **rm:** Эта команда удаляет файл. 
-  * **rmdir:** Команда **rmdir** удаляет пустую папку. Чтобы удалить папку вместе со всеми вложениями,​ используйте **rm -r** вместо этого. 
-  * **mkdir:** Эта команда создаёт директорию. Команда **"​mkdir music"​** создаст вам папку, которая будет называться "​music"​. 
-  * **man:** Попробуйте эту команду,​ когда вы хотите прочитать встроенное описание другой команды. **"man man"** покажет вам описание самой этой команды. 
- 
-==== Команды информации о системе ==== 
- 
-  * **df:** Эта команда показывает объём занятого дискового пространства на всех смонтированных разделах. **"df -h"** наиболее полезна,​ поскольку использует для отображения Мегабайты (M) и Гигабайты (G), а не блоки. **"​-h"​** означает "human readable"​ ("​читабельный для человека"​). 
-  ** **du:** Команда **du** отображает объём дискового пространства,​ занятого конкретной папкой. Она может показывать информацию для всех поддиректорий отдельно или для папки в целом. 
-  .. <​code>​ 
-user@users-desktop:​~$ du /​media/​floppy 
-1032    /​media/​floppy/​files 
-1036    /​media/​floppy/​ 
-user@users-desktop:​~$ du -sh /​media/​floppy 
-1.1M    /​media/​floppy/​ 
-</​code>​ 
-  * **"​-s"​** означает "​summary"​ (в целом),​ а **"​-h"​** означает "human readable"​ ("​читабельный для человека"​). 
-  * **free:** Эта команда отображает объём свободной и занятой оперативной памяти. **"​free -m"** показывает информацию в Мегабайтах. 
-  * **top:** Команда **top** отображает информацию о вашей системе,​ запущенных процессах и системных ресурсах,​ включая загрузку CPU, использование RAM и swap и количество запущенных процессов. Чтобы остановить **top**, нажмите **"​q"​**. 
-  * **uname -a:** Команда **uname** с опцией **-a** выводит всю системную информацию,​ включая имя машины,​ версию ядра и другие детали. Самое полезное из этого — проверка версии ядра. 
-  ** **lsb_release -a**: Команда **lsb_release** с опцией **-a** выводит информацию о версии Linux, которую вы используете. Например:​ 
-  .. <​code>​ 
-user@computer:​~$ lsb_release -a 
-No LSB modules are available. 
-Distributor ID: Ubuntu 
-Description: ​   Ubuntu 6.06 LTS 
-Release: ​       6.06 
-Codename: ​      ​dapper 
-</​code>​ 
-  * **ifconfig:​** Эта команда выводит отчёт о сетевых интерфейсах системы. 
- 
-==== Добавление нового пользователя ==== 
- 
-  * Команда **"​adduser newuser"​** создаёт нового пользователя в вашей системе с именем **"​newuser"​**. Чтобы назначить ему пароль,​ используйте **"​passwd newuser"​**. 
- 
-===== Опции ===== 
-Стандартное поведение команды обычно изменется,​ для этого используются опции команд,​ **--option**. К примеру,​ команда **ls** имеет опцию **-s**, использование которой приведёт к отображению помимо списка файлов их размеры. А добавление опции **-h**, опять же, сделает размеры "​читаемыми"​. 
-Опции могут быть сгруппированы,​ и команда **"ls -s -h"** может быть заменена на **"ls -sh"​**. Большинство опций имеют свой длинный вариант,​ начинающийся с двух дефисов вместо одного. В таком виде всё та же команда будет выглядеть как **"ls --size --human-readable"​**. 
-==== Man'ы и получение справки ==== 
-<note important>​команды **man**, **info** и **command --help** — самые главные инструменты в консоли.</​note>​ 
-Почти каждая команда и приложение в Linux имеет man-файл (мануал). Найти его очень просто:​ для этого нужно ввести **"man "​command""​**. Например,​ **"man mv"** покажет мануал команды **mv**. 
-  
-Перемещаться по этому мануалу можно клавишами со стрелками,​ а выйти из него, нажав клавишу **"​q"​**. 
- 
-Команда **"man man"** покажет мануал команды **man**. Это неплохо для начала освоения! 
- 
-"man intro" — команда особенно полезная. Она отображает "​Введение в пользовательские команды"​ — толково написанное,​ краткое и понятное введение в команды консоли Linux. 
- 
-Также существуют справочные страницы,​ которые обычно глубже,​ чем мануалы. Попробуйте выполнить **"​info info"​** для прочтения введения в справку. 
- 
-Некоторые разработчики программного обеспечения предпочитают справку мануалам (например,​ разработчики GNU), поэтому если вы встретите часто используемую программу,​ у которой нет страницы мануала,​ стоит найти справку. 
- 
-Практически все команды понимают опцию **-h** (или **--help**),​ которая выводит краткое описание использование команды и её опций, а затем выходит в консоль. Попробуйте выполнить **"man -h"** или **"man --help"​**,​ чтобы увидеть,​ как это работает. 
- 
-<note warning>​Бывает,​ что программа не интерпретирует опцию **-h** как вызов справки. В таком случае ознакомьтесь с man'​ом и попробуйте длинную опцию **--help** перед **-h**.</​note>​ 
- 
-==== Поиск по man'​ам ==== 
-Если вы не уверены,​ какая команда вам нужна, попробуйте поискать по текстам мануалов. 
-  * **man -k something-you-need** будет искать то, что вам нужно во всех мануалах. Попробуйте **"man -k nautilus"​**,​ чтобы увидеть,​ как это работает. Кстати,​ это то же самое, что выполнить команду **apropos**. 
-  * **man -f something-you-need** будет искать только по названиям системных мануалов. Попробуйте **"man -f gnome"​** для примера. Выполнение команды **whatis** приведёт к такому же результату. ​ 
- 
-===== Другие полезные вещи ===== 
- 
-==== Более привлекательные man'ы ==== 
-Пользователи,​ у которых установлен Konqueror, могут читать страницы мануалом и выполнять по ним поиск в веб-браузерном контексте,​ украшенном выбранными фоновыми рисунками. Для этого нужно набрать в строке адреса Konqueror'​а **man:/​command**. ​ 
- 
-==== Копирование команд ==== 
-Часто вам придётся следовать каким-либо инструкциям,​ которые требуют копирования команд в терминал. Наверное,​ вы удивитесь,​ когда обнаружите,​ что текст, скопированный вами с интернет-страницы при помощи комбинации клавиш ctrl+C, не вставлятся в терминал при нажатии ctrl+V. И что, неужели придётся перепечатывать все эти команды и имена файлов вручную?​ Нет, расслабьтесь! Вставить текст в терминал можно тремя способами:​ **ctrl+shift+V**,​ нажатием **средней кнопки мыши** или **правой кнопки мыши** и выбором строки **"​Вставить"​**. 
- 
-==== Экономия набора ==== 
- 
-| **стрелка вверх** или **ctrl+p** | прокрутка недавно использованных команд вверх | 
-| **стрелка вниз** или **ctrl+n** | прокрутка недавно использованных команд вниз | 
-| **Enter** | выполнение выбранной команды | 
-|** tab** | крайне удобная возможность - автозаподстановка команд и имён файлов. Если с выбранных символов начинается только одна команда,​ подставится именно она, а если их несколько,​ то по нажатию tab выведется список всех возможных вариантов.| 
-| **ctrl+r** | поиск по командам,​ которые вы вводили раньше. Если вам нужно повторно выполнить очень длинную и сложную команду,​ вы можете ввести только её часть, а эта комбинация клавиш поможет найти команду целиком.| 
-| **History** | Команда **history** выводит список всех команд,​ которые вы вводили. Каждой команде будет присвоен номер. Чтобы выполнить команду под номером x, просто введите **"​x!"​**. Если у вас получилась слишком длинная история,​ можно попробовать **"​history I less"​**,​ это сделает список прокручиваемым. |    
- 
-====Изменение текста==== 
- 
-Здесь мышь не работает. Используйте стрелки влево/​вправо,​ чтобы перемещаться по строке. 
- 
-Ввод с клавиатуры будет добавлять символы. Существующий текст удаляться не будет. ​ 
- 
-| **ctrl+a** или **Home** ​ | перемещает курсор в начало строки | 
-| **ctrl+e** или **End** ​ | перемещает курсор в конец строки | 
-| **ctrl+b** ​ | перемещает курсор в начало предыдущего или текущего слова | 
-| **ctrl+k** ​ | удаляет текст с текущей позиции курсора до конца строки | 
-| **ctrl+u** ​ | удаляет всю текущую строку | 
-| **ctrl+w** ​ | удаляет слово перед курсором | 
- 
-====Другие способы запуска терминала==== 
- 
-Вы можете назначить горячие клавиши на запуск терминала. 
- 
-Можно запустить больше одного терминала,​ либо в раздельных окнах, либо во вкладках одного. 
- 
-=====Ссылки===== 
- 
-  * [[консоль|Что такое консоль и терминал]] 
-  * [[http://​zeroed.ru/​ubuntu/​console|Убунтология:​ Консоль]] 
-  * [[https://​help.ubuntu.com/​community/​UsingTheTerminal|Оригинал статьи]] 
- 
-{{tag>​HOWTO Система Администрирование Терминал Консоль tips FIXME}}