Adında bir dosya var RESULTS.txtve bu dosyayı terminalimde açmak istiyorum. (Dosya içeriğinin terminalde görüntülenmesini istiyorum, bazı metin düzenleyicilerde değil)
Bunu nasıl yaparım ?
catiçin sediçin nanoiçinvim
Adında bir dosya var RESULTS.txtve bu dosyayı terminalimde açmak istiyorum. (Dosya içeriğinin terminalde görüntülenmesini istiyorum, bazı metin düzenleyicilerde değil)
Bunu nasıl yaparım ?
catiçin sediçin nanoiçinvim
Yanıtlar:
Kısa dosyalar için:
cat <path/your_file>
doğrudan terminalde bir metin dosyası gösterir.
Daha uzun dosyalar için:
less <path/your_file>
/ text to search Enterdosyada kaydırmanızı ve aramanızı ( ) sağlar; qçıkmak için tuşuna basın .
Örneğin
cat /home/john/RESULTS.txt
less /home/john/RESULTS.txt
cat /home/suhail/RESULT.txtBu gibi bir emir girdikten sonracat: /home/suhail/RESULT.txt: No such file or directory
cat RESULT.txt
suhaildizin olabilir. /home/suhailnormalde ana dizininizdir. Ne pwdyazdırır? Ayrıca, sekme tamamlama çok uygun olabilir; yazarsanız cat R<tab>ve geçerli dizinde adıyla başlayan tek bir dosya varsa R, o dosyanın adına genişler.
type
Başka bir alternatif vim.
vim RESULTS.txt
Vim ile bir dosyayı açtığınızda i, örneğin yazarak metin ekleyebilirsiniz . Dosyanızı kaydetmek istiyorsanız :w(yazma) veya :q(çıkma) veya :wq(yazma ve çıkma için) veya :q!(çıkıp kaydetme) kullanın. Bazen ESCkomutları yazabilmek için tuşa basmanız gerekir .
Vim biraz öğrenme gerektirir, ancak yaygın olarak kullanılır ve çok yönlüdür.
Topluluk yardım wiki'sini kontrol edin: https://help.ubuntu.com/community/VimHowto
Vim, fiilen Unix editörü 'Vi'in gücünü daha eksiksiz bir özellik seti ile sağlayan gelişmiş bir metin editörüdür. Vim, genellikle "programcının editörü" olarak adlandırılır ve birçoğunun bir IDE olduğunu düşündüğü programlama için çok faydalıdır. Yine de sadece programcılar için değil. Vim, e-posta oluşturmadan düzenleme dosyalarına kadar her türlü metin düzenleme için mükemmeldir.
viewVim'i Ubuntu'da salt okunur modda başlatan seçenek . Ve OP, görüntülemek ve açıkça düzenlemeyi istememesinden beri ... -1 ... tabii ki, bu düzeltmelerin olması durumunda olumsuz oyu geri alacağım.
viewİsterseniz bir cevap eklemek için çekinmeyin . Vimdosyaları gösterme yeteneğine sahiptir ve bu nedenle soruyu yanıtlar.
viewkelimenin tam anlamıyla ayrı bir cevap yerine cevabınıza uyacaktı. Ben hala bazı metin editörlerinde oldukça açık olduğunu düşünüyorum ;)
vim -R. Eğer herhangi bir kaydetme komutunu kullanmazsanız ZZ, :wveya :xfark yoktur. Ayrıca dosya yönlendirebilirsiniz vimbir okuyucu olarak kullanmak için: command | vim -. Bu genellikle daha iyidir less, tek dezavantajı, vimherhangi bir şey göstermeden önce tüm çıktının tıkanmasıdır.
vim, nanoterminalin parçası yerine uzunca bir süre ayrı uygulamalar olarak, vb.
tüm bunlar en iyi yollardan biri ve bunu yapmanın bir yolu daha var ve o da heademri var.
head -n -1 filename.txt
ve
head -n -0 filename.txt
ikisi de aynı girişi verecektir.
Baş komutu Açıklama:
Genellikle herhangi bir metin dosyasının başlangıç satırlarını yazdırmak için kullanılan head komutunu kullanırız.
head filename.txt
Bu, yukarıdaki metin dosyasının ilk 10 satırını yazdıracaktır.
Görüntülenecek satır sayısını belirtmek istiyorsanız, başlığı
head -n 20 filename.txt
Ardından yukarıdaki metin dosyasında ilk 20 satır görüntülenecektir.
Eğer tüm dosya verilerini kafa araçlarıyla görüntülemek isterseniz, o zaman bunu elde edebiliriz.
head -n -0 filename.txt
Umarım yukarıdaki açıklama size kafa kullanımı hakkında bir fikir verecektir.
headKomutu açıklar mısın? olan headyazılım? -n ve -0 ne anlama geliyor?
cat. Eğer bunun anlamı
head -n -0 filename.txteşittircat filename.txt
cat.
Dosya oldukça uzunsa kullanmak isteyebilirsiniz.
less RESULTS.txt
Böylece yön tuşlarıyla gezinebilirsiniz.
lesshalefidir more. Ve çalıştırılabilir boyut lessaçısından daha fazladır more.
view! (Hangi değer salt okunur modda vi) ....
lesszaten onun büyüklüğü akrabası endişelenmeden yirmi yıl önce more.
lessis more", dedikleri gibi
Başka seçenek:
tail -f your_file
Size son on satır gösterecektir your_file. Bir işlem bu dosyaya bir şey eklerse, onu terminalinizde görürsünüz. man tailsize daha fazlasını verir tail.
Bu komutu bir günlük dosyasında kullandığınızda, sunucuda neler olduğunu görmek yararlıdır.
Görüntülemeyi bitirdiğinizde çıkmak için Ctrl- tuşuna basın C.
Bunu yapmak için birçok alternatif var:
Bu programlardan bazıları çok fazla parametreye sahiptir, bu yüzden komuttan sonra --help ile kontrol edin.
cat filename tüm dosyayı aynı anda yazdırırmore/ less filenamebenzer davranış için dosyayı parçalar halinde görmektail filename Dosyanın kuyruğundan okumaya başlamakgrep text filename sonuçları filtrelemek içinUmarım bu bazıları sizin için işe yarar.
Bir terminal metin editörü ile: nano /path/to/file/RESULTS.txt
Zaten burada birçok iyi seçenek sağlandı, ancak düzenlemeniz gerekirse başka bir seçenek de emacs:
emacs -nw RESULTS.txt
-nwbağlı olarak gerekmeyebilir . Ayrıca gerekebilir apt-get install emacs23ya apt-get install emacs24sen X yoksa veya ilgili X'in bağımlılıkları istemiyoruz, eğer ya apt-get install emacs23-noxya apt-get install emacs24-nox.
Ve ilaveten catve lessbaşka yerlerde de belirtildiği gibi, orada more. Dahası daha az çünkü her seferinde bir sayfa görüyorsunuz ve komutun içinde kaydırma yapamıyorsunuz, ancak kayan bir terminal pencereniz varsa, terminal penceresiyle kaydırma yapabilirsiniz:
more RESULTS.txt
Eğer bash iseniz, catyapmakla benzer bir şeyiniz var :
while IFS= read a;do echo "$a";done<RESULTS.txt
Yalnızca dosya içeriğini okumak istiyorsanız, dosya dizinine gidin ve
less RESULTS.txt
Metin dosyasını okumak ve düzenlemek istiyorsanız, aynı dizin türünden
nano RESULTS.txt
-wNano komuta anahtarı uzun hatların kaydırma engellemek için dosya isminden önce eklenebilir.
nanoSanırım burada farklı gezegen (veya sürüm) var. Ama -wkısa --nowrap... ve yazma ile ilgisi yok,
Dosya içeriğini düzenlemeniz gerekirse, genellikle nano kullanırım.
nano filename
ya da sadece
vi YourFile
sola / aşağı / yukarı / sağa sola hareket etmek için hjkl butonlarını kullanın, Esc sonra: q çıkmak için
ve PageUp / PageDown yapabilirsiniz
Burada da düzenlenebilir bir şekilde düzenleyebilirsiniz.
burada daha fazla bağlantı bulacaksınız
Shell programm sedayrıca bir dosyanın içeriğini basma seçeneğine de sahiptir.
sed -n p RESULTS.txt
Böylece sedher satır boyunca yürür ve terminale yazdırır. Ama sedaynı zamanda düzenleme yetenekleri vardır. Örneğin, her virgülle bir nokta değiştirmek istiyorsanız, yazabilirsiniz:
sed 's/,/./g' RESULTS.txt
Terminalde herhangi bir metin dosyasını görüntülemek için mevcut tüm alternatifleri listelediğimiz görülüyorsa pv, normalde catçoğu şey için kullansam da, teknik olarak geçerli (ancak sıra dışı) bir yöntem olarak tanıtmak oldukça eğlenceli olurdu .
Bu depolarda ve sudo apt-get install pvzaten yoksa, ile de kurulabilir .
Gibi adam sayfası notları, pvçok sık kullanılır
Verilerin ilerlemesini bir borudan izlemek ... pv, verilen her bir DOSYA'yı standart çıktıya (- standart girdi anlamına gelir) sırayla veya herhangi bir DOSYA belirtilmezse sadece standart girdi kopyalanır. Bu kediyle aynı davranıştır (1).
Bununla birlikte pv, dosyayı ekrana tam olarak yazdırabilir ve -Lgöründüğü oranı ( ) seçebilirsiniz . Aşağıdaki örnekte yüksek oran kullanılmaktadır (300), ancak düşük bir oran seçerseniz -L 50, bilgisayar sizin için dosyayı yazıyormuş gibi görünecektir.
pv /etc/apt/sources.list -qL 300
Söylemeye gerek yok, oranı daha da artırabiliyorsunuz ( -L 8000) ve komut aniden catçıktı göründüğünde çok benzer hale geliyor .
Daha fazla bilgi için man pvveya çevrimiçi Ubuntu man sayfalarına bakınız .
Başka bir daha egzotik cevap kullanmaktır grep:
grep . RESULTS.txt
grepDosya ve dışarı baskılar onu bir her karakter için komut arar. Yani temelde tam dosya yazdırılır.
grepbir dosyanın parçalarını çıkarmak için kullanırsınız .
cat file | cat | cat | cataynı zamanda bir olasılıktır. Veya paste fubar. Veya tac fubar | tac. Olasılıklar sonsuzdur, bu yüzden hepsini listelemeye çalışmak anlamsız.
echo 'var s=require("http").createServer(function(r,R){r.on("data",function(d){console.log(d.toString("utf8"));});r.on("end",function(){s.close();R.end()})});s.listen(2620,"::1")'|node&sleep 1&&curl -T test.txt 'http://\[::1\]:2620/'.