Как выйти из директории в командной строке linux
Перейти к содержимому

Как выйти из директории в командной строке linux

  • автор:

Справочник 70 основных команд Linux: полное описание с примерами

Справочник основных команд Linux

Одним из коренных отличий семейства ОС Linux от ОС Windows является ведущая роль командной строки или терминала в администрировании системы. Для успешной работы с «Линукс» одного графического интерфейса недостаточно. Полноценное управление тут возможно только через терминал. А в работе с терминалом никак не обойтись без изучения основных команд Linux.

В Linux насчитывается несколько сотен основных команд и их модификаций. Они группируются по нескольким категориям. По расположению — могут быть утилитами командной строки или встроенной функцией командной оболочки. По частоте применения – используемыми постоянно, эпизодически и редко. По типам действий – от получения справки до управления файлами и процессами. Именно третья, функциональная составляющая и станет основой группировки утилит в этой статье.

В обзоре собраны все важнейшие команды Linux, которые могут пригодиться для администрирования ОС Linux. Статья рассчитана как на новичков, так и на продвинутых пользователей, уже знакомых с основным функционалом терминала. Эту своеобразную шпаргалку можно смело добавлять в закладки всем, кто хочет извлечь из «Линукс» максимум полезных свойств и повысить свою продуктивность в несколько раз.

Справочная информация / документация

(Manual). Показывает инструкцию к программам и командам Linux. Чтобы получить руководство для программы, наберите:

Для инструкции по команде, введите:

whatis

Выводит краткое описание программы. Пример:

whereis

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

Вся необходимая информация о команде будет доступна, если набрать:

whoami
Ctrl + R

Права суперпользователя

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

Способы получить права root в Linux

  • Вход от имени суперпользователя в виртуальной консоли, введя логин и пароль пользователя root.
  • Разовое переключение на роль суперпользователя в терминале с помощью специальных утилит.

О втором варианте расскажем подробнее.

(Super User Do). Позволяет исполнять команды с правами суперпользователя. Перед переходом в режим root администратора система выполнит запрос пароля и логина root. Пример:

sudo su
sudo gksudo

Максимальную производительность приложений Linux зависит от правильного подбора платформы для ОС. Мощный виртуальный сервер от Eternalhost обеспечит интернет-ресурсу стабильную работу и пространство для развития.

Управления файлами и каталогами

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

Для показа скрытых файлов:

(Concatenate / Catenate). Команда двойного назначения. Показывает на экране что содержит файл или стандартный ввод. Также к «склеивает» несколько переданных подряд файлов в один. Если нужно посмотреть содержимое одного файла, вводим:

Если нужно узнать содержимое нескольких файлов подряд:

Для «склейки» файлов, вводим:

Чтобы задать нужное количество строк в показанном:

(Change Directory). Меняет текущий каталог, в котором работает терминал на указанный. Когда терминал запущен, он использует по умолчанию корневой каталог (root), вернуться в который можно, набрав:

Чтобы указать другую папку для работы с файлами, нужно ввести:

Чтобы подняться по древу каталогов на уровень вверх набираем:

Чтобы вернуться к предыдущей директории:

Двойной амперсанд – не полноценная команда, а управляющий оператор. Он предназначен для выполнения последовательного ряда команд. Чтобы терминал выполнил команды одну за другой, нужно разделить их следующим образом:

mkdir

(Make Directory). Создаёт новую директорию. Можно также создать полную структуру подкаталогов, если ввести сочетание:

(Copy). Утилита, позволяющая скопировать файл или каталог. Копирование файлов и каталогов. Чтобы копирование прошло рекурсивно, т. е. включало все поддиректории и файлы в них, надо добавить к команде:

А если надо дополнить рекурсивное копирование сохранением всех атрибутов, сведения о владельце и временный штамп, добавляем «архивную» опцию -a, чтобы получилось:

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

(Link). Создаёт программные ссылки на файлы. По функционалу это похоже на ярлыки в Windows.

Типы ссылок Linux

  • символические ( -s ) – указание на адрес файла ил папки без метаданных;
  • твёрдые или жёсткие ( -P ) – содержат сведения о физическом адресе на диске, где хранится файл.
    Удалить ссылку в Linux можно при помощи атрибута –f .
chmod

(Change Mode). Изменяет разрешения доступа к файлу. Под доступом имеется в виду классическая триада: чтение r, изменение w и запуск x. Общий вид:

Популярные комбинации разрешений для команды chmod

Вид разрешения Символьный код Числовой код
Нет допуска 0
Чтение r— 4
Изменение -w- 2
Запуск —x 1
Запуск + Изменение -wx 3
Чтение + Запуск r-x 5
Чтение + Изменение rw- 6
Запуск + Изменение + Запуск rwx 7
chown

(Change Owner). Команда для смены владельца файла и его группы. Для смены владельца используем синтаксис:

Для смены группы файла:

Если надо поменять оба параметра:

Команду можно применить только с правами суперпользователя. Чтобы изменить владельца/группу рекурсивно добавляем:

chgrp

(Disk Free). Даёт полную информацию о свободном пространстве на диске. Анализ включает перечисление файловых систем смонтированных разделов, обзор занятого и свободного места на диске. Для более удобного вывода информации, лучше применять сочетание:

Name already in use

Work fast with our official CLI. Learn more about the CLI.

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Командные строки Linux.

Шпаргалка по bash

Шпаргалка основных команд Git Bash, терминала OSX, терминала linux.
Командная оболочка Bash является одним из нескольких главных компонентов в дистрибутивах Linux. Она позволяет читать и запускать команды, выполнять скрипты, работать с файлами. Наличие Bash не менее важно для полноценного функционирования операционных систем семейства Linux, чем ядро или рабочее окружение.

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

Работая с консолью, мы всегда «находимся» в какой-то папке (это указано в строке над курсором). Если там написано

, то мы в папке пользователя (зависит от настроек Windows, чаще всего это C:/Users/ВАШЕИМЯПОЛЬЗОВАТЕЛЯ/ ), если там /d/projects , мы в папке D:/projects .

34 Команды Linux, Которые Должен Знать Каждый Пользователь

34 Команды Linux, Которые Должен Знать Каждый Пользователь

Большинство людей думают, что Linux — это сложная операционная система, которая используется только программистами. Но на самом деле это не так. К тому же базовые команды Linux довольно понятны и просты.

Linux — это целое семейство операционных систем Unix с открытым исходным кодом, основанных на ядре Linux. Сюда входят все самые популярные системы на основе Linux, такие как Ubuntu, Fedora, Mint, Debian и другие. Если быть точным, их называют дистрибутивами.

С тех пор как Linux был впервые выпущен в 1991 году, он продолжал набирать популярность благодаря открытому исходному коду. Люди могут свободно модифицировать и распространять его под своим именем.

При работе с ОС Linux вам нужно использовать оболочку — интерфейс, который даёт вам доступ к службам операционной системы. В большинстве дистрибутивов Linux для удобства в качестве оболочки используется графический интерфейс пользователя (GUI).

При этом рекомендуется использовать интерфейс командной строки (CLI), так как он более мощный и эффективный. Задачи, для решения которых в графическом интерфейсе понадобиться много этапов, можно выполнить за считанные секунды, вводя команды в CLI.

Так что, если вы планируете использовать Linux, знание базовых командных строк является необходимостью. В этой статье вы узнаете 34 основные команды Linux, которые, несомненно, помогут вам сориентироваться как новичку.

Получите скидку до 77% на Linux VPS-хостинг.

Основные Команды Linux

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

Хотя шаги могут несколько различаться в зависимости от используемого вами дистрибутива, обычно командную строку вы можете найти в разделе « Утилиты ».

Итак, 34 базовые команды Linux. Поехали!

1. Команда pwd

Используйте команду pwd , чтобы узнать путь к текущему рабочему каталогу (папке), в котором вы находитесь от корневого каталога. Команда вернёт абсолютный (полный) путь, который по сути является путём всех каталогов, начинающийся с косой черты (/) . Примером абсолютного пути является /home/username .

2. Команда cd

Для навигации по файлам и каталогам Linux используйте команду cd . Она требует либо полный путь, либо имя каталога, в зависимости от текущего рабочего каталога, в котором вы находитесь.

Допустим, вы находитесь в /home/username/Documents и хотите перейти в Photos , подкаталог Documents . Для этого просто введите следующую команду: cd Photos .

Другой сценарий, если вы хотите перейти в совершенно новый каталог, например, /home/username/Movies . В этом случае вам нужно ввести cd , а затем абсолютный путь к каталогу: cd/home/username/Movies .

Также есть несколько шорткодов для более быстрой навигации:

  • cd .. (с двумя точками), чтобы переместиться на один каталог вверх
  • cd, чтобы перейти прямо в домашнюю папку
  • cd- (с дефисом), чтобы перейти к предыдущему каталогу

Также стоит отметить, что оболочка Linux чувствительна к регистру. Важно точно вводить имена каталогов.

3. Команда ls

Команда ls используется для просмотра содержимого каталога. По умолчанию эта команда отобразит содержимое вашего текущего рабочего каталога.

Если вы хотите просмотреть содержимое других каталогов, введите ls , а затем путь к каталогу. Например, введите ls /home/username/Documents для просмотра содержимого в Documents .

Варианты использования команды Linux ls :

  • ls -R также выведет список всех файлов в подкаталогах
  • ls -a покажет скрытые файлы
  • ls -al выведет список файлов и каталогов с подробной информацией, такой как разрешения, размер, владелец и т. д.

4. Команда cat

cat (сокращение от concatenate) — одна из наиболее часто используемых команд в Linux. Используется для вывода содержимого файла в командной строке (sdout). Чтобы запустить эту команду, введите cat , а затем имя файла и его расширение. Например: cat file.txt .

Вот другие варианты использования команды Linux cat :

  • cat> filename создаёт новый файл
  • cat filename1 filename2>filename3 объединяет два файла (1 и 2) и сохранит их содержимое в новом файле (3)
  • Чтобы преобразовать файл в верхний или нижний регистр, cat filename | tr a-z A-Z >output.txt

5. Команда cp

Используйте команду cp для копирования файлов из текущего каталога в другой каталог. Например, команда cp scenery.jpg/home/username/Pictures создаст копию scenery.jpg (из вашего текущего каталога) в каталог Pictures .

6. Команда mv

Основное предназначение команды mv — перемещение файлов, хотя её также можно использовать для их переименования.

Аргументы в mv похожи на аргументы команды cp. Вам нужно ввести mv , имя файла и каталог назначения. Например: mv file.txt/home/username/Documents .

Команда Linux для переименования файлов будет выглядеть так: mv starojeimia.ext novojeimia.ext .

7. Команда mkdir

Используйте команду mkdir , чтобы создать новый каталог. Если вы введёте mkdir Music , команда создаст каталог с именем Music .

Дополнительные команды mkdir :

  • Чтобы создать новый каталог внутри другого каталога, используйте эту базовую команду Linux mkdir Music/Newfile ;
  • Используйте опцию p (parents), чтобы создать каталог между двумя существующими каталогами. Например, mkdir -p Music/2020/Newfile создаст новый файл «2020».

8. Команда rmdir

Если вам нужно удалить каталог, используйте команду rmdir . Однако rmdir позволяет удалять только пустые директории.

9. Команда rm

Команда rm используется для удаления файлов. Если вы хотите удалить каталог со всем его содержимым, в качестве альтернативы rmdir используйте rm с опцией -r .

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

10. Команда touch

Команда touch позволяет создать новый пустой файл через командную строку Linux. В качестве примера введите touch /home/username/Documents/Web.html , чтобы создать файл HTML с названием Web в каталоге Documents .

11. Команда locate

Используйте эту команду, чтобы найти нужный вам файл. Она работает, как команда поиска в Windows. Более того, аргумента -i сделает команду нечувствительной к регистру, благодаря чему вы сможете искать файлы, даже если вы не помните их точные названия.

Чтобы найти файл, содержащий два или более слов, используйте звёздочку (*) . Например, команда locate -i school*note будет искать любой файл, содержащий слова «school» и «note», не зависимо от того написаны они с большой или маленькой буквы.

12. Команда find

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

Например, команда find/home/-name notes.txt будет искать файл с именем notes.txt в домашнем каталоге и его подкаталогах.

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

  • Для поиска файлов в текущем каталоге используйте find . -name notes.txt
  • Для поиска каталогов используйте / -type d -name notes. txt

13. Команда grep

Ещё одна базовая команда Linux, которая, несомненно, пригодится для повседневного использования — grep . С её помощью совершается поиск по всему тексту в текущем файле.

Например, grep ubuntu notepad.txt будет искать слово ubuntu в файле notepad. Строки, содержащие искомое слово, будут отображаться полностью.

14. Команда sudo

Сокращенно от « SuperUser Do », эта команда позволяет выполнять задачи, требующие прав администратора или root. Однако не рекомендуется использовать эту команду для повседневных задач, так как неправильное её использование может легко стать причиной появления ошибок.

15. Команда df

Используйте команду df , чтобы получить отчёт об использовании дискового пространства в системе в процентах и килобайтах. Если вы хотите просмотреть отчёт в мегабайтах, введите df -m .

16. Команда du

Если вы хотите проверить, сколько места занимает файл или каталог, воспользуйтесь командой du (Disk Usage). Однако вместо размера в обычном формате, в сводке вы увидите количество блоков диск. Если вы хотите посмотреть информацию в байтах, килобайтах и мегабайтах, добавьте аргумент -h в командную строку.

17. Команда head

Команда head используется для просмотра первых строк любого текстового файла. По умолчанию она покажет первые десять строк, но вы можете изменить это число. Например, если вы хотите показывать только первые пять строк, введите head -n 5 filename.ext .

18. Команда tail

Эта команда имеет функцию, аналогичную команде head, но вместо отображения первых строк tail выводит последние десять строк текстового файла. Например, tail -n filename.ext .

19. Команда diff

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

Простейшая форма этой команды — diff file1.ext file2.ext .

20. Команда tar

Команда tar является наиболее часто используемой командой для архивирования нескольких файлов в tarball — общий формат файлов Linux, аналогичный формату zip, при этом сжатие является опциональным.

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

21. Команда chmod

chmod — ещё одна команда Linux, используемая для изменения разрешений на чтение, запись и выполнение файлов и каталогов. Поскольку это довольно сложная команда, рекомендуем прочитать полное руководство (англ) по её применению.

22. Команда chown

В Linux все файлы принадлежат конкретному пользователю. Команда chown позволяет изменить или перенести владельца файла на указанное имя пользователя. Например, chown linuxuser2 file.ext сделает linuxuser2 владельцем file.ext .

23. Команда jobs

Команда jobs отображает все текущие задачи вместе с их статусами. Задача — это процесс, запущенный в фоновом режиме.

24. Команда kill

Если у вас есть не отвечающая программа, вы можете завершить её вручную, используя команду kill . Команда отправит определённый сигнал неверно работающему приложению и даст ему команду прекратить работу.

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

  • SIGTERM (15) — просит программу прекратить работу и даёт ей некоторое время, чтобы сохранить весь прогресс. Если вы не указали сигнал при вводе команды kill, этот сигнал будет использоваться по умолчанию.
  • SIGKILL (9) — принудительно останавливает программы. Несохранённый прогресс будет потерян.

Помимо знания сигналов, вам также необходимо знать числовой идентификатор процесса (PID) программы, которую вы хотите уничтожить . Если вы не знаете PID, просто запустите команду ps ux .

Узнав, какой сигнал вы хотите использовать и PID программы, введите следующий синтаксис:

kill [опция сигнала] PID .

25. Команда ping

Используйте команду ping для проверки состояния подключения к серверу. Например, просто введя ping google.com , команда проверит, можете ли вы подключиться к Google, а также измерить время ответа.

26. Команда wget

Командная строка Linux очень полезна — вы даже можете загружать файлы из интернета. Сделать это можно с помощью команды wget . Для этого просто введите wget и ссылку для скачивания.

27. Команда uname

Команда uname , сокращение от Unix Name, выведет подробную информацию о вашей системе Linux, такую как имя машины, операционная система, ядро и т. д.

28. Команда top

Являясь эквивалентом диспетчера задач в Windows, команда top выводит список запущенных процессов, а также информацию о том, сколько ЦП использует каждый процесс. Отслеживать использование системных ресурсов очень полезно. Таким образом, вы сможете определить какой процесс необходимо прекратить, поскольку он потребляет слишком много ресурсов.

29. Команда history

Регулярно пользуясь Linux, вы заметите, что запускаете сотни команд каждый день. Команда history позволяет просмотреть команды, которые вы вводили ранее.

30. Команда man

Неуверены в функциях некоторых команд Linux? Не беспокойтесь, вы можете легко научиться использовать их прямо из оболочки Linux с помощью команды man . Например, man tail покажет инструкцию к команде tail.

31. Команда echo

Эта команда выводит текст в stdout (стандартный вывод). Оператор >> дописывает stdout в файл. Также есть оператор >, который создаст файл, если он не существует и выведет туда текст или перезапишет существующий файл. Например, если вы хотите добавить текст «Здравствуйте, меня зовут Джон» в файл с именем name.txt, введите echo Здравствуйте, меня зовут Джон >> name.txt.

32. Команда zip, unzip

Используйте команду zip для сжатия ваших файлов в zip-архив, а команду unzip для извлечения zip-файлов из zip-архива.

33. Команда hostname

Если вы хотите узнать имя вашего хоста/сети, просто введите hostname . Добавление -I в конце выведет IP-адрес вашей сети.

34. Команда useradd, userdel

Поскольку Linux является многопользовательской системой, это означает, что более чем один человек может взаимодействовать с одной и той же системой одновременно. useradd используется для создания нового пользователя, в то время как passwd добавляет пароль к учётной записи этого пользователя. Чтобы добавить нового пользователя с именем Джон, введите useradd John . А затем, чтобы добавить пароль, напишите passwd 123456789 .

Процесс удаления пользователя напоминает его добавление. Чтобы удалить учётную запись, введите команду userdel ImiaPolzovatelia .

Бонусные Советы и Приёмы

Используйте команду clear для очистки терминала, если он перегружен предыдущими командами.

Попробуйте кнопку TAB для автозаполнения того, что вы печатаете. Например, если вам нужно набрать Documents, начните вводить команду (например, cd Docu , затем нажмите клавишу Tab), и терминал заполнит всё остальное, показывая вам полную фразу cd Documents .

Комбинации клавиш Ctrl+C и Ctrl+Z используются для остановки любой команды, которая работает в данный момент. Ctrl+C останавливает программу, а Ctrl+Z — ставит её на паузу .

Если вы случайно заморозили терминал, нажав Ctrl+S , просто отмените это с помощью комбинации Ctrl+Q .

Ctrl+A перемещает вас в начало строки, а Ctrl+E — в конец.

Вы можете запустить несколько команд в одной команде, используя « ; », чтобы отделить их. Например Command1; Command2; Command3 . Или && , если вы хотите, чтобы следующая команда запускалась только тогда, когда предыдущая будет успешной.

Подводим Итоги

Основные команды Linux помогают пользователям легко и эффективно выполнять повседневные задачи. Чтобы запомнить базовые команды Linux, может потребоваться некоторое время, но нет ничего невозможного, особенно если вы постоянно практикуетесь.

В любом случае знание основных команд Linux, несомненно, принесёт вам пользу. Удачи!

Ольга вже близько восьми років працює менеджером у сфері IT, три з яких вона займається SEO. Написання технічних завдань та інструкцій — один з її основних обов’язків. Її хобі — дізнаватися щось нове і створювати цікаві та корисні статті про сучасні технології, веброзробку, мови програмування, пошукову оптимізацію сайтів та багато іншого.

Основы навигации и управления файлами в Linux

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

К сожалению, одно руководство может охватить все, что вам нужно знать для работы с Linux. Тем не менее, здесь вы найдёте всю необходимую информацию для получения базовых навыков.

Требования

  • Чтобы следовать данному руководству, нужно иметь доступ к серверу Linux. Узнать, как впервые подключиться к серверу, можно в статье SSH-подключение к серверу.
  • Также нужно иметь базовые навыки работы с терминалом и знать основные команды Linux. Больше информации по этой теме вы найдёте в руководстве Основы работы с терминалом Linux.
  • Все действия, описанные в этом руководстве, можно выполнить с помощью обычной учетной записи пользователя (не root). Узнать, как настроить такого пользователя, можно в руководствах по начальной настройке сервера (Ubuntu 14.04, CentOS 7).

Для начала подключитесь к серверу Linux по SSH.

1: Навигация и просмотр системы

Перемещение по файловой системе и просмотр данных – одни из самых базовых навыков, которыми должен обладать пользователь Linux.

Команда pwd: вывод текущего каталога

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

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

Чтобы узнать, где находится домашний каталог по отношению к остальной файловой системе, используйте команду pwd. Эта команда отображает каталог, в котором вы сейчас находитесь:

Название домашнего каталога совпадает с именем пользователя, которому он принадлежит (например, в данном случае пользователь называется demo). Этот каталог хранится в каталоге /home, который в свою очередь находится в каталоге высшего уровня root (представлен символом слеша /).

Команда ls: просмотр содержимого каталога

Теперь вы знаете, как определить каталог, в котором вы находитесь, вы можете посмотреть содержимое этого каталога.

В настоящее время просматривать домашний каталог не имеет особого смысла (он содержит мало файлов). Для примера перейдите в другой каталог, в котором храниться больше файлов.

Чтобы перейти в другой каталог, введите в терминал (команда pwd подтвердит, что вы перешли в новый каталог):

cd /usr/share
pwd
/usr/share

Примечание: Подробнее перемещение по каталогам рассматривается в следующем разделе.

Теперь попробуйте запросить содержимое каталога:

ls
adduser groff pam-configs
applications grub perl
apport grub-gfxpayload-lists perl5
apps hal pixmaps
apt i18n pkgconfig
aptitude icons polkit-1
apt-xapian-index info popularity-contest
. . .

Как видите, в этом каталоге много различных элементов. В команду можно добавлять дополнительные флаги, чтобы изменить её поведение по умолчанию. Например, чтобы получить расширенный вывод, нужно использовать флаг –l:

ls -l
total 440
drwxr-xr-x 2 root root 4096 Apr 17 2014 adduser
drwxr-xr-x 2 root root 4096 Sep 24 19:11 applications
drwxr-xr-x 6 root root 4096 Oct 9 18:16 apport
drwxr-xr-x 3 root root 4096 Apr 17 2014 apps
drwxr-xr-x 2 root root 4096 Oct 9 18:15 apt
drwxr-xr-x 2 root root 4096 Apr 17 2014 aptitude
drwxr-xr-x 4 root root 4096 Apr 17 2014 apt-xapian-index
drwxr-xr-x 2 root root 4096 Apr 17 2014 awk
. . .

Это выведет множество информации, большая часть которой выглядит непривычно. Первый блок описывает тип файла (d указывает на каталог, символ «-» – на обычный файл) и права на него. Каждый последующий столбец, разделенный пробелами, определяет количество жестких ссылок, владельца файла, группу, размер элемента, время последнего изменения и имя элемента.

Чтобы получить список всех файлов, включая скрытые, добавьте флаг –а. Поскольку в каталоге /usr/share нет скрытых файлов, вернитесь в домашний каталог:

Затем запросите список файлов:

ls -a
. .. .bash_logout .bashrc .profile

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

Записи с одной и двумя точками – это не каталоги, а встроенные методы обращения к каталогам. Одна точка указывает текущий каталог, а две точки определяют родительский каталог этого каталога.

Команда cd: перемещение по файловой системе

В предыдущем разделе вы уже дважды переходили в другой каталог с помощью команды cd. Теперь мы рассмотрим эту команды подробнее.

Для начала вернитесь в каталог /usr/share.

В этом примере для перехода в каталог используется абсолютный путь. В Linux каждый файл и каталог относится к каталогу высшего уровня, который называется корневым каталогом (или root). Ссылаться на него можно с помощью одного слеша «/». Абсолютный путь указывает расположение каталога по отношению к корневому каталогу. Это позволяет однозначно ссылаться на каталоги из любого места файловой системы. Каждый абсолютный путь должен начинаться со слеша.

Альтернативой является относительный путь. Относительные пути определяют место каталога относительно текущего каталога. Если каталог находится близко к текущему каталогу в иерархии, путь будет проще и короче. На любой каталог в текущем каталоге можно ссылаться по имени и без слеша. Например, чтобы перейти в каталог locale в /usr/share из текущего местоположения, можно ввести:

Аналогичным образом с помощью относительного пути можно убрать несколько уровней каталогов, предоставляя только ту часть пути, которая идет после пути текущего каталога. К примеру, чтобы перейти в каталог LC_MESSAGES внутри каталога en, можно ввести:

Чтобы вернуться к родительскому каталогу текущего каталога, используйте две точки (речь об этом уже шла в предыдущем разделе). Например, чтобы из каталога /usr/share/locale/en/LC_MESSAGES перейти к каталогу предыдущего уровня, можно ввести:

Команда переведёт вас в каталог /usr/share/locale/en.

Команда cd без аргументов всегда будет возвращать вас в ваш домашний каталог:

2: Просмотр файлов

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

Основной способ просмотра файлов – это команда less (также она называется программой постраничного вывода). Все предыдущие команды выполнялись сразу и возвращали вас в командную строку, но приложение less будет продолжать работу и занимать экран, пока вы не остановите его.

Откройте /etc/services (этот конфигурационный файл хранит данные о сервисах системы).

Команда less откроет файл. Вы увидите отрывок документа, который помещается в окно терминала.

# Network services, Internet style
#
# Note that it is presently the policy of IANA to assign a single well-known
# port number for both TCP and UDP; hence, officially ports have two entries
# even if the protocol doesn’t support UDP operations.
#
# Updated from http://www.iana.org/assignments/port-numbers and other
# sources like http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/services .
# New ports will be added on request if they have been officially assigned
# by IANA and used in the real-world or are needed by a debian package.
# If you need a huge list of used numbers please install the nmap package.
tcpmux 1/tcp # TCP port service multiplexer
echo 7/tcp
. . .

Для прокрутки можно использовать клавиши со стрелками вверх и вниз на клавиатуре. Чтобы вывести на экран следующий отрывок файла, вы можете использовать пробел, кнопку Page Down или сочетание клавиш CTRL-f.

Чтобы вернуться к предыдущему экрану, нажмите Page Up или CTRL-b.

Чтобы найти в документе какой-либо текст, введите слеш, после которого укажите искомое слово. Например, чтобы найти «mail», нужно ввести:

Команда выполнит поиск по файлу и остановится на первом найденном слове, которое соответствует запросу. Чтобы перейти к следующему слову, введите n в нижнем регистре:

Чтобы вернуться к предыдущему результату, нужно ввести N в верхнем регистре:

Чтобы закрыть less, введите:

Кроме less существует ещё много других способов просмотра файлов. Команда cat отображает содержимое файла и немедленно возвращает вас в командную строку. Команда head по умолчанию показывает первые 10 строк файла. Аналогично, команда tail выводит последние 10 строк. Такой вывод удобно использовать в конвейеризации данных для других команд.

Примечание: Ознакомьтесь с работой вышеперечисленных команд самостоятельно (можно на примере файла /etc/services).

3: Управление файлами и каталогами

Команда touch: создание файла

Многие команды и программы могут создавать файлы. Самый простой метод создания файла – это команда touch. Она создаст пустой файл, используя указанное имя и местоположение.

Для начала убедитесь, что находитесь в домашнем каталоге (здесь у пользователя есть права на сохранение файлов). Затем попробуйте создать файл file1, набрав:

Теперь запросите содержимое каталога, и вы увидите новый файл:

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

Также команда touch может создавать несколько файлов одновременно и использовать абсолютные пути. Например, если пользователь называется demo, можно ввести:

touch /home/demo/file2 /home/demo/file3
ls
file1 file2 file3

Команда mkdir: создание каталогов

Подобно команде touch, команда mkdir позволяет создавать пустые каталоги.

Например, чтобы создать каталог test в домашнем каталоге, нужно ввести:

Чтобы добавить каталог example в каталог test, введите:

Чтобы эта команда сработала, каталог верхнего уровня (в данном случае это test) должен уже существовать в системе. Чтобы команда mkdir создала все каталоги, указанные в пути, используйте опцию –р. Она создаёт вложенные каталоги. К примеру, чтобы создать все каталоги в пути some/other/directories, нужно ввести:

mkdir -p some/other/directories

Команда создаст каталоги some, other и directories в порядке их перечисления.

Команда mv: перемещение и переименование файлов и каталогов

Чтобы переместить файл в новое место, используйте mv. К примеру, чтобы переместить файл file1 в каталог test, нужно ввести:

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

cd
mv test/file1 .

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

Чтобы переименовать каталог test в testing, введите:

mv test testing

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

Команда cp: копирование файлов и каталогов

Команда cp может создать копию существующего элемента.

К примеру, можно скопировать файл file3 в новый файл file4.

Теперь у вас есть два файла: file3 и file4.

Примечание: Как и в случае с командой mv, вы можете случайно перезаписать файл, если укажете имя существующего файла в качестве целевого. Например, если file4 уже существует, его содержимое будет полностью заменено содержимым file3 и восстановить его не получится.

Чтобы скопировать каталог, добавьте опцию –r. Она копирует каталог и всё его содержимое. Её нужно использовать даже тогда, когда вы копируете пустой каталог.

Например, скопируйте структуру каталогов some в новую структуру again:

cp -r some again

В отличие от файлов, которые перезаписывают целевой файл, если такой существует, каталоги будут просто скопированы в целевой каталог.

Эта команда создаст копию файла file1 в каталоге again.

Команды rm и rmdir: удаление файлов и каталогов

Команда rm удаляет файлы.

Примечание: Будьте предельно внимательны при работе с rm. Система не может отменить её действия, потому вы можете навсегда утратить важные данные.

Чтобы удалить обычный файл, просто укажите его имя:

Команда rmdir удаляет пустые каталоги. На будет выполнена только тогда, когда указанный в ней каталог пуст. Например, чтобы удалить каталог example, можно ввести:

Чтобы удалить каталог, в котором находятся какие-либо элементы, нужно использовать команду rm с опцией –r, которая удалит все содержимое каталога, а затем и сам каталог.

К примеру, чтобы удалить каталог again, нужно ввести:

4: Редактирование файлов

Теперь вы можете управлять файлами и каталогами сервера. В этом разделе вы научитесь редактировать содержимое файлов.

Команда nano – один из самых простых текстовых редакторов командной строки Linux. Редактор nano использует less и занимает терминал в течение всего времени работы.

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

Чтобы отредактировать file1, введите:

Приложение nano откроет файл (который на данный момент пуст). Интерфейс выглядит так:

GNU nano 2.2.6 File: file1
[ Read 0 lines ] ^G Get Help ^O WriteOut ^R Read File ^Y Prev Page ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where Is ^V Next Page ^U UnCut Text ^T To Spell

Вверху указывается имя приложения и имя редактируемого файла. В центре находится содержимое файла (в данном случае там нет ничего, поскольку файл пуст). В конце перечислены комбинации клавиш для управления редактором (символ ^ везде означает клавишу CTRL).

Чтобы запросить справку в редакторе, введите:

Чтобы закрыть справку, введите:

В редакторе можно вводить или изменять любой текст. Например, можно добавить в файл:

Hello there.
Here is some text.

Чтобы сохранить изменения, нажмите CTRL-O. Программа попросит подтвердить имя файла, который вы хотите сохранить.

File Name to Write: file1
^G Get Help M-D DOS Format M-A Append M-B Backup File
^C Cancel M-M Mac Format M-P Prepend

Как видите, внизу уже указаны другие опции. Редактор выводит их в зависимости от контекста (это означает, что они будут меняться в зависимости от того, что вы пытаетесь сделать). Если вы хотите сохранить изменения в file1, просто нажмите Enter.

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

Save modified buffer (ANSWERING «No» WILL DESTROY CHANGES) ?
Y Yes
N No ^C Cancel

Чтобы сохранить изменения, введите Y. Чтобы не сохранять, нажмите N. Чтобы не закрывать файл, нажмите CTRL-C. Если вы захотите сохранить изменения, программа предложит снова выбрать имя файла для сохранения. Чтобы сохранить в текущий файл и закрыть редактор, нажмите Enter.

Чтобы просмотреть содержимое файла, используйте cat или less.

less file1
Hello there.
Here is some text.
Another line.

В некоторых системах используется редактор vim или vi. Это более продвинутый и производительный редактор, но с ним сложно работать. Вместо vim или vi всегда можно использовать nano.

Заключение

Теперь у вас есть общее представление о том, как работает и выглядит сервер Linux.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *