Salin dan tempel direktori kerja saat ini pada baris perintah tanpa menggunakan mouse

2

Saya menggunakan terminal cukup banyak, tetapi saya frustrasi karena saya berulang kali menggunakan mouse dalam situasi berikut.

Saya memiliki dua tab terminal terbuka dengan direktori kerja saat ini X dan Y , masing-masing. Pada tab di mana direktori adalah X , saya ingin melakukan ini (sebagai contoh):

cp somefile Y

Jalan Y bisa sangat panjang, jadi metode saya saat ini, dan rumit, harus dilakukan

  1. Ctrl+ PgUpuntuk mengubah tab,
  2. menulis pwduntuk menunjukkan Y ,
  3. gunakan mouse untuk memilih output dari pwd,
  4. Ctrl+ PgDownuntuk kembali ke tab pertama,
  5. gunakan mouse lagi untuk menempelkan Y setelahnya cp somefile, menggunakan klik tengah.

Tentunya prosedur ini harus dihindari, misalnya dengan memiliki jalan pintas yang menyalin direktori kerja saat ini tanpa menggunakan mouse. Ada saran?

DustByte
sumber
Apakah Anda yakin alur kerja Anda dipikirkan dengan baik?
gniourf_gniourf
Saya cukup yakin alur kerja saya tidak dipikirkan dengan baik, tetapi ini adalah solusi ad-hoc terbaik yang dapat saya berikan dengan keterampilan baris perintah saya saat ini. Secara umum, saya sering menghadapi skenario yang bekerja di dua folder secara bersamaan (mengatakan melakukan rsyncdi antara mereka, cp, diff, menjalankan beberapa perintah dalam satu folder yang pipa output ke yang lain, dll), dan itu adalah masalah berulang saya yang saya perlu mengetikkan kedua jalur (atau yang lain) di baris perintah. Itu dapat dibandingkan dengan memiliki dua panel terbuka di Nautilus untuk memungkinkan drag-and-drop. Setiap saran untuk meningkatkan alur kerja ini akan sangat bagus!
DustByte
Anda mungkin juga menggunakan variabel, misalnya, remote="path to the/remote directory/"dan kemudian mv this_file_here "$remote"... tetapi penyelesaian tab tidak akan berfungsi untuk subdir dari $remote(yang dapat disembuhkan dengan mengutak-atik penyelesaian bash, tapi itu bukan yang paling sederhana). Kemungkinan lain (dan kemungkinan yang paling sederhana) adalah untuk melink tautan ke direktori jarak jauh di direktori kerja Anda: ln -s /path/to/remote/dir ./remotedan menghapus tautan setelah selesai rm remote.
gniourf_gniourf
Mmm ... Saya bisa melihat potensi khususnya dalam metode menggunakan tautan lunak, dikombinasikan dengan beberapa alias / skrip sederhana. Saya bisa dengan cepat membuat tautan sementara (jalur yang pendek, mudah diingat dan cepat mengetik) untuk direktori jarak jauh. Terima kasih atas tipnya! Sebenarnya, menggunakan tautan lunak untuk subdirektori yang terletak sangat dalam adalah sesuatu yang telah saya pikirkan sebelumnya, tetapi gagasan untuk menggunakannya juga dalam pengertian yang lebih sementara tidak benar-benar terlintas di benak saya.
DustByte

Jawaban:

4

Berikut ini adalah tutorial singkat tentang bagaimana Anda dapat menyalin teks dari terminal hanya dengan menggunakan keyboard:

  1. Buka layar: screen(Anda dapat menginstalnya menggunakan sudo apt-get install screenperintah jika Anda belum menginstal)
  2. Jalankan program Anda, menghasilkan output yang ingin Anda salin (dalam kasus Anda pwd)
  3. Masuk ke mode salin: Ctrl+ Adiikuti oleh[
  4. Pindahkan kursor Anda ke titik awal menggunakan tombol panah
  5. Memukul Enter
  6. Pindahkan kursor Anda ke titik akhir menggunakan tombol panah
  7. Memukul Enter
  8. Tempel: Ctrl+ Adiikuti oleh]

Sumber: https://stackoverflow.com/a/312215/2353900


Atau, karena Anda menggunakan lebih banyak tab, lebih baik digunakan xsel. Untuk menginstalnya, jalankan perintah berikut:

sudo apt-get install xsel

Kemudian pada tab kedua jalankan:

pwd | xsel -b

dan di tab pertama (atau di mana pun Anda mau) tempel dari clipboard menggunakan Ctrl+ Shift+ V.

Sumber: https://stackoverflow.com/a/318874/2353900

Radu Rădeanu
sumber
Saya sangat menghargai jawaban Anda, tetapi seperti yang saya lihat, ia memiliki dua kekurangan: 1. Saya perlu menjalankan layar (yang harus selalu saya lakukan ketika menggunakan baris perintah, atau?), 2. Jumlah penekanan tombol di samping untuk menggerakkan kursor kelihatannya agak membosankan, masih. Saya juga kehilangan beberapa penekanan tombol hanya dengan menukar antara jendela, dan di bawah layout keyboard saya, [, ]-keys membutuhkan Alt Gruntuk ditekan.
DustByte
@DustByte Lihat hasil edit baru saya.
Radu Rădeanu
Ah, xselsepertinya menjanjikan. Akan memeriksanya. Terima kasih.
DustByte
1
xselbekerja dengan baik. Saya sekarang telah menambahkan alias saya sendiri alias pwdc='pwd | tr "\n" " " | xsel -bi',, sehingga penulisan pwdc(c untuk salinan) berhasil.
DustByte