Команды терминала linux: Основные команды Linux терминала с примерами использования

Содержание

расширенные команды терминала • TechLila

За последнее десятилетие Linux вырос из альтернативная операционная система для энтузиастов в важный инструмент для поддержки некоторых из самых надежных программных инфраструктур в мире.

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

История вычислител…

Please enable JavaScript

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

На этой неделе мы, наконец, собираемся активизировать нашу игру!

Что вы узнаете

  • Повышение производительности с помощью псевдонимов команд
  • Проверка использования диска на основе томов и типов файлов
  • Скачивание файлов по сети
  • Основы устранения неполадок сети
  • Услуги и как ими управлять
  • Контроль доступа пользователей / управление сеансами
  • Выключение и перезагрузка системы

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

1. Псевдонимы команд

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

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

Вот пример. Для фиксации в репозитории git мы используем git commit с флагом -m. В среднем, допустим, вы используете эту команду не менее 10-20 раз в неделю. Печатать все это не имеет смысла, здесь на помощь приходит алиасинг. Используя псевдоним, например, gitcmt, вы избавляетесь от необходимости печатать все это целиком. Добавьте эту экономию за пару месяцев и лет, и у вас будет несколько дополнительных часов. Поражает твой разум, не так ли?

Хорошо, давайте посмотрим, как проверять и создавать псевдонимы.

Чтобы перечислить уже существующие псевдонимы, вы просто выдаете псевдоним команду без каких-либо флагов и нажмите Enter. И список псевдонимов вам будет возвращен.

Эти псевдонимы в основном являются глобальными псевдонимами системного уровня, которые применяются ко всем пользователям системы.

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

Вот синтаксис для создания псевдонима.

псевдоним ALIASNAME = "ACTUAL_COMMAND_NAME"

Итак, в нашем случае мы собираемся создать псевдоним для команды echo только в демонстрационных целях.

Просто введите следующее и нажмите Enter.

псевдоним ec = "echo"

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

Однако обратите внимание, что этот псевдоним будет длиться только один сеанс, то есть, если вы закроете терминал и снова откроете его, он больше не будет работать. Чтобы сделать его постоянным, вам необходимо отредактировать файл конфигурации оболочки, который хранится в ~ / .bashrc

Откройте файл в nano, поместите команду в этот файл, как показано на скриншоте ниже, и выйдите.

После выхода выполните следующую команду:

источник ~ / .bashrc

Как только это будет сделано, псевдоним вашей команды станет постоянным.

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

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

2. где находится команда

Часто, когда люди пишут программное обеспечение, они поддерживают две разные среды. Среда разработки, которая напоминает настройку производственного сервера и обычную локальную среду, которая соответствует потребностям пользователя. Чтобы эти два пространства были изолированы / отделены друг от друга, большинство людей используют что-то вроде Docker или vagrant, но некоторые люди также предпочитают ручной подход. Если вы попадаете во вторую половину, вполне вероятно, что у вас есть дублирующиеся двоичные файлы или одинаковые двоичные файлы с разными версиями на одном компьютере. Следующая команда поможет вам перечислить все установки определенного двоичного файла. Команда называется whereis, и в ней будет указано место, в котором хранится конкретный двоичный файл, а также его документация.

Вот синтаксис для где команда:

где BINARY_NAME

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

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

Эта команда, сколь бы упрощенной она ни была, будет очень полезна, когда вы столкнетесь с проблемами совместимости при создании чего-либо.

3. Сервисная команда

Длительная работа в фоновом режиме называется службой в Linux. ОС Linux поставляется с множеством служб, о которых вы можете узнать, перейдя в каталог /etc/init.d. Хотя мы не можем рассказать о том, как создать настраиваемую службу, поскольку это выходит за рамки данной публикации, простой поиск в StackOverflow определенно подскажет, как ее создать. Но мы поговорим об управлении услугами. Что включает в себя запуск, остановку перезапуска и проверку статуса служб.

Синтаксис обслуживание команда будет выглядеть следующим образом:

запуск службы SERVICE_NAME

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

Чтобы запустить службу, мы используем запуск службы, за которым следует имя службы. (здесь sshd).

сервис sshd start

Давайте посмотрим на это в действии ниже. И если при нажатии клавиши ввода ничего не отображается на терминале, это означает, что он работал успешно.

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

статус службы sshd

Это покажет, активна служба или нет, а также другие полезные детали.

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

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

остановка службы sshd

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

услуги SSHD перезагрузки

Пойдем дальше.

4. Команда df

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

Начнем с синтаксиса команды df:

df [ОПЦИЯ] ... [ФАЙЛ] ...

Давайте посмотрим на команду df в действии. По умолчанию, без каких-либо опций, команда df выводит список размеров отдельных томов в формате, который не совсем читается.

Чтобы этого избежать, мы будем использовать -h flag, который обозначает удобочитаемый формат. Введите следующую команду

df -h

И теперь, как видите, размер тома указан в Mэгабайт и Gigabytes. Есть еще множество опций, которые поддерживает команда df, и я бы посоветовал вам проверить их с помощью команды man.

5. Du Command

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

Вот синтаксис команды du:

du [ВАРИАНТ] ... [ФАЙЛ] ...

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

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

дю-ч

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

Мы также можем продолжить и проверить размер, занимаемый конкретным типом файла в каталоге, используя -s флаг. Давайте проверим текстовые файлы в текущем каталоге.

du -s * .txt

6. Команда passwd

Следующим шагом к получению полного контроля над системой будет фактическая возможность изменить пароль. Я имею в виду, что хорошего в системном администраторе, если его собственная машина заблокирована, верно? круто, поэтому мы рассмотрим, как изменить пароль, и для этого мы используем ПАРОЛЬ команда.

Вот синтаксис команды passwd:

пароль [ОПЦИЯ] [ПОЛЬЗОВАТЕЛЬ]

А теперь вот как мы используем команду passwd:

ПАРОЛЬ

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

Хорошо, продолжаем двигаться дальше.

7. Команда wget

Далее давайте посмотрим, как вы можете загружать файлы прямо с вашего терминала. Если вы уже говорите себе: «Есть ли что-нибудь, что он собирается оставить для пользовательского интерфейса?», Спасибо, но я постараюсь не делать этого.
Чтобы загружать файлы из Интернета, мы будем использовать команду wget, которая расшифровывается как web get. И это утилита командной строки для загрузки файла по сети. Использовать команду wget очень просто. Вам просто нужно указать URL-адрес загружаемого файла после команды wget.

Вот синтаксис для структуры:

wget URL_OF_FILE

А вот пример использования.

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

8 кто командует

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

кто [ВАРИАНТ] ... [ФАЙЛ] [я]

Давайте посмотрим, как работает команда who:

Теперь, поскольку я нахожусь на однопользовательской машине и сейчас использую ее только я, единственный пользователь, которого вы видите на скриншоте, — это я. Но если предположить, что вы управляете производственным сервером, на котором одновременно зарегистрировано несколько 100 пользователей, то вы увидите их в одном списке. Убедитесь, что вы протестировали все параметры, доступные тем, кто использует команду man.

9. Команда ping

Хорошо. С помощью этой следующей команды мы проверим, находится ли удаленный хост в сети или нет. Для этого мы используем команду ping. В самом примитивном техническом объяснении это означает, что команда отправит ICMP ECHO_REQUEST пакеты на хост, чтобы проверить его доступность. Если хост доступен, он ответит подтверждением, а если нет, пакеты будут отброшены. Давайте посмотрим, как использовать команду ping.

Синтаксис довольно прост.

ping [-LRUbdfnqrvVaAB] [-c count] [-m mark] [-i interval] [-l preload] [-p pattern] [-s packetsize] [-t ttl] [-w deadline] [-F flowlabel] [-I интерфейс] [-M подсказка] [-N параметр] [-Q tos] [-S sndbuf] [-T параметр отметки времени] [-W тайм-аут] [переход . ..] пункт назначения

А вот пример использования.

пинг google.com

Эта команда в основном используется при попытке устранить проблемы с сетью. Вывод команды ping содержит несколько разных статистических данных. Во-первых, он содержит ICMP порядковый номер, который сообщает номер пакета. Наряду с этим он также содержит TTL поле, которое определяет время жизни для пакета, т. е. количество маршрутизаторов, на которые он может переключиться, прежде чем будет фактически отброшен.

 10. Команда выключения

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

shutdown [-akrhPHfFnc] [-t sec] время [сообщение]

Чтобы выключить машину, мы просто выдаем выключение команда без каких-либо параметров. А чтобы перезапустить его, вы можете использовать -r флаг. Вот как это будет выглядеть с -r флаг.

shutdown -r

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

Заключение

Хорошо, ребята, мы подошли к концу третьей части серии практических занятий по Linux. Часть 1 рассмотрели самые основы, а затем мы надстроили их в Часть 2 а в части 3 мы сосредоточились на аспекте системного администрирования Linux. Как всегда, я настоятельно рекомендую вам попробовать эти расширенные команды терминала Linux вместо того, чтобы просто читать сообщение или смотреть видео. Одна из вещей, которые я высоко ценю, — это мастерство, которое приходит с обширной практикой. Убедитесь, что вы это делаете, и если вы столкнетесь с ошибками или у вас возникнут вопросы, напишите нам в разделе комментариев или в Twitter. Увидимся снова на следующей неделе с заключительной частью этого сериала, и мальчик, это будет весело. Пока я готовлю часть 4, уделите немного времени и потренируйтесь в этих командах. До скорого! Удачного кодирования!

Bash – командная оболочка Linux. Курс «Введение в Linux и Bash»

В большинстве дистрибутивов Linux по умолчанию установлена командная оболочка Bash. Отметим, что между всеми командными оболочками, соответствующими стандарту POSIX Unix-подобных операционных систем, разница небольшая.

Bash запускается в текстовом режиме или приложении «Терминал» и работает интерактивно. Это значит, что он ожидает ввод пользователя, далее интерпретирует введенную строку как команду, которую надо выполнить. Команды бывают разными: запуск программы, операции с файлами, выполнение скрипта на языке самого Bash и др.

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

В связи с распространением персональных компьютеров, начавшимся в 80-х годах, многопользовательские ОС оказались не востребованными массовым потребителем. Однако для серверов они стали хорошим выбором.

Представьте, что подключаетесь по протоколу SSH к веб-серверу, на котором размещаете файлы сайта. Работая в ОС GNU/Linux и запустив программу «Терминал», вы даете Bash’у команду на подключение к удаленной машине под конкретным именем пользователя. Сервер отвечает вам и требует ввести пароль этого пользователя. Все потому, что пользоваться данным компьютером-сервером может далеко не один человек.

На локальном компьютере в текстовом режиме Linux (если вы нажмете, например, Ctrl + Alt + F2) эмулируется удаленный доступ к машине через терминал. Здесь Bash первым делом предлагает вам ввести логин, после чего – пароль. При вводе пароля на экране ничего не отображается. Так сделано специально, чтобы нельзя было подсмотреть даже количество вводимых символов. Если введенная пара логин/пароль соответствуют какому-либо ранее зарегистрированному в системе пользователю, то вы увидите приглашение командной строки Bash’а на ввод команды. В случае ошибки потребуется заново вводить логин/пароль.

В графическом режиме приложение «Терминал» автоматически «берет» данные запустившего его пользователя и передает Bash’у. Таким образом, вы уже оказываетесь представленными системе и первое, что видите, – приглашение командной строки.

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

На скриншоте pl – имя пользователя, comp – имя компьютера. Символ тильды ~ в Linux-системах – это сокращенное обозначение домашнего каталога пользователя (/home/user). Именно эту директорию Bash делает текущей по умолчанию. Знак доллара $ обозначает, что мы работаем под непривилегированным пользователем. Если находиться в системе под администратором, вместо доллара будет знак решетки #.

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

Существует множество команд, которые можно отдавать в Bash. В основном это команды запуска различных программ, которые находятся в каталогах /bin, /usr/bin и ряде других. Проверяемые каталоги записаны в переменной $PATH оболочки:

Здесь с помощью команды echo мы просим Bash выдать нам значение переменной $PATH. В выводе каталоги отделены друг от друга с помощью двоеточия.

Можно посмотреть, какие программы установлены в том или ином каталоге, после чего запустить одну из них:

Если приложение имеет только графический интерфейс, то оно так и запустится (если вы находитесь в графическом режиме, в случае текстового произойдет ошибка). При этом Bash будет ожидать завершения работы программы, то есть другие команды вводить не получится. Однако в «Терминале» вы можете открыть вторую вкладку или создать второе окно. При этом запустится другой процесс для Bash.

Существуют программы с текстовым интерфейсом. Например, редактор Nano:

В данном случае Bash’у была дана команда nano, и прямо в терминале был открыт редактор GNU Nano. В нем была введена пара слов. Чтобы завершить работу редактора, надо нажать Ctrl + X, подтвердить сохранение или отказаться от него. После этого произойдет возврат к командной строке Bash.

Многие из запускаемых в Bash программ не предполагают взаимодействие с пользователем в интерактивном режиме (в режиме диалога). По смыслу их правильнее называть командами, а не программами. Пользователь вводит команду, она выполняется и передает управление обратно Bash. Что делает команда, зависит от команды.

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

Здесь в домашнем каталоге был создан файл test.py, содержащий код на языке программирования Python, выводящий на экран число 10. Код был написан в Nano (на скриншоте не показано). Далее мы пытаемся выполнить программу, обратившись к файлу по его адресу. Точкой обозначается текущий каталог. В данном случае он домашний, поэтому это равносильно ~/test.py или /home/pl/test.py.

При первом вызове мы получаем ошибку, так как у нас нет прав на исполнение программы. С помощью команды chmod мы добавляем такое право (параметр +x).

Существует множество команд. Знать их все как минимум затруднительно. Однако есть ряд наиболее востребованных. Это команды для совершения операций над файлами, установки программ, просмотра директорий и файлов, перемещения по дереву каталогов, то есть всего того, что мы делаем в графическом режиме операционной системы. Многие из них будут рассмотрены в данном курсе. С некоторыми мы уже немного познакомились (cd, ls, echo, chmod).

Потребность в остальных возникает реже. В этих случаях на помощь приходят доступные через Bash справочные руководства, иные источники. В курсе в первую очередь будет уделено внимание особенностям работы в Bash.

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

Задание

Исследуйте самостоятельно, что делают следующие команды: date, cal, pwd, who, clear, exit. С помощью команды which выясните, в каких каталогах находятся исполняемые файлы этих программ.

Курс с ответами к заданиям и дополнительными уроками

в PDF

Знакомство с интерфейсом командной строки Linux // Высокопроизводительные вычисления // Университет Маркетт

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

Введение

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

Словарь

Терминал

Терминал или окно терминала — это любой дисплей, который принимает ввод и отображает вывод с компьютера.

Приглашение оболочки

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

 [имя пользователя@каталог домена]$
 

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

Обратите внимание, что вы можете слышать, как люди называют оболочку bash (также известную как оболочка bourne Again). Bash — это, по сути, вторая версия оболочки. По большей части их можно рассматривать одинаково, и, если вы не опытный пользователь, вы, вероятно, не сможете заметить разницу.

Другие менее распространенные приглашения оболочки включают оболочку c (csh), оболочку z (zsh), оболочку Korn (ksh) и оболочку fish. Однако, поскольку стандартная оболочка и bash являются наиболее распространенными оболочками, именно на них мы сосредоточимся здесь.

Путь

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

Пример:

Если вы находитесь в своем домашнем каталоге и хотите указать местоположение каталога моделирования с именем sim1, который является подкаталогом каталога с именем Simulation. Полный путь к этому каталогу:

 /mmfs1/home/user/simulations/sim1 

Относительный путь:

 Simulations/sim1 

Права доступа к файлам

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

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

Команда Linux

Команда Linux состоит из трех основных частей. Первая — это сама команда (т. е. что вы хотите, чтобы компьютер делал). За этим может следовать ряд параметров, обозначенных знаком «-» и буквой, чтобы изменить эту команду. Наконец, иногда есть вход в эту команду.

Полезные команды Linux

pwd

Описание

Команда pwd означает печать рабочего каталога. Эта команда выводит путь к каталогу, в котором вы в данный момент работаете. -ln1 моделирования]$ pwd
/mmfs1/home/user/simulations

ls

Описание

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

Использование

 ls -[опции] [файл] 

Пример

Типичный вывод ls может выглядеть примерно так:

 [user@raj-ln1 Simulations]$ лс
test.sh README sim1 sim2 sim3 sim4 test.py test.slurm 

Опции

-l

Опция -l означает длинный. Эта опция дает каждому элементу в каталоге собственную строку, отображающую дополнительную информацию о каждой записи в списке. Эта опция дает значительно больше информации, чем мы рассмотрим в этом уроке, поэтому давайте просто сосредоточимся на важных частях. Каждая строка начинается со строки из 10 символов. Каждый символ в этой строке представляет что-то конкретное о правах доступа к этому файлу. Первым символом может быть -, d или l. — — это заполнитель, означающий, что место пустое (т. е. в этом элементе нет ничего особенного). d означает, что элемент является каталогом, а l означает, что элемент является ссылкой или символической ссылкой. В этом руководстве мы не будем обсуждать, что такое символическая ссылка. Остальные разрешения затем группируются в три группы по три. Каждый символ представляет определенное разрешение для определенной группы. Первая группа из трех предназначена для владельца элемента, вторая группа из трех — для группы, связанной с элементом, а последняя группа из трех — для всех остальных. Каждый символ может быть либо буквой, либо -, причем буква означает, что пользователь, группа или кто-то еще имеет такое разрешение, а — означает, что они этого не делают. В этом контексте r означает права на чтение, w — права на запись, а x — права на выполнение.

Параметр -l также указывает владельца файла и группу, с которой он связан. Наконец, каждая строка содержит время и дату последнего изменения, а также название элемента.

Типичный вывод ls -l будет выглядеть примерно так:

 [user@raj-ln1 simulations]$ ls -l
всего 32
-rwxrwxr-x 1 пользователь domain_users 2691 22 июля 15:23 test.sh
-rw-rw-r-- 1 пользователь domain_users 1054 22 июля 15:22 README
drwxrwx--x 2 пользователя domain_users 4096 22 июля 15:01 sim1
drwxrwx--x 2 пользователя domain_users 4096 июл 22 15:01 sim2
drwxrwx--x 2 пользователя domain_users 4096 22 июля 15:01 sim3
drwxrwx--x 2 пользователя domain_users 4096 22 июля 15:01 sim4
-rw-rw-rw- 1 пользователь domain_users 559 22 июня 15:10 test. py
-rw-rw-rw- 1 пользователь domain_users 274 22 июля 15:02 test.slurm 

Разберем первую строку в этом выводе:

 -rwxrwxr-x 1 пользователь domain_users 2691 22 июля 15:23 test.sh 

Первый символ — это означает, что это файл, а не ссылка или каталог. Следующие три символа — rwx. Это означает, что владелец, пользователь, может читать, писать и выполнять сценарий оболочки. Следующие три символа — rwx. Это означает, что любой член группы domain_users может читать, писать и выполнять сценарий оболочки. Последние три символа — r-x. Это означает, что любой, кто не является владельцем или частью группы domain_users, может читать и выполнять файл, но не может редактировать его содержимое.

-a

Параметр -a означает все. Это означает, что он показывает даже скрытые элементы в каталоге. Скрытые элементы начинаются с точки. Типичный вывод для ls -a выглядит так:

 [user@raj-ln1 Simulations]$ ls -a
. .. test.sh README sim1 sim2 sim3 sim4 test. py test.slurm 

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

Теперь, если мы хотим использовать обе опции, мы можем либо набрать ls -l -a, либо для опций, которые не требуют ввода, их можно связать вместе следующим образом:

 ls -la 

Это означает, что нам нужен список, -l, всего в каталоге, -a. Обратите внимание, что если параметр требует ввода, вы не можете включить его в строку.

Ввод

По умолчанию ls печатает содержимое вашего текущего рабочего каталога. Однако вы можете получить список другого каталога, введя его в качестве ввода после ваших параметров. Например:

 ls /mmfs1/home/user/simulations/sim1 

Отображает содержимое каталога sim1 в симуляциях. Команда:

 ls -la /mmfs1/home/user/simulations/sim1 

выполнит длинный список всего в каталоге Documents домашнего каталога пользователя. Обратите внимание, что ~ можно использовать вместо домашнего каталога пользователя, например:

 ls /mmfs1/home/user/simulations/sim1 

и

 ls ~/simulations/sim1 

эквивалентны командам.

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

 ls sim1 

chmod

Описание

Команды chmod изменяют биты режима. Биты режима файла или каталога управляют правами доступа к этому файлу или каталогу.

Использование

 chmod -[опции] [режим] [файл] 

Пример

Допустим, вы только что написали новый сценарий bash с именем run_sims. sh. Вы пытаетесь запустить скрипт и получаете следующее:

 [user@raj-ln1 Simulations]$ ./run_sims.sh
bash: ./run_sims.sh: Отказано в доступе 

Это связано с тем, что по умолчанию текстовые файлы ASCII (которыми являются сценарии bash) не имеют разрешений на выполнение. Чтобы добавить правильные разрешения, используйте команды:

 [user@raj-ln1 Simulations]$ ls -l run_sims.sh
-rw-r--r-- 1 пользователь domain_users 6, 22 июля, 15:32 run_sims.sh
[моделирование user@raj-ln1]$ chmod u+x run_sims.sh
[моделирование user@raj-ln1]$ ls -l run_sims.sh
-rwxr--r-- 1 домен пользователя _users 6 22 июля 15:32 run_sims.sh 

Первая буква режима обозначает уровень разрешений (u для разрешений на уровне пользователя или владельца, g для разрешений на уровне группы, o для разрешений на уровне других или всех остальных и a для всех уровней), которые вы хотите изменить. Второй символ указывает, хотите ли вы добавить или удалить (+ или — соответственно) разрешения, а последняя буква указывает, какое разрешение вы хотите изменить (r для чтения, w для записи и x для исполняемого файла). Здесь u+x означает «добавить права на выполнение для пользователя (или владельца) файла». Чтобы изменить права доступа к нескольким файлам одновременно, разделите режимы запятой, например: 9.0003

 chmod u+x,g+x run_sims.sh 

Параметры

-R

Параметр -R означает рекурсивный. Это применяет изменения разрешений к указанному каталогу, а также к каждому файлу и каталогу в указанном каталоге.

cd

Описание

Команда cd означает изменение каталога. Это позволяет вам переходить из одного каталога в другой. Он не имеет заметных параметров и принимает имя каталога в качестве входных данных.

Использование

 cd [каталог] 

Пример

Предположим, вы находитесь в каталоге Simulations из предыдущего примера. Вы можете перейти в каталог sim1, введя следующую команду:

 [user@raj-ln1 Simulations]$ pwd
/mmfs1/дом/пользователь/моделирование
[user@raj-ln1 моделирование]$ cd sim1
[user@raj-ln1 sim1]$ pwd
/mmfs1/home/user/simulations/sim1 

Обратите внимание, что приглашение оболочки отражает изменение каталога путем изменения с

 [user@raj-ln1 Simulations]$ 

по

 [user@raj-ln1 sim1]$ 

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

 [user@raj-ln1 sim1]$ cd ..
[моделирование user@raj-ln1]$ pwd
/mmfs1/home/user/simulations 

Кроме того, команде может быть присвоено более одного каталога в пути, например, если вы находитесь в каталоге sim1 и хотите находиться в каталоге sim2, вы можете ввести следующие команды:

 [user@raj-ln1 sim1]$ cd ../sim2
[user@raj-ln1 sim2]$ pwd
/mmfs1/home/user/simulations/sim2 

mkdir

Описание

Команда mkdir означает создание каталога. В качестве входных данных команда использует имя создаваемого каталога.

Использование

 mkdir -[опции] [каталог] 

Пример

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

 [моделирование user@raj-ln1]$ ls
test. sh README sim1 sim2 sim3 sim4 test.py test.slurm
[user@raj-ln1 моделирование]$ mkdir sim5
[моделирование user@raj-ln1]$ ls
test.sh README sim1 sim2 sim3 sim4 sim5 test.py test.slurm 

Параметры

-p

Параметр -p означает родитель. Это позволяет создавать несколько уровней каталогов. Например, предположим, что вы не только хотите создать каталог sim5, но и хотите создать каталог результатов внутри sim5. Вместо этого:

 [моделирование user@raj-ln1]$ ls
test.sh README sim1 sim2 sim3 sim4 test.py test.slurm
[user@raj-ln1 моделирование]$ mkdir sim5
[моделирование user@raj-ln1]$ ls
test.sh README sim1 sim2 sim3 sim4 sim5 test.py test.slurm
[user@raj-ln1 моделирование]$ cd sim5
[user@raj-ln1 sim5]$ лс
[user@raj-ln1 sim5]$ mkdir Результаты
[user@raj-ln1 sim5]$ лс
Результаты 

Вы можете сделать это

 [user@raj-ln1 Simulations]$ ls
test.sh README sim1 sim2 sim3 sim4 test.py test.slurm
[моделирование user@raj-ln1]$ mkdir -p sim5/Результаты
[моделирование user@raj-ln1]$ ls
test. sh README sim1 sim2 sim3 sim4 sim5 test.py test.slurm
[user@raj-ln1 моделирование]$ cd sim5
[user@raj-ln1 sim5]$ лс
Результаты 

cp

Описание

Команда cp означает копирование. Думайте об этом как о копировании и вставке, объединенных в одну команду. Эта команда позволит вам скопировать файл или каталог из одного места в другое. Требуется два входа; исходный каталог и целевой каталог.

Использование

 cp -[options] [src] [dst] 

Где src и dst — это источник и адресат соответственно.

Пример

Допустим, вы находитесь в каталоге sim1 и хотите скопировать файл in.txt в только что созданный каталог sim5. Вы можете сделать следующее:

 [user@raj-ln1 sim1]$ ls ../sim5
Полученные результаты
[user@raj-ln1 sim1] cp in.txt ../sim5
[user@raj-ln1 sim1]$ ls ../sim5
Результаты in.txt 

Если вы хотите переименовать файл в in2.txt при копировании, вы можете сделать это:

 [user@raj-ln1 sim1]$ ls . ./sim5
Результаты в формате .txt
[user@raj-ln1 sim1] cp in.txt ../sim5/in2.txt
[user@raj-ln1 sim1]$ ls ../sim5
Результаты in.txt in2.txt 

Содержимое файла in.txt будет скопировано в файл с именем in2.txt в каталоге Simulations/sim2

Параметры

-r

Параметр -r означает рекурсивный. Если вы хотите скопировать весь каталог вместе со всем его содержимым в другой каталог, вы можете использовать параметр -r. Допустим, вы хотите запустить симуляцию, аналогичную sim1, с некоторыми изменениями. Вместо того, чтобы использовать mkdir для создания каталога, а затем копировать входной файл в каталог, вы можете сделать следующее:0003

 [моделирование user@raj-ln1]$ ls
test.sh README sim1 sim2 sim3 sim4 test.py test.slurm
[моделирование user@raj-ln1]$ ls sim1
входящий.txt исходящий.txt
[user@raj-ln1 моделирование]$ cp -r sim1 sim5
[моделирование user@raj-ln1]$ ls
test.sh README sim1 sim2 sim3 sim4 sim5 test.py test.slurm
[user@raj-ln1 моделирование]$ ls sim5
in. txt out.txt 

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

мв

Описание

Команда mv означает перемещение. Думайте об этом как о вырезании и вставке, объединенных в одну команду.

Использование

 mv [src] [dst] 

Пример

Допустим, вы находитесь в каталоге sim1 и хотите переместить файл in.txt в каталог моделирования. Вы должны сделать следующее:

 [user@raj-ln1 sim1]$ ls
входящий.txt исходящий.txt
[user@raj-ln1 sim1]$ ls ..
test.sh  README  sim1  sim2  sim3  sim4  sim5  test.py  test.slurm
[user@raj-ln1 sim1]$ mv in.txt ..
[user@raj-ln1 sim1]$ лс
out.txt
[user@raj-ln1 sim1]$ ls ..
test.sh README sim1 sim2 sim3 sim4 sim5 test.py test.slurm in.txt 

Еще одна полезная функция этой команды — переименование файлов. Допустим, вы хотите переименовать файл in.txt в input.txt. Вы должны использовать команду

 [user@raj-ln1 sim1]$ ls
входящий. txt исходящий.txt
[user@raj-ln1 sim1]$ mv in.txt input.txt
[user@raj-ln1 sim1]$ лс
input.txt out.txt 

Переименование файлов также можно выполнять при перемещении файла из одного места в другое. Допустим, вы хотите переместить файл in.txt в каталог Simulations, а также переименовать его в input.txt, вы можете использовать команду

 [user@raj-ln1 sim1]$ лс
входящий.txt исходящий.txt
[user@raj-ln1 sim1]$ ls ..
test.sh  README  sim1  sim2  sim3  sim4  sim5  test.py  test.slurm
[user@raj-ln1 sim1]$ mv in.txt ../input.txt
[user@raj-ln1 sim1]$ лс
out.txt
[user@raj-ln1 sim1]$ ls ..
test.sh README sim1 sim2 sim3 sim4 sim5 test.py test.slurm input.txt 

Обратите внимание, что, в отличие от команды cp, параметр -r не нужно использовать для каталога. Команда mv переместит весь каталог и содержимое этого каталога без использования параметра -r. Например, если вы хотите переименовать каталог sim1 в Simulation1, вы можете сделать следующее:

 [моделирование user@raj-ln1] лс
test. sh README sim1 sim2 sim3 sim4 sim5 test.py  test.slurm
[моделирование user@raj-ln1] ls sim1
входящий.txt исходящий.txt
[user@raj-ln1 Simulations] mv sim1 Simulation1
[моделирование user@raj-ln1] ls
test.sh README simulation1 sim2 sim3 sim4 sim5 test.py  test.slurm
[user@raj-ln1 моделирование] ls моделирование1
in.txt out.txt 

rm

Описание

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

Использование

 rm -[опции] [каталог] 

Пример

Допустим, мы хотим удалить файл out.txt из нашего каталога sim5, мы можем выполнить следующие команды из каталога sim5.

 [user@raj-ln1 sim5] лс
входящий. txt исходящий.txt
[user@raj-ln1 sim5]$ rm out.txt
[user@raj-ln1 sim5] лс
in.txt 

Параметры

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

 [моделирование user@raj-ln1] лс
test.sh README sim1 sim2 sim3 sim4 sim5 test.py  test.slurm
[моделирование user@raj-ln1] rm -r sim5
[моделирование user@raj-ln1] ls
test.sh README sim1 sim2 sim3 sim4 test.py  test.slurm 

Редакторы командной строки

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

Nano

Pros

  • Простота и интуитивность в использовании
  • Обладает большинством основных функций, необходимых для редактора файлов
  • Отлично подходит для начинающих

Недостатки

  • Отсутствие некоторых дополнительных функций
  • . В большинстве сочетаний клавиш используется сочетание клавиш Ctrl + Letter, поэтому они могут конфликтовать с другими сочетаниями клавиш в вашей системе.

Основное использование

Для редактирования файла введите команду 

 nano [имя файла] 9символ является сокращением от управления. Например, если вы хотите получить справку, нажмите Ctrl+g. Чтобы записать (или сохранить) файл, используйте Ctrl+o.  Для выхода используйте команду Ctrl+x. 

Для получения дополнительной информации в How-To Geek есть хорошее руководство по использованию nano.

Vim

Pros

  • Имеет все основные функции, необходимые для редактора файлов
  • Имеет множество дополнительных функций
  • Может редактировать несколько файлов одновременно
  • Имеет командный режим и режим редактирования, что устраняет необходимость использования Ctrl для ярлыков

Минусы

  • Не интуитивно понятно
  • Нет полезного руководства по ярлыкам в нижней части редактора

Базовое использование

Чтобы открыть файл для редактирования, введите команду

 vim [имя файла] 

Файл в командном режиме. Чтобы войти в режим вставки (режим редактирования), введите строчную букву i. В режиме вставки при вводе в терминал файл редактируется. Чтобы выйти из режима вставки, нажмите Esc. В командном режиме вы можете сохранить файл, набрав: w и нажав Enter. Чтобы выйти из vim, введите :q в командном режиме, затем нажмите Enter. Чтобы одновременно сохранить и выйти, введите :wq и нажмите Enter.

Для получения дополнительной помощи по использованию vim вы можете использовать встроенный интерактивный учебник по Raj, набрав vimtutor в командной строке. В противном случае ознакомьтесь с руководством по vim от How-To Geek.

Следующие шаги

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

  • Учебники Райана
  • Команда Linux
  • Убунту

Справочник по полезным командам Linux

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

Изменение каталогов (cd)

При первом входе в систему UNIX вы обычно находитесь в своем «домашнем» каталоге. Обычно это /home/username (для пользователя stewart это будет /home/stewart).

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

Печать рабочего каталога (pwd)

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

 $ pwd
/home/stewart 

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

Переменная $OLDPWD полезна, если вы хотите вернуться в каталог, в котором вы находились ранее.
например.

cd $OLDPWD

Список содержимого каталога (ls)

Команда ls может использоваться для вывода списка содержимого каталога.

Ввод ls сам по себе отобразит список всех файлов и каталогов, содержащихся в текущем каталоге.

 $ cd /home/stewart
$ pwd
/дом/стюарт
$ лс
документы readme.txt 

Параметр -l используется для предоставления дополнительной информации, включая: разрешения; владелец и группа владельцев; размер файла и дата последнего изменения в дополнение к имени файла.

Создание нового каталога (mkdir)

Новые каталоги можно создавать с помощью команды mkdir. Каталоги могут быть созданы либо по одному (в этом случае все каталоги над ним должны уже существовать), либо по несколько одновременно, что позволяет создавать родительские каталоги одновременно.

Создание одного каталога из текущего каталога выполняется командой mkdir, за которой следует имя нового каталога. Например:

mkdir newdir

Каталог файлов также может быть создан с использованием полного пути, однако все предыдущие каталоги уже должны существовать. Если предыдущие каталоги еще не существуют, то использование параметра -p также создаст родительские каталоги, если они не существуют. Например:

mkdir -p /home/stewart/newdir1/newdir2

Создание нового файла/изменение временных меток файла (коснитесь)

Обычный способ создания файла — сохранение в файл из приложения . Также можно создать пустой файл с помощью сенсорной команды. Формат должен иметь имя файла после сенсорной команды. Например:

touch newfile

При создании файла необходимо соблюдать следующие правила:

Название должно отражать содержимое
Используйте только буквенно-цифровые символы, т. е. прописные, строчные, цифры, #.@-_
Хотя пробелы могут быть включены в имя файла, это не рекомендуется.
Не следует включать метасимволы оболочки (символы, используемые каналами оболочки и т. д.) *?<>/&;:![]$\'"
Не должно начинаться с + или -
Не должно совпадать с системной командой
Имена файлов, начинающиеся с . скрыты (не видны из ls без опции -a)
Менее 255 символов
 

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

Параметр -a изменит время доступа, параметр -m можно использовать для изменения времени последнего изменения. Новое время задается с помощью параметра -t, чтобы указать время, или параметра -r, чтобы установить значение, совпадающее с другим файлом. Если время не указано с помощью -t или -r, то будет использовано текущее время.

Примеры

touch -m -t 201205251700 этот файл
установит дату последнего изменения этого файла на 25 мая 2012 г., 17:00. Это основано на версии POSIX команды touch (существует другая версия, которая не соответствует стандарту POSIX, но версия POSIX является наиболее распространенной).

В следующем примере дата изменения устанавливается такой же, как у другого файла. Иногда это используется для сценариев резервного копирования, где время модификации может быть установлено таким же, как и для другого файла, чтобы его можно было определить, нужно ли включать файл в добавочное резервное копирование.
touch -m -r referencefile thisfile

Удаление файла (rm)

Файлы удаляются с помощью команды rm. Чтобы удалить файл, введите rm, за которым следует имя файла (может включать путь).

Восстановить удаленный файл невозможно (кроме как из резервной копии), поэтому будьте осторожны при удалении файлов. Несколько более безопасный вариант — использовать параметр -i, который будет запрашивать удаление каждого файла. Это особенно полезно при использовании подстановочных знаков (см. далее). Можно настроить свой профиль так, чтобы по умолчанию всегда использовалась опция -i (см. команду alias).

Удаление каталога (rmdir / rm)

Самый безопасный способ удалить каталог — сначала удалить из него все файлы. Затем проверьте, что каталог пуст, введя ls -a (-a покажет все файлы, даже если они скрыты). Затем перейдите в указанный выше каталог и введите

rmdir имя_каталога

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

Для более бесцеремонного удаления каталога или нескольких каталогов можно использовать команду rm. Для этого введите rm -r, а затем имя каталога. Например:
rm -r имя_каталога

Внимание! Это очень опасная команда.
Команда rm -r удалит все каталоги ниже указанного.
Будьте особенно осторожны, если вы вошли в систему как пользователь root, так как это может привести к удалению всех данных на диске.

Невозможно восстановить файлы, удаленные по ошибке.
Использование команды rm удалит файл. Единственный способ восстановить файл, если он был случайно удален, — это скопировать его с последнего резервного диска (если он есть)!
Это не то же самое, что использование корзины через графический интерфейс или файловый менеджер, который может позволить восстановить файл (если только файл не может быть сохранен в корзине или он не был очищен).

Перемещение/переименование файла или каталога (mv)

Файлы или каталоги можно перемещать или переименовывать с помощью команды перемещения (mv). Чтобы переместить файл, введите команду mv, затем имя файла, а затем новый каталог. Чтобы переименовать файл или каталог, введите команду mv, за которой следует старое имя и новое имя.

Вы можете использовать путь вместе с именем файла.

Использование параметра -i предотвратит случайную перезапись существующего файла.

Копирование файла (cp)

Файлы можно копировать с помощью команды cp. Введите cp, затем существующий файл, а затем новый файл (может включать пути). Установка второго параметра (новый файл) в качестве имени каталога приведет к копированию файла в другой файл с тем же именем в новом каталоге.

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

Просмотр содержимого текстового файла/объединение файлов (cat)

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

Чтобы просмотреть файл с помощью cat

cat filename

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

Конкатинат показан в следующем примере

cat имя файла1 имя файла2 > имя файла 3

Здесь имя файла 3 будет содержать имя файла1, за которым следует имя файла 2.

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

Просмотр начала/конца текстового файла (голова/конец)

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

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

имя файла заголовка
.
или
хвостовое имя файла

, которое будет отображать первые или последние 10 строк файла соответственно.

Одним из способов использования команды tail является просмотр конца файла, который находится в процессе обновления. Команду можно многократно запускать для файла, чтобы показать любые новые дополнения к файлу; если файл не был изменен, то будет повторно отображен предыдущий вывод или, если файл изменился слишком сильно, некоторые строки могут быть пропущены. Лучше использовать опцию -f, которая будет отображать все новые строки, добавляемые в файл.

tail -f имя_файла

Проверка типа файла (file)

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

Один из способов сделать это — использовать команду файла. Ввод

имя файла

сообщит вам, является ли файл текстовым файлом, командным файлом или каталогом и т. д.

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

Поиск Файлы и команды (найти)

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

Команда указывается путем указания каталога и последующего поиска во всех каталогах под ним.

Наиболее распространенным способом использования команды find является поиск программы или файла по имени. Для поиска по всему компьютеру файла с именем filename будет использоваться следующая команда.

find / -name имя файла

Также можно искать дополнительную информацию, такую ​​как дата создания файла или его владелец.

Прозрачный

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

Echo

Команда echo просто выводит на экран то, что вы печатаете.

 $ echo Это сообщение для отображения на экране
Это сообщение для отображения на экране
$ 

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

Изменение прав доступа к файлу (chmod)

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

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

Основной формат:

Имя файла режима chmod

Отличается только формат параметра режима.

В символьном формате права добавляются или удаляются с использованием следующих символов:

 u = владелец файла (пользователь)
g = владелец группы (группа)
o = кто-то еще в системе (другой)

+ = добавить разрешение
 - = удалить разрешение

r = разрешение на чтение
w = разрешение на запись
x = разрешение на выполнение (если файл является программой, это дает разрешение на ее запуск) 

Например, из предыдущей записи ls у нас есть файл с именем file1, в который мы хотели бы, чтобы группа могла писать:

 -rw-r--r-- 1 stewart group01 27 Jan 7 15:14 file1 

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

chmod g+w file1

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

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

  Пользователь Группа Другие
Символический rwx r w- r--
Двоичный 111 110 100
  9074 3

4+2+1 4+2+0 4+0+0
Восьмеричная 7 6 4

Таким образом, права доступа к файлу будут иметь восьмеричное число 764 и, следовательно, будут изменены с помощью команды

chmod 764 file1

Основной способ решения этого вопроса — добавить следующие номера в зависимости от требуемого разрешения.
Чтение = 4
Запись = 2
Execute = 1

Поэтому, если вы хотите установить для чтения значение yes, для записи значение no и для выполнения значение yes, это будет 4+1=5

Изменение владельца файла (chown)

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

Формат следующий:

chown user:group имя файла

Псевдонимы (alias)

Команда alias используется для установки альтернативных имен для команд. Формат команды:
alias newcmdname='normalcmdname -args'

Когда вы введете newcmdname, оно будет заменено на normalcmdname -args. Примечание: это произойдет только для команд, введенных в командной строке, и не повлияет на файлы сценариев. Несколько примеров того, где это было бы полезно, показаны ниже:

alias rm='rm -i'
Это будет включать опцию -i для любой команды удаления. Что это делает, так это предоставляет интерактивные подсказки, так что вас спросят, хотите ли вы удалить каждый файл.