Misalnya, jika saya melakukan
mkdir thisismyfolder912
Saya ingat ada beberapa cara yang lebih mudah untuk beralih thisismyfolder912
daripada harus melakukan
cd thisismyfolder912
Apa itu dan bagaimana cara kerjanya? Juga, apa cara lain saya bisa menggunakan ini?
shell
command-history
Lazer
sumber
sumber
cd this<TAB>
Jawaban:
Apakah Anda berbicara tentang perluasan riwayat klasik, atau pemrosesan Readline?
cd !$
pada baris input berikutnya akan menggantikan argumen terakhir dari baris sebelumnya, atau M-.atau M-_akan menariknya menggunakan Readline.sumber
cd !$
. "Ekspansi sejarah klasik atau pemrosesan Readline" Saya tidak benar-benar mengerti apa yang Anda maksud ...!$
adalah ekspansi sejarah ; shell memprosesnya saat mem-parsing perintah Anda. M- adalah keystroke readline; readline adalah pustaka yang menangani setiap tombol yang Anda tekan, dan ia melihat bahwa Anda menekan M-. dan ketik argumen terakhir dari perintah terakhir untuk Anda secara otomatisJika pertanyaan Anda adalah tentang mengakses riwayat perintah, maka coba perintah ini dengan nama baik
Anda juga dapat mencoba Ctrl+ r, dan mulai mengetik perintah yang Anda coba ingat bahwa Anda baru saja mengetik.
Tekan ESCuntuk memilih perintah atau keluar. Ini bekerja untuk saya di SuSE setidaknya; tidak yakin tentang distro lain.
sumber
history | grep ...
!vi
untuk mengelola baris perintah Anda. Terlihat sangat keren. menggunakan vi untuk mengedit perintah shellSesederhana Alt+.
Alt + .
sumber
<kbd></kbd>
tag untuk mengelilingi kunci.<kbd>
ini selalu berhasil untuk saya:
sumber
$!
perluas ke kata terakhir yang Anda ketikkan,$_
perluas ke kata terakhir setelah ekspansi - jadi Anda mungkinecho /tmp/tmpfile*
dan melihat banyak file yang ingin Anda hapus, tetapi kemudianrm $_
hanya akan menghapus salah satunya.Ambil kiat dari utas lain, jika Anda memasukkan:
di .bashrc Anda kemudian, Anda dapat mulai mengetik sesuatu dari riwayat Anda, dan kemudian tekan panah ke atas, dan kemudian daripada menelusuri item sejarah Anda dengan item, itu akan langsung ke entri sebelumnya yang dimulai dengan apa yang sudah Anda miliki diketik.
Saya kira ini tidak banyak membantu dengan contoh khusus yang diberikan dalam pertanyaan, tetapi itu adalah satu hal yang membantu saya mengakses riwayat dengan cepat.
sumber
Jika Anda menggunakan bash, saya sarankan
pushd
danpopd
. Anda dapat membuat tumpukan direktori dan menjelajahinya dengan cepat. Lihat contoh ini:sumber
$
berguna saat mendemonstrasikanpushd
, dll.)Pada catatan terkait, saya sarankan menggunakan histverify di bash. Letakkan ini di ~ / .bashrc Anda:
Ini akan menyebabkan bash untuk mencetak perintah setelah meluas! $ Atau fungsi histori lainnya, dan memberi Anda kesempatan untuk melihatnya sebelum menekan enter lagi untuk benar-benar menjalankannya. Bagi saya, cek kewarasan sepadan dengan tekan tombol ekstra sesekali. Ingin memastikan saya menjalankan
cd foo
perintah, bukan yangrm -rf foo
...Saya sering menggunakan Ctrl-R pendekatan, dan juga Alt-.(yang cocok untuk skenario yang Anda gambarkan). Saya akan menggunakan! $ Pada kesempatan.
Ini adalah teknik tujuan umum yang sangat berguna.
Tetapi untuk menjawab pertanyaan spesifik Anda:
Membuat direktori dan cd'ing langsung ke dalamnya adalah kombinasi yang umum sehingga berguna untuk memiliki fungsi untuk membungkusnya ..
Pemakaian:
mcd thisismyfolder
sumber
Jika shell Anda menggunakan readline (untuk kasus apa
bash
), Anda dapat melakukan sesuatu seperti menekan ATL+ .bersama?Dari dokumentasi GNU Readline :
sumber