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

Содержание

Как создать собственную команду в Linux

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

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

Чтобы проверить список уже созданных псевдонимов, введём команду alias:

 

alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'

 

Список может отличаться, но правила создания псевдонима всегда одни и те же.

Рассмотрим на примере alias cp='cp -i' 

 

alias

начало

cp 

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

=

знак присваивания

‘cp -i’

в одинарных кавычках указываем значение

 

Теперь, если мы введём команду cp — будет исполняться команда cp -i.

Рассмотрим ещё один пример. Допустим, вам необходимо поискать наиболее объёмные директории, в статье «Что делать, когда осталось мало места на диске» есть нужная команда, но она большая и трудно запоминаемая. Тогда почему бы не добавить её как псевдоним?

Готовый псевдоним будет выглядеть так:
alias duM='du -hx --max-depth=15 / | grep "[[:digit:]]\.*G"'

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

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

Итак, для добавления псевдонима, нам потребуется файл .bashrc, находящийся в домашней директории пользователя.

Как он может выглядеть:

 

# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
    .  /etc/bashrc
fi

 

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

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

. ~/.bashrc

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

Этот материал был полезен?

Нужные команды Linux Для работы в терминале

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

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

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

Главное это уметь узнать, найти справку по той или иной команде:

man ваша_команда — выводит справку по этой команде.

ваша_команда —help — выводит справку по этой команде.

Команды Linux для Red Hat, Fedora, CentOS

sudo dnf install имя_пакета — установить нужный пакет.
sudo dnf config-manager —add-repo адрес_репозитория — добавить сторонний репозиторий.
sudo dnf upgrade — обновить все пакеты до самых свежих.
sudo dnf remove — удалить ненужный пакет.
sudo dnf autoremove — удалить все ненужные зависимости.

Команды Linux для Arch, Monjaro

sudo pacman -S имя_пакета — установить нужный пакет.
sudo yaourt -S имя_пакета — установить пакет из AUR, если его нет в основном репозитарии.
sudo pacman -Sy — обновить сведения о пакетах.
sudo pacman -Syu — обновить все пакеты до самых свежих.
sudo pacman -R имя_пакета — удалить ненужный пакет.
sudo pacman -Rs имя_пакета — удалить ненужный пакет со всеми зависимостями.

Команды Linux для Debian, Ubuntu, Mint.

sudo apt install — установка пакета.
sudo apt-add-repository — добавление репозитория.
suto apt update — обновить сведения о пакетах.
sudo apt upgrade — обновить все пакеты.
sudo apt full-upgrade — полное обновление системы
sudo apt list— список пакетов.
sudo apt search — поиск пакетов по имени.
sudo apt show — показать подробную информацию о пакете.
sudo apt remove — удалить пакет.
sudo apt edit-sources — редактировать файл источников программного обеспечения.

Команды Linux для работы в терминале

man — команда для вызова справки к пакету или команде, вводим эту команду и после пробела команду или пакет, для которой нужна инструкция.

history — Отображает все недавно введённые вами команды.

cd — перейти в нужный вам каталог, cd адрес каталога.

clear — понятно из самого слова, очищает окно терминала.

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

sudo — дает права администратора на выполнение команды.

sudo su — все последующие действия в терминале будут выполнятся от имени администратора.

sudo gksudo — запускает приложение  с графическим окружением от имени администратора.

Управление процессами (программами)

kill — Эта команда служит для принудительного завершения процессов. Нужно ввести kill PID_процесса. PID процесса можно узнать, введя top.

top — отображает перечень запущенных процессов, сортируя в зависимости от потребления ресурсов CPU.

xkill -введите её, затем щёлкните по тому окну, которое нужно закрыть.

killall — убивает процессы на которые вы укажете. К примеру — killall firefox

Работа с файлами и папками

file — выводит информацию о файле.

rename — переименовывает файл.

mkdir — создать новую папку там где вы находитесь.

rm — удаляет файл.

mv — перемещает файл.

Работаем с разделами носителей информации

lsblk — выводит информация о ваших дисках и разделах.

mount — монтирует раздел.

umount — демонтирует раздел.

df — показывает размер диска и размер свободного пространства.

free — сколько свободно и занято ОЗУ.

uname — информация о системе.

uname -a — информация о имени компьютера и ядре.

Управляем пользователями

whoami — отображает имя пользователя.

useradd — создает нового пользователя.

userdel — удаляет пользователя.

usermod — меняет учетную запись пользователя, переместить домашнюю папку пользователя, назначить дату когда заблокировать учетку и т.д.

passwd - изменить пароль.
Сеть

ip —help — инструкция по работе с командой ip, команда имеет большое применение и множество атрибутов введя эту команду вы сможете изучить и понять ее возможности и правила использования.

ip adress - показывает сведения о сетевых адресах.
ping - проверка подключения к сети, определенному адресу.
ip a  - посмотреть сетевые интерфейсы и их mac адреса в том числе. 
Использование утилиты ifconfig

Для Ubuntu и Debian необходимо установить предварительно пакет

net-tools

или в других, таких как Manjaro

pacman

После установки используем команду

sudo ifconfig -a

Исправляем битые или отложенные пакеты

Откройте терминал и в терминале попробуйте следующие команды, в той же последовательности:

sudo apt update
sudo apt install -f
sudo apt-get --fix-broken install

Перезагрузить или выключить систему, используем — systemctl

Для перезагрузки:

sudo systemctl reboot

Для выключения:

sudo systemctl poweroff

Всем Удачи!

Введение в Oracle Linux: оболочка и командная строка

Введение

В этой лабораторной работе исследуются вводные задачи по использованию Oracle Linux.

Цели

В этой лаборатории вы:

  • Выполнение команд с помощью оболочки и командной строки.
  • Работа с файлами и каталогами.
  • Редактировать файлы с помощью vim.
  • Узнайте о правах доступа к файлам.
  • Мониторинг системных процессов.

Что вам нужно?

  • Система с установленным Oracle Linux

Настройка лабораторной среды

Примечание: При использовании бесплатной тестовой среды см. Oracle Linux Lab Basics для подключения и других инструкций по использованию.

Информация: Бесплатная лаборатория развертывает работающую систему Oracle Linux.

  1. Если еще не подключено, откройте терминал и подключитесь через ssh к системе ol-server.

     ssh oracle@
     

Выполнение команд с помощью оболочки и командной строки

Обзор

В этом разделе вы будете использовать метасимволы оболочки для упрощения команд, структуры и вывода. Bash ( /bin/bash ) является оболочкой по умолчанию. Вы будете просматривать и устанавливать значения для управления историей командной строки.

  1. Убедитесь, что оболочка по умолчанию, /bin/bash , запущена, и используйте команду echo в Oracle Linux для отображения содержимого переменной SHELL.

     эхо $SHELL
     
  2. Убедитесь, что вы находитесь в домашнем каталоге пользователя, используя метасимвол тильды ( ~ ) с командой cd .

  3. Убедитесь, что текущее количество командных строк поддерживается командой history .

     эхо $HISTFILESIZE $HISTSIZE
     
  4. Комплект HISTSIZE От до 20 с помощью следующей команды.

     ГИСТРАЗМЕР=20
     
  5. Убедитесь, что история командной строки для размера открытого окна терминала установлена ​​на 20.

     эхо $HISTSIZE
     
  6. Просмотр постраничного вывода команды history .

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

  8. Просмотрите предыдущие 10 команд из базы данных истории.

     история 10
     
  9. Используйте параметр –c , чтобы очистить предыдущую историю.

     история -с
     
  10. Повторно просмотреть очищенную историю с помощью команды history .

     история
     

Работа с файлами и каталогами

Обзор

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

  1. Показать текущий рабочий каталог с помощью команды pwd .

  2. Показать длинный список всего содержимого текущего рабочего каталога с помощью команды ls .

     лс -ля
     
  3. Отобразите типы файлов в текущем каталоге с помощью команды ls .

     лс -Фа
     
  4. Если каталог temp еще не существует, создайте каталог с именем temp с помощью команды mkdir .

     мкдир временный
     
  5. Перейдите в каталог temp с помощью команды cd .

     кд темп.
     
  6. Показать текущий рабочий каталог с помощью команды pwd .

  7. Отображение файлов и каталогов в корневом каталоге с помощью команды ls .

  8. Вернитесь в свой домашний каталог с помощью команды cd .

  9. Смените каталог на родительский с помощью команды cd .

  10. Показать текущий рабочий каталог с помощью команды pwd .

  11. Быстро вернитесь в предыдущий каталог с помощью команды cd .

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

     эхо привет мир > мой файл
     
  13. Убедитесь, что новый файл myfile был создан с помощью команды ls .

  14. Отобразите содержимое файла myfile с помощью команды cat .

     кот мой файл
     
  15. Скопируйте файл myfile в файл с другим именем, используя ключ cp команда.

     cp мой файл мой файл2
     
  16. Отобразить длинный список содержимого текущего рабочего каталога с помощью команды ls .

  17. Отображение типа файла myfile2 с помощью команды file .

     файл myfile2
     
  18. Показать содержимое файла myfile2 с помощью команды cat .

     кот myfile2
     
  19. Скопируйте файл myfile2 в каталог temp с помощью команды cp .

     cp myfile2 temp/
     
  20. Показать содержимое каталога temp с помощью команды ls .

     лс -л темп/
     
  21. Переименуйте каталог temp с помощью команды mv .

     мВ темп темп2
     
  22. Отобразите типы файлов в текущем каталоге с помощью команды ls .

  23. Скопируйте все файлы из каталога temp2 в новый каталог temp3 с помощью команды cp .

     cp -R темп2 темп3
     
  24. Рекурсивно отображать все файлы с помощью команды ls .

  25. Создайте новый каталог temp с помощью 9Команда 0055 mkdir .

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

     сенсорный альфа
     
  27. Отобразите содержимое текущего каталога с помощью команды ls .

  28. Удалите файл alpha с помощью команды rm .

     пм альфа
     
  29. Удалите каталог temp с помощью команды rmdir .

     rmdir темп.
     
  30. Отобразите типы файлов в текущем каталоге с помощью команды ls .

  31. Начиная с домашнего каталога, найдите все файлы с именем myfile с помощью команды find .

     найти ~ -имя моего файла
     
  32. Начиная с вашего домашнего каталога, найдите все файлы с именем temp2 с помощью команды find .

     найти ~ -name temp2
     

Редактирование файлов с помощью текстового редактора Vim

Обзор

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

  1. Введите команду vim из своего домашнего каталога.

  2. Нажмите клавишу i , чтобы перейти в режим вставки текста , и введите следующий текст.

     Привет, мир
    Что у тебя
    Что такое сегодняшняя дата?
     
  3. Добавить текст к строке Какой у вас .

    • Нажмите Esc , чтобы войти в нормальный режим .
    • Используйте клавиши h , j , k , l или клавиши со стрелками для перехода к последнему символу строки.
    • Нажмите клавишу a , чтобы добавить и вставить пробел со следующей строкой name? .
  4. Заменить символ d на s в строке Waht id сегодняшняя дата? .

    • Нажмите Esc , чтобы вернуться в обычный режим .
    • Переместите курсор на третью строку, нажав j или клавишу со стрелкой вниз. Это переместит курсор вниз.
    • Чтобы переместить курсор влево, нажмите h или клавишу со стрелкой влево.
    • Подведите курсор к символу d в строке id .
    • Нажмите клавишу r и затем вставьте символ s . Это заменит символ d на символ s .
  5. Заменить слово Вт на Что .

    • Нажмите Esc и переместите курсор на третью строку.
    • Поместите курсор на символ a слова Вт и выполните команду cw .
    • Введите текст шляпу . Это изменит все слово Waht на what .
    • Нажмите ESC , когда закончите изменение слова.
  6. Скопируйте и вставьте строку Hello World .

    • Нажмите ESC , чтобы вернуться в командный режим.
    • Переместите курсор в начало Строка Hello World .
    • Выполните команду yy , чтобы скопировать строку.
    • Выполните команду p , чтобы вставить строку. Вся строка копируется и вставляется.
  7. Удалить дополнительную строку Hello World .

    • Нажмите Esc , чтобы войти в командный режим.
    • Переместите курсор в начало второй строки Hello World и выполните дд команда. Вся строка удаляется.
  8. Для поиска строки What .

    • Нажмите Esc , чтобы войти в командный режим.
    • Нажмите клавишу косой черты /.
    • Введите текст What и нажмите Введите . Курсор автоматически перемещается на первую строку в файле, с которой он сталкивается. Обратите внимание, что /What отображается в нижней части экрана окна терминала.
  9. Найдите следующее вхождение той же строки, нажав клавишу n .

    • Курсор переместится на вторую строку в файле.
  10. Настройте сеанс, отображая номера строк.

    • Нажмите Esc , чтобы войти в командный режим.
    • Введите команду :set nu и нажмите Введите . Обратите внимание, что :set nu появляется в нижней части экрана окна терминала.
  11. Удалить номера строк.

    • Нажмите Esc , чтобы войти в командный режим.
    • Введите команду :set nonu и нажмите Введите . Номера строк исчезают.
  12. Выйти и сохранить файл с изменениями.

    • Нажмите Esc , чтобы войти в командный режим.
    • Тип :w intro.txt и нажмите Введите , чтобы сохранить файл.
    • Введите :q для выхода. Командная строка возвращается.

Узнайте о правах доступа к файлам

Обзор

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

  1. Убедитесь, что вы находитесь в своем домашнем каталоге, используя команду pwd .

  2. Чтобы найти владельца существующего каталога, используйте команду ls .

     лс -лд
     

    Владелец существующего каталога отображается в третьем столбце вывода.

  3. Определите владельца содержимого каталога temp2 с помощью команды ls .

     лс -л темп2
     
  4. Изменить владельца temp2 для пользователя root.

    • Используйте команду sudo su для переключения на пользователя/роль root
    • Запустите команду change owner chown .
     судо Су
    chown root temp2
     
  5. Подтвердите право собственности на содержимое каталога temp2 .

  6. Измените права пользователя и группы на его содержимое на root и root, снова выполнив команду chown с рекурсивным -R опция.

     chown -R root:root temp2
    ls -lR темп2
     
  7. Выйдите из su , используя команду exit .

  8. Убедитесь, что значение umask в вашей системе равно 0022. Для проверки выполните команду umask .

  9. Если для umask не установлено значение 0022, установите значение umask равным 0022, выполнив команду umask .

     umask 0022
     
  10. Создайте новый каталог с именем perm в каталоге temp3 с помощью команды mkdir .

     mkdir temp3/perm
     
  11. Перейдите в каталог etc и перечислите эти четыре файла — group , motd , shadow , fstab для Oracle Linux с помощью команды ls .

     компакт-диск /и т.д.
    ls -l группа motd тень fstab
     

    Примечание. В Oracle Linux нет разрешений на теневой файл.

  12. Скопируйте четыре файла в каталог ~/temp3/perm . Файл shadow не сможет быть скопирован.

     cp group motd shadow fstab ~/temp3/perm
     

    Пример вывода:

     cp: невозможно открыть «тень» для чтения: в доступе отказано
     
  13. Перейти к temp3 и проверьте содержимое его каталога ~/temp3/perm .

     компакт-диск ~/temp3
    ls -l пермь
     
  14. Перейдите в свой домашний каталог с помощью команды cd .

  15. Создайте новый каталог с именем test и новый файл с именем test1 .

     мкдир тест
    сенсорный тест/тест1
     
  16. Проверьте разрешения по умолчанию для нового файла тест1 .

     лс –l тест/тест1
     
  17. Проверьте разрешения по умолчанию для нового каталога test .

     лс –ld тест
     
  18. Используя команду chmod и символьный режим, добавьте разрешение на запись (w) для набора разрешений группы в файл motd .

     chmod g+w temp3/perm/motd
    ls -l temp3/постоянная
     

    Примечание. В символьном режиме используется комбинация букв и символов для добавления или удаления разрешений для каждого типа пользователей.

  19. Используя восьмеричный режим, измените права доступа к файлу motd на -rwxrw---- .

     chmod 760 temp3/perm/motd
    ls -l temp3/постоянная
     

    Восьмеричный режим — это использование значений с основанием 8, в данном случае 0-7.

  20. Используя восьмеричный режим, добавьте разрешение на запись (w) для других в файл с именем group .

     chmod 646 temp3/пермь/группа
    ls -l temp3/постоянная
     
  21. Определите GID и UID для файла motd с помощью команды ls .

     ls -n темп3/постоянный/мод
     
  22. Создайте новый каталог с именем notes с помощью команды mkdir .

     мкдир отмечает
     
  23. Создайте новый файл с именем memo в каталоге dir4 .

     сенсорных заметок/памяток
    ls -l заметки/памятка
     
  24. Удалить разрешение на чтение (r) для владельца из файла memo в каталоге notes . Для этого можно использовать символьный режим.

     chmod u-r заметки/памятка
    ls -l заметки/памятка
     
  25. Используйте команду cat для просмотра файла memo .

     кошачьих заметок/памяток
     

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

Мониторинг системных процессов

Обзор

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

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

  2. Используйте параметр –f , чтобы напечатать полный список для команды ps .

  3. Используйте параметр –e для печати информации о каждом запущенном процессе. Затем используйте команды ps и wc , чтобы показать общее количество процессов.

     пс-е
    пс-е | туалет -л
     
  4. Еще раз используйте команду ps .

    Примечание. Обратите внимание на столбец TTY, где управляющий терминал — pts/0.

  5. Откройте второе окно терминала и подключитесь через ssh к системе ol-server.

     ssh oracle@
     
  6. Выполните команду ps в новом окне терминала.

    Примечание. Обратите внимание на столбец TTY во втором окне терминала, где управляющим терминалом является pts/1. Это связано с тем, что теперь у вас одновременно открыты два отдельных и параллельных сеанса окна терминала.

  7. В первом окне терминала введите sleep 100 команда:

     спать 100
     
  8. Во втором окне терминала используйте команды ps и grep , чтобы определить PID процесса ожидания.

     пс -эф | сон
     

    PID можно найти во втором столбце выходных данных.

  9. Во втором окне терминала используйте команду kill с аргументом PID, чтобы завершить процесс сна.

    • В этом примере используется PID 29987.
    • Ваш PID может отличаться от представленной команды.
     убить 29987
     

    Обратите внимание, что sleep 100 завершается в первом окне терминала.

  10. Во втором окне терминала введите команду tty , чтобы определить имя этого окна терминала. Имя отображается как /dev/pts/, где n — число (например, /dev/pts/1).

  11. Вернитесь к первому окну терминала. Используйте команду pgrep -t (параметр терминала), чтобы найти PID, связанный со вторым окном терминала.

     pgrep -t точек/1
     
  12. В первом окне терминала используйте команду kill , чтобы завершить сеанс ssh и выйти из системы ol-server во втором окне терминала.

    • В этом примере используется PID 29957.
    • Ваш PID может отличаться от представленной команды.
    • Обратите внимание, что вы вышли из системы ol-server во втором окне терминала
     убить 29957
     
  13. Выполните следующие команды kill -l (параметр списка), чтобы определить имена и значения сигналов.

     убить -l 9
    убить - я убить
    убить -l 15
    убить -l срок
     

    Примечание: значение сигнала 9, имя сигнала — KILL, а для сигнала с именем kill значение сигнала — 9. Для значения сигнала 15 имя сигнала — TERM, а для термина имени сигнала значение сигнала — 15.

  14. В окне терминала введите команду sleep и установите ее в фоновом режиме.

     спать 600 &
     
  15. Используйте команду ps , чтобы определить процесс оболочки bash, запущенный в этом окне.

  16. Во втором терминале подключитесь по ssh к системе ol-server.

     ssh oracle@
     
  17. Во втором окне терминала отобразите дерево процессов и укажите PID процесса sleep , запущенного в первом окне терминала, в качестве аргумента, используя команду pstree -p .

    • В этом примере используется PID 1252.
    • Ваш PID может отличаться от представленной команды.
     pstree -p 1252
     
  18. Во втором окне терминала закройте первое окно терминала с помощью 9Команда 0055 kill с PID оболочки bash.

     убить -9 1252
     
  19. В первом окне терминала введите команду ps и обратите внимание, что процесс sleep 600 был остановлен.

Документация по Oracle Linux 8
Документация по Oracle Linux 9
Обучение Oracle Linux
Учебная станция Oracle Linux

Дополнительные учебные ресурсы

Ознакомьтесь с другими практическими занятиями на странице docs.oracle.com/learn или получите доступ к дополнительным бесплатным учебным материалам на канале Oracle Learning YouTube. Кроме того, посетите http://education.oracle.com/learning-explorer/, чтобы стать исследователем обучения Oracle.

Для получения документации по продукту посетите Справочный центр Oracle.


Информация о названии и авторских правах

Основы командной строки Linux | Центр суперкомпьютеров Огайо

 

Описание

В этом учебном пособии вы узнаете о командной строке Linux и покажете некоторые полезные команды. Здесь также показано, как получить помощь в Linux с помощью команд man и apropos .

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

https://www.learnenough.com/command-line-tutorial

https://cvw.cac.cornell.edu/Linux/

http://www.ee.surrey.ac.uk/Teaching /Unix/

https://www.udacity.com/course/linux-command-line-basics—ud595

 

Более продвинутый:

http://moo.nac.uci.edu/~hjm /How_Programs_Work_On_Linux.html

Предварительные условия

Нет.

Введение

Unix — это операционная система, которая поставляется с несколькими прикладными программами. Другими примерами операционных систем являются Microsoft Windows, Apple OS и Android от Google. Операционная система — это программа, работающая на компьютере (или смартфоне), которая позволяет пользователю взаимодействовать с машиной — управлять файлами и папками, выполнять запросы и запускать приложения. В графических операционных системах, таких как Windows, вы взаимодействуете с машиной в основном с помощью мыши. Вы нажимаете на значки или делаете выбор в меню. Unix, который работает на кластерах OSC, предоставляет вам интерфейс командной строки. То есть, вы сообщаете операционной системе, что вы хотите сделать, вводя команду в приглашении и нажимая клавишу возврата. Чтобы создать новую папку, введите мкдир . Чтобы скопировать файл из одной папки в другую, введите cp . И чтобы запустить прикладную программу, скажем, редактор emacs , вы вводите имя приложения. Хотя это может показаться старомодным, вы обнаружите, что как только вы освоите некоторые простые концепции и команды, вы сможете эффективно делать то, что вам нужно, и что у вас достаточно гибкости, чтобы настраивать процессы, которые вы используете в кластерах OSC, в соответствии с вашими потребностями. потребности.

Общие задачи в кластерах OSC

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

Ядро и оболочка

Unix можно представить как состоящую из двух частей — ядра и оболочки . Ядро — это неотъемлемая часть операционной системы Unix — основное программное обеспечение, работающее на машине и выполняющее инфраструктурные задачи, например, обеспечивающее одновременную работу нескольких пользователей. Вам не нужно ничего знать о ядре для целей этого руководства. Оболочка — это программа, которая интерпретирует команды, которые вы вводите в командной строке. Существует несколько разновидностей оболочек Unix: Bourne, Korn, Cshell, TCshell и Bash. Есть некоторые различия в том, как вы делаете что-то в разных оболочках, но они не существенны и не должны отображаться в этом руководстве. Однако для простоты в этом руководстве предполагается, что вы используете оболочку Bash. Это оболочка по умолчанию для пользователей OSC. Если вы не сделаете что-то, чтобы изменить это, вы будете запускать оболочку Bash при входе в Owens или Pitzer.

Командная строка

Первое, что вам нужно сделать, это войти в один из кластеров OSC, Owens или Pitzer. Если вы не знаете, как это сделать, вы можете найти помощь на домашней странице OSC. Если вы подключаетесь из системы Windows, вам необходимо загрузить и настроить стартовый комплект OSC, который вы можете найти здесь. Если вы подключаетесь из системы Mac или Linux, вы будете использовать ssh. Чтобы получить дополнительную информацию об использовании ssh, перейдите на домашнюю страницу OSC, наведите курсор на меню «Суперкомпьютеры» в основной синей строке меню и выберите «Часто задаваемые вопросы». Это должно помочь вам начать работу. После того, как вы вошли в систему, найдите последнее, что отображается в окне терминала. Должно быть что-то вроде

-bash-3.2$ 

с блочным курсором после него. Это командная строка — здесь вы увидите, что команды, которые вы вводите, отображаются на экране. В этом уроке мы будем сокращать командную строку только знаком доллара — $. Первое, что вам нужно знать, это как выйти из системы. Вы можете выйти из кластера, набрав « exit », а затем нажав клавишу в командной строке:

$ exit  

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

Первые простые команды

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

$ дата
$ кал
$ палец
$ кто
$ кто
$ finger -l 

Эта последняя команда представляет собой палец, за которым следует пробел, знак минус и строчная буква L. Очевидно ли, что делают эти команды? Вскоре вы узнаете, как получить информацию о том, что делает каждая команда, и как вы можете изменить ее поведение. Вы должны заметить разницу между » finger » и » finger -l » — эти две команды делают похожие вещи (они предоставляют информацию о пользователях, вошедших в систему), но они выводят информацию в разных форматах. Попробуйте две команды.

man

Команда » man » позволяет узнать информацию о том, что введите следующую команду:

$ man 

Это своего рода хитроумный ответ, который вы получите в ответ, но, по крайней мере, вы узнаете, что « man » является сокращением от «manual» и что цель состоит в том, чтобы напечатать страницу руководства для команды. Прежде чем мы начнем рассматривать справочные страницы, вам нужно кое-что узнать о том, как Unix их отображает. Он не просто распечатывает страницу руководства и возвращает вас в командную строку — он переводит вас в режим интерактивного просмотра страницы руководства. Внизу страницы вы должны увидеть двоеточие (:) вместо обычной командной строки (-bash-3. 2$). Вы можете перемещаться по справочной странице, вводя слова через двоеточие. Чтобы выйти из справочной страницы, вам нужно ввести «q», а затем . Так что попробуйте сначала. Тип

$ man finger 

затем в двоеточии справочной страницы введите

: q 

Вам не нужно набирать после «q» (это отличается от приглашения оболочки). Теперь вы должны вернуться к приглашению оболочки. Теперь давайте немного пройдемся по справочной странице. Еще раз введите

$ man finger 

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

Первое, что вы видите, это раздел с заголовком «ИМЯ», в котором отображается имя команды и краткое описание того, что она делает. Затем есть раздел под названием «СИНТАКСИС», в котором показан синтаксис команды. В этом случае вы должны увидеть

СИНТАКСИС
     finger [-lmsp] [  user   ...  ] [  user@host   ...  ] 

Помните, как « finger » и « finger -l » давали разные результаты? [-lmsp] сообщает вам, что вы можете использовать одну из этих четырех букв в качестве опции команды, т. е. как способ изменить способ работы команды. В разделе «ОПИСАНИЕ» страницы руководства вы увидите более подробное описание команды и объяснение параметров. Все, что показано в описании команды и заключено в квадратные скобки ([ ]), является необязательным. Вот почему можно ввести «палец» без опций и без пользователя. А как насчет «пользователя» — что это такое? Чтобы узнать, что это значит, выйдите из справочной страницы и введите в командной строке следующее:

$ whoami 

Допустим, ваше имя пользователя osu0000. Тогда результатом команды « whoami » будет osu0000. Теперь введите следующую команду (но замените osu0000 своим именем пользователя):

.
$ finger osu0000 

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

 

$ палец -l osu0000
$ палец -lp osu0000
$ finger -s osu0000 osu0001 

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

Обратите внимание, что команда unix состоит из трех частей:

  • команда
  • опция(и)
  • аргумент(ы)

Вам не обязательно вводить аргумент (как вы видели с командой «finger»), но иногда команда не имеет смысла без аргумента, поэтому вы должны ввести его — вы видели это с командой «man». Попробуйте ввести

$ man man 

и бегло взглянув на результат. Следует обратить внимание на синопсис: существует множество возможных вариантов команды «man», но последнее, что показано в синопсисе команды, это « name   » — обратите внимание, что «name» не заключено в квадратные скобки. Это потому, что это необязательно — вы должны ввести хотя бы одно имя. Что произойдет, если вы введете два имени?

$ man man finger 

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

Объединение команд

Вы можете «направить» вывод одной команды в другую Сначала давайте узнаем о команде « more »: используется для прокрутки текста, который не помещается на одном экране. Также рекомендуется, чтобы » 9Команда 0055 less » более мощная. Итак, давайте узнаем о команде » less «:

$ man less 

Из описания видно, что « less » также позволяет просматривать текст по одному экрану за раз. Это звучит знакомо? Команда «man» фактически использует команду «less» для отображения своего вывода. Но вы можете сами использовать команду « меньше ». Если у вас есть длинный текстовый файл с именем «foo.txt», вы можете ввести

.
$ меньше foo.txt 

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

$ палец | меньше 

Это « палец », за которым следует пробел, за которым следует вертикальная черта (сдвинутая обратная косая черта на большинстве клавиатур), за которым следует пробел, за которым следует « меньше », за которым следует . Теперь вы должны посмотреть на вывод » finger » в интерактивном режиме, точно так же, как вы просматривали справочные страницы. Помните, что для прокрутки используйте клавиши со стрелками, клавиши и , клавишу или клавишу пробела; и чтобы выйти, введите » q «.

Теперь попробуйте следующее (но не забудьте заменить «osu0000» на ваше фактическое имя пользователя):

$ палец | grep osu0000 

Команда « grep » — это команда Unix для поиска. Здесь вы говорите Unix искать вывод » finger «команда для текста «osu0000» (или любое другое имя пользователя.)

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

$ кто | палец 

Вы видите, что он не дает того же результата, что и

$ finger osu0000 

(при условии, что « whoami » возвращает osu0000.