скрипт создать файл в каждой директории

Создать файл в заданной директории

такой вариант не работает
>/домашняя папка/загрузки/file.html

Помощь в написании контрольных, курсовых и дипломных работ здесь.

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

Найти в заданной директории все подкаталоги первого уровня, в которых не открыт ни один файл
Используя утилиту lsof, найдите в заданной директории все подкаталоги первого уровня, в которых не.

скрипт создать файл в каждой директории. tick. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-tick. картинка скрипт создать файл в каждой директории. картинка tick. такой вариант не работает >/домашняя папка/загрузки/file.htmlСоздать список обычных файлов, находящихся рекурсивно в заданной директории и имеющих права доступа заданного вида
Создать список обычных файлов, находящихся рекурсивно в заданной директории и имеющих права.

скрипт создать файл в каждой директории. tick. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-tick. картинка скрипт создать файл в каждой директории. картинка tick. такой вариант не работает >/домашняя папка/загрузки/file.htmlВывод в файл информации о всех имеющихся в заданной директории исполняемых файлах
Всем привет. Имеется задание: Разработать пакетный файл для вывода информации в файл о всех.

См. https://www.cyberforum.ru/blog. g5377.html
Если путь не указан, файл создаётся в текущем каталоге.
Если путь указан не абсолютный, а относительный, файл создаётся в каталоге по указанному пути относительно текущего.
Если путь указан абсолютный, создаётся где явно сказано.

Dmitry, открыл в терминале папку root. Получил

sudo mc > index.html

не получилось
bash: index.html: Отказано в доступе

Чтобы получить HTML файл, надо чуть больше текста, чем одна строка. И это должен быть правильно оформленный текст.

Если создать пустой файл, то выше уже написали, команда touch.

Помощь в написании контрольных, курсовых и дипломных работ здесь.

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

Написать bat-файл, осуществляющий удаление всех файлов из директории, заданной параметром
Создать несколько директорий. В каждой из них создать несколько файлов. Написать bat-файл.

скрипт создать файл в каждой директории. tick. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-tick. картинка скрипт создать файл в каждой директории. картинка tick. такой вариант не работает >/домашняя папка/загрузки/file.htmlСоздать в заданной директории поддиректории, имена которых совпадают с типами файлов, находящихся в ней
Создать в заданной директории поддиректории, имена которых совпадают с типами файлов находящихся в.

скрипт создать файл в каждой директории. tick. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-tick. картинка скрипт создать файл в каждой директории. картинка tick. такой вариант не работает >/домашняя папка/загрузки/file.htmlУдалить из заданной директории все файлы, только если в ней существует указанный файл
Удалить из заданной директории все файлы, только если в этой директории существует указанный файл.

скрипт создать файл в каждой директории. tick. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-tick. картинка скрипт создать файл в каждой директории. картинка tick. такой вариант не работает >/домашняя папка/загрузки/file.htmlСоздать файл в главной директории приложения
Здравствуйте. Возникли сложности с, вроде бы, очень тривиальной задачей. Но как то решить не.

Источник

Создать множество папок с файлами

Подкиньте скрипт для автоматизации процесса: множество файлов (порядка 200), нужно создать для каждого файла папку с именем как у файла до дефиса с названием версии, перекинуть в эту папку сам файл, а так же создать внутри ещё два файла: имя.SlackBuild с содержанием по-определённому шаблону + пустой slack-desc.

скрипт создать файл в каждой директории. p. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-p. картинка скрипт создать файл в каждой директории. картинка p. такой вариант не работает >/домашняя папка/загрузки/file.html

скрипт создать файл в каждой директории. p. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-p. картинка скрипт создать файл в каждой директории. картинка p. такой вариант не работает >/домашняя папка/загрузки/file.html

Чё? Пиши пример, исходные данные, названия файлов если я правильно понял, и выходные данные, какие директории нужно создать и что в них поместить.

Т.е. пример что было и что стало для каждого варианта шаблона.

скрипт создать файл в каждой директории. p. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-p. картинка скрипт создать файл в каждой директории. картинка p. такой вариант не работает >/домашняя папка/загрузки/file.html

Разбей процесс на мелкие части, переводи каждую часть на английский, добавляй слово bash и вбивай в поисковике. Если находится не совсем то, перефразируй запрос.

Напрмер, можно начать с «bash mkdir for every file in folder’.

скрипт создать файл в каждой директории. p. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-p. картинка скрипт создать файл в каждой директории. картинка p. такой вариант не работает >/домашняя папка/загрузки/file.html

На будущее, множество — это десятки, сотни миллионов. А это ты и ручками сделаешь. Приходи, как будут реальные проблемы.

скрипт создать файл в каждой директории. 66835: 701634471. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-66835: 701634471. картинка скрипт создать файл в каждой директории. картинка 66835: 701634471. такой вариант не работает >/домашняя папка/загрузки/file.html

с именем как у файла до дефиса с названием версии

чаво? ну короче sed для манипуляций с названием

нужно создать для каждого файла папку

ну это легко, после первого find у тебя уже есть список, а после sed список директорий, используй cp

а так же создать внутри ещё два файла

это через touch можно сделать

с содержанием по-определённому шаблону + пустой slack-desc

Источник

Создать директории для годов с поддиректориями для месяцев с несколькими файлами в каждой

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как создать Makefile с несколькими файлами для сборки
Здравстуйте! Имеются в папке несколько файлов исходного кода на C, например first.c, second.c.

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

Копирование файлов из директории с поддиректориями в папку запуска bat-файла
Доброго времени суток! Столкнулся с необходимостью копирования файлов и папок из расшареной папки.

Помощь в написании контрольных, курсовых и дипломных работ здесь.

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

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

скрипт создать файл в каждой директории. tick. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-tick. картинка скрипт создать файл в каждой директории. картинка tick. такой вариант не работает >/домашняя папка/загрузки/file.htmlКак создать процесс для каждой обработки каждой строки массива в linux?
Запуталась с процессами. Необходимо выполнить обработку каждой строки(поиск простых чисел и их.

Как создать MsgBox с несколькими текстовыми полями для значений?
Есть код, который вызывает простой message box: result = MsgBox («Are you slipping?», vbYesNo.

Как динамически создать пункты в TMainMenu со всеми папками и файлами в определенной директории
Пожалуйста, помогите создать нечто подобное. ОЧЕНЬ хотелось бы сделать себе так же! Суть в.

Источник

[в закладки] Bash для начинающих: 21 полезная команда

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

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

Термины

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

Unix — это популярная операционная система, которая была разработана Bell Labs в 1970-х. Её код был закрытым.

Linux — это самая популярная Unix-подобная операционная система. Она в наши дни используется на множестве устройств, в том числе — и на компьютерах.

Терминал (terminal), или эмулятор терминала — это программа, дающая доступ к операционной системе. Одновременно можно открывать несколько окон терминала.

Оболочка (shell) — это программа, которая позволяет отправлять операционной системе команды, написанные на особом языке.

Bash расшифровывается как Bourne Again SHell. Это — самый распространённый язык командной оболочки, используемый для взаимодействия с операционной системой. Кроме того, оболочка Bash по умолчанию используется в macOS.

Интерфейс командной строки (Command Line Interface, CLI) — это способ взаимодействия человека и компьютера, при использовании которого пользователь вводит команды с клавиатуры, а компьютер, выполняя эти команды, выводит, в текстовом виде, сообщения для пользователя. В основном CLI используется для получения свежей информации о неких сущностях, например, о файлах, и для работы с файлами. Интерфейс командной строки следует отличать от графического пользовательского интерфейса (Graphical User Interface, GUI), при работе с которым, в основном, используется мышь. Интерфейс командной строки часто называют просто командной строкой.

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

Теперь, когда мы рассмотрели важные термины, хочу отметить, что здесь я буду пользоваться терминами «Bash», «оболочка» и «командная строка» как взаимозаменяемыми, равно как и понятиями «директория» (directory) и «папка» (folder).

Стандартные потоки, которыми мы будем здесь пользоваться — это стандартный ввод (standard input, stdin ), стандартный вывод (standard output, stdout ) и стандартный вывод ошибок (standard error, stderr ).

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

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

21 Bash-команда

▍Получение информации

▍Манипуляции с файловой системой

▍Перенаправление ввода-вывода и конвейеры

▍Чтение файлов

▍Удаление файлов, остановка процессов

▍Поиск

▍Архивация

Подробности о командах

▍Получение информации

man command_name : вывод руководства по команде, то есть — справочной информации.

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

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

ps : просмотр выполняющихся процессов.

▍Манипуляции с файловой системой

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

touch my_file : создание файла my_file по заданному пути.

mkdir my_directory : создание папки my_directory по заданному пути.

Теперь поговорим о перенаправлении ввода-вывода и конвейерах.

▍Перенаправление ввода-вывода и конвейеры

Например, после выполнения команды ls > my_folder_contents.txt будет создан текстовый файл, содержащий список того, что находится в текущей рабочей директории.

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

скрипт создать файл в каждой директории. 4204454c659bababa2571cde03dc75b8. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-4204454c659bababa2571cde03dc75b8. картинка скрипт создать файл в каждой директории. картинка 4204454c659bababa2571cde03dc75b8. такой вариант не работает >/домашняя папка/загрузки/file.html

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

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

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

скрипт создать файл в каждой директории. c9638a5d0734b168240e1fedde5c131e. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-c9638a5d0734b168240e1fedde5c131e. картинка скрипт создать файл в каждой директории. картинка c9638a5d0734b168240e1fedde5c131e. такой вариант не работает >/домашняя папка/загрузки/file.html

Конвейер из нескольких команд можно сравнить с трубопроводом

Теперь поговорим о чтении данных из файлов и о выводе их на экран.

▍Чтение файлов

tail my_file : считывает строки из конца файла. Эту команду тоже можно использовать в конвейере.

скрипт создать файл в каждой директории. 543f4e05d7559b6a392e375c96df4675. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-543f4e05d7559b6a392e375c96df4675. картинка скрипт создать файл в каждой директории. картинка 543f4e05d7559b6a392e375c96df4675. такой вариант не работает >/домашняя папка/загрузки/file.html

Head (голова) находится спереди, а tail (хвост) — сзади

Если вы работаете с данными, используя библиотеку pandas, тогда команды head и tail должны быть вам знакомы. Если это не так — взгляните на вышеприведённый рисунок, и вы без труда их запомните.

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

скрипт создать файл в каждой директории. 76873eabd0fd4fc321ba8a70d580c2e4. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-76873eabd0fd4fc321ba8a70d580c2e4. картинка скрипт создать файл в каждой директории. картинка 76873eabd0fd4fc321ba8a70d580c2e4. такой вариант не работает >/домашняя папка/загрузки/file.html

Если же передать ей два файла или большее количество файлов, то она ведёт себя по-другому.

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

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

▍Удаление файлов, остановка процессов

kill 012345 : останавливает указанный выполняющийся процесс, давая ему время на корректное завершение работы.

▍Поиск

скрипт создать файл в каждой директории. e504f5fbf1cdfe2c5b270449c3e54a62. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-e504f5fbf1cdfe2c5b270449c3e54a62. картинка скрипт создать файл в каждой директории. картинка e504f5fbf1cdfe2c5b270449c3e54a62. такой вариант не работает >/домашняя папка/загрузки/file.html

скрипт создать файл в каждой директории. 3c2ab0e18393d78d2453c4f55eb09c78. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-3c2ab0e18393d78d2453c4f55eb09c78. картинка скрипт создать файл в каждой директории. картинка 3c2ab0e18393d78d2453c4f55eb09c78. такой вариант не работает >/домашняя папка/загрузки/file.html

Теперь поговорим о работе с архивами.

▍Архивация

tar my_source_directory : объединяет файлы из папки my_source_directory в один файл tarball. Такие файлы удобно использовать для того, чтобы передавать кому-нибудь большие наборы файлов.

скрипт создать файл в каждой директории. 9fd5476a9c0109ff8ae609909ed4f952. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-9fd5476a9c0109ff8ae609909ed4f952. картинка скрипт создать файл в каждой директории. картинка 9fd5476a9c0109ff8ae609909ed4f952. такой вариант не работает >/домашняя папка/загрузки/file.html

Bash-псевдонимы

Для создания подобного псевдонима достаточно добавить следующую команду в файл

Если в вашей системе нет файла

/.bash_profile можно добавлять псевдонимы для любых часто используемых команд.

▍Итоги

В этом материале мы рассмотрели 21 популярную команду Bash и поговорили о создании псевдонимов для команд. Если вам эта тема интересна — вот цикл публикаций, посвящённый Bash. Здесь можно найти pdf-версию этих публикаций. Кроме того, если вы хотите освоить Bash, помните о том, что тут, как и при изучении любой другой программной системы, важна практика.

Уважаемые читатели! Какие команды, которые полезно знать начинающим, вы добавили бы к тем, которые были рассмотрены в этой статье?

Источник

Основные linux-команды для новичка

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

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

Я дам кратенькое описание основных команд с примерами (примеры я все проверяла на cent os, red hat based системе) + ссылки на статьи, где можно почитать подробнее. Если же хочется копнуть еще глубже, то см раздел «Книги и видео по теме». А еще комментарии к статье, там много полезного написали)

Содержание

Где я? Как понять, где находишься

Очень полезная команда, когда у вас нет ничего, кроме командной строки под рукой. Расшифровывается как Print Working Directory. Запомните ее, пригодится.

Как понять, что находится в папке

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

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

Хотя лучше использовать команду сразу с флагом «l»:

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

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

У команды есть и другие флаги, но чаще всего вы будете использовать именно «ls – l».

См также:
Команда ls Linux — подробнее о команде и всех ее флагах
Команда ls – просмотр каталога — о команде для новичков (без перечисления всех флагов)

Как перейти в другую директорию

С помощью команды cd:

Путь может быть абсолютным или относительным.

По абсолютному пути

Либо у вас где-то записан путь, «куда идти», либо вы подсмотрели его в графическом интерфейсе (например, в WinSCP).

Вставляем путь в командную строку после «cd»

Ну вот, мы переместились из домашней директории (обозначается как

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

По относительному пути

Относительный путь — относительно вашей текущей директории, где вы сейчас находитесь. Если я уже нахожусь в /home/student, а мне надо в /home/student/log, команда будут такой:

Если мне из надо из /home/student/photo в /home/student/photo/city/msk/2017/cat_1, команда будет такой:

Я не пишу /home/student/photo, так как я уже там.

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

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

/. Дальше вы уже можете указывать подпапки:

Эта команда будет работать отовсюду. И переместит нас в /home/user/log.

Вот пример, где я вошла под пользователем students. Исходно была в директории /var, а попала в /home/students/log:

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

С автодополнением

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

(cd tab) Может, ты имел в виду папку 1?
(tab) Нет? Может, папку 2?
(tab) Снова нет? Может, папку 3?
(tab) Снова нет? Может, файл 1 (она перебирает имена всех файлов и директорий, которые есть в той, где вы сейчас находитесь)?
(tab) У меня кончились варианты, поехали сначала. Папка 1?

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

cd lon(Tab) → cd long-long-long-long-name-folder — начали вводить название папки и система сама подставила имя (из тех, что есть в директории, где мы находимся).

cd (Tab)(Tab)(Tab) — система перебирает все файлы / папки в текущей директории.

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

Подняться наверх

Подняться на уровень выше:

Если нужно поднять на два уровня выше, то

И так до бесконечности =) Можно использовать файл, лежащий на уровне выше или просто сменить директорию.

Как создать директорию

Используйте команду mkdir:

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

Когда это нужно? Например, если вам надо сделать бекап логов. Создаете папку и сохраняете туда нужные логи. Или если вы читаете инструкцию по установке ПО и видите там «создать папку». Через командную строку это делается именно так.

Как создать файл

Такая команда создаст пустой файл с названием «app.log». А потом уже можно открыть файл в редакторе и редактировать.

Как отредактировать файл

Вот честное слово, лучше делать это через графический интерфейс!

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

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

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

А вот с vim с этим сложнее. В него легко зайти:

Войти вошли, а как выйти то, аааа? Тут начинается легкая паника, потому что ни одна из стандартных комбинаций не срабатывает: Esc, ctrl + x, ctrl + q… Если под рукой есть второй ноутбук или хотя бы телефон / планшет с интернетом, можно прогуглить «как выйти из vim», а если у вас только одно окно с терминалом, которое вы заблокировали редактором?

Делюсь секретом, для выхода надо набрать:

Исходно, когда мы открываем файл через vim, то видим его содержимое, а внизу информацию о файле:

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

Когда нажимаем двоеточие, оно печатается внизу:

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

Если не печатается, не паникуем! Тогда попробуйте нажать Esc (вернуться в нормальный режим), потом Enter (подтвердить команду), а потом снова печатайте. Фух, помогло, мы вышли оттуда.

На самом деле сейчас всё не так страшно. Даже если вас заслали работать в банк, где нет доступа в интернет, а вы вошли в vi и не знаете как выйти, всегда можно погулить выход с телефона. Слава мобильному интернету! Ну а если вы знаете логин-пароль от сервера, то можно просто закрыть терминал и открыть его снова.

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

Ну а про возможности редактирования см статьи ниже =)

Как перенести / скопировать файл

Допустим, у нас в директории /opt/app/log находится app.log, который мы хотим сохранить в другом месте. Как перенести лог в нужное место, если нет графического интерфейса, только командная строка?

Скопировать файл

Если мы находимся в директории /opt/app/log:

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

Можно сразу переименовать файл:

В этом случае мы взяли app.log и поместили его в папку /home/olga, переименовав при этом в app_test_2020_03_08.log. А то мало ли, сколько логов у вас в этом папке уже лежит, чтобы различать их, можно давать файлу более говорящее имя.

Если в «куда копировать» файл с таким именем уже есть, система не будет ничего спрашивать, просто перезапишет его. Для примера положим в папку log внутри домашней директории файл «app.log», который там уже есть:

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

Никаких ошибок, система просто выполнила команду.

Скопировать директорию

Команда остается та же, «cp», только используется ключ R — «копировать папку рекурсивно»:

Так в директории /home/olga появится папка «log».

Переместить файл

Если надо переместить файл, а не скопировать его, то вместо cp (copy) используем mv (move).

Можно использовать относительные и абсолютные пути:

Можно сразу переименовать файл:

Переместить директорию

Аналогично перемещению файла, команда mv

Как удалить файл

С помощью команды rm (remove):

Если нужно удалить все файлы в текущей директории (скажем, вычищаем старые логи перед переустановкой приложения), используйте «*»:

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

Если нужно удалить папку, надо добавить флаг -r (recursive):

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

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

А теперь представьте, что вы чистите много файлов. И на каждый система переспрашивает, и надо постоянно отвечать «да, да, да. » (y – enter, y – enter, y – enter)… Чтобы удалить все без вопросов, используйте флаг -f (force):

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

Но учтите, что это довольно опасная команда! Вот так надоест подстверждать удаление и введешь «-rf», а директорию неправильно укажешь… Ну и все, прости-прощай нужные файлы. Аккуратнее с этой командой, особенно если у вас есть root-полномочия!

Опция -v показывает имена удаляемых файлов:

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

Тут вы хотя бы можете осознать, что натворили )))

Как изменить владельца файла

Если у вас есть root-доступ, то вы наверняка будете выполнять все действия под ним. Ну или многие… И тогда любой созданный файл, любая папка будут принадлежать root-пользователю.

Это плохо, потому что никто другой с ними работать уже не сможет. Но можно создать файл под root-ом, а потом изменить его владельца с помощью команды chown.

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

Допустим, что я поднимаю сервис testbase. И он должен иметь доступ к директории user и файлу test.txt в другой директории. Так как никому другому эти файлики не нужны, а создала я их под рутом, то просто меняю владельца:

В итоге был владелец root, а стал testbase. То, что надо!

Как установить приложение

Если вы привыкли к винде, то для вас установка приложения — это скачать некий setup файлик, запустить и до упора тыкать «далее-далее-далее». В линуксе все немного по-другому. Тут приложения ставятся как пакеты. И для каждой системы есть свой менеджер пакетов:

Давайте посмотрим на примере, как это работает. В командной строке очень удобно работать с Midnight Commander (mc) — это как FAR на windows. К сожалению, программа далеко не всегда есть в «чистом» дистрибутиве.

И вот вы подняли виртуалку на centos 7, хотите вызвать Midnight Commander, но облом-с.

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

Ничего страшного, установите это приложение через yum:

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

Он там будет что-то делать, качать, а потом уточнит, согласны ли вы поставить программу с учетом ее размеров. Если да, печатаем «y»:

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

И система заканчивает установку.

Вот и все! Никаких тебе унылых «далее-далее-далее», сказал «установи», программа установилась! Теперь, если напечатать «mc» в командной строке, запустится Midnight Commander:

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

Как запустить приложение

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

Это важно! Даже если вы находитесь в той папке, где и скрипт, он не будет найден, если просто указать название sh-скрипта. Надо написать так:

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

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

Если же приложение запускается как сервис, то все еще проще:

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

Она добавит службу в автозапуск.

Как понять, где установлено приложение

Вот, например, для интеграции Jenkins и newman в Jenkins надо прописать полный путь к ньюману в параметре PATH. Но как это сделать, если newman ставился автоматически через команду install? И вы уже забыли, какой путь установки он вывел? Или вообще не вы ставили?

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

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

Как создать архив

Стандартная утилита, которая будет работать даже на «голой» системе — tar. Правда, для ее использования надо запомнить флаги. Для создания архива стандартная комбинация cvzf:

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

В данном примере мы упаковали директорию /home/test, внутри которой было две картинки — 502.jpg и 504.jpg.

Для распаковки меняем флаг «c» на «x» и убираем «z»:

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

Хотя система пишет, что распаковала «/home/test», на самом деле папка «test» появляется там, где мы сейчас находимся.

Давайте разберемся, что все эти флаги означают:

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

Если очень хочется использовать rar, то придется изгаляться. Через yum установка не прокатит:

Говорит, нет такого пакета:

Придется выполнить целую пачку команд! Сначала скачиваем, разархивируем и компилируем:

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

Вот, допустим, вы выполняли какие-то сложные действия. Или даже не вы, а разработчик или админ! У вас что-то сломалось, пришел коллега, вжух-вжух ручками, magic — работает. А что он делал? Интересно же!

Или, может, вы писали длинную команду, а теперь ее надо повторить. Снова набирать ручками? Неохота! Тем более что есть помощники:

Если надо «отмотать» недалеко, проще через стрелочку пролистать команды. Один раз нажали — система показала последнюю команду. Еще раз нажали — предпоследнюю. И так до 1000 раз (потому что именно столько хранится в истории).

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

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

Если тыкать в стрелочку не хочется, или команды была давно, можно напечатать «history» и внимательно изучить команды.

См также:
История команд Linux — больше о возможностях history

Как посмотреть свободное место

Сколько места свободно на дисках

Сколько весит директория

Как узнать IP компьютера

Если у вас настроены DNS-имена, вы подключаетесь к linux-машине именно по ним. Ведь так проще запомнить — это testbase, это bugred… Но иногда нужен именно IP. Например, если подключение по DNS работает только внутри рабочей сети, а коллега хочет подключиться из дома, вот и уточняет айпишник.

Чтобы узнать IP машины, используйте команду:

Также можно использовать ifconfig:

Как узнать версию OS

Сидите вы у Заказчика на линуксовой машине. Пытаетесь что-то установить — не работает. Лезете гуглить, а способы установки разные для разных операционных систем. Но как понять, какая установлена на данной машине?

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

На этой виртуалке стоит CentOs 7.

Если нужна версия ядра:

Как узнать, как работает команда

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

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

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

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

Хотя лично мне проще какую-то команду прогуглить, ведь так я получу русское описание + сначала самые главные флаги (а их может быть много). Но я сама новичок в линуксе, это подход новичка. А лучше сразу учиться прокачивать навык поиска по man-у. Он вам очень пригодится для более сложных задач!

Если man у программы нет, используйте флаг -h (—help):

Как создать много тестовых папок и файлов

Допустим, у нас есть некая папка test. Создадим в ней сотню директорий и кучу файликов в каждой:

Вот и все, дальше можно играться с ними!

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

Ага, в домашней директории. Создам себе песочницу:

Вот в ней и буду творить!

А потом можно проверить, что получилось:

Как-то так! Имхо, полезные команды.

Я нашла их в книге «Командная строка Linux. Полное руководство», они используются для того, чтобы создать песочницу для прощупывания команды find. Я, как и автор, восхищаюсь мощью командной строки в данном случае. Всего 2 строчки, а сколько боли бы принесло сделать похожую структуру через графический интерфейс!

И, главное, тестировщику полезно — может пригодиться для тестов.

Как протестировать IOPS на Linux

Это очень полезно делать, если машину вам дает заказчик. Там точно SSD-диски? И они дают хороший iops? Если вы разрабатываете серверное приложение, и от вас требуют выдерживать нагрузку, нужно быть уверенными в том, что диски вам выдали по ТЗ.

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

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

Я расскажу о том, как мы тестировали диски. Как проверили, сколько IOPS они выдают.

скрипт создать файл в каждой директории. image loader. скрипт создать файл в каждой директории фото. скрипт создать файл в каждой директории-image loader. картинка скрипт создать файл в каждой директории. картинка image loader. такой вариант не работает >/домашняя папка/загрузки/file.html

1) Скачиваем последнюю версию, распаковываем, переходим в каталог. В командах ниже нужно заменить «fio-3.19» на актуальную версию из списка

2) Должны стоять пакеты для сборки

Какие должны быть результаты:

Если должно быть 50 тысяч, а диск выдает сильно меньше, то:

— он не SSD;
— есть сетевые задержки;
— неправильно примонтирован;
— с ними что-то еще плохое случилось и стоит поднять алярм.

И это все?

Еще полезно изучить команду find и регулярные выражения. Тестировщику как минимум надо уметь «грепать логи» — использовать grep. Но это уже остается на самостоятельный гуглеж.
База, которая всегда нужна — pwd, cp, mv, mkdir, touch. Остальное можно легко гуглить, как только возникает необходимость.

Вот вам еще пара ссылочек от меня:

Книги и видео по теме

Где тренироваться

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

А можно купить облачную машину. Когда мне надо было поиграться с линуксом, я пошла на SimpleCloud (он мне в гугле одним из первых выпал и у него дружелюбный интерфейс. Но можно выбрать любой аналог) и купила самую дешманскую машину — за 150 руб в месяц. Месяца вам за глаза, чтобы «пощупать-потыркать», и этой машины с минимумом памяти тоже.

У меня был когда-то план самой платить эти 150р за то, чтобы дать машину в общий доступ. Но увы. Как я не пыталась ее огородить (закрывала команды типа ssh, ping и прочая), у меня не получилось. Всегда есть люди, которых хлебом не корми, дай испортить чужое. Выложил в общий доступ пароли? На тебе ддос-атаку с твоего сервера. Ну и сервер блокируют. После N-ой блокировки я плюнула на это дело. Кто хочет научиться, найдет 150р.

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

Источник

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

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