Практическая работа - десять основных команд Linux

5 мин на чтение (5.998 символов)

Цель работы

Познакомиться с основными приемами работы в командной строке Linux, основные приемы адресации файлов и освоить основные и самые распространенные команды - pwd, cd, ls, touch, rm, mkdir, cp, mv, cat, man

Основное задание

  1. Запустите виртуальную машину; познакомьтесь со справкой к изучаемым в данной работе командам. Обратите внимание на используемые ключи данных команд.
  2. Запустите текстовый терминал или программу-эмулятор терминала;
  3. Выведите на экран содержимое корневой директории файловой системы;
  4. Перейдите в свою домашнюю директорию, задав относительный путь;
  5. Выведите содержимое файла /etc/passwd;
  6. Создайте текстовый файл с именем user.txt в домашнем каталоге.
  7. Создайте директорию test в текущей.
  8. Переместите только что созданный файл в нее.
  9. Скопируйте директорию под именем test2.
  10. Удалите обе директории.

Методические указания

Для успешного выполнения работы необходимо ознакомиться со справочными материалами по командам pwd, cd, ls, touch, rm, mkdir, cp, mv, cat. Сделать это можно используя универсальную справочную команду man. Таким образом, набрав в командной строке:

1
$ man pwd

мы получим полную и актуальную справку (мануал) по команде pwd, включая все возможные ее ключи и опции. Команда man может показать мануал по любой команде bash.

Некоторые команды завершаются моментально (pwd), а другие (ping) - выполняются продолжительное время. Кроме того, некоторые команды запускают интерактивные программы (top).

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

  • <Ctrl>+<C> - завершение текущей команды;
  • <Ctrl>+<D> - выход из текущего сеанса (разлогин);
  • <Tab> - подсказки и множественное дополнение;
  • clear, <Ctrl> + <L> - очистка экрана (перемотка вперед);
  • <↑> - переход к предыдущей команде;
  • <Ctrl> + <A> - переход к началу команды;
  • <Ctrl> + <E> - переход к концу команды;
  • <Alt> + <F>, <Alt> + <B> - переход к следующему и предыдущему слову в команде;
  • history - вывод истории команд в текущем сеансе;
  • <Ctrl> + <R> - поиск команды в истории;

В Linux, как и во многих других Unix-подобных системах принята единая система адресации файлов. Все файлы в Linux имеют имя и организуются в каталоги, образуя иерархическое дерево папок. В данном контексте, мы будем использовать понятия “каталог”, “папка” и “директория” как синонимы. Для того, чтобы идентифицировать файл, вы должны указать путь к нему, то есть порядок вложенности папок, позволяющий найти этот файл.

Все пути в Linux отсчитываются от корня файловой системы, обозначаемого прямым слешем /. Корень всегда один, не существует никаких букв дисков, как в Windows. Корень еще называют корневой папкой или директорией, так как именно в нем содержаться все другие папки.

В пути к файлу последовательно указываются папки, которые нужно пройти, чтобы найти файл, а затем - имя самого файла. Имена папок и файла разделяются прямым слешем. Так, в пути /etc/passwd первый символ / обозначает корневой каталог, etc - имя папки в корневом каталоге, passwd - имя нужного нам файла. Обратите внимание, что в Linux не принято использовать расширения в именах файлов (но, впрочем, и не запрещено, так что ими многие пользуются).

Находясь в командной строке, вы всегда находитесь в какой-то директории. По умолчанию, это домашний каталог пользователя (обычно находящийся по адресу /home/<login>). Текущий каталог можно изменить командой cd.

Путь к файлу можно задавать двумя способами - абсолютным или относительным. Абсолютный путь начинается с символа / и отсчитывается от корневого каталога. Относительный путь начинается с имени папки и отсчитывается от текущего каталога. Это сделано для удобства указания пути, чтобы не повторять одно и то же, если вы работаете в данный момент преимущественно с файлами в одной папке.

При указании путей к файлам можно пользоваться некоторыми сокращениями. Вы можете использовать два специальных имени: точку (.), означающую текущую директорию, и пару точек (..), означающую родительскую директорию текущей директории. Также вы можете использовать символ тильды (~), который означает вашу домашнюю директорию, и сочетание ~username, означающее домашнюю директорию пользователя с именем username.

Помните, что нужно четко представлять себе, где лежит тот или иной файл для того, чтобы с ним работать. Часто /etc/passwd и etc/passwd - это два совершенно разных файла в разных местах.

Контрольные вопросы

  1. Как происходит авторизация пользователя в текстовом режиме?
  2. Как посмотреть рабочую директорию?
  3. Как посмотреть содержимое текущей директории?
  4. Чем отличается абсолютный и относительные пути к директориям?
  5. Как перейти в другую директорию в командной строке?
  6. Какие основные стандартные каталоги существуют в Linux?

Задания для самостоятельного выполнения

  1. Выяснить, какой каталог является текущим (см. man pwd).
  2. Выяснить, в каком терминале выполняется текущий сеанс.
  3. Перейдите в директорию /var;
  4. С помощью команды узнайте, в какой директории находимся;
  5. Прочитайте мануал по команде ls (только основное положение и про флаги -l, -t, -r, -A);
  6. Отобразите список директорий и файлов;
  7. Перейдите в директорию /var/log (без упоминания “var” в команде);
  8. Перейдите в директорию /var (снова без упоминания “var”);
  9. Создайте директорию ~/tmp/lesson/;
  10. Перейдите туда, задав абсолютный путь;
  11. Создайте текстовый файл txt_file с произвольным содержимым;
  12. Удалите созданную папку lesson;
  13. Сохраните подробное описание полного содержимого домашней директории (по команде ls -la) в файл home.dir.
  14. (*) Определить границы файлового пространства, где система позволяет создавать собственные файлы и каталоги (возможно использование автоматического скрипта).
  15. (*) Проверить, возможно ли вмешательство в личное файловое пространство другого пользователя? Пользователя root?

Дата изменения: