Apakah mungkin untuk membuka file dari terminal bukan dengan namanya tetapi dengan posisinya (nomor) di folder? Atau opsi lain?
Karena namanya terlalu panjang.
command-line
files
directory
yh ya
sumber
sumber
Tab
tombol?Jawaban:
Anda mungkin belum menemukan Tabpenyelesaian-(lihat di sini ).
Saat mengetikkan nama file di Terminal, ketikkan beberapa huruf pertama dan tekan Tabdan lihat sihir!
sumber
*
, jika Anda tidak ingin menggunakan Tab-completion karena alasan tertentu. Atau bahkan*abc*
jika nama file mengandungabc
suatu tempat (coba gunakan subpattern yang unik untuk nama file yang Anda inginkan). Atau cukup salin / tempel nama file menggunakan mouse.Hanya untuk bersenang-senang, menjawab pertanyaan:
Cara kerjanya dalam praktik
Konten direktori saat ini terdaftar, diberi nomor. Pilih nomor dan item dibuka:
Mempersiapkan
...gampang:
Logout dan kembali dan mulai menggunakan perintah hanya dengan mengetik
di terminal
NB
Jika Anda juga ingin menampilkan file tersembunyi, ubah
ke:
sumber
~/bin
belum ada di PATH Anda, Anda harus menambahkannya (misalnya, meletakkan garis sepertiexport PATH="$PATH:~/bin"
ke.bashrc
atau.profile
.)source ~/.profile
.~/bin
sama sekali tidak terintegrasi dengan apa pun. Ubuntu dan Debian dikirimkan dengan custom~/.profile
yang memiliki garisif [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" ; fi
. Pada Mac OS X dan CentOS Anda harus mengonfigurasinya sendiri. Peluang yang baik adalah bahwa jika Ubuntu diberikan kepada seseorang oleh departemen TI, kemungkinannya adalah~/.profile
tidak akan sama dengan Ubuntu default, jadi itu praktik yang baik untuk selalu waspada yang~/bin
tidak standar. Bash juga dapat mengabaikan~/.profile
jika Anda meluncurkan shell dengan--no-profile
opsiAda fitur yang kurang dikenal di Bash yang memungkinkan Anda melakukan ini tanpa memanggil python atau alat pihak ketiga lainnya, dan dengan satu baris:
sumber
open
namun biasanya tidak akan berfungsi (kecuali Anda menggunakan Mac OS);xdg-open
mungkin akan melakukan trik pada kebanyakan sistem GNU / Linux.Dalam bash murni, menggunakan
select
pernyataan:Pengaturan PS3 hanya eyecandy. Jika Anda membiarkannya, Anda hanya akan mendapatkan prompt default. Jika Anda meninggalkan pernyataan break, pernyataan pilih akan berulang sampai Anda menekan CTRL-D atau CTRL-C.
Tentu saja Anda juga dapat menjalankannya sebagai satu-baris:
sumber
Anda dapat menginstal dan menggunakan
mc
, Komandan Tengah Malam. Ini adalah antarmuka pengguna teks dengan menu dll yang terinspirasi oleh Norton Commander lama, yang populer ketika orang menggunakan MSDOS (sebelum Windows).dan memulainya di jendela terminal atau di layar teks,
sumber
$ ls
Bagaimana jika
ls | sed -n 3p
Mencetak nama file ke-3
Templates
Buka-
xdg-open "$(ls | sed -n 3p)"
Biasanya berhasil.
Masukkan ke dalam naskah
Nama skrip: terbuka
Simpan di folder rumah. Menjalankan:
sumber
ls
ls
(dan apa yang harus dilakukan)?Pada sistem file Linux, nama file memiliki properti yang sangat menarik yang disebut inode : direktori (atau folder) adalah daftar inode dan yang menunjuk nama file ke inode tersebut. Jadi, jika Anda tahu nomor inode, Anda dapat mencoba mencari file menggunakan
find
utilitas dan melakukan operasi tertentu di atasnya. Ini sangat berguna ketika berhadapan dengan nama file di lokal yang berbeda, karakter khusus , atau ketika Anda secara tidak sengaja membuat direktori bernama~
.Sebagai contoh,
Apa yang dilakukan adalah melintasi direktori kerja saat ini (diwakili oleh
.
) dan mencari entri direktori yang merupakan file dengan nomor inode 1103743. Jika file ditemukan,xdg-open
akan membuka file dengan aplikasi default danfind
akan berhenti setelahnya. Alasan untuk tambahan-and
dan-quit
untuk mencegahxdg-open
membuka kembali file jika ada tautan keras ke file (yang setara dengan membuka file yang sama dua kali).sumber
Buat beberapa file:
Masukkan file ke dalam variabel dan buka file dengan indeks.
Ganti
12
dengan indeks yang Anda coba buka.sumber
Ini mungkin jawaban paling sederhana yang langsung menjawab pertanyaan. coba yang berikut ini:
Katakanlah kita ingin membuka (atau mengedit) file kedua, kita dapat melakukan hal berikut:
ini akan menampilkan nama file kedua, yang dapat kita gunakan sebagai input ke perintah yang ingin kita lakukan, misalnya:
akan menampilkan konten file kedua.
[PEMBARUAN] ini mengasumsikan bahwa Anda tidak memiliki spasi putih dalam nama file,
terima kasih @wjandrea atas pengamatan Anda.
sumber
ls
. Backtick juga sudah tidak digunakan lagi. Gunakan$()
sebagai gantinya.