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.txt
satı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ı cat
standart 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 touch
komutu 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.txt
eklemek 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 txt
dosya 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.txt
içinde nano
, ya da yoksa, onu oluşturmak ve bunu açılacaktır nano
.
Aynı basitçe değiştirerek yapılabilir nano
ile emacs
veya vim
ve kullanacağı emacs
veya vim
yerinenano
cat
ile 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 grep
ve bir şablon yazabilir ve grep'in girişinizde işini yapmasını sağlayabilirsiniz ve bu aynı şekilde dosyaya çıkar.