Модульні уроки (1/2)
Вивід і перенаправлення (echo, cat, >)
У Linux майже всі команди читають дані з вхідного потоку та записують результати у вихідний потік. Ці канали називаються стандартними потоками:
- Стандартний ввід (stdin): потік, з якого команда зчитує введені дані (за замовчуванням це клавіатура).
- Стандартний вихід (stdout): потік, до якого команда записує свій успішний вихід (за замовчуванням це екран терміналу).
- Стандартна помилка (stderr): потік, до якого команда записує свої повідомлення про помилки (за замовчуванням це екран).
За допомогою командного рядка ми можемо перенаправити ці потоки, щоб зберегти результати безпосередньо у файли.
Друк тексту: echo
Команда echo просто записує свої аргументи на стандартний вихід (екран):
echo "Hello everyone"Переспрямування виводу (перезапис): >
Якщо ви хочете зберегти вихідні дані команди у файл замість того, щоб відображати їх на екрані, ви можете використати оператор переспрямування більше ніж >:
echo "Hello everyone" > greetings.txtЦя команда запускає echo та перенаправляє свій вихід у файл greetings.txt.
[!ВАЖЛИВО] Якщо файл
greetings.txtне існує, він створюється. Якщо він уже існує, його наявний вміст повністю видаляється та перезаписується новим виводом.
Читання вмісту файлу: cat
Щоб переглянути вміст одного або кількох текстових файлів на льоту, скористайтеся командою cat (скорочення від concatenate):
cat greetings.txtДодавання результату: >>
Якщо ви хочете додавати нові рядки в кінець існуючого файлу, а не перезаписувати його, ви повинні використовувати оператор додавання >>:
echo "New line of text" >> greetings.txtТепер читання файлу за допомогою cat greetings.txt покаже як перший, так і другий рядки.
Приклади використання та поширені помилки
Ви можете передати кілька файлів до cat одночасно, щоб відображати їх послідовно (з’єднано):
cat notes.txt info.txt
# Output:
# Keep learning Linux!
# Linux is awesome.Ви можете перенаправити об’єднаний вихід до третього файлу за допомогою оператора >:
cat notes.txt info.txt > combined.txtЯкщо ви спробуєте прочитати неіснуючий файл, cat видасть повідомлення про помилку:
cat nonexistent_file.txt
# Output:
# cat: nonexistent_file.txt: No such file or directoryСпробуйте самі
Вправа 1: Створення файлу з привітанням
Створіть файл під назвою «hello.txt», який містить саме текст «Hello World», використовуючи echo та оператор >.
Показати підказку
Використовуйте echo, за яким йде рядок у лапках, оператор > і hello.txt.
Рішення доступне після 3 спроб
Вправа 2: Додайте примітки до файлу
Додайте рядок «Linux — це весело» в кінець наявного файлу «notes.txt», не видаляючи його поточний вміст.
Показати підказку
Використовуйте оператор >>, щоб додати текст до файлу notes.txt.
Рішення доступне після 3 спроб
Вправа 3: Об’єднання файлів
Об’єднайте вміст файлів «notes.txt» і «info.txt» і збережіть об’єднаний результат у новому файлі під назвою «combined.txt».
Показати підказку
Використовуйте cat, а потім імена двох вихідних файлів і перенаправляйте вивід за допомогою > до файлу призначення.
Рішення доступне після 3 спроб