Мегаобучалка Главная | О нас | Обратная связь


Основные команды системы.



2019-11-13 166 Обсуждений (0)
Основные команды системы. 0.00 из 5.00 0 оценок




Перед рассмотрением команд системы стоит отметить возможности редактирования командной строки в bash. Указанием на то, что командный интерпретатор готов принимать команды, служит т.н. приглашение — строка вида:

[student@lab-100 ~]$

В ней указывается имя пользователя и системы, на которой выполняется интерпретатор, текущий каталог (в данном случае — ~ (тильда), что означает сокращение для домашнего каталога пользователя). Завершает приглашение символ $ (знак доллара). Для суперпользователя таким символом является # (октоторп).

Команда набирается как обычная строка в текстовом редакторе. Перемещать курсор по строке возможно с помощью клавиш управления им, работают клавиши <Home> (начало строки), <End> (конец строки), <Del> (для удаления символа под курсором) и <Backspace> (для удаления символа перед курсором). Клавиша <Tab> имеет особый смысл — при её нажатии bash попытается дополнить текущее слово до ближайшего имени файла. Т.е., если в каталоге есть файлы a.txt, a1.txt и b.txt, ввод b и нажатие <Tab> дополнит b до b.txt. Если bash не может однозначно дополнить строку (например, при вводе a и <Tab>), то повторное нажатие на <Tab> выдаст все возможные варианты (в данном случае — a.txt и a1.txt). Клавишей <Tab> можно дополнять и команды, поскольку они для системы также являются файлами.

bash поддерживает историю вводимых команд. Перемещаться по списку команд можно клавишами управления курсором <стрелка вверх> и <стрелка вниз>. Команды из истории можно редактировать, как и обычные. Т.е., если bash не распознал введённую команду и выдал ошибку, проще не набирать команду заново, а, нажав <стрелку вверх>, вызвать последнюю команду и отредактировать её.

Получить полный список команд из истории можно командой history. В качестве необязательного параметра можно задать число последних команд, которые и будут выведены на экран. В истории команд по-умолчанию хранится до 500 последних команд, в системе они сохраняются в файле ~/.bash_history .

При работе с системой один из каталогов является текущим. В начале сеанса работы текущим каталогом становится домашний каталог пользователя. В приведённых ниже примерах $ или # означают приглашение командной строки. Вводить его не нужно. <имя файла> — имя произвольного файла в системе, абсолютное или относительное. Абсолютные имена файлов начинаются с символа / (слеш), включают в себя все родительские каталоги и отсчитываются от корня файловой системы. Относительные имена не начинаются с / и отсчитываются от текущего каталога.

Текущий каталог может быть изменён командой cd:

$ cd Перейти в домашний каталог.
$ cd /home Перейти в каталог /home/.
$ cd .. Перейти в каталог одним уровнем выше текущего.
$ cd ~ Перейти в домашний каталог (~ (тильда) — сокращение для обозначения домашнего каталога).
$ cd ~/Documents Перейти в подкаталог Documents/ домашнего каталога.
$ cd ../../etc Перейти в каталог ../../etc с использованием относительного пути. При текущем каталоге /home/student/ эта команда позволит перейти к каталогу /etc/.

Посмотреть текущий каталог можно командой pwd.

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

$ ls Получить список файлов в текущем каталоге.
$ ls -l Получить список файлов в полном формате, с указанием их прав, владельцев, групп, размера, даты создания и пр.
$ ls -l /etc Получить список файлов в полном формате в каталоге /etc/.
$ ls -a Получить список всех файлов в текущем каталоге. По-умолчанию, без флага -a, ls не показывает файлы, начинающиеся с символа . (точка). В таких файлах обычно хранятся настройки программ пользователя.
$ ls -al Получить список всех файлов в полном формате в текущем каталоге.

Для создания каталога используется команда mkdir <имя каталога>.

Для удаления пустого каталога используется команда
rmdir <имя каталога>.

Для удаления файла используется команда rm. Отменить результат выполнения команды rm и восстановить удалённые из системы файлы практически нельзя, штатных средств для этого не предусмотрено.

$ rm file.txt Удалить файл file.txt в текущем каталоге.
$ rm *.txt Удалить все файлы, заканчивающиеся на .txt, в текущем каталоге.
$ rm -f * Удалить все файлы в текущем каталоге, не запрашивая разрешений.
$ rm -r directory/ Рекурсивно удалить все файлы в каталоге directory/ и сам каталог directory/.
$ rm -rf * Рекурсивно удалить все файлы и каталоги из текущего каталога, не запрашивая подтверждения. Данная команда, отданная от имени суперпользователя и в корневом каталоге, удалит всю файловую систему — без дополнительных вопросов и возможности отмены действия (в ряде дистрибутивов в rm специально внесены изменения, запрещающие такое поведение).

Для смены даты последнего изменения файла на текущую используется команда touch <имя файла>.Если файла не существует, touch создаст новый файл нулевого размера.

Для вывода на экран содержимого текстового файла или его части используются команды cat, less, more, head, tail.

$ cat /etc/passwd Вывести на экран содержимое файла /etc/passwd.
$ more /etc/passwd Вывести на экран содержимое файла /etc/passwd. Eсли вывод не будет помещаться на одном экране — вывести начало файла и ждать нажатия любой клавиши для следующей страницы.
$ less /etc/passwd Вывести на экран содержимое файла /etc/passwd. Eсли вывод не будет помещаться на одном экране — вывести начало файла и позволить пользователю просмотреть его, используя прокрутку клавишами управления курсором. Для завершения работы команды less следует нажать клавишу <q>.
$ head /etc/passwd Вывести первые 10 строк файла /etc/passwd.
$ head -5 /etc/passwd Вывести первые 5 строк файла /etc/passwd.
$ tail /etc/passwd Вывести последние 10 строк файла /etc/passwd.
$ tail -1 /etc/passwd Вывести последнюю строку файла /etc/passwd.

 

Правами доступа к файлам можно управлять командой chmod:

$ chmod u+rwx file.sh Добавить файлу file.sh право владельцу на чтение, запись и выполнение.
$ chmod g+x files.sh Добавить для группы файла files.sh право на выполнение.
$ chmod u=rw,g=r,o-rwx file.txt Для файла file.txt: установить права для владельца в rw-, для группы — в r--, для всех остальных — в ---.
$ chmod a+rx file.sh Добавить для file.sh права на чтение и выполнение для всех пользователей.
$ chmod g-w,o-rwx file.txt Снять с файла file.txt права на запись для группы пользователей и все права для остальных пользователей.
$ chmod -R g+w directory/ Добавить для всех файлов и каталогов внутри каталога directory/ прав на запись для группы.
$ chmod -R g+X directory/ Добавить для всех каталогов внутри каталога directory/ право на выполнение, а для файлов право на выполнение оставить прежним.

Для смены своего пароля пользователь может использовать команду passwd. При запуске команда запросит у пользователя его текущий пароль, новый пароль и для подтверждения ввода — повторение нового пароля. Ввод паролей на экране не отображается. При совпадении введённых паролей, пароль пользователя будет изменён. Важно помнить, что пароль является средством, по которому система аутентифицирует пользователя. Короткие или легко угадывающиеся пароли очень быстро и просто находятся путём их перебора. Учитывая, что *nix — это сетевые операционные системы, слабые пароли пользователей легко позволяют злоумышленникам подбирать их и проникать в системы.

В настоящее время пароль не должен содержать менее 8 символов. Эти символы не должны быть одинаковыми, пароль не должен содержать только цифры или быть словарным словом. Все подобные, слабые пароли легко определяются современными программами для взлома систем в автоматическом режиме. Если пароль покажется программе passwd слишком слабым, она не позволит его задать.

Учитывая особый статус учётной записи пользователя root, в Linux-системах обычно удалённый вход этого пользователя запрещён.

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

Для удобного перемещения по дереву каталогов и работы с файлами возможно использование файловых менеджеров. Наиболее распространённый из них — Midnight Commander, запускаемый командой mc. Он использует стандартный двухпанельный интерфейс файловых менеджеров типа Norton Commander, встроенный текстовый редактор, программу просмотра текста, может работать с архивами в различных форматах, с файлами на удалённых серверах ftp, cifs, ssh и др.

В Midnight Commander существует встроенный интерфейс командной строки, вызываемый комбинацией клавиш <Ctrl>+<o>. Повторное нажатие <Ctrl>+<o> возвращает панели менеджера файлов. Для выхода из mc используется клавиша <F10> или последовательность клавиш <Esc>,<0>.

Помимо встроенного текстового редактора mc, в системе доступны также и другие текстовые редакторы. Для пользователей *nix-систем представляется полезным иметь хотя бы минимальные навыки работы с редактором vi — как стандартным редактором, имеющимся практически во всех системах.

При запуске редактора vi в командной строке ему указывается имя файла для редактирования:

vi file.txt

Если файл существует, то vi загружает его и отображает на экране, если нет — при сохранении создаётся новый файл с указанным именем. vi (visual editor) впервые появился в середине 70-х годов и имеет интерфейс, приспособленный для работы на самых простых терминалах. vi работает в двух основных режимах — в режиме «ввода текста» и в режиме «команд».

После запуска vi оказывается в режиме «команд». В этом режиме можно перемещаться по тексту с помощью клавиш управления курсором. На тех терминалах, где таких клавиш нет, можно использовать клавиши <h>, <l> (влево, вправо), <j>, <k> (вниз, вверх). Для перемещения курсора на следующий символ X в строке используется последовательность <f>,<X> (<f>,<"> - перемещение на символ "), в обратном направлении – <F>,<X> . Для перехода в начало строки используется команда <^>, в конец – <$> .

Для перехода на строку с номером N можно набрать её номер и команду <G> (<1>,<0>,<G> – переместить курсор на 10ую строку). Также можно осуществить поиск по тексту, нажав символ </> и введя нужный шаблон поиска. Повторный поиск в прямом и обратном направлении осуществляется клавишами <n> и <N> .

Найдя нужное место, можно перейти в режим «ввода текста». Для этого надо нажать <i> для вставки текста в текущей позиции, или <a> для добавления в конце строки. Для вставки новой строки в режиме ввода текста используется клавиша <Enter>. Выйти из режима ввода текста можно, нажав <Esc>.

В командном режиме можно удалять символы и строки текста. Для удаления символа под курсором используется клавиша <x>, для удаления строки — последовательность <d>,<d>. Удалённые символы или строки помещаются в буфер обмена. Содержимое буфера обмена можно вставить в текст клавишей <p>. Просто поместить текущую строку в буфер обмена можно последовательностью <y>,<y>.

Перед командой можно задать число её повторений. Например, последовательность клавиш <1>,<0>,<j> переместит курсор на 10 строк вниз, <7>,<l> - на 7 символов вправо, <8>,<x> удалит в буфер обмена 8 символов, начиная с текущей позиции, <d>,<5>,<k> - удалит в буфер обмена 5 строк вверх, начиная с текущей.

Для завершения редактирования файла и сохранения результата надо набрать в командном режиме :wq; для завершения редактирования без сохранения — :q!.

Возможности vi (и его улучшенной и расширенной версии vim) не ограничиваются простым редактированием текста, для их изучения можно использовать встроенное интерактивное руководство, вызываемое командой vimtutor.

Выйти из командного интерпретатора и завершить сеанс работы с системой можно, введя команду logout.

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

 

$ su -l Запустить командный интерпретатор с правами суперпользователя. Ключ -l обязателен. При выполнении команда запросит пароль суперпользователя. Завершить работу командного интерпретатора можно, как и в случае обычного пользователя, командной logout.
# su -l user Запустить командный интерпретатор с правами пользователя user.
# useradd user Добавить учётную запись пользователя user. При этом создаются необходимые записи в файлах /etc/passwd и /etc/group, а также домашний каталог пользователя. Пароль новому пользователю не назначается, и войти в систему до его задания он не может.
# userdel user Удалить учётную запись пользователя user. Файлы, принадлежащие пользователю, при этом не удаляются.
# passwd user Задать пароль пользователя user. Суперпользователю знать старый пароль user для его смены не нужно.
# chmod <права> file Изменить права на файл. root может изменить права доступа к любому файлу.
# chown user file Изменить владельца файла на пользователя user.
# chown :group file Изменить группу файла на group.
# chown user:group * Изменить владельца и группу всех файлов в текущем каталоге.
# chown -R user:group * Рекурсивно изменить владельца и группу всех файлов в текущем каталоге и подкаталогах.
# shutdown Выключить систему. Без дополнительных ключей команда shutdown останавливает систему, не отключая её питание. Удалённо выключить систему можно, но включить её после этого возможно только внешними средствами.
# halt Выключить систему, не отключая её питание (аналогично вызову shutdown).
# shutdown -h Выключить систему, и отключить её питание.
# poweroff Выключить систему, в т.ч. отключить её питание (аналогично вызову shutdown -h).
# shutdown -r Перезагрузить систему.
# reboot Перезагрузить систему (аналогично вызову shutdown -r).

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



2019-11-13 166 Обсуждений (0)
Основные команды системы. 0.00 из 5.00 0 оценок









Обсуждение в статье: Основные команды системы.

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

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



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (166)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.01 сек.)