Я просто намагаюся переглянути основні термінальні команди. Сказавши це, як я можу створити текстовий файл лише за допомогою терміналу?
Я просто намагаюся переглянути основні термінальні команди. Сказавши це, як я можу створити текстовий файл лише за допомогою терміналу?
Відповіді:
Ви не можете використовувати термінал для створення файлу. Ви можете використовувати додаток, що працює в терміналі. Просто викличте будь-який редактор без графічного інтерфейсу ( emacs -nw
, joe
, nano
, vi
, vim
, ...).
Якщо ви мали намір використовувати командний рядок, то ви запитуєте, як створити файл за допомогою оболонки. Див. Яка точна різниця між 'терміналом', 'оболонкою', 'tty' та 'консоллю'?
Основний спосіб створення файлу з оболонкою - це перенаправлення виводу . Наприклад, наступна команда створює файл, який називається, foo.txt
що містить рядокHello, world.
echo 'Hello, world.' >foo.txt
Якщо ви хочете написати кілька рядків, ось декілька можливостей. Можна використовувати printf
.
printf '%s\n' 'First line.' 'Second line.' 'Third line.' >foo.txt
Ви можете використовувати літеральний рядок, що містить нові рядки.
echo 'First line.
Second line.
Third line.' >foo.txt
або
echo $'First line.\nSecond line.\nThird line.' >foo.txt
Інша можливість - групувати команди.
{
echo 'First line.'
echo 'Second line.'
echo 'Third line.'
} >foo.txt
У командному рядку це можна зробити більш безпосередньо cat
. Перенаправити його вихід на файл і ввести рядок введення за рядком на cat
стандартному вході. Натисніть Ctrl+ Dна початку рядка, щоб вказати кінець введення.
$ cat> foo.txt Перший рядок. Другий рядок. Третій рядок. Ctrl+D
У сценарії ви б використали документ тут, щоб досягти такого ж ефекту:
cat <<EOF >foo.txt
First line.
Second line.
Third line.
EOF
Якщо ви просто хочете створити порожній файл, ви можете скористатися touch
командою: він створює файл, якщо його не існує, і просто оновлює його останню зміну дату, якщо вона існує.
touch foo.txt
Рівнозначно:
>>foo.txt
тобто відкрите foo.txt
для додавання, але запишіть до нього 0 байт - це створює файл, але не змінює його. На відміну від touch
цього, це не оновлює дату останнього змінення файлу, якщо він уже існував.
Щоб створити порожній файл та видалити його вміст, якщо файл вже існував, ви можете використовувати його
>foo.txt
touch ~/Desktop/something.txt
Це створить порожній txt
файл.
Або
echo "Hello" > ~/Desktop/somethingelse.txt
Це створить txt
файл із написом "Привіт".
nano ~/Desktop/anotherfile.txt
Це дозволить відкрити ~/Desktop/anotherfile.txt
в nano
, або якщо він не існує, вона буде створювати його і відкрити його в nano
.
Те ж можна зробити просто замінивши nano
на emacs
або, vim
і він буде використовувати emacs
або vim
замістьnano
cat
з <<
, і згадати >>
.
<<
і >>
обговорюються в розділі Що таке оператори контролю та перенаправлення оболонки?
Все, що потрібно для створення порожнього файлу, це:
> my.txt
:> my.txt
потрібно принаймні . :
- порожня команда.
Для створення файлу на рівні терміналу можна використовувати програму редагування nano, vi або emacs. Якщо ви використовуєте систему x Windows, вам потрібно буде сказати системі не використовувати програму в графічному інтерфейсі; але в будь-якому випадку я буду використовувати emacs як приклад.
Від баш; тип:
emacs filename.txt (press enter) - it will create an empty file with the filename specified "filename.txt". It will save "filename.txt" from which ever
directory type in "emacs filename.txt" command.
майте на увазі, що вся система UNIX VI поставляється разом із ним; emacs ні, вам потрібно буде встановити emacs. Нано, з іншого боку, більш популярне; про всяк випадок, якщо це не відповідає, це означає, що ви "nano filename.ext" і нічого не відбувається, вам потрібно буде встановити його.
як тільки ви видасте vi filename.txt, швидше за все, ви в кінцевому підсумку створите новий файл. Ви повинні знайти vi, emacs або nano, як користуватися в Google, перш ніж почати. Як записати файл, редагувати його, використовуючи його інструменти для пошуку та заміни тексту, в цих програмах редагування відрізняється. Мені подобаються emacs з усіх варіантів, але ви знайдете розробників, які одержимі або підтримують vi та nano
Щось корисне, коли ви застрягли і повинні створити текстовий файл із багаторядковим рядком у командному рядку:
# cat <<'EOF' > textfile
> This "should"
> prove useful, 'maybe'.
> EOF
# cat textfile
This "should"
prove useful, 'maybe'.
Ви можете замінити cat
на іншу команду, наприклад , grep
і шаблон , і мають Grep робити свою роботу на своєму вході , і це буде висновок в файл таким же чином.