Основные возможности Linux и управления файлами

Вступление

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

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

Предпосылки и цели

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

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

Весь материал в этом руководстве может быть выполнен с помощью обычной, не root-учетной записи пользователя. Вы можете узнать, как настроить этот тип учетной записи пользователя, следуя руководству по настройке исходного сервера вашего дистрибутива ( Ubuntu 14.04 , CentOS 7).

Когда вы будете готовы начать, подключитесь к своему серверу Linux с помощью SSH и продолжите работу ниже.

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

Поиск, где вы находитесь с командой «pwd»

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

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

pwd

Вы должны получить информацию, которая выглядит так:

/home/demo

Домашний каталог имеет имя после учетной записи пользователя, поэтому приведенный выше пример — это то, что будет стоить, если вы вошли на сервер с вызванной учетной записью demo. Этот каталог находится внутри каталога /home, который сам по себе находится в каталоге верхнего уровня, который называется «root», но представлен одной косой чертой «/».

Глядя на содержание каталогов с «ls»

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

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

cd /usr/share
pwd
/usr/share

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

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», элемент является каталогом, если он является «-», это обычный файл) и разрешениями. Каждый последующий столбец, разделенный пробелом, описывает количество жестких ссылок, владельца, владельца группы, размер элемента, время последней модификации и имя элемента. Мы опишем некоторые из них в другое время, но пока просто знайте, что вы можете просматривать эту информацию с помощью -lфлага ls.

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

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

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

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

Перемещение по файловой системе с помощью «cd»

Мы уже сделали два перемещения каталога, чтобы продемонстрировать некоторые свойства lsв последнем разделе. Давайте лучше рассмотрим команду здесь.

Начните, возвращаясь в /usr/shareкаталог, набрав следующее:

cd /usr/share

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

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

cd locale

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

cd en/LC_MESSAGES

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

cd ..

Это приведет нас к /usr/share/locale/enкаталогу.

Ярлык, который вы видели ранее, который всегда будет возвращать в ваш домашний каталог, должен использоваться cdбез предоставления каталога:

cd
pwd
/home/demo

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

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

Основной способ, которым мы будем просматривать файлы, — это lessкоманда. Это то, что мы называем «пейджером», поскольку оно позволяет нам прокручивать страницы файла. В то время как предыдущие команды немедленно выполнялись и возвращались в командную строку, lessэто приложение, которое будет продолжать работать и занять экран до выхода.

Мы откроем /etc/servicesфайл, который представляет собой файл конфигурации, содержащий служебную информацию, о которой система знает:

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
. . .

Для прокрутки вы можете использовать клавиши со стрелками вверх и вниз на клавиатуре. Чтобы опубликовать всю информацию об экранах, вы можете использовать либо пробел, кнопку «Страница вниз» на клавиатуре, либо CTRL-fярлык.

Чтобы прокрутить резервную копию, вы можете использовать кнопку «Page Up» или CTRL-bсочетание клавиш.

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

/mail

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

n

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

N

Когда вы хотите выйти из lessпрограммы, вы можете ввести qее:

q

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

Не стесняйтесь видеть, как эти команды отображают /etc/servicesфайл по-разному.

Манипуляция файлами и каталогами

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

Создайте файл с «touch»

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

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

cd
touch file1

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

ls
file1

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

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

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

Создайте каталог с помощью «mkdir»

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

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

cd
mkdir test

Мы можем сделать каталог внутри в testкаталоге с именем example, введите команду:

mkdir test/example

Чтобы вышеприведенная команда работала, testкаталог уже должен существовать. Чтобы сказать, mkdirчто он должен создавать любые каталоги, необходимые для создания заданного пути к каталогу, вы можете использовать этот -pпараметр. Это позволяет вам создавать вложенные каталоги за один шаг. Мы можем создать структуру каталогов, которая выглядит some/other/directories, набрав:

mkdir -p some/other/directories

Команда someсначала сделает каталог, затем создаст в нем otherкаталог. Наконец, он создаст directoriesкаталог в этих двух каталогах.

Перемещение и переименование файлов и каталогов с помощью «mv»

Мы можем перенести файл в новое место с помощью mvкоманды. Например, мы можем перейти file1в testкаталог, набрав:

mv file1 test

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

cd
mv test/file1 .

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

Итак, чтобы переименовать testкаталог testing, мы можем ввести:

mv test testing

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

Копирование файлов и каталогов с помощью «cp»

С помощью mvкоманды мы могли перемещать или переименовывать файл или каталог, но мы не могли его дублировать. Команда cpможет создать новую копию существующего элемента.

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

cp file3 file4

В отличие от mvоперации, после которой file3больше не будет существовать, теперь мы имеем и file3и file4.

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

Чтобы скопировать каталоги, вы должны включить -rопцию в команду. Это означает «рекурсивный», поскольку он копирует каталог, а также все содержимое каталога. Этот параметр необходим в каталогах, независимо от того, пуст ли каталог.

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

cp -r some again

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

cp file1 again

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

Удаление файлов и каталогов с помощью «rm» и «rmdir»

Чтобы удалить файл, вы можете использовать rmкоманду.

Примечание . Будьте предельно осторожны при использовании любой деструктивной команды rm. Для этих действий нет команды «отменить», поэтому можно случайно уничтожить важные файлы навсегда.

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

cd
rm file4

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

rmdir testing/example

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

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

rm -r again

Еще раз, стоит повторить, что это постоянные действия. Будьте полностью уверены, что команда, которую вы набрали, является той, которую вы хотите выполнить.

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

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

Эта nanoкоманда является одним из самых простых текстовых редакторов в командной строке Linux и является отличной отправной точкой для начинающих. Он работает примерно так же, как и lessописанная выше программа, поскольку он занимает весь терминал на время его использования.

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

Мы можем открыть file1файл для редактирования, набрав:

cd
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ключ.

Чтобы получить помощь в редакторе, введите:

CTRL-G

Когда вы закончите просмотр справки, введите, CTRL-Xчтобы вернуться к документу.

Введите или измените любой текст, который вы хотите. В этом примере мы просто напечатаем эти два предложения:

Hello there.

Here is some text.

Чтобы сохранить нашу работу, мы можем ввести:

CTRL-O

Это буква «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».

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

CTRL-X

Если вы не сохранили после внесения изменений, вас спросят, хотите ли вы сохранить сделанные вами изменения:

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

Вы можете ввести «Y», чтобы сохранить изменения, «N», чтобы отменить изменения и выйти, или «CTRL-C», чтобы отменить операцию выхода. Если вы решите сохранить, вам будет предоставлено то же самое приглашение файла, которое вы получили ранее, подтвердив, что вы хотите сохранить изменения в том же файле. Нажмите ENTER, чтобы сохранить файл и выйти из редактора.

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

less file1
Hello there.

Here is some text.

Another line.

Другой редактор, на который вы можете ссылаться в некоторых руководствах, есть vimили vi. Это более продвинутый редактор, который очень мощный, но имеет очень крутую кривую обучения. Если вам когда-либо говорили использовать vimили vi, не стесняйтесь использовать nanoвместо этого. Если вы хотите узнать, как пользоваться vim, ознакомьтесь с нашим руководством по началу работы с vim .

Заключение

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

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

fourgsmagazine.com c'est l'expert du medicament

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

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