44787

Команды для работы с файлами и каталогами

Доклад

Информатика, кибернетика и программирование

После имени команды надо ввести пробел и имя пользователя например jim: [root] userdd jim После этого система будет знать о существовании пользователя jim говорят будет открыт счет для пользователя jim . После того как вы завершите ввод нажатием клавиши Enter система попросит ввести его повторно: Retype new UNIX pssword: Если вы не ошиблись при вводе пароль приходится вводить вслепую поскольку он не отображается на экране появится сообщение: psswd: ll uthentiction tokens updted successfully [root] mn psswd В ответ вы получите...

Русский

2013-11-13

24.62 KB

0 чел.

Для того чтобы создать пользователя есть две команды: useradd (полное создание) и adduser.

adduser позволяет создать учетную запись пользователя в интерактивном режиме и отображает процесс создания на экране, что поможет нам понять, что происходит в системе. Давайте разберем по пунктам процесс создания учетной записи пользователя.

Команда useradd отличается от adduser, тем что она не является интерактивной и для того, чтобы она выполнила все действия, которые выполняет команда adduser необходимо задавать соответствующие параметры и ключи, которые можно посмотреть по команде useradd –help или man useradd.

Команда useradd. После имени команды надо ввести пробел и имя пользователя, например, jim:

[root]# useradd jim

После этого система будет знать о существовании пользователя jim (говорят, будет "открыт счет для пользователя jim "). Однако войти в систему (или, как обычно говорят, "логироваться") под этим именем еще невозможно. Для того, чтобы система разрешила работать пользователю с именем jim, надо задать ему пароль. Для этого вводим команду

[root]# passwd jim

Появится строка

New UNIX password:

Вводите пароль. После того, как вы завершите ввод нажатием клавиши <Enter>, система попросит ввести его повторно:

Retype new UNIX password:

Если вы не ошиблись при вводе (пароль приходится вводить "вслепую", поскольку он не отображается на экране), появится сообщение:

passwd: all authentication tokens updated successfully

[root]# man passwd

В ответ вы получите описание соответствующей команды или информацию по теме, обозначенной ключевым словом. Поскольку информация обычно не помещается на одном экране, при просмотре можно пользоваться клавишами <PageUp> и <PageDown>, а также клавишей пробела. Нажатие клавиши <Q> в любой момент приводит к выходу из режима просмотра и возврату в режим ввода команд. Попробуйте просмотреть информацию по рассмотренным уже командам login и passwd. Заметим, что точно также можно получить информацию по самой команде man. Введите

[root]# man man

Детальную информацию по конкретной встроенной команде выдает та же команда help с указанием в качестве параметра имени встроенной команды, например: help cd.

Команда info является некоторой альтернативой команде man. Для получения информации по отдельной команде надо задать в командной строке info с параметром, являющимся именем интересующей вас команды, например,

[user]$ info man

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

Таблица 3.1. Простейшие команды Linux

Команда

Краткое описание

whoami

Сообщает имя, с которым вы вошли в систему в данном сеансе работы

w или who

Сообщает, какие пользователи работают в данный момент в системе

pwd

Сообщает имя текущего каталога

ls -l

Выдает список файлов и подкаталогов текущего каталога

cd <имя_каталога>

Осуществляет смену текущего каталога

ps ax

Выдает список выполняющихся процессов

Просмотрите описания этих команд с помощью команды man.

Нажмите комбинацию клавиш <Ctrl>+<Alt>+<F2>. Вы снова увидите приглашение login:. Однако это не возврат к началу работы с системой - вы просто переключились в другой виртуальный терминал. Здесь вы можете зарегистрироваться под другим именем. Попробуйте войти в систему под именем только что заведенного пользователя. После этого нажмите комбинацию клавиш <Ctrl>+<Alt>+<F1>. Вы вернетесь к первому экрану.

При работе в текстовом режиме тот же результат можно получить, используя комбинации <Alt>+<F1> - <Alt>+<F6>, однако в графическом режиме без клавиши <Ctrl> не обойтись. Сразу же скажем, что, если вы хотите завершить сеанс работы с системой в одном из терминалов, вы можете сделать это нажатием комбинации клавиш <Ctrl>+<D>. Можно завершить сеанс работы и введя одну из команд logout или exit.

Если в процессе работы вы забыли, в каком терминале находитесь в данный момент, воспользуйтесь командой tty, которая выводит имя терминала в следующем формате: /dev/tty2.

Для UNIX-подобных систем разработано несколько альтернативных bash оболочек. Их можно использовать и в Linux, но по умолчанию запускается именно bash.

Заметим, что оболочка bash имеет встроенную подпрограмму, предназначенную для облегчения ввода команд в командной строке. Эта подпрограмма вызывается по клавише <Tab> после того, как вы уже ввели некоторое число символов. Если эти символы являются началом названия одной из стандартных команд, которые известны оболочке, то возможны два варианта реакции оболочки на нажатие клавиши <Tab>. Если по введенным символам команда определяется однозначно, оболочка просто добавляет окончание команды в командную строку. Если однозначно восстановить имя команды по введенным символам невозможно, то выдается список возможных вариантов продолжения для того, чтобы пользователь мог ввести еще несколько символов, позволяющих однозначно завершить ввод команды нажатием клавиши <Tab>.

Историю команд можно просмотреть, введя в командной строке history, здесь вы сможете воспользоваться комбинациями клавиш <Shift>+<PgUp> и <Shift>+<PgDown>

Для работы с историей команд в оболочке bash используются следующие комбинации клавиш.

Таблица 3.3. Клавиши для управления историей команд

Клавиша

Описание реакции системы

<?> или <Ctrl>+<P>

Переход к предыдущей команде в списке (движение назад по списку)

<?> или <Ctrl>+<n>

Переход к следующей команде в списке (движение вперед по списку)

<PgUp>

Переход к (вызов в командную строку) самой первой команде, сохраненной в истории команд

<!>, <N>

Выполняется (без нажатия клавиши <Enter>) n-ная команда из списка истории команд

<!>, <->, <N>

Выполняется n-ая от конца списка команда

<!>, строка символов

Выполняется команда, имя которой начинается на строку символов (поиск нужной команды осуществляется движением в обратном порядке от конца файла истории и выполняется первая попавшаяся команда, которая начинается на строку символов)

<Ctrl>+<O>

То же что нажатие клавиши <Enter>, затем отображается очередная команда из файла истории

Правильное завершение работы системы делается командой shutdown.

Команда shutdown может быть выполнена только пользователем root, так что вы либо должны были войти в систему под этим именем, либо должны предварительно выполнить команду su, чтобы приобрести соответствующие права.

Команда shutdown имеет следующий синтаксис:

[root]# shutdown <options> <time> <warning-massage>

Замечание

Существует некоторая вероятность того, что запустив команду, вы получите ответ "command not found". Это значит, что оболочка не знает, где находится файл программы. В таком случае вам необходимо ввести команду с указанием полного пути, в данном случае в виде /sbin/shutdown -h, поскольку для команды shutdown файл программы лежит в каталоге /sbin.

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

  1. -h - полная остановка системы (компьютер будет выключен);
  2. -r - перезагрузить систему.

Команды для работы с файлами и каталогами

Команды chown и chgrp

Эти команды служат для смены владельца файла и группы файла. Выполнять смену владельца может только суперпользователь, смену группы может выполнить сам владелец файла или суперпользователь. Для того, чтобы иметь право сменить группу, владелец должен дополнительно быть членом той группы, которой он хочет дать права на данный файл. Формат этих двух команд аналогичен:

[root]# chown vasja имя-файла

[root]# chgrp usersgrp имя-файла

Команда mkdir

Команда mkdir позволяет создать подкаталог в текущем каталоге.

Команда cat

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

[user]$ cat file1 > file2

Собственно, первоначальное предназначение команды cat как раз и предполагало перенаправление вывода, так как эта команда создана для конкатенации, т. е. объединения нескольких файлов в один:

[user]$ cat file1 file2 ... fileN > new-file

Именно возможности перенаправления ввода и вывода этой команды и используются для создания новых файлов. Для этого на вход команды cat направляют данные со стандартного ввода (т. е. с клавиатуры), а вывод команды - в новый файл:

[user]$ cat > newfile

После того, как вы напечатаете все, что хотите, нажмите комбинацию клавиш <Ctrl>+<D> или <Ctrl>+<C>, и все, что вы ввели, будет записано в newfile. Конечно, таким образом создаются, в основном, короткие текстовые файлы.

Команда cp

Хотя для копирования файлов иногда пользуются командой cat, но в Linux существует для этого специальная команда cp. Ее можно применять в одной из двух форм:

[user]$ cp [options] source destination

[user]$ cp [options] source_directory new_directory

В первом случае файл или каталог source копируется, соответственно, в файл или каталог destination, а во втором случае файлы, содержащиеся в каталоге source_directory копируются в каталог new_directory. Для копирования надо иметь права на чтение файлов, которые копируются, и права на запись в каталог, в который производится копирование.

Если в качестве целевого указывается существующий файл, то его содержимое будет затерто, поэтому при копировании надо соблюдать осторожность. Впрочем, можно использовать команду cp с опцией -i, тогда перед перезаписью существующего файла будет запрашиваться подтверждение (очень рекомендую вам всегда использовать эту опцию!).

У команды cp имеется еще несколько полезных опций (табл. 4.3).

Таблица 4.3. Основные опции команды cp

Опция

Значение

-p

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

-R или -r

Если source - каталог, то копируется как он, так и все входящие в него подкаталоги, т. е. сохраняется исходная форма дерева каталогов

-d

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

-f

Перезаписывать файлы при копировании (если такие уже есть) без дополнительных предупреждений

Команда mv

Если вам необходимо не скопировать, а переместить файл из одного каталога в другой, вы можете воспользоваться командой mv. Синтаксис этой команды аналогичен синтаксису команды cp. Более того, она сначала копирует файл (или каталог), а только потом удаляет исходный файл (каталог). И опции у нее такие же, как у cp 4)

Команда mv может использоваться не только для перемещения, но и для переименования файлов и каталогов (т. е. перемещения их внутри одного каталога). Для этого надо просто задать в качестве аргументов старое и новое имя файла:

[user]$ mv oldname newname

Но учтите, что команда mv не позволяет переименовать сразу несколько файлов (используя шаблон имени), так что команда mv *.xxx *.yyy не будет работать.

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

Команды rm и rmdir

Для удаления ненужных файлов и каталогов в Linux служат команды rm (удаляет файлы) и rmdir (удаляет пустой каталог). Для того, чтобы воспользовался этими командами, вы должны иметь право записи в каталоге, в котором расположены удаляемые файлы или каталоги.

Команды more и less

Команда cat позволяет вывести на стандартный вывод (на экран) содержимое любого файла, однако она используется для этих целей очень редко, разве что для вывода очень небольших по объему файлов. Дело в том, что содержимое большого файла мгновенно проскакивает на экране, и пользователь видит только последние строки файла. Поэтому cat используется в основном по ее прямому назначению - для конкатенации файлов, а для просмотра содержимого файлов (конечно, текстовых) используются команды more и less (или текстовые редакторы).

Команда-фильтр more выводит содержимое файла на экран отдельными страницами, размером как раз в целый экран. Утилита less, разработанная в рамках проекта GNU, содержит все функции и команды управления выводом, имеющиеся в программе more, и некоторые дополнительные, например, позволяет использовать клавиши управления курсором.

Команды more и less позволяют производить поиск подстроки в просматриваемом файле

Команда find и символы шаблонов для имен файлов

Еще одной часто используемой командой для работы с файлами в Linux является команда поиска нужного файла find. Команда find может искать файлы по имени, размеру, дате создания или модификации и некоторым другим критериям.

Общий синтаксис команды find имеет следующий вид:

find [список_каталогов] критерий_поиска


 

А также другие работы, которые могут Вас заинтересовать

79535. Россия в системе международных отношений во второй половине 18 век 21.47 KB
  Россия вступила в Семилетнюю войну на стороне Австрии и Франции против опасно усилившейся Пруссии. Россия вмешалась в смуту в Польше а в 1768-1774 гг. Россия вместе с Австрией вновь победила Турцию успехи А.
79536. Страны Европы и США в 19 веке. Промышленный переворот: ускорение процесса индустриализации и его политические, социальные и культурные последствия 25.98 KB
  США в 19 веке 1801.04 Третий президент Джефферсон Томас в США сменивший на этом посту Адамса Джона 1808 Начало установления дипломатических отношений между Россией и США 18081809 1812.19 Начало войны между Великобританией и США 1812 1814 1812.
79537. Международные отношения и революционное движение в Европе в 19 веке 21.9 KB
  Степень активности таких масс в революции крестьянства рабочих городской и деревенской бедноты их напор обеспечивали больший или меньший успех революции их результаты и характер ликвидации феодализма и его остатков. Были приняты законы закрепившие за новыми владельцами приобретенное ими в годы революции имущество составлены кодексы законов о собственности торговле и другие поддерживающие развитие капиталистической промышленности. Вслед за Францией революции произошли в Австрии Германии Италии.
79538. Внутренняя политика России при Александре 1 (1801-1825 годы) 21.21 KB
  Начинается реформа системы образования в т. Проведена финансовая реформа затронувшая интересы дворянства. В своих реформах Александр I помня судьбу отца боялся задеть дворянство.
79539. Россия в системе международных отношений в первой четверти 19 века. Отечественная война 1812 года 21.34 KB
  Россия не желая чрезмерного усиления Наполеона вновь вступила в антифранцузскую коалицию с Австрией и Англией в 1806 г. Россия вступила в континентальную блокаду прекратила экономические связи с Англией. По условиям Венского конгресса Россия получила основную часть Польши.
79540. Внутренняя и внешняя политика при Николае 1 (1825-1855 годы). 20.89 KB
  Царствование Николая I закончилось крупнейшим внешнеполитическим крахом. Тяжелое психологическое потрясение от военных неудач подорвало здоровье Николая и случайная простуда весной 1855 стала для него роковой.
79542. Идейная борьба и общественное движение в России во второй половине 19 века 20.83 KB
  Общественное движение в России во 2й поп. Доказывали пагубность либеральных реформ для России отмечали что реформы косвенно стимулируют революционное движение но не могли предложить ничего позитивного.
79543. Социально экономическое развитие России на рубеже 19-20 веков. Реформаторская деятельность С.Ю.Витте 22.59 KB
  С другой – продолжало существовать сословное деление характерное для феодальной эпохи дворянство купечество крестьянство мещанство. Считал необходимым реформировать крестьянскую общину высказывался за свободный выход из общины. В октябре 1898 обратился к Николаю II с запиской в которой призвал царя завершить освобождение крестьян сделать из крестьянина персону освободить его от давящей опеки местных властей и общины. Добился отмены круговой поруки в общине телесных наказаний крестьян по приговору волостных судов облегчения...