Терминал Linux. 1 статья - команды навигации в терминале.


Решил написать несколько статей на тему терминала Linux. Постараюсь объяснять наиболее доходчиво. В этой статье пойдет речь о командах навигации в терминале.

Комментирование приветствуется.

Цикл статей о терминале:
  1. Терминал Linux. 1 статья - команды навигации в терминале.

  2. Терминал Linux. 2 статья - команда поиска файлов и директорий в терминале

  3. Терминал Linux. 3 статья - команды поиска файлов (продолжение)

  4. Терминал Linux. 4 статья - создание, удаление, форматирование, монтирование разделов жесткого диска

  5. Терминал Linux. 5 статья - cоздание aliases (псевдонимов) в Ubuntu

  6. Терминал Linux. 6 статья - права доступа к каталогам и файлам в Linux, команды chmod и chown.

  7. Терминал Linux. 7 статья - доступ к sudo без ввода пароля.


1. Что из себя представляет корневая файловая система Linux?

Прежде чем приступить к команда в терминале, поговорим о директориях в Linux. Здесь нет диска C:\\ D:\\ и прочих.
Когда я начинал свой путь в Linux, для меня это было наиболее непонятно. Поэтому хочу прояснить этот момент.

Не важно на сколько вы разобьете разделов ваш жесткий диск. В системе будет: 

"/"  - корневая директория
Затем уже идут все остальные каталоги, которые служат для чего-то.

Директория /home - хранит каталоги пользователей, в которых можно, как правило, выполнять большинство действий без пароля администратора. Ваш домашний каталог находится по адресу - /home/Ваше_Имя_пользователя.

Директории /mnt и /media - вот это важно, в эти каталоги монтируются другие физические диски, флешки и прочие носители информации.
В Ubuntu в каталог /media монтируются диски, флешки, то есть в этом каталоге создается папка с названием вашего электронного носителя.

Остальные каталоги системные и рассказу о них стоит выделить целую статью. Перейдем к командам в терминале.

2. Команды навигации в терминале.

Когда вы открываете терминал в Ubuntu. То вы находитесь в своем домашнем каталоге:


Значок ~ (тильда) - означает домашний каталог текущего пользователя.
Чтобы узнать текущую директорию, в терминале достаточно набрать команду: pwd . Выполнение данной команды представлено на скриншоте выше.

Для навигации в терминале используется команда "cd".
Сначала записывается команда cd, затем путь, куда нужна перейти. Выглядит так:
Данной командой переходим в каталог /home cd /home
Но это не всё, что можно делать с помощью команды cd:

cd .. перейти в директорию уровнем выше 
cd ../.. перейти в директорию двумя уровнями выше
cd перейти в домашнюю директорию 
cd ~user перейти в домашнюю директорию пользователя user
cd - перейти в директорию, в которой находились до перехода в текущую директорию
Следующая команда используемая в навигации "ls". 
Если ввести ls, то отобразится содержимое текущей директории:


ls -F   отобразить содержимое текущей директории с добавлением к именам символов, храктеризующих тип
ls -l    показать детализированое представление файлов и директорий в текущей директории
ls -a   показать скрытые файлы и директории в текущей директории

Важно!
Когда вы вводите команду cd, вам не обязательно вводить полностью имя директории, достаточно нажать клавишу "TAB", произойдет автодополнение названия каталога.
Если имя не заполнилось, значит, есть еще один каталог с таким названием. Нажав дважды клавишу "TAB", выведется список с каталогами, которые имеют в своем имене начальные буквы, которые вы ввели.

Это касается не только "cd", но и других команд.
Например, когда Вы хотите отредактировать какой-то файл.
Вы выполнили команду ls, увидели, что у файла имя состоит из 30 знаков, то достаточно ввести первые буквы его имени и нажать клавишу "TAB" и произойдет автодополнение.

3. Команды удаления, копирования в терминале.

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

Создание каталогов выполняется командой "mkdir":

mkdir dir1     создать директорию с именем 'dir1'
mkdir dir1 dir2   создать две директории одновременно
mkdir -p /dir1/dir2    создать дерево директорий
Для удаления директорий используется команда "rmdir":


Аналогично удаляются директории, как и создаются. Такие же команды.

Для удаления файлов используется команда "rm": 


Работает очень просто, пишете команду и название файла:
rm file1     удалить файл с именем 'file1' 
Но "rm" позволяет не только удалять файлы, но и каталоги:
rm -r dir1    удалить директорию с именем 'dir1' и рекурсивно всё её содержимое 
rm -r dir1 dir2    удалить две директории и рекурсивно их содержимое
 Так же используется параметр -f, это означает, что при удалении не будет запрашиваться подверждение на удаление, команда будет выглядеть так:
rm -f file1
rm -rf dir1
 Для перемещения и переименовывания файлов и каталогов используется команда mv:


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

Чтобы переместить файл:
mv название_файла путь/

Ну и осталось копирование.
Для копирования используется команда "cp":
cp file1 file2 скопировать файл file1 и назвать его file2

cp -a dir1/ dir2/ - копировать директорию dir1 в директорию dir2
cp file1 dir1/ - копировать файл с именем file1 в директорию c именем dir1
 Вот основные команды навигации в терминале Linux.

Важно!
У каждой команды присутствует множество параметров, чтобы узнать их, просто наберите команду и параметр --help :
Например: rm --help

Поделиться:

Если у Вас возникли вопросы.

Приглашаю задавать их на сервисе вопросов и ответов: Ask LinuxRussia.com.
Там Ваши вопросы не потеряются и Вы быстрее получите ответ, в отличие от комментариев.

12 коммент. :

  1. Благодарю за статью, очень полезно и познавательно для новичков! Единственная просьба: для лучшего запоминания команд, пишите еще и расшифровку (на английском) их названий. Ведь на много легче запоминаются логические комбинации, нежели просто аббревиатуры: mv (от англ. move), mkdir (от англ. make directory) и т.д.
    Еще раз спасибо!

    ОтветитьУдалить
    Ответы
    1. Спасибо, добавлю расшифровку, хорошая идея :)

      Удалить
  2. Отлично. Для начинающих самое то будет. И да, можно еще посоветовать пользоваться mc, так сказать для удобства. Ну или для ленивых )))

    ОтветитьУдалить
  3. Для начинающих, я бы посоветовал вообще забыть о том, что есть mc

    ОтветитьУдалить
    Ответы
    1. Я тоже, когда начинал знакомство с Linux. Поставил mc, мне один хороший человек сказал удали и не устанавливай. Это сэкономит твое время. В чем я убедился потом.

      Удалить
  4. Я рад, что мы единодушны в этом мнении.
    В свое время, когда мне пришлось осваивать командную строку, я спросил у более опытного товарища, -- что же мне сделать для начала?
    Ответ был такой, -- тебе надо сформировать рабочее окружение:
    * словарь английского языка
    * Google (тогда был Google Groups)
    * освоить в более-менее сносном варианте текстовый редактор (мне был предложен VIM, и в дальнейшем я не пожалел об этом выборе)
    * не пользоваться никакими оболочками
    * выполнять реальные задачи
    Последний пункт меня особенно озадачил, т.к. я считал, что после освоения редактора мне еще надо было что-то прочитать. Тем не менее, выполнение реальных задач подстегнуло дальнейшее чтение книг (последующей был Learning PERL, т.к. sed и awk показались мне, на тот момент, слишком таинственными).
    Интересно еще и то, что позже я снова обратился к своему товарищу, и спросил, -- а что же читать дальше? ;) Он спросил, -- все ли пункты я выполнил? Когда я ответил, что все, то он сказал, что ему больше нечему меня учить :)

    ОтветитьУдалить
    Ответы
    1. * не пользоваться никакими оболочками
      Вы имеет ввиду миднайт коммандер и схожие или графические оболочки типа юнити, гном, кде и т.д. Я тоже новичок, интересно.

      Удалить
    2. Не пользоваться консольными файловыми менеджерами.
      Графические оболочки на персональном ПК нужны. Я бы не смог пользоваться на своем личном компьютере только терминал. В крайности впадать тоже не стоит. Unity вообще шикарна и мне очень нравится.
      Другое дело, что при навигации в терминале - mc и прочие, это просто костыли. Быстрее намного навигация с помощью cd, ls и клавиши tab (автодополнение).

      Удалить
  5. Мс юзаю пять лет и очень рад.

    ОтветитьУдалить
    Ответы
    1. Попробуйте не пользоваться mc :) и сравнить

      Удалить
    2. Мне кажется что это индивидуально, вначале я тоже пытался пользоватся исключительно cd, ls, cp, ln. Сейчас активно пользуюсь mc, имхо удобней именно им, но повторюсь это лично мне, кому то конечно удобней командами в консоли

      Удалить
  6. Доброго дня! Подскажите как скопировать файлы в директорию downloads, которые изначально были загружены в директорию Music по дате (например добавленные только сегодня ). cp *.mp3 -mtipe -1 ~/downloads типо такая идея, только как верно рабочий скрипт написать?

    ОтветитьУдалить