суббота, 28 сентября 2013 г.

Несколько полезных комбинаций клавиш для работы с консолью.

Приветствую! В этом сообщение будет рассказано о нескольких комбинациях клавиш, которые могут облегчить вам жизнь.

Я уже говорил о том, что можно перебирать историю введённых команд, нажимая клавиши "вверх" и "вниз", можно осуществлять поиск по этой истории, нажав CTRL+R. Зачастую, это удобнее, чем нажимать "вверх" большое количество раз.

Бывает, что, написав длинную команду, вы допустили опечатку где-нибудь в середине. Довольно утомительно перемещать стрелками курсор, чтобы исправить ошибку. Гораздо удобнее использовать комбинации ALT+B, ALT+F, которые перемещают курсор на слово назад и на слово вперёд.

Удалить последнее слово в команде поможет CTRL+W. А удалить всю команду целиком - CTRL+U.

Чтобы прервать выполнение какой-либо программы, нажмите CTRL+C.
К примеру, давайте запустим команду yes. Это забавная программа бесконечно пишет в консоль символ y. Остановить её можно нажав CTRL+C.

Не обязательно пользоваться всеми вышеперечисленными командами, но CTRL+C запомнить следует.

Всем пока и удачи!

пятница, 27 сентября 2013 г.

Команда grep. Регулярные выражения.

Привет всем! Сегодня изучим команду grep, а также регулярные выражения.

Команда grep позволяет вывести все строки данного на вход файла, которые содержат некоторое слово:

grep слово имя_файла

Чтобы перейти к использованию этой команды, давайте сначала создадим файл мой_файл со следующим содержимым:


Это первая строка.
Вторая строка.
Это третья строка.
А это четвёртая.
Здесь будет несколько чисел: 100 2 35 4 38
Здесь ещё несколько: 2 3 5 21 13.
Лаллалаалааалала
А тут только одно: 123.
12345


Теперь введём в терминал:

grep строка мой_файл

Вывод должен выглядеть следующим образом:

Это первая строка.
Вторая строка.
Это третья строка.

То есть только те строки, где присутствует слово строка.
Поэкспериментируйте:

grep "2 3" мой_файл
grep 5 мой_файл
grep Здесь мой_файл
grep Это мой_файл 
grep это мой_файл
grep привет мой_файл

Как вы уже, возможно, догадались, второй аргумент может содержать пробельные символы. То есть, правильнее будет говорить, что это не слово, а подстрока (нечто лежащее внутри строки).

Скажу более, второй аргумент - это регулярное выражение! Регулярные выражения напоминают шаблоны, они тоже задают одним выражением целый набор строк.

Давайте поэтапно разберём конструкции регулярных выражений.

Символ . соответствует ровно одному любому символу. Это то же самое, что и ? в шаблонах. Попробуем:

grep ".то" мой_файл  (Если это регулярное выражение, то оно должно быть в кавычках!)

Как вы можете видеть из результата выполнения данной команды, пробел тоже является символом.

[] задают набор символов, аналогично как и в шаблонах:


grep "[Ээ]то" мой_файл

Если в скобках поставить ^, то это будет означать: "любой символ, кроме заданного набора". Это то же, что и ! в шаблонах:

grep "[^Ээ]то" мой_файл

А вот, что касается символа *, то он имеет совершенной иной смысл. Сама по себе звёздочка не означает какого либо символа. Она читается примерно так: "ноль или более повторений предыдущего символа". Приведу примеры:

ab*c   соответствует таким строкам: ac, abc, abbc, abbbc, abbbbc и так далее.
a[bc]*d   соответствует, например, таким: ad, abd, acd, abbd, accd, abcd, acbd, acbcd. Можно прочесть как: "Сначала a, затем любое количество символов b и c. В конце символ d"
.*   Можно прочесть как: "Любое количество любых символов". То есть, это соответствует любой строке, в том числе и пустой.

Давайте попробуем использовать звёздочку:

grep "[ал]*" мой_файл

^ и $ означают начало и конец строки, соответственно. Например, чтобы вывести все строки, начинающиеся только на З, можно воспользоваться следующей командой:

grep "^З" мой_файл

Строчки, заканчивающиеся точкой, можно получить так:

grep "\.$" мой_файл   (Если мы имеем ввиду именно точку, а не любой символ, то мы должны писать \. , точно так же, как и в шаблонах)

Есть ещё пара символов.
+ - то же самое, что и звёздочка, только означает "один или более", вместо "ноль или более".
? похож на звёздочку, только читается как "один или ноль предыдущих символов", вместо "один или более предыдущих символов".

Кстати, с данными символами наоборот. Чтобы терминал их интерпретировал как управляющие нужно перед ними ставить \ (обратный слэш). Поизучайте эти символы самостоятельно.

Теперь, давайте напишем команду, которая выведет нам все строчки, которые, во-первых: не начинаются на цифру, а во-вторых: в конце записано несколько чисел, после которых возможно стоит одна точка:

grep "^[^0-9].*[0-9 ]\+.\?$" мой_файл   (примечание: диапазон задаётся так же, как и в шаблонах: знаком минус)

Разберём, что же здесь происходит.

^ - говорит нам о начале строки. Затем стоит ровно один символ, который не является цифрой: [^0-9]. Далее, ноль или более любых символов (.*). Потом, цифры и пробелы, которые встречаются один или более раз ([0-9 ]\+). Это соответствует числам,  записанным через пробелы. В конце строки у нас, возможно, есть точка (.\?$).

В заключение хочу отметить, что не стоит сильно переживать, если вы не до конца поняли "ругулярки". Они довольно сложны. Главное понимать основы, а также осознавать, что шаблоны и регулярные выражения - разные вещи. Ведь наличие одинаковых конструкций, имеющих различный смысл, могут сбить с толку.

Если появилось желание углубиться в данную тему, советую почитать дополнительную информацию в интернете, а также в мануале: man regex (к сожалению, английский язык).

Всем пока и удачи в обучении!


понедельник, 23 сентября 2013 г.

Фигурные скобки. Шаблоны (Globbing).

Всем привет! Сегодня поговорим о том, что такое шаблоны и как ими пользоваться.

Давайте создадим 20 файлов с названиями file1, file2, ..., file20. Вы уже наверняка подумали о том, что это утомительное занятие. Нужно ввести аж 20 команд! Есть чуть более простой способ. Если вы читали документацию (мануал) по команде touch, то наверняка узнали, что ей можно передавать несколько аргументов, тогда она создаст файлы со всеми перечисленными названиями. Чуть лучше, но всё равно долго. Сейчас я вам покажу компактную команду, которая приводит нас к цели:

touch file{1..20}

Вуаля! Мы написали одну команду, а компьютер выполнил для нас все 20. Замечательно, не правда ли? Я посчитал, что проще не объяснять, как это работает, а показать несколько примеров:

touch {a..z}   (создаёт файлы с названиями a, b, c, ..., z)
touch {A..E}_file   (создаёт файлы с названиями A_file, B_file, C_file, D_file, E_file)
touch {A..C}{1..3} (создаст файлы с названиями из двух букв, где на первом месте будет стоять A, B или C, а на втором - одна из цифр 1, 2 или 3. Например: A1, B1, B2, C3 и так далее)

Отлично. Теперь давайте перейдём к рассмотрению шаблонов (Globbing).

Мы создали очень много файлов, давайте теперь их удалим. Только делать мы это будем не с помощью фигурных скобок, а с помощью шаблонов, которые являются более мощным инструментом.

Сначала удалим файлы вида fileX, которые были созданы в самом начале:

rm file*

Звёздочка означает ноль или более любых символов. То есть, в данном случае, удалены будут все файлы, которые начинаются на file, а заканчиваются чем угодно. Приведу ещё несколько примеров:

rm *.txt   (удалит все файлы, которые заканчиваются на .txt . Читается как: любое количество любых символов, а затем .txt)
rm a*p (удалит файлы, названия которых начинаются на букву a и заканчиваются буквой p. Например aooop, aip, ap. Можно прочитать как: символ a, затем любое количество любых символов, а затем символ p)

Рассмотрим ещё один символ, который используется в шаблонах - знак вопроса:

rm ?   (удалит файлы, название которых состоит из одного символа)

? означает ровно один любой символ. Рассмотрим ещё пару примеров, чтобы лучше понять назначение вопросика:

rm abc?e   (можно прочитать как: сначала abc, затем один любой символ, затем e. Под этот шаблон подойдут, например, такие названия: abcde, abcee)

rm ???   (удалит все файлы, названия которых состоит ровно из трёх символов)

И последний элемент шаблонов - это квадратные скобки []:

rm [A-E]_file   (удалит файлы вида X_file)
rm [A-C][1-3]   (удалит файлы, которые мы создавали последними)

Как мы видим, [] очень похожи на {}. Только, чтобы указать диапазон, вместо двух точек используется минус. В квадратных скобках не обязательно должен быть диапазон значений, значения можно просто перечислить:

rm [abc]   (удалит файлы с названиями a, b и c)
rm [a-cA-D]   (удалит файлы с названиями: a, b, c, A, B, C, D)
rm a[0-3z]c   (читается как: сначала a, затем один символ из набора {0, 1, 2, 3, z}, затем символ c)

Как вы уже поняли, квадратные скобки задают набор символов, если в квадратных скобках первым символом поставить ! знак, это будет означать: "всё, кроме символов из набора". Посмотрим пример:

rm [!abc]   (удалит все файлы, кроме файлов с названием a, b и с)
rm [!a-zA-Z]*   (удалит все файлы, кроме тех, где на первом месте стоит латинская буква)

Кстати, шаблоны можно применять не только к удалению, а ко многим другим командам. ls по умолчанию работает для текущей папки, но можно ей передать путь директории:

ls ???   (запустит ls для всех папок, которые имеют в названии ровно три символа)

Надеюсь, это вам не показалось трудным. Пробуйте применять шаблоны, где участвуют все три элемента. Также, будьте аккуратны с командой rm, файлы удаляются навсегда!

P.S. Чтобы удалить файлы, где присутствуют символы \ (обратный слэш), [] (квадратные скобки), * (звёздочка), ? (знак вопроса) нужно брать имя файла в одинарные кавычки. Тогда все символы будут интерпретироваться так, как они написаны:

rm '[abc]'   (удалит файл с названием [abc] )

Можно также ставить перед специальными символами обратный слэш:

rm \[abc\]   ( \[ будет читаться как просто открывающаяся скобка, а \] - как закрывающаяся)

Соответственно \\ - будет считаться просто одним обратным слэшем, \? - знаком вопроса, \* - звёздочкой.

пятница, 20 сентября 2013 г.

Несколько полезных консольных команд.

В этом посте будет перечислено ещё несколько полезных консольных команд.

  1. sudo poweroff
  2. sudo reboot
  3. sudo apt-get dist-upgrade
  4. sudo apt-get install -f
  5. wget url
  6. sudo dpkg -i package.deb
1. Выключает компьютер.
2. Перезагружает компьютер.
3. Обновляет не только пакеты программ, но и саму систему.
4. Бывает ситуация, что зависимости между пакетами нарушились, эта команда пытается исправить их.
5. Команда wget позволяет скачать файл по указанной ссылке в текущую папку.
6. Иногда нужно установить программу не из репозитория, а скачать пакет и установить его. К примеру, Google Chrome нету в репозитории. По этой ссылке предлагается скачать пакет. Скачиваем его, переходим в папку где он находится, вводим команду:

sudo dpkg -i google-chrome-stable_current_i386.deb

На момент написания статьи пакет назывался так. Возможно, что у вас он будет называться по-другому. Кстати, пакеты для Ubuntu всегда имеют расширение .deb .
В качестве упражнения, предлагаю с этих пор включать и выключать компьютер только при помощь приведённых здесь команд и хотя бы по разу использовать остальные команды.

Всем пока и удачи!

P.S. В конце этой статьи я говорил об автодополнении, которое значительно упрощает ввод команд. Существует ещё одна подобная вещь. Если в консоли нажать стрелку вверх, то мы увидим предыдущую команду, можно продолжать нажимать "вверх", чтобы увидеть более старые команды. Попробуйте эту штуку, иногда бывает полезно.

Ещё про apt-get. Что такое sudo.

Приветствую!

Мы уже изучили, что такое опции и аргументы, поэтому теперь мы можем ответить на некоторые вопросы связанные с менеджером пакетов. Рассмотрим несколько команд:

  1. sudo apt-get install program-name
  2. sudo apt-get remove program-name
  3. sudo apt-get upgrade
  4. sudo apt-get update
Давайте пока не будет обращать внимания на слово sudo. Мы рассматривали программы, которые сами по себе являются одной командой. В этом смысле apt-get немного особенный. apt-get - это программа, которая в своём составе имеет несколько команд. install, remove, upgrade, update - это команды. Первые две требуют наличия аргумента, а вторые две - нет.

Можно это рассматривать немного с другой стороны, считать, что install, remove, upgrade, update - это опции (опции не всегда имеют вид -x), а program-name - это аргумент опций.

Скорее всего, первый вариант правильнее. Не будем на этом заострять внимания. Главное, чтобы вы понимали, как использовать apt-get, а также, чтобы при изучении новой команды смогли быстро сообразить как ей пользоваться.

Наконец, вкратце разберём, что такое sudo. Linux очень сильно печётся о безопасности системы, мы можем видеть это на примере ввода пароля: не видно даже сколько знаков в пароле пользователя!

В Linux наложены ограничения на различные действия пользователя. К примеру, если вы захотите отредактировать какой-нибудь системный файл (тот же /etc/apt/source.list), у вас ничего не выйдет, вы можете открыть файл только для чтения.

В системе существует пользователь, который называется суперпользователем или рутом. Только этот пользователь способен производить любые манипуляции в системе. Так вот, установка, удаление приложений и многие другие операции требуют привилегий суперпользователя. Слово sudo, написанное перед командой, позволяет запустить её от имени рута. Это является более безопасным, чем входить в систему под именем суперпользователя.

Можете почитать дополнительную информацию по данным вопросам тут и тут.
Не забываем, что информацию по какой-либо команде почти всегда можно получить в мануале:

man sudo

На сегодня всё. Всем пока!

Менеджер пакетов.

В прошлый раз мы научились пользоваться текстовыми редакторами. После предыдущего урока вы должны были определиться: Vim или Nano. В своих примерах я буду использовать Vim. Чтобы открыть тот же файл в редакторе Nano, просто заменяем слово vim на nano.

Во втором уроке мы научились устанавливать и удалять приложения. Это делается с помощью команды apt-get. Давайте лучше разберёмся что такое программа.

На самом деле все программы являются командами. То есть, когда мы устанавливаем новую программу, в нашей системе появляется новая команда. Объясню более наглядно:

username@computername:~$ some-program
someprogram: команда не найдена
username@computername:~$ sudo apt-get install some-program

будем считать, что программа some-program существует в репозитории, и что мы её успешно установили, после этого команда:

username@computername:~$ some-program

должна запустить программу some-program.

Кстати, программа apt-get называется пакетным менеджером. И правильнее говорить, что мы устанавливаем не программу, а пакет. Какая разница, спросите вы? Дело в том, что программа может состоять из нескольких пакетов. Благодаря пакетному менеджеру волноваться об этом нам не приходится. Мы просим установить пакет, название которого обычно совпадает с названием программы, а apt-get устанавливает автоматически все зависимости.

Когда мы удаляем пакет, удаляется только он. Поэтому в системе могут оставаться пакеты, которые нигде не используются. Чтобы удалить ненужные пакеты, можно использовать команду:

sudo apt-get autoremove

Бывают также ситуации, когда один и тот же пакет требуется для работы нескольких программ.

Менеджер пакетов может искать пакеты не только в одном репозитории, а в нескольких сразу. В файле /etc/apt/source.list содержится список просматриваемых репозиториев. Можно посмотреть этот файл:

vim /etc/apt/source.list

Мы можем добавить туда репозиторий, который нам нужен, а затем ввести команду:

sudo apt-get update

Теперь менеджер пакетов будет учитывать и новые репозитории при поиске нужного пакета.

Более подробно о репозиториях вы можете прочитать здесь.

Всем пока и удачи в обучении!

Редактируем файлы.

Доброго времени суток!

Мы уже узнали, что существует команда echo, с помощью которой можно писать в файлы. Но одной этой командой не обойдёшься, поэтому сегодня мы научимся пользоваться консольными текстовыми редакторами.

Давайте напишем:

nano Мой_файл

nano - это консольный текстовый редактор. Данной командой он откроет файл с именем Мой_файл. Если такого файла не существует, то создастся новый.

Если терминал нам ответит чем-то вроде: "nano: команда не найдена", то мы знаем, что нужно делать:

sudo apt-get install nano   (установим nano)

Данный редактор крайне простой, работать в нём не сложнее, чем в программе для Windows "Блокнот". Внизу описаны подсказки горячих клавиш. Например, чтобы выйти нужно нажать CTRL+X, чтобы записать файл CTRL+O и так далее. Вы можете почитать помощь о данном редактор, нажав CTRL+G.

Существует один очень мощный текстовый редактор, который называется Vim. Он довольно популярен среди пользователей ОС Linux, так как позволяет быстро производить многие операции над текстом. Главный недостаток Vim - это то, что процесс работы в нем крайне специфичный. Чтобы научиться им свободно пользоваться, придётся довольно долго привыкать. Я не принуждаю вас использовать именно Vim для редактирования текста, но попробовать его непременно стоит:

sudo apt-get install vim

Прежде, чем начать пользоваться Vim'ом, пройдите урок на русском языке:

vimtutor ru

Урок довольно увлекательный, он отнимет у вас 20-30 минут, не больше.

Успехов в обучении!

Аргументы и опции. Мануал.

В прошлый раз мы узнали, что у команд есть аргументы и опции (параметры). Аргументы - это некоторые значения, которые нужно передать команде для её работы (иногда аргументы бывают необязательными), например:

mkdir MyDirectory

Здесь аргументом выступает MyDirectory - имя нового каталога. А команда mv требует двух аргументов. Для mkdir и mv наличие аргументов является обязательным. 

Я вам не говорил, но команду cd, оказывается, можно использовать без аргументов, тогда она переведёт нас в домашний каталог текущего пользователя. То есть:

cd
cd ~

обе эти команды будут иметь одинаковый эффект.

Опции - это то, что позволяет немного изменить поведение команды. У каждой команды есть свой набор опций, часто их можно использовать несколько штук сразу. Обычно (не всегда!) опции имеют вид -x (знак минус и одна буква). Приведу несколько примеров:

ls -l   (эта опция показывает дополнительную информацию о файлах)
rm -ri папка

Во второй команде использовано сразу две опции -r нам известна, она дает возможность удалить папку и всё её содержимое. Опция -i говорит, что перед каждым удалением нужно спросить пользователя, стоит ли удалять файл (ожидается ответ в виде y (да) или n (нет)). Создайте папку с двумя файлами и попробуйте её удалить с опциями -ri.

Я описал далеко не все опции команд. Это и не нужно, потому что в Linux существует электронный справочник (мануал).

man название_команды

выведет полную информацию о нашей команде. Покажется забавным, но можно ввести:

man man

и прочитать информацию о самом мануале :). Мануал написан на английском языке, поэтому
установим русскую версию:

sudo apt-get install manpages-ru

К сожалению, переведено далеко не всё, но тут уж ничего не поделаешь.

Осознайте всё мною написанное, можно немного почитать мануал. Только не нужно заучивать все опции наизусть, это не имеет никакого смысла.

Всем пока! Удачи в обучении!




ДОПОЛНИТЕЛЬНО. Возможно то, что будет ниже, окажется непонятным. В этом ничего страшного нету, вряд ли нам это пригодится в скором времени.

Бывают аргументы команды, а бывает и такое, что сама опция имеет аргумент. Здесь обойдемся без примеров, но напишу как это будет примерно выглядеть:

command -x argx -y argy arg

command - команда, -x и -y - опции команды, argx - аргумент для опции -x, argy - аргумент для опции -y, arg - аргумент команды.

четверг, 19 сентября 2013 г.

Создаём, удаляем, перемещаем файлы и директории.

Привет! В этом уроке мы выучим ещё несколько полезных команд, которые позволяют создавать, удалять и перемещать файлы и директории.

Ранее мы уже научились создавать файлы с помощью команды touch. Директории создаются аналогично командой mkdir. К примеру, чтобы создать каталог Папка, нужно ввести в терминал следующее:

mkdir Папка

Теперь давайте создадим файл, чтобы на его примере понять как пользоваться командой удаления:

touch "Ненужный файл"

Удаление производится командой rm. Предупреждаю сразу, удалённые файлы восстановить никак нельзя, они не попадают в корзину, они исчезают безвозвратно! Пользуемся данной командой внимательно и аккуратно.

rm "Ненужный файл"

Чтобы удалить директорию, командой rm следует воспользоваться немного по-другому:

rm -r Папка

При этом удаляется сам каталог и всё его содержимое.

Чтобы переместить файл, используется команда mv:

mv файл директория_куда_хотим_переместить

Давайте попробуем команду в действии:

mkdir МойКаталог
touch МойФайл
ls   (должны увидеть, что в текущем каталоге присутствуют МойКаталог и МойФайл)
mv МойФайл МойКаталог (перемещаем МойФайл в МойКаталог)
ls   (в текущем каталоге должен остаться только МойКаталог)
cd МойКаталог
ls   (мы находимся в МойКаталог, здесь должен находится только МойФайл)

Для того, чтобы переименовать файл используется всё та же команда mv, только немного иначе:

mv старое_имя_файла новое_имя_файла

Пробуем:

mv МойФайл "Файл с новым именем"

Получилось или нет всегда можно проверить командой ls.

Теперь мы знаем, что у команд может быть больше одного аргумента (например у команды mv). А ещё у команд бывают опции, -r - это опция позволяющая rm удалять каталоги, без неё ничего не выйдет. В следующий раз мы более подробно изучим команды и их опции, а пока что предлагаю попрактиковаться в использовании новых команд.

Удачи!  

Перенаправление вывода.

В этом уроке я объясню, что такое перенаправление вывода.

В прошлый раз мы пользовались перенаправлением, когда производили запись в файл, хотя даже и не подозревали об этом. Перенаправить вывод какой-нибудь команды в файл можно с помощью символа >:

comand > filename

Таким образом то, что команда должна вывести в консоль, выведется в файл. Если такого файла не существует, то он создастся автоматически. Это можно применять для любой команды, которая выводит что-нибудь на экран. Например команда date выводит текущую дату и время в терминал, поэтому, если написать:

date > Дата

То мы ничего не увидим в терминале, а в файле Дата окажется вывод команды date. Можно это проверить с помощью cat.

Перенаправление такого вида полностью стирает содержимое файла и записывает в него новый текст. Для того, чтобы записать что-то в конец файла используйте >> (две угловые скобки, вместо одной).

Попробуйте использовать перенаправление вывода в сочетании с другими командами. Команды могут быть абсолютно любые (даже те, с помощью которых вы устанавливаете приложения), главное, чтобы они выводили что-то в терминал.

P.S. Текст ошибок перенаправляться из консоли в файл не будет!

Создаём файлы.

Сегодня мы научимся создавать файлы, а также писать в них текст. Не будем тянуть, начнём.

Команда

touch имя_файла   (если имя файла содержит пробелы, следует взять его в кавычки)

создаёт пустой файл. Причём, имя файла можно использовать как абсолютное, так и относительное (то же, что и абсолютные и относительные пути, про которые написано здесь):

Создадим файл с названием мой файл в домашнем каталоге, для этого введём:

touch "мой файл" (находясь в домашней директории)

или

touch "~/мой файл" (находясь в любой директории)

То есть, первый вариант - это использование относительного пути, а второй - абсолютного. Напомню, что ~ - это то же самое, что и /home/username.

С помощью команды ls убедимся, что файл действительно создался.

Поздравляю, вы создали свой первый файл с помощью командной строки!

Существует команда echo, которая выводит указанный текст в терминал. Давайте попробуем.

echo "Привет всем"

С помощью неё так же можно записать текст в файл, делается это так:

echo "Текст" > "мой файл"

Для вывода содержимого файла в консоль используется команда cat:

cat "мой файл"

И так, мы узнали, как создать пустой файл (touch), как записать в него что-нибудь (echo) и как вывести его содержимое в терминал (cat).

В качестве упражнения потренируйтесь создавать файлы. Проверьте, что будет, если записать что-то в непустой файл с помощью команды echo. Перезапишется файл полностью или новый текст добавится к тому, что уже было?

Перемещение по директориям из терминала.

Приветствую! Мы уже установили Linux, научились устанавливать и удалять программы, сегодня научимся перемещаться по директориям в терминале.

Если не углубляться в некоторые подробности, то файлы располагаются в Linux примерно так же, как и в Windows.

/home/username/myfile.txt

Это значит, что в директории /home находится директория username, в которой лежит файл myfile.txt.

Директория(каталог) / называется корневой.
В каталоге home как правило располагаются домашние директории пользователей.

Давайте теперь откроем консоль и перейдём в корневой каталог, используя команду:

cd /

Терминал выдаст нам вот такое:

username@computername:/$

Как уже говорилось, то, что между двоеточием и долларом - это директория, в которой мы находимся, давайте теперь перейдём в каталог /home:

cd /home

Теперь перейдём в нашу домашнюю директорию:

cd /home/username (вместо username имя вашего пользователя)

В итоге видим:

username@computername:~$

~, как уже говорилось, обозначает домашний каталог текущего пользователя, то есть написать: cd ~ - это то же самое, что и cd /home/username.

Также существует команда ls, которая выводит содержимое текущего каталога, попробуйте её.

Путь, который начинается с символа /, называется абсолютным (полным) путём. Существует также относительный путь, в нём не нужно указывать путь до текущей директории. Относительный путь никогда не начинается со знака /Иначе говоря, абсолютный путь - это путь относительно корневого каталога, а относительный - относительно текущей директории. Посмотрим на примере:

cd /usr  (переходим в корневой каталог, используя полный путь)
cd local/bin   (переходим в /usr/local/bin, используя относительный путь)

Кстати, с помощью команды

cd ..

Можно перейти в родительский каталог текущей папки. Попробуйте эту команду и разберитесь в принципе её работы.

Поупражняйтесь переходить из каталога в каталог, используя и абсолютный, и относительный пути. Не забывайте пользоваться командой ls

Рекомендую выполнить несколько упражнений. Постарайтесь понять, где вы окажетесь после набора каждой из этих команд, а затем проверьте свои догадки на компьютере:

cd /bin
cd ..

cd ~/Загрузки

cd /bin
cd ../usr/share


cd /usr
cd bin
cd ../bin/../bin

P.S. Если путь до файла содержит пробелы, то имя файла нужно будет взять в двойные кавычки " .

P.P.S. Существует такая вещь как автодополнение. Что это такое? мы пишем какую-либо команду не до конца, нажимаем TAB, компьютер пытается дополнить команду до целой, если это возможно. Регулярно пользуйтесь автодополнением, с ним гораздо проще путешествовать по системе с помощью cd, а также пользоваться другими командами.

Установка и удаление приложений. Командная строка.

Всем привет! И так, мы установили Ubuntu/Kubuntu/Xubuntu, теперь мы готовы двигаться дальше.

В каждом популярном дистрибутиве Linux существует такая вещь как репозиторий. Это хранилище, в котором содержится огромное количество программ.

Наличие репозитория - огромное преимущество Linux перед Windows. Почему?
Чтобы установить программу в Windows нужно найти её в поисковике, скачать, затем только установить. А если она платная, то ещё и скачать crack купить лицензию :).
В Linux одной командой выполняется скачивание и установка программы из репозитория. Подавляющее большинство софта в Linux бесплатное.

А что скажите на счёт обновления программ в ОС Windows? Открываешь какое-нибудь приложение и появляется назойливое окошко с просьбой обновить программу. Под "обновить" чаще всего подразумевается скачать и установить новую версию. В Linux же одной командой можно обновить всё установленное ПО.

И так, как воспользоваться всеми этими преимуществами? Если вы последовали моему совету из прошлой записи и немного изучили систему, то наверняка наткнулись на "Центр приложений" (Software center). Там можно устанавливать и удалять приложения одним кликом. Software center'ом пользуются не многие, гораздо чаще используют командную строку(консоль, терминал). Почему? Потому что терминал - это очень мощное средство, с помощью которого в Linux можно сделать всё. Огромное количество задач в командной строке делать удобнее и быстрее

Найти терминал можно в списке приложений. Называться он будет примерно так: "Терминал", "Эмулятор терминала", "Командная строка", значок чаще всего в виде чёрного монитора. Если не нашли, то ALT+F2, далее вводим gnome-terminal (для Ubuntu), konsole (для Kubuntu), xfce4-terminal (для Xubuntu). Должно появиться окно терминала, в котором мы увидим примерно следующее:

username@computername:~$

Разберём по порядку:
  • username - имя пользователя, который находится в системе
  • computername - имя компьютера
  • ~ - означает, что мы находимся в домашнем каталоге
  • $ - означает, что терминал ждёт ввода команды от пользователя

И так, давайте установим приложение LTris (простая игра на подобии Tetris), вводим:

sudo apt-get install ltris

Нажмите Enter. Затем вам предложат ввести пароль, введите его (да, при вводе пароля не отображается ничего), снова Enter. Если затем вам зададут вопрос ответьте на него y (yes) или д (да). Приложение скачается и установится. Когда вы снова увидите $ это будет означать, что терминал завершил работу и ожидает новой команды. Теперь можно найти LTris в меню приложений или же ALT+F2, вводим ltris.

Чтобы удалить LTris поступаем аналогично, только команда теперь будет выглядеть так:

sudo apt-get remove ltris

Чтобы обновить все установленные программы в системе вводим в терминал:

sudo apt-get upgrade

И того:

sudo apt-get install название_программы - чтобы установить программу
sudo apt-get remove название_программы - чтобы удалить программу
sudo apt-get upgrade - чтобы обновить все установленные программы

Как видите, ничего сложного нету.

У многих читателей слишком длинные команды, наверняка, вызвали недоумение: sudo apt-get install выглядит избыточным, вроде бы достаточно просто install, но позже мы поймём почему именно так.

В качестве упражнения можете поустанавливать различные программы и привыкнуть к консоли. Всем пока!

P.S. Если у вас возникают ошибки при установке приложений попробуйте использовать команду sudo apt-get update, должно помочь.

среда, 18 сентября 2013 г.

Введение. Устанавливаем Linux.

Доброго времени суток всем! Как говорится в описании блога, мы будем изучать GNU/Linux. Да, именно мы (я тоже буду изучать его вместе с вами). Серия постов адресована людям, которые не имеют никакого опыта работы с Linux. Предметом нашего изучение будет в первую очередь работа в терминале (консоли), а также устройство системы. Таким простым вещам, как установка/удаление приложений, интернет-сёрфинг, настройка визуального интерфейса и так далее будет уделено минимум времени. Потому что, как вы далее узнаете, делать это всё не сложнее, чем в Windows ;).

Правильнее будет сказать, что GNU/Linux, это не операционная система, а целое семейство операционных систем. Отдельного представителя этого семейства называют дистрибутивомИх очень много. Все они похожи по внутреннему устройству, но имеют ряд своих особенностей и внешне могут сильно отличаться. 

Есть дистрибутивы предназначенные исключительно для опытных пользователей, например Arch LinuxGentooSlackware. Такие дистрибутивы новичкам устанавливать не рекомендуется, скорее всего это раз и навсегда отпугнёт их от изучения Linux. Но есть и другие - дружелюбные к пользователю (user-friendly). Один из представителей user-friendly дистрибутивов - это Ubuntu. Его и возьмём на вооружение.

Ах да, забыл сказать. Есть также ответвления от Ubuntu - это Kubuntu и Xubuntu. Все эти три дистрибутива - по сути одна и та же операционная система, просто с разным визуальным оформлением. Ubuntu и Kubuntu более красивые и навороченные, а Xubuntu менее требовательна к ресурсам компьютера. Посмотрите в интернете картинки, и выберите то, что вам больше всего нравится.

Выбрали? Теперь можно скачать:
  • Ubuntu (Качаем версию For the latest features, 32 bit)
  • Kubuntu (Качаем версию 32 bit)
  • Xubuntu (Качаем версию 32 bit)
Лично я выбрал для себя Xubuntu, так как мой нетбук довольно слабый.

Записываем образ на флешку или диск (например с помощью Ultraiso) и устанавливаем. Процесс установки крайне простой, справиться сможет каждый. На всякий случай вот инструкция. Во время установки вам предложат придумать пароль, запомните его, он вам ещё понадобится.

Ура! Теперь на вашем компьютере установлен Linux!
После завершения установки вы, вероятно, будете удивлены наличием предустановленных программ и тем, что все драйвера установились автоматически.

В качестве упражнения советую полазить по системе, посмотреть какие приложения установлены, зайти в настройки, сменить фон, настроить тему под себя. Всё это совсем не сложно, лишь чуть-чуть непривычно после Windows.

Удачи!