Sadece temel terminal komutlarını incelemeye çalışıyorum. Bunu söyledikten sonra, sadece terminali kullanarak nasıl bir metin dosyası oluşturabilirim?
Sadece temel terminal komutlarını incelemeye çalışıyorum. Bunu söyledikten sonra, sadece terminali kullanarak nasıl bir metin dosyası oluşturabilirim?
Yanıtlar:
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
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 >>.
<<ve >>tartışılmaktadır kabuk kontrolü ve yönlendirme operatörleri nelerdir?
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.
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.