Я просто намагаюся переглянути основні термінальні команди. Сказавши це, як я можу створити текстовий файл лише за допомогою терміналу?
Я просто намагаюся переглянути основні термінальні команди. Сказавши це, як я можу створити текстовий файл лише за допомогою терміналу?
Відповіді:
Ви не можете використовувати термінал для створення файлу. Ви можете використовувати додаток, що працює в терміналі. Просто викличте будь-який редактор без графічного інтерфейсу ( 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 робити свою роботу на своєму вході , і це буде висновок в файл таким же чином.