Bagaimana cara memiliki pandangan yang lebih baik ketika mengetik direktori di terminal?

8

Saat ini saya menggunakan Mac dan belajar menggunakan terminal, tetapi pertanyaannya juga berlaku untuk sistem Linux.

Saya ingin bertanya, ketika mengetikkan jalur di terminal / baris perintah, apakah ada cara di dalam terminal untuk memiliki tampilan direktori yang lebih baik?

Sebagai contoh, saya ingin cd ke direktori tertentu. Setelah saya mulai mengetik alamat, apakah ada cara untuk dasarnya ls di setiap direktori? Jika misalnya saya ingin menyalin file dari satu direktori ke direktori lain dan ingin mengetik 2 path absolut, apakah saya perlu menghafal 2 path? Saya tahu bahwa menekan Tab membantu dengan pelengkapan otomatis, tetapi bagaimana jika saya tidak tahu huruf pertama?

Saat ini saya mengandalkan menggunakan Finder untuk itu, tetapi saya membayangkan orang-orang yang menggunakan terminal secara eksklusif memiliki cara yang lebih baik.

Terima kasih!

pengguna1367903
sumber

Jawaban:

9

Tabpersis apa yang Anda butuhkan. Jika Anda menekan tabdua kali, itu akan menampilkan semua kemungkinan penyelesaian:

$ cd /usr/  ## Hit tab twice here
bin/     include/ lib64/   sbin/    src/     
games/   lib/     local/   share/   var/     

Anda tidak perlu tahu huruf pertama, yang kedua tabakan menunjukkan semuanya.

terdon
sumber
<kbd> Tab </kbd> juga berlaku untuk baris perintah Windows.
Hind-D
Dan bash / zsh setidaknya di linux
linuxdev2013
5

Beberapa kata tentang Tab

TabSangat bagus untuk menyelesaikan sebagian perintah tertulis (atau opsi) di antara yang tersedia seperti yang digarisbawahi oleh Terdon dalam jawaban lain .

Untuk menyelesaikan perintah sudah cukup dengan menekanTab sekali. Untuk mendapatkan daftar lengkap, tekanTab lagi.
Selain itu, Anda mungkin ingin menyesuaikan perilakuTab . Coba misalnya 2 baris itu:

bind "TAB:menu-complete"
bind "set show-all-if-ambiguous on"

Yang pertama Tabmenunjukkan kepada Anda semua kemungkinan dan melengkapi perintah secara otomatis dengan yang pertama tersedia, mulai saat Anda menekan kedua kali Tab akan mulai menggilir di antara mereka.

Catatan:

Anda dapat menulis skrip penyelesaian bash Anda sendiri , dengan opsi aturan ...
Ada lebih dari beberapa petunjuk di artikel Pengantar penyelesaian bash : bagian pertama adalah untuk basis dan yang kedua untuk menulis skrip Anda sendiri.

Anda mungkin menemukan yang menarik bind completedan referensi di sini di bawah ini.

Jawaban 2: Jalur absolut dan pintasan

Tidak selalu wajib untuk menulis jalur absolut (penuh) di setiap perintah bahkan jika itu adalah praktik yang baik ketika Anda menulis skrip dan Anda ingin menghindari risiko mengeksploitasi sebagai kuda trojan .

Ada beberapa shortcut untuk pergi lebih cepat, misalnya, Tab, , , dan semua variabel didefinisikan dalam shell saat ini. Alt+..~

Berikut ini beberapa contoh ( .berarti di sini dan ~berarti rumah ):

Untuk menyalin file ke direktori saat ini sudah cukup untuk menulis Untuk menyalin dari direktori Anda file ke direktori ini, Anda dapat menulis Untuk menyalin file dari direktori saat ini ke yang terakhir menulis argumen terakhir dari perintah terakhir yang disimpan dalam sejarah. . Jika ditekan lagi itu akan menggantikan yang baru ditemukan dengan salah satu posisi sebelumnya dalam sejarah bash. Dengan contoh lebih sederhana:cp /my/far/far/away/myfile .
homecp ~/myfile .
cp myfile $OLDPWD
Alt+.

mkdir OldDir
mkdir NewDir
cd # here press `Alt + .` and it will autocomplete with NewDir
   # press `Alt + .` again and you will see "cd OldDir"

Referensi:

  • Pengantar penyelesaian pesta : bagian 1 dan bagian 2
  • help bind, ya tolong karena bindini adalah perintah bawaan
  • help completedan complete -p | lessmemiliki daftar dalam format yang nyaman.
  • help pushddan help popduntuk mendorong dan mengeluarkan direktori dari tumpukan.
  • Builtins Penyelesaian yang Dapat Diprogram
Cepat
sumber
2

Dan lihat Midnight Commander- manajer file mode teks yang benar-benar hebat. Anda dapat menavigasi dalam dua panel, setelah file menemukan F5 sederhana, salin saja. F6 memindahkannya ... Saya sering menggunakan terminal, jika tidak sebagian besar waktu, tetapi saya tidak bisa hidup tanpanya mc(nama normal paket).

jcoppens
sumber