- Как посмотреть все папки linux
- Команды управления файлами и папками в Linux
- Перемещение в директориях Linux
- Просмотр файлов и папок в Linux
- Создание папок в Linux
- Удаление файлов и папок
- Ошибка папки при удалении в Linux
- Удалить всё внутри папки
- Удаление файлов из директории Linux без удаления самой папки
- Удалить все файлы кроме одного конкретного файла
- Управление файлами в Linux
- Поиск файлов
- Замена текста и данных в файлах Linux
- Как прервать выполнение команды
- Основные команды Linux-терминала
- Содержание
- Навигация в системе
- Как узнать текущую папку
- Как узнать что хранится в папке
- Как перейти в другую папку
- Как вернуться назад, в исходную папку
- Как перейти наверх, в родительскую папку
- Как найти файл или папку по имени
- Как найти файл по его содержимому
- Работа с файлами и папками
- Как создать папку
- Как создать файл
- Как вывести содержимое файла
- Как редактировать файл
- Как скопировать файл
- Как скопировать папку
- Как перенести файл
- Как перенести папку
- Как удалить файл
- Как удалить папку
- Система и утилиты
- Как посмотреть инструкцию к команде прямо в терминале
- Как посмотреть историю команд
- Как посмотреть все запущенные процессы
- Как завершить процесс принудительно
- Как узнать версию и разрядность Linux
- Информация о сети
- Как узнать внешний IP-адрес
- Как узнать локальный IP-адрес
Как посмотреть все папки linux
Чтобы просмотреть содержимое подкаталога `work’ в текущем каталоге, введите:
Чтобы просмотреть содержимое каталога `/usr/doc’, введите:
$ ls /usr/doc [Enter]
Из листинга по умолчанию Вы не сможете отличить каталоги и исполняемые файлы от обычных. Используйте ключ `-F’, который заставит ls поместить символ `/’ после имен подкаталогов и символ `*’ после имен исполняемых файлов:
В этом примере текущий рабочий каталог содержит исполняемый файл `repeat’, каталог `words’, и несколько файлов других типов `test1′ и `test2′.
Еще один способ просмотра содержимого каталогов — использование «менеджера файлов» , которых для Linux создано достаточно много; наиболее популярным является «Midnight Commander» или mc.
Чтобы вывести более подробный листинг каталога, используйте ls с ключом `-l’ («long»). Листинг будет содержать размер каждого файла в байтах, время последней модификации, тип файла, имя владельца и права доступа.
Для вывода подробной информации о каталоге `/usr/doc/bash’, введите: Первая строка содержит информацию о полном объеме занимаемого каталогом дискового пространства в блоках по 1024 байта (в данном случае 72). Каждая последующая строка содержит несколько колонок с информацией о каждом файле.
Первая колонка указывает тип файла и права доступа к нему. Первый символ в этой колонке определяет тип файла; тире (`-‘) означает обычный файл (по умолчанию). Каталоги обозначаются буквой `d’, а символические ссылки — буквой `l’. Остальные девять символов в первой колонке указывают права доступа к файлу. Вторая колонка указывает количество жестких ссылов на файл. Третья и четвертая колонки указывают пользователя и группу, которые владеют этим файлом. Пятая колонка содержит размер файла в байтах, шестая — время и дату последней модификации файла, а в последней колонке указано имя файла, к которому относится информация.
Чтобы просмотреть каталог рекурсивно, то есть со всеми содержащимися в нем подкаталогами, используйте опцию `-R’. Например, для текущего каталога введите: В данном примере текущий рабочий каталог содержит два подкаталога, `work’ и `play’, но не содержит файлов. Каждый из подкаталогов содержит файл `notes’.
Чтобы вывести полное оглавление все файловой системы, наберите:
Обычно этот ключ комбинируют с опцией `-l’, чтобы вывести наиболее полный листинг файлов системы:
Примечание: Некоторые каталоги могут не попасть в листинг, если у Вас нет права доступа к ним.
Чтобы отсортировать список файлов в каталоге по времени создания или модификации, используйте опцию `-t’. Например, чтобы вывести список файлов в каталоге `/usr/tmp’, чтобы самые новые файлы были вверху списка, введите:
$ ls -t /usr/tmp [Enter]
По умолчанию, ls не выводит имена файлов, начинающиеся с символа «точка» (`.’). Чтобы уменьшить листинг, многие приложения «скрывают» файлы конфигурации в Вашем домашнем каталоге, присваивая им имена, начинающиеся с точки; они называются dot-файлы, или «скрытые» . Каждый каталог имеет два специальных dot-файла: `..’ — родительский каталог и `.’ — сам этот каталог.
Чтобы увидеть все файлы в каталоге, включая скрытые, используйте опцию `-a’. Например, для текущего каталога:
Чтобы увидеть все файлы, исключая специальные `..’ и `.’, используйте опцию `’-A:
Чтобы увидеть цветной листинг каталога, используйте ls с ключом `—color’ ; тогда все имена файлов будут выведены разными цветами, в зависимости от их содержания. По умолчанию каталоги выводятся синим, текстовые файлы — белым, исполняемые — зеленым и т.д.
Примечание: Обычно для команды `ls -color’ создается псевдоним `ls’, так что листинг выводится в цвете по умолчанию.
Для того, чтобы вывести граф иерархии каталогов, используйте утилиту tree. Например, для вывода дерева каталогов, начиная с текущего, наберите:
В этом примере выводится дерево каталогов, в котором текущий каталог содержит два подкаталога `projects’ и `trip’; а каталог `projects’, в свою очередь, содержит подкаталоги `current’ и `old’.
Чтобы вывести дерево каталогов для определенного каталога, укажите его имя в качестве аргумента tree. Например, для Вашего домашнего каталога, введите:
Чтобы вывести дерево каталогов, в котором будут присутствовать только имена каталогов, используйте опцию `-d’. Это полезно при выводе полного дерева каталогов системы:
$ tree -d / > tree [Enter]
Команда ls имеет много опций для управления листингом и отображаемой информацией о файлах; приведенная таблица описывает некоторые из них.
Опция | Описание |
—color | Вывод имен файлов в цвете, в зависимости от их типа. |
-R | Рекурсивный список файлов. |
-a | Вывод всех файлов, включая скрытые. |
-d | Вывод только имен каталогов, без промсмотра их содержимого. |
-f | Вывод содержимого каталога в том порядке, в котором оно записано на диск. |
-l | Подробный листинг. |
-r | Сортировка содержимого каталога в обратном порядке. |
-s | Вывод размера — в блоках по 1K — для каждого файла. |
-t | Сортировка по времени создания или модификации файла. |
Примечание: Вы можете комбинировать опции в любом порядке; например, чтобы вывести список файлов, отсортированный по времени, со всеми атрибутами, введите `-lt’. Чтобы рекурсивно отобразить все скрытые файлы и их атрибуты, используйте `-lRa’. Порядок опций не имеет значения, так что `-lRa’ означает то же самое, что и `-alR’.
Next: Копирование файлов и каталогов Up: Работа с файлами Previous: Перемещение по каталогам Contents Index Alex Otwagin 2002-12-16
Источник
Команды управления файлами и папками в Linux
Список полезные команд для управления папками в Linux системах. Рекомендации подходят в том числе и для операционной системы Mac OS.
Ниже приводится список команд для выполнения наиболее часто встречающихся задач.
Перемещение в директориях Linux
Перейти в корневую папку диска:
Перейти в конкретную папку:
/home/folder — то место куда следует перейти
Посмотреть всё что внутри папки (посмотреть права):
Как установить редактор Midnight Commander
Для запуска редактора ввести:
Просмотр файлов и папок в Linux
Более точная и подробная статья по поиску занятого места на диске.
Проверяем свободное место на всём диске:
Узнаём какие файлы хранятся в директории
Список папок с занимаемыми размерами в корне сервера (сортировка директорий по алфавиту):
Выводит список директорий и файлов построчно, сортируя их по возрастанию размера, а также показывает права доступа, размер файлов и дату изменения:
Показывает размер и имена директорий и файлов (сортировка по размеру). В примере сортировка по размеру директории var.
Ещё одна команда (показывает в мб) сортирует по размеру (в данном случае сортировка каталога с логами):
Создание папок в Linux
Создать папку с названием folder:
Удаление файлов и папок
Обычное удаление файла:
Если с помощью обычного rm попробовать удалить папку в которой находятся файлы, появится ошибка. Для удаление папок используем другую команду:
Добавляем атрибут -p для удаление пустых папок по всему пути. Будут удалены все три папки указанные ниже, если они не содержат файлов:
Ошибка папки при удалении в Linux
Иногда при удалении папки в Linux пишется ошибка:
При этом зайти в неё тоже не удаётся, пишется ровно противоположное:
Также встречаются ошибки:
Удалить эту капризную папку (без предупреждений) поможет следующая команда:
где
-r – команда пройтись по всем папкам и файлам и попытаться удалить каждую из них
-f – удалить без подтверждения
Удалить всё внутри папки
Зайти внутрь папки:
Удалить все в этой папке:
Удаление файлов из директории Linux без удаления самой папки
Удаляем всё содержимое из папки files, которая находится по этому пути – /home/user/files/. Специальные ключи в команде ускоряют удаление содержимого с минимальной нагрузкой на сервер.
Удалить все файлы кроме одного конкретного файла
Удалит все файлы, кроме одного. Эта команда не удаляет папки.
Управление файлами в Linux
Создание пустого файла
Просмотр содержимого файла:
где /etc/file.php — путь к файлу.
Для редактирования файлов должен быть установлен редактор nano.
^ Находиться надо в родительской категории, где есть папки otkuda и kuda.
Копировании папки в текущей директории:
Назначаем права доступа:
Поиск файлов
Есть 2 основные команды для поиска файлов, это find и locate:
-name «имя файла» -print
Минус перед словом name означает, что не нужно выводить на экран всю процедуру поиска.
Замена текста и данных в файлах Linux
Для взаимодействия с текстом внутри файлов есть команда sed. Команд множество, но чаще всего может понадобится команда по замене определенного текста в конкретном файле.
Заменяет в файле file.txt все слова «odin» на слова «dva».
Иногда требуется раскомментировать какую-то строчку в файле и для этого не обязательно открывать файл и редактировать его. Достаточно знать данные в нём, которые нужно раскомментировать.
где «^» — означает начало строки, # — символ, отвечающий за разрешение/запрещение чтения команд определенного языка программирования в выполняющем для этого файле.
Как прервать выполнение команды
Когда вы запустили команду в терминале и хотите её прервать достаточно нажать:
Источник
Основные команды Linux-терминала
При знакомстве с Linux удобно иметь под рукой небольшой справочник основных команд. Новичкам будет полезно в тех случаях, когда нет возможности сделать что-либо через привычный файловый менеджер или при первых подключениях к серверу по SSH, а также для понимания того, что в некоторых случаях проще всего использовать именно терминал, вместо файлового менеджера.
Основные команды Linux-терминала поделены на несколько разделов, ниже содержание, откуда вы можете перейти в любой раздел статьи.
Содержание
Навигация в системе
Как узнать текущую папку
Иногда в терминале не показывается в какой именно папке находится пользователь и требуется выяснить исходную точку для дальнейших движений. Узнать «где я?» можно командой pwd :
Пример в терминале:
Данный вывод показывает, что мы находимся в домашней папке /home/uxumax
Как узнать что хранится в папке
Теперь, когда мы выяснили в какой папке находимся, посмотрим содержимое этой папки. Это делается при помощи команды ls :
Предварительно для примера в этой папке было создано 10 тестовых файлов и с ними вывод команды ls в терминале выглядит так:
По-умолчанию выводится в одну строку. Чтобы получить вывод списком, нужно добавить опцию -l
С опцией -l мы получаем более информативный вывод, где
- -rw-r—r— — права на файл, которые говорят, что редактировать может только владелец, а остальные все только читать
- uxumax uxumax — владелец файла и группа
- 0 — вес файла в байтах, то есть все тестовые файлы пустые и не содержат никакого текста
- Sep 8 10:50 — дата создания файла
- file-* — имя файла, последний «столбец»
Но опция -l не выводит скрытые файлы. Для того, чтобы увидеть в списке и их тоже, нужно добавить к ней букву A :
И увидим полный вывод, со всеми скрытыми файлами, без «недосказанностей»:
Как видно, в списке теперь появились скрытые файлы и папки: .bash_history, .bash_logout , .bashrc , .profile . Теперь нам видно все и ничего от нас не утаить.
Как перейти в другую папку
Предварительно для примера в исходной точке (домашняя папка) была создана папка test-folder . В нее мы и будем переходить. Для начала проверим ее наличие командой ls
Папка есть. Теперь попробуем зайти в нее. Для этого используется команда cd и формулируется в следующем виде:
Так как папка находится в том месте, где находимся мы, то не обязательно вводить полный путь, достаточно просто указать ее имя. В примерах мы будем использовать команду pwd , чтобы узнавать где мы находимся и куда нас перенесло.
Можно указать конкретно, что нас интересует только та папка, в которой мы на данный момент находимся. Для этого нужно добавить ./ перед папкой, в которую мы хотим перейти. В некоторых случаях без этого терминал нас не поймет, но в данном примере разницы нет.
Также в некоторых случаях следует указать полный путь до папки, то есть прямо из корня файловой системы, начиная с / . В этом случае не важно в какой папке мы сейчас находимся, если ввести абсолютный путь (полный, от корня), то нас перенесет туда из любого места.
Например, мы находились в папке Downloads , которая находится в домашней папке пользователя. По абсолютному пути мы можем перейти в папку test-folder прямо оттуда.
Как вернуться назад, в исходную папку
Представим ситуацию, когда из /первый/длинный/путь/до/одной/папки мы перешли во /второй/длинный/путь/до/другой/папки , сделали свои дела и нам нужно вернуться обратно туда, откуда мы перешли. Мы можем снова прописать длинный абсолютный путь, чтобы вернуться, но это довольно утомительно. В этой ситуации гораздо проще воспользоваться опцией back, для этого достаточно добавить — , к команде cd , не указывая никаких путей.
Ниже пример в терминале, где мы также используем команду pwd , для того, чтобы проверить где мы в данный момент находимся. В этом примере изначально мы находились в папке /home/uxumax/Downloads , затем перешли в /home/uxumax/test-folder и вернулись обратно с помощью команды cd — .
Как перейти наверх, в родительскую папку
Теперь представим другую ситуацию, когда нам нужно перейти не назад, а перейти вверх по дереву папок. То есть в родительскую папку. Допустим мы находимся в папке потомок, которая лежит в папке предок. То есть наше местоположение /путь/до/предок/потомок . Чтобы перейти вверх от потомка к предку, нужно добавить две точки .. к команде cd .
Теперь попробуем использовать в реальном примере, где мы находимся в папке /home/uxumax/test-folder . Нам нужно подняться вверх до родительской папки /home/uxumax/ . Все также используем команду pwd , чтобы проверить текущее местоположение.
Как видно, все предельно просто. Поэтому предлагаю не останавливаться на достигнутом и использовать это более продвинутым образом.
Представим ситуацию, где мы также находимся в папке /home/uxumax/test-folder и нам нужно перейти в папку /home/uxumax/Downloads . Мы можем прописать длинный абсолютный путь, а можем вместо этого воспользоваться .. , которая в данном случае заменяет путь /home/uxumax, то есть является синонимом родительской папки.
Другими словами, если мы находимся в папке /путь/до/предок/потомок_1 , то мы можем использовать ../потомок_2 , вместо длинного варианта /путь/до/предок/потомок_2 . Вот так это выглядит в терминале:
Как найти файл или папку по имени
Чтобы найти нужный файл или папку в линукс-терминале, нужно использовать команду find. Формулировать поисковую команду довольно просто:
find /путь/до/папки/в/которой/искать/ -iname » точное имя файла «
Если мы не знаем точное имя файла, то тут на помощь придут звездочки * , которые означают любые символы в любом количестве. Например, файл, который мы хотим найти называется nemo-fisher.txt , а мы помним лишь только то, что его название содержит слово «fish».
Тогда заключим слово fish в звездочки и желательно обернуть дополнительно в кавычки, то есть это будет выглядеть вот так:
В данном случае мы в своей домашней папке (которая обозначается
/ ) ищем файл, название которого содержит слово «fish». Звездочки в данном примере заменяют первую часть слова «nemo-» и его последнюю часть «er.txt»: nemo- fish er.txt
В терминале вот так выдаются результаты:
В результатах примера выше мы видим, что в папке под именем place/ , нашлось два файла и одна папка. Среди них есть файл, который мы искали nemo-fisher.txt , а другие два попали в результаты потому, что он тоже содержат слово fish в названии:
/home/uxumax/place/nemo- fish er.txt
/home/uxumax/place/blow fish
/home/uxumax/place/ fish ki.jpg
Если убрать звездочку спереди «fish*» , то вывод будет содержать только один файл, который начинается на это слово:
/home/uxumax/place/ fish ki.jpg
А если убрать звездочку в конце слова, то найдется только папка blowfish , потому что ее название заканчивается на «fish»:
По этим примерам можно понять принцип работы звездочек в запросе. Их задача заменить те символы, которые мы не знаем.
Как найти файл по его содержимому
Поиск по содержимому файла также может быть очень полезен в тех случаях, когда мы не помним название, но точно знаем, что файл содержит какой-то конкретный текст.
Представим, что нам нужно найти файл, который содержит слово «orange». С этим нам поможет мощный инструмент grep и его 4 опции: -R , -I , -n , -i . Их можно ввести в таком виде -RIni вместе, что куда проще, чем перед каждой опцией ставить пробел и минус — . И в конце добавить путь, где именно нужно искать по содержимому.
grep -RIni «искомое содержимое» /путь/до/папки/где/искать/
Не будем углубляться что значит каждая из 4 опций, это можно сделать, почитав документацию к утилите grep. Новичкам пока достаточно запомнить комбинацию опций и обратить внимание, что в них содержится как маленькая i , так и большая I , что очень важно. Вообще обязательно вводить именно в таком виде, где R , I — большие, и n , i -маленькие. В целом это запомнить довольно не сложно.
Итак, формулируем команду для поиска файла в домашней папке
/ , который содержит текст «orange»:
Вид из терминала:
Терминал в ответ выдал нам список путей к файлам, которые содержат текст «orange». Обратите внимание, что выдача результатов поиска разделена символом : на три части:
/путь/до/файла : номер строки : строка с найденным словом
По этой выдаче можно понять, какой из этих файлов мы ищем и существует ли он вообще.
Работа с файлами и папками
Как создать папку
Создать папку в терминале линукс можно с помощью команды mkdir , название которой происходит от «make directory». Шаблон команды предельно прост:
Для начала просто создадим папку test_dir
Если требуется создать несколько папок, то просто перечислите их названия после mkdir, разделяя обычными пробелами
Если названия папок однотипны и, например, различаются лишь последней цифрой, то можно сформулировать команду создания нескольких папок в более коротком виде:
В фигурных скобках <> мы через запятую перечисляем варианты названий папок и результат команды будет полностью идентичен предыдущему примеру.
Также вместо перечисления всех вариантов, можно указать числовой диапазон, разделяя двумя точками в таком виде:
Иногда требуется создать сразу дерево папок, например папка_предок/папка_потомок_1/папка_потомок_2 . Это тоже предусмотрено в команде mdkir , достаточно к ней добавить опцию -p .
Тем самым мы получаем удобную возможность одной командой создавать нужное нам дерево папок.
Как создать файл
В отличии от создания папки, существует бесчисленное количество способов создать файл в линукс. В данном примере мы разберем только самые визуально простые способы, которые не трудно запомнить.
Начнем с команды touch . Шаблон команды создания файла при помощи этой утилиты такой:
Создадим с ее помощью пустой файл с именем file_name
Если требуется создать несколько файлов, то просто перечислите их названия после touch, разделяя обычными пробелами
Если названия файлов однотипны и, например, различаются лишь последней цифрой, то можно сформулировать команду создания нескольких файлов в более коротком виде:
В фигурных скобках <> мы через запятую перечисляем варианты названий файлов и результат команды будет полностью идентичен предыдущему примеру.
Также вместо перечисления всех вариантов, можно указать числовой диапазон, разделяя двумя точками в таком виде:
Помимо touch , также можно воспользоваться символом > , который отвечает за запись файлов. Если файла не существует, то он создается. Приведем пример создания пустого файла с именем file_name :
Если необходимо создать файл сразу с текстом, то перед > нужно ввести команду echo и сам текст. То есть это должно выглядеть так echo «текст файла» > имя_файла
Таким образом получаем файл file_name , с текстом «file’s text».
Как вывести содержимое файла
Допустим у нас есть файл с именем file_name и необходимо прочитать прочитать его содержимое, не открывая никаких текстовых редакторов. Для этого есть отличный инструмент cat , а шаблон команды такой:
С помощью этого шаблона формулируем команду для нашего примера. В нашем случае файл находится там же, где и мы, поэтому нет нужды прописывать полный путь
В ответ получим содержимое файла «file’s text». Вот так это выглядит в терминале:
Как редактировать файл
Одним из самых простых способов редактировать файл через терминал является использовать консольный редактор nano. Он больше всего подходит для новичков, так как довольно прост, относительно других консольных редакторов. Для начала проверим установлен ли он командой:
И если получим вывод, где указана версия утилиты и прочая информация, значит nano установлен:
Если в ответ вы получите сообщение, что команда не найдена…
Значит утилиту нужно установить. Это можно сделать с помощью этой команды sudo apt-get install nano или этой sudo yum install nano , зависит от вашего дистрибутива линукс.
И так, nano установлен.
Далее, используя знания из прошлого раздела, создадим файл с именем text_file и содержимым «file’s text here».
Теперь откроем наш текстовый файл.
После чего прямо в терминале должно открыться содержимое файла.
После белой полосы, в которой указана версия nano и имя файла, располагается его содержимое.
Первое что стоит осознать — это то, что мышка здесь здесь не работает. Вы можете нажать правой кнопкой мыши и вставить текст из буфера обмена, но навести курсор мышкой на нужное место в тексте скорее всего не сможете.
Здесь это делается клавишами ↑ Вверх, ↓ Вниз, ← Влево, → Вправо. Попробуем передвинуть курсор на место перед словом here и нажать Enter, чтобы сбросить его на следующую строку.
Затем передвинем курсор на конец слова here , нажмем пробел и введем что-нибудь, например second line . После чего снова нажмем Enter и введем other line . В итоге у нас должно получиться вот так:
А в самом низу мы видим шпаргалку, в которой перечислены основные горячие клавиши управления утилитой, где ^ обычно означает клавишу Ctrl.
Это значит, что например подсказка ^O Write out говорит, что для записи файла нужно нажать комбинацию Ctrl + O (англ буква «О») .
Далее, после записи закроем файл. Для этого снова смотрим вниз и находим подсказку ^X Exit , которая говорит нам, что для выхода нужно нажать Ctrl + X.
Напоследок следует сказать о такой полезной штуке, как поиск по содержимому файла. Чтобы вызвать поле поиска, нужно нажать Ctrl + W, как это видно в подсказке. После чего, внизу появится поле Search: , где нужно ввести поисковую фразу, для примера введем слово line :
После чего курсор сдвинется на начало ближайшего слова line .
Чтобы проверить, если ли еще слово line в этом файле, нужно нажать Alt + W. В нашем примере после этого курсор сдвинется на второе слово.
Нажмите Alt + W еще раз, и появится сообщение [ Search Wrapped ] , что говорит нам, что данные слова закончились в файле.
Если вы нажали Ctrl + W и передумали что-либо искать, нажмите Ctrl + C для отмены, что также указано в подсказке при вызове поля поиска.
Более подробно ознакомиться с утилитой nano можно здесь.
Как скопировать файл
Для копирования файлов в линукс используется короткая команда cp , что представляет собой сокращение слова «copy». Пользоваться ей очень просто. Представим, что у нас есть файл с именем dolly
Попробуем создать копию этого файла. Для этого нужно ввести команду cp со следующей конструкцией:
cp /путь/до/файла /путь/до/копии_файла
Теперь по этому шаблону скопируем файл dolly . Нам не нужно указывать полный путь, т.к. в примере мы уже находимся в той папке, в которой лежит этот файл.
Проверим что у нас получилось:
В результате у нас 2 файла: dolly и его копия dolly_clone .
Как скопировать папку
Копирование папок схож с копированием файлов. Так же можно использовать команду cp , но тут следует добавлять некоторые опции к команде:
- -r — для того, чтобы вместе с папкой сохранить ее содержимое
- -a — для того, чтобы сохранить все атрибуты файлов при копировании
- -v — если вы хотите увидеть весь процесс копирования
Исходя из этого, если мы хотим полностью скопировать папку со всеми файлами и атрибутами, а также хотим наблюдать процесс, то наша команда должна иметь такой вид:
cp -rav /путь/до/исходной/папки /путь/для/копии/папки
Допустим у нас есть папка dolly_family и несколько файлов dolly внутри нее.
Чтобы скопировать ее, формулируем следующую команду:
В целом у нас должно выглядеть примерно так
Проверим нашу копию dolly_family_clone.
Как видно, теперь у нас две папки с одинаковым содержимым и понимание как копировать папки.
Как перенести файл
Для переноса файлов в линукс используется команда mv , которая является сокращением от слова «move». Принцип переноса файлов очень схож с копированием и имеет такой вид:
mv /путь/до/файла /путь/куда/перенести/файл/
Допустим у нас есть файл под именем migrant и папка под именем place :
Теперь перенесем файл migrant в папку place :
И посмотрим что у нас получилось. Сначала убедимся, что файла migrant больше нет в этом месте, а затем посмотрим содержимое папки place , куда «мигрировал» наш файл.
Как перенести папку
Принцип переноса немного отличается от копирования. В этом случае опции -a и -r не требуется. Можно добавить опцию -v , чтобы наблюдать за процессом переноса. А также следует добавлять / в конце пути к исходной папке и пути куда ее положить. То есть команда должна иметь следующий вид:
mv -v /путь/до/папки/ /путь/куда/ее/перенести/
Допустим у нас есть пустая папка place и папка migrant_family с десятью файлами внутри:
Формулируем команду переноса папки migrant_family в папку place .
Теперь проверим что у нас получилось. Для начала убедимся, исчезла ли папка из текущего местоположения. Потом проверим содержимое place/ и place/migrant_family/
Выводы ls сообщают нам о том, что папка migrant_family/ успешно перебралась в папку place/ вместе со всем содержимым.
Как удалить файл
После того, как мы наделали дел, неплохо было бы за собой убраться и удалить все ненужные файлы. Для этого используется короткая команда rm , после которой перечисляются объекты, которые нужно удалить.
Допустим у нас есть файлы dolly и dolly_clone .
Попробуем удалить эти файлы и запасемся баранины впрок. Шаблон команды такой
Способ 1
Мы можем удалить сначала dolly, потом dolly_clone таким образом:
Способ 2
А можем уместить все в одну команду, перечислив через пробел файлы для удаления после rm:
Способ 3
Также есть еще одна интересная хитрость, мы можем поставить сразу после слова dolly , звездочку * , то есть выразить команду в таком виде:
Тем самым мы указываем команде rm, что нужно удалить те файлы, названия которых начинаются на dolly . В некоторых случаях это намного удобнее, чем прописывать название каждого файла.
Как удалить папку
Удаление папок можно также делать при помощи команды rm , но следует добавить несколько опций, чтобы команда выполнилась успешно:
- -f — игнорирует несуществующие файлы, а также не выводит запросы на подтверждение удаления
- -r — удаляет содержимое папки, перед ее удалением
То есть наша команда должна выглядеть вот так:
rm -rf /путь/до/папки
Представим, что у нас есть папка dolly_family , в которой лежат 10 файлов.
Чтобы удалить ее вместе со всем содержимым, формулируем следующую команду:
Система и утилиты
Как посмотреть инструкцию к команде прямо в терминале
Почти к каждой линукс утилите прикладывается help-информация, по которой вы можете понять как правильно использовать утилиту и ее опции.
Документацию к использованию утилиты можно получить таким образом:
Посмотрим на примере команды ls :
И прямо в терминале, не открывая никаких дополнительных текстовых редакторов, будет вывод документации.
help + grep
В некоторых случаях не требуется выводить полную документацию, а лишь одну ее строчку, где рассказывается о какой-то конкретной опции. Для этого к команде ls —help нужно добавить разделитель | , а затем команду grep ‘поисковая фраза в документации’ .
название_утилиты —help | grep «поисковая фраза в документации»
Например, мы хотим узнать, как получить вывод ls , который будет содержать все файлы и папки, включая скрытые. Как мы знаем, по-английски слово все, значит all, тогда формулируем команду следующим образом:
И получаем в выводе только те строчки, что потенциально будут интересны для нашей задачи, что довольно упрощает работу с документацией, ведь нам не нужно напрягать глаза, чтобы найти нужные опции. К тому же мы экономим время, отсеивая из вывода с помощью grep все лишнее. Вот так это выглядит в терминале:
Как посмотреть историю команд
Бывают ситуации, когда было введено ранее много новых команд и вспомнить их правильную формулировку довольно сложно. Для того, чтобы посмотреть что и как именно было введено ранее, следует использовать команду history .
На linuxinsider уже была статья про команду history, а в этом разделе будет описано кратко самое важное.
history + tail
Если мы нет нужды выводить полную историю команд, а, например будет достаточно последние 15, то к history нужно добавить разделитель | , а затем команду tail с опцией -n и количеством последних команд, которые мы хотим увидеть.
history | tail -n количество_строк_с_конца
Итак, если мы хотим увидеть 15 последних команд, значит команда должна иметь следующий вид:
Вот так примерно это должно выглядеть в терминале:
history + grep
Если мы помним примерно из каких слов состоит команда или ее примерные опции, то можно поискать их в истории команд, что довольно удобно. Для этого к history нужно добавить разделитель | , а затем команду grep ‘поисковая фраза’ .
history | grep «поисковая фраза»
Например, если нужно посмотреть все команды с папкой по имени dolly , то комбинацию history и grep следует выразить таким образом:
И в ответ получим только те команды, в которых содержится слово dolly . Вид из терминала:
Как посмотреть все запущенные процессы
Бывают ситуации когда кулеры зашумели довольно сильно, а совсем не понятна причина такого упорства. В этом случае стоит выяснить какой процесс или программа заставляет крутиться их в полную силу.
Чтобы вывести все запущенные процессы в Linux, достаточно ввести короткую команду:
В ответ терминал выдаст нам табличку, в которой перечислены процессы, их PID (Process ID), сколько они потребляют ресурсы процессора и памяти в процентах, а также много другой полезной информации информации в режиме реального времени.
Для выхода нужно нажать Q или комбинацию Ctrl + C.
По-умолчанию, как правило, эта таблица отсортирована по потреблению ресурсов. То есть чем больше ресурсов потребляет процесс, тем выше он находится. Как видно из примера, рекордсмен по потреблению ресурсов в данном случае браузер Chrome.
Как завершить процесс принудительно
Представим ситуацию, что у нас завис браузер Chrome и не хочет отзываться. В этом случае стоит закрыть браузер принудительно. Если мы точно знаем, как называется процесс в системе, то достаточно ввести команду killall название процесса. Шаблон очень прост:
killall «точное название процесса или утилиты»
То есть, если мы хотим закрыть принудительно chrome, то делать это нужно вот так:
Если процесс существовал в момент ввода команды, то в ответ вы ничего не получите, а процесс завершится «молча».
Выясняем имя «жертвы»
Но что делать, если мы не знаем как точно называется процесс в системе, но знаем часть его названия? Тут тоже есть выход и в этом случае сначала нужно узнать либо полное название процесса, либо его PID (Process ID).
Чтобы выяснить есть ли процесс, содержащий в названии данную часть слова, который мы помним, будем использовать команду ps с опциями -A и -l . Эти опции отобразят все процессы в виде списка. Также используем команду grep через разделитель, чтобы отобразить информацию только о том, что нас интересует. Вот такой получается шаблон:
ps -Al | grep «часть названия процесса, которую помним»
Для примера также возьмем зависший браузер хром. Допустим мы знаем только часть названия «hrom». Чтобы посмотреть информацию об этом процессе, вводим:
Если название состоит из одного слова, то можно вводить без кавычек. Вывод будет таким:
Для принудительного завершения нам потребуется либо название, либо PID. Пример того, как завершить процесс по полному названию, мы уже разобрали, теперь стоит попробовать сделать это, указав Process ID. Этот ID, как правило, отображается в 4ой колонке вывода команды ps -Al и в данном случае равен 17927 .
Итак, мы выяснили PID процесса. Этого достаточно, чтобы завершить его принудительно. В этот раз будем использовать команду kill с опцией -9 :
kill -9 PID_процесса
По этому шаблону формулируем команду:
Результатом которой будет тихое убийство процесса, без всяческих отчетов и выводов.
Как узнать версию и разрядность Linux
Под термином «версия линукс» может скрываться сразу два смысла: версия дистрибутива и версия ядра.
Версия дистрибутива — это версия сборки вашей ОС, например Ubuntu 20.04 или Debian 10.
Версия ядра Linux — это то, на чем эти сборки работают, и выглядит она обычно так: 4.8.0-53-generic или так 5.4.48-06434.
Узнаем версию дистрибутива
Самый универсальный способ узнать версию дистрибудтива — это прочитать содержимое файла /etc/os-release . Но в некоторых случаях этот файл может иметь другое название, например /etc/redhat-release или /etc/lsb-release . И чтобы решить эту проблему, можно вместо конкретного названия, указать условное в таком виде /etc/*release .
Для вывода содержимого используем команду cat , о которой говорилось выше, и формулируем команду
Звездочкой * мы указываем, что хотим получить вывод со всех файлов, названия которых начинаются на « /etc/ » и заканчивающиеся на « release » То есть варианты /etc/redhat-release , /etc/lsb-release и им подобные подходят под этот запрос.
Вот так это выглядит в терминале Debian 9:
Как узнать версию ядра Linux
Версию ядра в линукс можно узнать с помощь. команды uname с опцией -r
На что вы получите в ответ только версию ядра и ничего лишнего:
Как узнать разрядность Linux
Чтобы узнать разрядность, нужно также использовать команду uname , но с опцией -a , которая укажет, что нужно вывести полную информацию о версии ядра.
В выводе утилиты, обычно где-то в конце указывается разрядность. В данном случае это x86_64 , что говорит нам о том, что в примере 64-разрядная версия линукс.
Информация о сети
Рассмотрим 3 типа IP-адресов, с которыми приходится сталкиваться чаще всего:
- Внешний IP-адрес — адрес нашего устройства в глобальной сети.
- Локальной IP-адрес — адрес в локальной сети устройств.
- Внутренний IP-адрес — используется в основном утилитами для взаимодействия между собой. Всегда 127.0.0.1 или localhost
Разберем способы узнать внешний и локальный IP-адрес.
Как узнать внешний IP-адрес
В большинстве случаев, чтобы узнать свой внешний IP-адрес требуется сторонний сервис, который скажет с какого IP вы отправили ему запрос.
Как правило, эти сервисы представляют из себя обычные веб-страницы, вот их список:
Разницы в этих сайтах особо нет, выберите тот, который именно вам отвечает быстрее всего.
Их можно открывать через браузер, но это не всегда удобно, поэтому в примерах мы будем рассматривать как обращаться к ним прямо из терминала.
Способ 1: wget
Утилита wget позволяет нам скачивать файлы и получать информацию с веб-страниц. Для начала проверим, установлена ли она, введите в терминал wget и если получите в ответ bash: wget: command not found , значит самое время ее установить
Или вместо apt использовать yum, что зависит от вашего дистрибутива:
Итак, утилита wget установлена, теперь попробуем узнать свой внешний IP-адрес. Для этого введем в терминал команду wget с опциями -qO , далее минус — , а затем уже один из сайтов, список которых выше. В целом шаблон команды такой:
wget -qO — адрес_веб_сайта
Например внешний IP-адрес можно узнать вот так:
И так с любым сайтом из этого списка. Вот так это выглядит в терминале:
Способ 2: curl (проще)
Второй способ — использовать curl. Сама по себе утилита более универсальна, чем wget и заслуживает не одну отдельную статью, но в данном примере мы разберем как с ее помощью узнать свой внешний IP-адрес.
Для начала также проверим, установлена ли она, введите в терминал curl и если получите в ответ bash: curl: command not found , значит самое время ее установить
Или вместо apt использовать yum, что зависит от вашего дистрибутива:
Итак, утилита curl установлена, теперь попробуем узнать свой внешний IP-адрес. C «курлом» это намного проще, нужно лишь ввести curl и один из сайтов, список которых выше. В целом шаблон команды такой:
И с другим сайтом:
Вид из терминала:
Как узнать локальный IP-адрес
Локальный IP-адрес узнается при помощи разных утилит, мы рассмотрим наиболее популярный и актуальный инструмент для этих задач на сегодня — инструмент ip . Чтобы увидеть все сетевые интерфейсы, достаточно ввести:
В примере используется Debian 9 и вывод там такой:
В выводе отображается очень много информации, в которой легко запутаться. Мы видим 2 интерфейса, один lo (внутренний 127.0.0.1 ) и проводной eth0, с локальным IP-адресом 192.168.122.253 . Как вы уже возможно поняли, сам IP-адрес отображается после inet .
Стоит перечислить самые распространенные интерфейсы, чтобы можно было легко ориентироваться, какой адрес кому пренадлежит.
- lo — внутренний интерфейс, всегда 127.0.0.1 или localhost
- eth — проводной интерфейс
- wlan — Wi-Fi-интерфейс
- ppp — Point-to-Point Protocol, часто используется для VPN
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник