Часто люди, недавно перешедшие на эту ОС задают вопрос "а зачем мне эти команды? зачем что-то прописывать если лучше на кнопочки понажимать".
Сейчас мы поговорим о первом поле.
В нем видим 10 полей, разделяемых на 4 секции.
В первой секции, которая состоит из одного поля находится либо "-" прочерк либо "d".
Если стоит "d" - этот объект - директория (папка).
А если там прочерк - это обычный файл. (да. есть еще необычные файлы. Например файлы устройств, но на данном этапе нас это не интересует).
Вторая секция определяет права доступа для владельца (u - "user") к этому объекту.
Первое поле означает право на чтение (r).
Второе поле определяет право на запись (w), т.е. на модификация, удаление этого файла; или, если это директория, на создание и удаление в ней объектов.
Третье поле определяет право на выполнение (x), т.е. система будет считать, что этот файл - программа или скрипт.
Третья и четвертая секции аналогичны первой, но определяют права доступа для группы (g - "group") и для всех остальных пользователей системы (o - "other").
Несколько примеров (кто понял суть может пропустить):
drwxr-xr-x 4 oleg oleg 4,0K 2010-12-15 20:27 .
drwxr-xr-x 116 oleg oleg 4,0K 2010-12-15 20:27 ..
---------- 1 oleg oleg 37 2010-12-15 20:27 file1
drwxr-xr-x 2 oleg oleg 4,0K 2010-12-15 20:23 folder_1
drwx------ 2 oleg oleg 4,0K 2010-12-15 20:23 folder_31
http://www.winsov.ru
http://www.linuxcenter.ru
Я могу задать встречный вопрос "а зачем водителю знать как работает двигатель, система охлаждения двигателя и т.д.? Ведь можно же просто сесть за баранку и нажимая 3 педальки, а еще лучше две, управлять автомобилем." А просто так нужно знать. Когда-нибудь оно пригодится...
Команды не такие уже и сложные и учить их не нужно. Нужно просто знать что такое есть, и где его найти при надобности.
Здесь я хочу рассмотреть основные команды, которые помогут ориентироваться в текстовом режиме (о да! графическая среда когда-то может и не загрузиться при ОЧЕНЬ неумелом пользовании. Точно так же, как могут стереться колодки автомобиля, если водитель будет ехать при зажатом ручном тормозе.) Прочтение этой статьи у Вас займет около 20-40 минут, в зависимости от того, будете ли Вы просто читать, или практиковать по-ходу чтения. Начнем!
Движение по файловой системе
cd - команда перехода в другой каталог.
например:
cd / - переходим в корневой каталог
cd /home/valerij - переходим в домашнюю папку пользователя valerij
cd .. - переходим на уровень вверх
cd folder1/ - переходим в папку folder1, которая находится в текущей папке
cd ~ - переходим в домашнюю папку текущего пользователя
При этом здесь работает автодополнение по клавише Tab.
Это значит что чтобы зайти в папку /home/valerij мне нужно сделать следующие шаги:
1) пишу cd /h
2) нажимаю клавишу Tab (командная строка пытается дополнить имя файла/папки, которая начинается на h. Если такая папка одна - дописывает сразу, если же папок, которые начинаются на данную букву несколько - дополняет до первого расхождения. Например: если бы в текущей папку были папки home, homyak, то имя дополняется до cd /hom , а дальше пользователя вводит либо букву "e", либо букву "y" и нажимает Tab)
3) в данном случае мы видим cd /home
4) ставим слеш, пишем букву "v" и нажимаем Tab для автодополнения имени папки
5)нажимаем Enter.
Итоги:
В процессе задания пути перехода, пользуемся клавишей Tab. Она либо дополняет имя файла по первым знакам до первого расхождения, либо же показывает список каталогов (в случае если первая буква не была введена, а сразу после ввода "/" была нажата клавиша Tab)
Просмотреть список файлов в данной папке
ls - просмотреть список файлов
ls -l - просмотреть список файлов у виде списка (более удобно. файлы расположены в списку, причем видно параметры доступа к файлам (права), имя владельца файла, имя название группы владельца файла)
ls -a - показать список всех файлов (включая скрытые. "a", потому что "all"- "все")
ls -la (тоже самое ls -l -a и тоже самое что ll) - просмотреть список ВСЕХ файлов у виде СПИСКА
Итоги: Наиболее часто используется команда ll (просмотреть список ВСЕХ файлов в виде списка) либо ls -l (просмотреть список файлов в виде списка не отображая скрытые файлы)
О правах доступа к файлам
Многопользовательская система UNIX поддерживает механизм, известный, как система прав доступа к файлам. Этот механизм позволяет указать для каждого файла владельца и обеспечить защиту файлов от доступа других пользователей. UNIX позволяет также совместно использовать файлы нескольким пользователям и группам пользователей. В большинстве систем, по умолчанию, другим пользователям разрешается читать ваши файлы, но запрещается вносить изменения в файлы или удалять их.
Итак, каждый файл имеет конкретного владельца, но, кроме того файлами, также могут владеть конкретные группы пользователей, которые определяются при регистрации пользователей в системе. Каждый пользователь становится членом как минимум одной группы пользователей (своей либо какой-то из общих групп). Системный администратор (суперпользователь, обычно root) может обеспечить пользователю доступ более, чем к одной группе.
Права доступа подразделяются на три типа: чтение (read), запись (write) и выполнение (execute). Эти типы прав доступа могут быть предоставлены трем классам пользователей: владельцу файла, группе, в которую входит владелец, и всем остальным пользователям этой машины.
Разрешение на чтение (read) позволяет пользователю читать содержимое файлов, а в случае каталогов - просматривать перечень имен файлов в каталоге.
Разрешение на запись позволяет пользователю писать в файл и изменять его. Для каталогов это дает право создавать в каталоге новые файлы и каталоги, или удалять файлы и каталоги в текущем каталоге.
Наконец, разрешение на выполнение позволяет пользователю выполнять файлы (как бинарные программы, так и командные файлы). Разрешение на выполнение применительно к каталогам позволяет пользовотелю войти в данный каталог или, по другому говоря, сменить значение переменной окружения $PWD командной оболочки на значение, соответствующее местоположению этого каталога от корня файловой системы UNIX (полный путь). При этом, если бит чтения (read) для данного каталога не установлен, то пользователь сможет только войти в каталог, но не сможет прочитать имена файлов, содержащиеся в этом каталоге - для пользователя каталог будет пуст.
Команад ls -la показывает перечень всех файлов данного каталога, включая при этом информацию о правах доступа. Что мы при этом видим?
Мы видим семь полей слева направо, которые обозначают следующее: атрибуты объекта, число ссылок на объект, имя владельца, группа к которой принадлежит владелец, размер объекта, дата и время последней модификации, имя объекта.
Тут показано содержимое некоторого каталога.
Первая строка - ссылка каталога самого на себя (есть в любом каталоге).
Вторая строка - ссылка каталога на родительский каталог (также есть в любом каталоге).
Третья строка - прочерка на первой позиции означает что это файл (да! здесь файл может быть и без расширения и прекрасно исполнять возложенные на него функции)
все остальные здесь прочерки - значит что никто не имеет прав ни читать ни писать не исполнять этот файл(конечно же кроме суперпользователя root). Хотя как видим дальше владельцем этого файла есть пользователь oleg, но парадокс - он не может читать этот файл. Если этот пользователь открывает этот файл, то он не видит его содержимого.
Четвертая строка - символ "d" означает, что это папка. Владелец этого документа, в данном случае oleg имеет право читать-писать-исполнять (rwx), пользователи группы имеют право читать-исполнять (r-x), все остальные пользователи имеют право читать-исполнять (r-x)
Пятая строка - директория, владелец имеет право читать-писать-исполнять, группа-владелец и остальные пользователи не имеют никаких прав. То-есть они будут видеть эту папку, но зайти в нее не смогут.
Кроме того, система прав доступа имеет также и числовое представление. Права представляют из себя число вида XYZ, состоящее из цифр X,Y и Z, определяющих права для владельца (X), группы (Y) и остальных (Z), соответственно. Составляется X, Y или Z по одинаковым правилам: праву на чтение соответствует цифра 4, праву на запись - 2, праву на выполнение - 1. Если вы разрешаете какие-то из этих прав просто суммируете, соответствующие им цифры. Таким образом, если ваш файл имеет право читать, изменять и запускать только владелец, то, соответствующие значения для числового представления вычисляются следующим образом: X=4+2+1=7, Y=0+0+0=0, Z=0+0+0=0.
Изменение прав доступа
chmod — программа для изменения прав доступа к файлам и директориям.
1 способ.
chmod 400 filename - владельцу даем право только читать (-r--------)
chmod 777 filename - право всем на что угодно (-rwxrwxrwx)
chmod 644 filename - владельцу даем право читать-писать, остальным - только читать (-rw-r--r--)
chmod 755 file - обычные права каталогов (drwxr-xr-x)
2 способ.
Указать, кому какое право даете или кого этого права лишаете:
chmod wXp имя-файла
где вместо символа w подставляется
- либо символ "u" (т. е. пользователь, который является владельцем);
- либо "g" (группа);
- либо "o" (все пользователи, не входящие в группу, которой принадлежит данный файл);
- либо a (все пользователи системы, т. е. и владелец, и группа, и все остальные).
Вместо X ставится:
- либо + (предоставляем право);
- либо – (лишаем соответствующего права);
- либо = (установить указанные права вместо имеющихся),
Вместо p — символ, обозначающий соответствующее право:
- r (чтение);
- w (запись);
- x (выполнение).
Вот несколько примеров использования команды chmod:
chmod a+x filename - предоставляет всем пользователям системы право на выполнение данного файла.
chmod go-rw filename - удаляет право на чтение и запись для всех, кроме владельца файла.
chmod ugo+rwx filename - ;дает всем права на чтение, запись и выполнение.
Если опустить указание на то, кому предоставляется данное право, то подразумевается, что речь идет вообще обо всех пользователях, т. е. вместо chmod a+x filename можно записать просто
chmod +x filename
Изменение владельца и группы-владельца
chown -R user:group filename - изменение прав с рекурсией (то есть для всех подкаталогов каталога)
Пример:
chown kolya:main folder2 - устанавливаем владельцем папки folder2 пользователя kolya, и группу-владельца main
chown root folder2 - изменение только пользователя на root, для папки folder2
chgrp ("change group") - команда для изменения группы-владельца.
chgrp root folder1 - изменение только группы-владельца для папки folder1 на root
Если что-то не понятно, то всегда есть встроенная справка, которая вызывается командой man
man chown - смотрим справку о команде chown
Прерывание просмотра справки (та и большинства других сеансов) комбинация клавиш Ctrl + Z
При написании статьи использовалась информация с сайтов:http://www.winsov.ru
http://www.linuxcenter.ru
Немає коментарів:
Дописати коментар