Канал на Youtube


Бесплатная техподдержка !

Командная строка в Linux


  Краткое знакомство с командной строкой и ее возможностями

Командная строка Linux
 

  Примечание: все команды которые мы будем использовать в статье выполняются от root'a, поэтому sudo (переход в режим суперпользователя) перед командами не пишется.

  В этой статье я попробую провести краткий курс "молодого бойца" по управлению Ubuntu и познакомлю Вас с несколькими полезными псевдографическими утилитами.

  Терминал (командная строка) *NIX подобных систем - очень мощная штука! С его помощью можно делать практически все: серфить в Интернете, используя текстовый браузер, слушать музыку, качать файлы, даже смотреть видео!

  В десктопной (настольной) версии Линукс Ubuntu, которая изначально устанавливается с пользовательским графическим интерфейсом (иксами), командный интерпретатор запускается следующим образом:

Запуск командной строки из графического интерфейса
 

  Итак, начнем мы наше знакомство с командной строкой Линукс с каталогов, расположенных в корне файловой системы.

  Файловая система ОС Linux отличается от привычной Windows, где есть логические диски «C», «D» и так далее. Здесь она выглядит, как древовидная структура. Все начинается с корня - /, дальше идут директории с различными назначениями. Ниже приведен их список с нашими комментариями.

  • /bin — важные двоичные (binary) приложения
  • /boot — файлы, необходимые для загрузки компьютера (ОС)
  • /dev — раздел устройств (device)
  • /etc — конфигурационные сценарии загрузки и т.п.
  • /home — домашние (home) каталоги локальных пользователей
  • /lib — системные библиотеки (libraries)
  • /lost+found — обеспечивает систему lost+found для файлов, существующих под корневым каталогом
  • /media — присоединенные сменные носители (media), такие как CD-диски, цифровые камеры и т.д.
  • /mnt — смонтированные (mount) файловые системы
  • /opt — местоположение, в которое можно устанавливать дополнительные (optional) приложения
  • /proc — специальный динамический каталог, в котором содержатся сведения о состоянии системы, включая запущенные процессы (process)
  • /root — домашний каталог пользователя root
  • /sbin — важные системные двоичные файлы (system binaries)
  • /srv — местоположение для хранения данных, используемых серверами (servers)
  • /sys — сведения о системе (system)
  • /tmp — временные (temporary) файлы, очищается при каждой загрузке ОС
  • /usr — приложения и данные, которые, в основном, доступны всем пользователям (users)
  • /var — переменные (variable) данные, такие как журналы событий и базы данных
     

  Также по другому в Линукс представлены и устройства. Если в Windows устройство (принтеры, диски и т.д.) выглядят как папка, то в *NIX системах это - файл, с которым можно по разному взаимодействовать.

  В *NIX ОС обычно нет расширений фалов (*.avi, *.doc и т.д.). Многие форматы предусматривают указание в начале "тела" файла строки, исходя из которой следует интерпретировать дальнейшую информацию о нем: как об исполняемой программе, исходных данных для текстового редактора, странице HTML, звукового файла, изображения или чего-то другого.
 

  Права доступа к файлам и папкам

  В *NIX подобных системах используются права доступа вида 777, 750 и т.п. Например: 777 - самые широкие права, 000 - доступ есть только у root'a.

  Права состоят из 3-х цифр. Первая цифра это - права доступа для владельца (хозяина, - owner) файла. Вторая - для группы в которой состоит "хозяин". Третья цифра - для всех остальных пользователей.

  Закономерный вопрос: как же понять и разобраться, что эти цифры значат? Очень просто! Права доступа можно представить в виде битовой строки, в которой каждые 3 бита определяют права доступа для соответствующей категории пользователей, как представлено в таблице:
 

rwx rwx rwx
421 421 421
user group others

владелец группа остальные

  То есть:

  • r (Read) = 4 - чтение
  • w (Write) = 2 - запись
  • x (eXecute) = 1 - выполнение
     

  Допустим, нам нужно задать права на какой-нибудь файл, чтобы владелец мог читать его, писать, выполнять, пользователи которые находятся в его группе могли читать и писать, а все остальные только читать. Для этого сложим права доступа для владельца 4+2+1=7, для группы 4+2=6, для остальных 4. В итоге мы получили нужные права доступа к файлу - 764.

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

  Чтобы получить дополнительную информацию о файлах каталога, например: подробный листинг команды ls -l, системе придется "заглянуть" в метаданные самих файлов, что потребует уже прав на выполнение для всего каталога. Право на выполнение также потребуется для директории, в которую мы захотитм перейти (т.е. сделать ее текущей) с помощью команды cd.
 

  Правила и рекомендации

  Имена файлов и папок к которым нужно обратиться и в имени которых содержится пробел, должны быть заключены в двойные кавычки (“directory name”) или экранированы обратным слешем (directoru/ name). Имена файлов/папок - регистрозависимы. Например: «file_name» и «File_name» это разные имена, следовательно - в папке могут находиться, на первый взгляд, одинаковые файлы.

  Конечно, так делать не рекомендуется, хотя для *NIX систем это и допустимо (могут появиться проблемы при копировании на другие файловые системы отличные от EXT*, например - разделы NTFS или флешки FAT*/exFAT). Как говорится, что для Linux'a хорошо, то для Windows - “смерть”! :)

  В терминале используется очень удобная функция - авто дополнение команд и путей файлов. Например: имея файл с длинным именем вроде «large_file_name_plus_extension» можно написать larg и нажать клавишу Tab. Терминал сам допишет имя файла/папки/команды (если есть несколько файлов/команд с похожими именами, то текст дополнится только до первого символа различия, что не мешает указав нужный символ нажать Tab еще раз).

  Также можно посмотреть, какие файлы/команды с именем начинающимся на large уже есть в папке, где расположен целевой файл. Для этого нужно дважды быстро нажать Tab и отобразится список файлов/команд.

  Авто дополнение работает в большинстве случаев ввода команд. Исключение - работа от пользователя su, так как это скрывает некоторые потенциально опасные команды, что, впрочем, можно обойти, вписав команду полностью вручную, или использовать уже знакомое нам sudo su -

  Имя пользователя и пароль также регистрозависимы. Обратите внимание, что во всех *NIX операционных системах при вводе пароля через консоль, на мониторе ничего не отображается (в MS Windows показываются звездочки/точки вместо символов). Это сделано для того, чтобы люди, стоящие у нас за спиной, не знали даже количества символов пароля. Вот такая вот секретность! :)

  Смотрите продолжение статьи - на следующей странице.




Валера
Sabayon.Установил в ноутбук.Работает только в режиме кнсоли.Подключаю USB DVD.Нет ни какой реакции.Как работать в консоле с приводами?

vady-ra
Монтирование дисков/папок/CD/DVD делается примерно так:
mount /dev/sr0 /mnt - где /dev/sr0 CD привод (может называться по другому), /mnt - точка монтирования. Узнать имя можно командой lshw и в ее выводе найти название устройства.

John
А что ж вы от консоли то хотите? Окошка с содержимым диска?

1. Зайдите в каталог /dev
2. Посмотрите его содержимое командой ls
3. Подключите USB DVD и дождитесь его инициализации
4. Ещё раз дайте команду ls
5. Посмотрите что добавилось
6. Создайте какой-нибудь каталог типа My_USB_DVD_Disk в каталоге /mnt
7. Смонтируйте новое устройство в этот каталог командой mount

John
У меня нет USB DVD, но флэшка опознаётся как три разных устройства: SDB, SDB1 и что-то ещё. Монтировать надо SDB1.

Андрей
Спасибо автору за труд!


Страницы: [1]


Бесплатные авторские уроки !