Bagaimana cara membuka file teks di terminal saya?

152

Ada file bernama RESULTS.txtdan saya ingin membuka file ini di terminal saya. (Maksud saya, saya ingin melihat isi file ditampilkan di terminal dan tidak di beberapa editor teks)

Bagaimana aku melakukan itu ?

BuZZ-dEE
sumber
17
Saya melihat 9 upvotes tetapi sebenarnya ini mendasar. Apakah Anda bahkan mencoba mencari jawabannya secara online?
Colton
5
Ini pertanyaan yang menyenangkan yang menunjukkan preferensi masyarakat, dari yang sederhana catke sedke nanokevim
alvas
12
@Parker Ketika saya mencari "buka file teks di terminal" Saya mendapatkan hasil dari forum mac untuk hal-hal seperti pico, dll. Yang tidak ada di ubuntu. Pertanyaan semacam ini sangat disambut baik di sini.
Jorge Castro
1
Anda mungkin ingin melihat beberapa tutorial shell Ubuntu pemula - Mereka akan menjelaskan bagaimana melakukan ini dan hal-hal terkait.
l0b0
5
@Parkpark Ya, itu mengirim saya ke sini :)
johnc

Jawaban:

183

Untuk file pendek:

cat <path/your_file>

langsung menunjukkan file teks di terminal.

Untuk file yang lebih panjang:

less <path/your_file>

memungkinkan Anda menggulir dan mencari ( / text to search Enter) di file; tekan quntuk keluar.

misalnya

cat /home/john/RESULTS.txt
less /home/john/RESULTS.txt
dedunumax
sumber
1
setelah memasukkan perintah seperti cat /home/suhail/RESULT.txtsaya mendapatkan inicat: /home/suhail/RESULT.txt: No such file or directory
Suhail Gupta
Ketika Anda melakukan "ls". Apa hasilnya?
Thomas15v
4
Jika Anda berada di folder yang sama dengan file, Anda tidak perlu melakukan path lengkap. Anda bisa melakukannyacat RESULT.txt
Shauna
1
@ SuhailGupta: Mungkin ada lebih dari satu suhaildirektori. /home/suhailbiasanya direktori home Anda. Apa yang pwddicetak? Selain itu, penyelesaian tab bisa sangat nyaman; jika Anda mengetik cat R<tab>, dan hanya ada satu file di direktori saat ini yang namanya dimulai R, itu akan diperluas ke nama file itu.
Keith Thompson
1
OLEH CARA - Di windows, perintahnya adalahtype
mowwwalker
33

Alternatif lain adalah vim.

vim RESULTS.txt

Setelah Anda membuka file dengan vim, Anda dapat memasukkan teks dengan mengetik i, misalnya. Jika Anda ingin menyimpan penggunaan file Anda :w(tulis) atau :q(keluar) atau :wq(untuk menulis dan keluar) atau :q!(keluar dan jangan simpan). Terkadang Anda perlu menekan ESCtombol untuk dapat mengetik perintah.

Vim membutuhkan beberapa pembelajaran, tetapi banyak digunakan dan sangat fleksibel.

Periksa wiki bantuan komunitas: https://help.ubuntu.com/community/VimHowto

Vim adalah editor teks canggih yang memberikan kekuatan editor Unix de-facto 'Vi' dengan set fitur yang lebih lengkap. Vim sering disebut "editor programer," dan sangat berguna untuk pemrograman sehingga banyak yang menganggapnya sebagai keseluruhan IDE. Ini bukan hanya untuk programmer. Vim sempurna untuk semua jenis pengeditan teks, dari menulis email hingga mengedit file konfigurasi.

Pribadi
sumber
4
Alternatif yang lebih baik lagi adalah view, yang memulai Vim dalam mode read-only di Ubuntu. Dan karena OP diminta untuk melihat dan secara eksplisit tidak mengedit ... -1 ... tentu saja saya akan mengambil kembali downvote jika ini diedit.
0xC0000022L
8
@ 0xC0000022L :) Anda dapat menyimpan downvote. Jangan ragu untuk menambahkan jawaban viewjika Anda mau. Vimsangat mampu menampilkan file dan dengan demikian ini menjawab pertanyaan.
don.joey
2
Saya meningkatkan komentar Anda terlebih dahulu. Baik dengan saya. Tetapi karena Anda menyebutkan Vim, viewakan benar-benar cocok dengan jawaban Anda dan bukan jawaban yang terpisah. Saya masih berpikir itu dan tidak dalam beberapa editor teks cukup jelas;)
0xC0000022L
lihat adalah alias empat huruf bodoh untuk vim -R. Jika Anda tidak menggunakan perintah save seperti ZZ, :watau :x, tidak ada perbedaan. Juga Anda dapat mengarahkan file ke vimmenggunakannya sebagai pembaca: command | vim -. Ini biasanya lebih baik daripada less, satu-satunya downside adalah yang vimmenutupi seluruh output sebelum menampilkan apa pun.
Kaz
1
@ 0xC0000022L: bagi seseorang yang cukup baru menggunakan baris perintah, "di terminal dan bukan di beberapa editor teks" dapat dengan mudah berarti "di beberapa utilitas di dalam terminal, bukan di beberapa editor teks yang terbuka di jendela yang terpisah". Ketika saya pertama kali datang ke baris perintah, saya jadi digunakan untuk mengidentifikasi aplikasi dengan jendela mereka bahwa saya pasti memikirkan vim, nanodll sebagai bagian dari terminal daripada aplikasi yang terpisah cukup lama.
PLL
16

semua itu adalah cara terbaik dan ada satu lagi cara untuk melakukan ini & itu dengan headperintah.

head -n -1 filename.txt

dan

head -n -0 filename.txt

keduanya akan memberi Anda input yang sama.

Penjelasan perintah kepala:

Umumnya perintah kepala digunakan untuk mencetak garis mulai dari file teks apa pun. Kita dapat melihat file teks dengan

head filename.txt

Itu akan mencetak 10 baris pertama file teks di atas.

Jika Anda ingin menentukan jumlah baris yang akan dilihat maka Anda dapat menggunakan head sebagai

head -n 20 filename.txt

Kemudian dalam file teks di atas 20 baris pertama akan dilihat.

Jika Anda ingin melihat seluruh data file dengan sarana kepala maka kita bisa mendapatkannya dengan

head -n -0 filename.txt

Semoga penjelasan di atas akan memberi Anda beberapa ide tentang penggunaan kepala.

Jai
sumber
1
dapatkah kamu menjelaskan headperintahnya? apakah headperangkat lunak? apa artinya -n dan -0?
don.joey
1
@Private Teman saya, dengan senang hati.
rɑːdʒɑ
3
Ini hanya cara yang sangat buruk untuk menulis cat. Jika memang itu yang dimaksudkan, maka ada jauh lebih banyak dari ini satu cara lagi untuk melakukannya ...
Ry-
1
head -n -0 filename.txtsetara dengancat filename.txt
Keith Thompson
2
@Jai: Ini cara penulisan lain yang tidak perlu rumit cat.
Ry-
13

Jika file agak panjang, Anda mungkin ingin menggunakannya

less RESULTS.txt

sehingga Anda dapat menavigasi melalui itu dengan tombol arah.

tvuillemin
sumber
3
Sidenote: lessadalah penerus more. Dan dalam hal ukuran executable lesslebih dari more.
Joachim Sauer
@ Joachim Sauer: juga dalam hal fitur, kapan pun Anda ingin melakukan lebih dari sekadar melihat;)
0xC0000022L
@ 0xC0000022L: Jika Anda ingin melihat, jangan lupa view! (Yang vi dalam mode read-only ....)
Alan Shutko
1
Saya sudah menggunakan lessdua puluh tahun yang lalu tanpa khawatir tentang ukurannya relatif more.
Kaz
2
" lessAdalah more", seperti yang mereka katakan
aidan
12

Pilihan lain adalah:

tail -n 30 result.txt

untuk mencetak 30 baris terakhir dari file besar bernama result.txt.

Jool
sumber
8

Pilihan lain:

tail -f your_file

Ini akan menunjukkan kepada Anda sepuluh baris terakhir your_file. Jika suatu proses menambahkan sesuatu ke file ini, Anda melihatnya di terminal Anda. man tailmemberi Anda lebih banyak tail.

Sangat berguna untuk melihat apa yang terjadi dengan server ketika Anda menggunakan perintah ini pada file log.

Tekan Ctrl- Cuntuk berhenti ketika Anda selesai melihat.

Luc M
sumber
4

Ada banyak alternatif untuk melakukan itu:

Beberapa program ini memiliki banyak parameter, jadi periksalah dengan --help setelah perintah ..

  • cat filename mencetak seluruh file sekaligus
  • more/ less filenamePerilaku serupa untuk melihat file di bagian
  • tail filename mulai membaca dari ujung file
  • grep text filename untuk hasil penyaringan

Semoga beberapa dari ini bekerja untuk Anda ..

kainlite
sumber
3

Dengan editor teks terminal: nano /path/to/file/RESULTS.txt

ramalan201
sumber
2
"tidak dalam beberapa editor teks"
Burhan Ali
2

Banyak opsi bagus sudah disediakan di sini, tetapi opsi lain jika Anda perlu mengedit adalah emacs:

emacs -nw RESULTS.txt

mungkin tidak perlu -nw, tergantung. Anda mungkin juga harus apt-get install emacs23atau apt-get install emacs24, atau jika Anda tidak memiliki X atau tidak ingin dependensi X terkait, apt-get install emacs23-noxatau apt-get install emacs24-nox.

Dan selain catdan lesssebagaimana disebutkan di tempat lain, ada more. Lebih banyak lebih sedikit, karena Anda melihat halaman sekaligus dan tidak dapat menggulir melalui perintah itu sendiri, tetapi Anda dapat menggulir dengan jendela terminal, jika Anda memiliki jendela terminal gulir:

more RESULTS.txt

Jika Anda berada di bash, Anda memiliki sesuatu yang mirip catdengan melakukan:

while IFS= read a;do echo "$a";done<RESULTS.txt
Gary S. Weaver
sumber
2

Jika Anda hanya ingin membaca konten file, masuk ke direktori file dan ketik

less RESULTS.txt

Jika Anda ingin membaca dan mengedit file teks, dari jenis direktori yang sama

nano RESULTS.txt

The -wswitch perintah nano dapat dimasukkan sebelum nama file untuk mencegah pembungkus garis panjang.

DocKuro
sumber
1
Mode tulis aktif telah menjadi standar untuk nano selama beberapa waktu, sekarang, setidaknya di Ubuntu. Anda sekarang harus secara eksplisit mengatakannya untuk menggunakan mode readonly.
Shauna
4
Planet yang berbeda (atau nanoversi) di sini, saya kira. Tetapi -wkependekan dari --nowrap... dan tidak ada hubungannya dengan write,
0xC0000022L
1

Jika Anda perlu mengedit konten file saya biasanya menggunakan nano.

nano filename
Jaison Brooks
sumber
1

atau hanya

vi File Anda

gunakan tombol hjkl untuk memindahkan garis kiri / bawah / atas / kanan, Esc lalu: q untuk keluar

dan Anda bisa PageUp / PageDown

Anda juga dapat mengeditnya di sini dengan cara yang benar

di sini Anda akan menemukan lebih banyak tautan

4pie0
sumber
1
Ketika saya berusia 6 (pada tahun 1991) saya sering harus lari ke ayah saya untuk menyelamatkan saya ketika saya entah bagaimana berhasil berakhir di vi dan tidak bisa keluar.
gerrit
1
ya ... saya masih melakukannya
4pie0
Saya suka sedikit emosi ini ketika saya selalu membuka sesuatu melalui vi: "apakah akan ada akhir yang bahagia atau akankah saya selesai dengan swap file ..."
4pie0
1

Program shell sedjuga memiliki opsi untuk mencetak konten file.

sed -n p RESULTS.txt

Jadi sedberjalanlah melewati setiap baris dan mencetaknya ke terminal. Tetapi sedjuga memiliki kemampuan mengedit. Misalnya, jika Anda ingin mengganti setiap koma dengan titik, Anda dapat menulis:

sed 's/,/./g' RESULTS.txt
qbi
sumber
Droid yang saya cari. Terima kasih. Di mac untuk menyalin file dari terminal ke clipboard. sed -np RESULTS.txt | pbcopy
hawkeye126
1

Karena kita sepertinya mendaftar semua alternatif yang tersedia untuk menampilkan file teks apa pun di terminal, akan sangat menyenangkan untuk memperkenalkan pvsecara teknis satu metode yang valid (tetapi tidak biasa), meskipun saya biasanya menggunakan catsebagai gantinya untuk sebagian besar hal.

Itu ada di dalam repositori dan dengan demikian dapat diinstal sudo apt-get install pvjika Anda belum memilikinya.

Sebagai catatan halaman manual , pvsangat sering digunakan

memantau kemajuan data melalui pipa ... pv akan menyalin setiap FILE yang disediakan pada gilirannya ke output standar (- berarti input standar), atau jika tidak ada FILE yang ditentukan, hanya input standar yang disalin. Ini adalah perilaku yang sama dengan kucing (1).

Dengan pvAnda dapat benar-benar mencetak file ke layar, dan memilih tingkat ( -L) di mana ia muncul. Contoh di bawah ini menggunakan tingkat tinggi (300), tetapi jika Anda memilih tingkat rendah seperti -L 50, itu akan muncul seolah-olah komputer mengetikkan file untuk Anda.

pv /etc/apt/sources.list -qL 300

Tidak perlu dikatakan Anda dapat meningkatkan laju lebih lanjut ( -L 8000), dan perintah menjadi sangat mirip cat, dengan output muncul secara instan.

Untuk informasi lebih lanjut, lihat man pvatau manual Ubuntu secara online .

Mik
sumber
0

Jawaban lain yang lebih eksotis adalah menggunakan grep:

grep . RESULTS.txt

The grepperintah pencarian untuk setiap karakter dalam file dan mencetak keluar. Jadi pada dasarnya file lengkap dicetak.

qbi
sumber
6
Mengapa? Hanya ... kenapa ?
gerrit
Itu hanyalah kemungkinan lain. Biasanya Anda akan menggunakan grepuntuk mengekstrak bagian dari file.
qbi
2
cat file | cat | cat | catjuga kemungkinan. Atau paste fubar. Atau tac fubar | tac. Kemungkinan tidak terbatas jadi saya pikir agak tidak ada gunanya untuk mencoba mendaftar semuanya.
gerrit
2
Itu sebenarnya bisa bermanfaat, justru karena itu tidak hanya mencetak seluruh file. Ini akan melewati garis kosong. (Garis yang hanya terdiri dari spasi putih masih akan dicetak.)
Keith Thompson
5
Saya suka 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/'secara pribadi.
Ry-
0

Kenapa tidak.

Anda juga bisa menggunakan

most RESULTS.txt

Ini hampir sama dengan less, tetapi juga mendukung pengguliran horizontal jika file berisi garis panjang - yang sangat berguna.

most tidak diinstal secara default, jadi untuk menggunakannya, Anda harus terlebih dahulu

sudo apt install most
Joe
sumber