Terminal kullanarak basit bir .txt (text) dosyası nasıl oluşturulur? [kapalı]


77

Sadece temel terminal komutlarını incelemeye çalışıyorum. Bunu söyledikten sonra, sadece terminali kullanarak nasıl bir metin dosyası oluşturabilirim?


Her ne kadar soru gerçekten çok geniş olsa da, hızlı bir ders (vim, editörler, kabuk komutu yeniden yönlendirme vb.), Özellikle yazı sayısı ve cevapların oylama puanları ile birlikte, gelecek için faydalı olabilir. Belki bir topluluk wiki yazısı olarak en faydalı olur.
user259412

Yanıtlar:


106

Bir dosya oluşturmak için terminal kullanamazsınız. Terminalde çalışan bir uygulamayı kullanabilirsiniz. Sadece olmayan herhangi bir GUI editörü (çağırmak emacs -nw, joe, nano, vi, vim, ...).

Komut satırını kullanmak istemeniz durumunda, kabuk kullanarak bir dosyanın nasıl oluşturulacağını soruyorsunuz. Bkz. “Terminal”, “kabuk”, “tty” ve “konsol” arasındaki tam fark nedir?

Kabuğu olan bir dosya oluşturmanın temel yolu çıktı yönlendirmesidir . Örneğin, aşağıdaki komut foo.txtsatırı içeren bir dosya oluşturur.Hello, world.

echo 'Hello, world.' >foo.txt

Birden fazla satır yazmak istiyorsanız, işte birkaç olasılık. Kullanabilirsiniz printf.

printf '%s\n' 'First line.' 'Second line.' 'Third line.' >foo.txt

Newlines içeren bir string değişmezini kullanabilirsiniz.

echo 'First line.
Second line.
Third line.' >foo.txt

veya

echo $'First line.\nSecond line.\nThird line.' >foo.txt

Diğer bir olasılık da komutları gruplamaktır.

{
  echo 'First line.'
  echo 'Second line.'
  echo 'Third line.'
} >foo.txt

Komut satırında bunu daha doğrudan olarak yapabilirsiniz cat. Çıktısını dosyaya yönlendirin ve giriş satırını catstandart giriş satırında satır yazın . Girişin sonunu belirtmek için satırın başında Ctrl+ tuşuna basın D.

$ cat> foo.txt 
İlk satır. 
İkinci çizgi. 
Üçüncü sıra
Ctrl+D

Bir komut dosyasında , aynı etkiyi elde etmek için burada bir belge kullanırsınız:

cat <<EOF >foo.txt
First line.
Second line.
Third line.
EOF

Sadece boş bir dosya oluşturmak istiyorsanız, şu touchkomutu kullanabilirsiniz : mevcut değilse dosyayı oluşturur ve varsa son değiştirilme tarihini günceller.

touch foo.txt

eşdeğer bir:

>>foo.txt

yani foo.txteklemek için açık , ancak 0 bayt yaz - bu dosyayı oluşturur, ancak değiştirmez. Aksine touch, eğer önceden mevcutsa, dosyanın son değiştirilme tarihini güncellemez.

Boş bir dosya oluşturmak ve dosya zaten mevcutsa dosyanın içeriğini kaldırmak için

>foo.txt

13
touch ~/Desktop/something.txt

Bu boş bir txtdosya yaratacaktır .

Veya

echo "Hello" > ~/Desktop/somethingelse.txt

Bu txt"Merhaba" diyen bir dosya yaratacaktır .

nano ~/Desktop/anotherfile.txt

Bu açılacaktır ~/Desktop/anotherfile.txtiçinde nano, ya da yoksa, onu oluşturmak ve bunu açılacaktır nano.

Aynı basitçe değiştirerek yapılabilir nanoile emacsveya vimve kullanacağı emacsveya vimyerinenano


catile de belirtmeli <<ve belirtmelisiniz >>.
o11c

Tekerleği yeniden icat etmeyelim. <<ve >>tartışılmaktadır kabuk kontrolü ve yönlendirme operatörleri nelerdir?
G-Man

9

Boş bir dosya oluşturmak için gereken her şey:

> my.txt

2
Bazı kabuklarda (zsh, tcsh, ...) en azından :> my.txtihtiyaç vardır. :boş bir komuttur.
jofel

{echo 'İlk satır.' echo 'İkinci satır.' echo 'Üçüncü satır.' }>
foo.txt

2

Terminal düzeyinde dosya oluşturmak için nano, vi veya emacs düzenleme programını kullanabilirsiniz. Eğer x windows sistemini kullanıyorsanız, sisteminize GUI'deki programı kullanmamasını söylemeniz gerekir; ama yine de emacs'i örnek olarak kullanacağım.

Bash'tan; türü:

 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.

tüm UNIX sistemlerinde aklınızda bulundurun, VI bununla birlikte gelir; emacs yapmaz, emacs yüklemeniz gerekir. Öte yandan Nano daha popüler; sadece cevap vermezse, "nano filename.ext" ifadenizin anlamı yoktur ve hiçbir şey olmuyorsa onu yüklemeniz gerekir.

vi filename.txt dosyasını düzenlediğinizde, büyük olasılıkla yeni bir dosya oluşturursunuz. Başlamadan önce vi, emacs veya nano'nun google'da nasıl kullanılacağına bakmalısınız. Dosya yazma, düzenleme, metin arama ve değiştirme araçlarını kullanma bu düzenleme programlarında farklıdır. Tüm seçeneklerden emacs seviyorum, ancak vi ve nano'yu takıntılı ya da tercih eden geliştiricileri bulacaksınız.


"emacs dosya adı.txt -nw" olan emacs içindeki grafiksel editör seçeneği için "-nw" grafiksel kullanıcı penceresi, pencere yok
unixmiah

2

Sıkışmış olduğunuzda ve komut satırında çok satırlı bir metin dosyası oluşturmanız gerektiğinde yardımcı olacak bir şey şöyledir:

# cat <<'EOF' > textfile
> This "should"
> prove useful, 'maybe'.
> EOF
# cat textfile 
This "should"
prove useful, 'maybe'.

catÖrneğin başka bir komutun yerine geçebilir grepve bir şablon yazabilir ve grep'in girişinizde işini yapmasını sağlayabilirsiniz ve bu aynı şekilde dosyaya çıkar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.