Saya baru-baru ini dalam keadaan sulit di mana saya berada di dalam folder, dan saya ingin ke cd
folder sub direktori. Hanya ada satu folder, di dalam folder ini dan itu adalah nama yang sangat panjang.
Home (I am here)
|
|
--> /reallylongnamefolder
Apakah ada cara untuk masuk ke folder itu daripada mengetik:
cd reallylongnamefolder
command-line
Arian Faurtosh
sumber
sumber
cd */
ataucd rea*/
jika tidak yakin hanya ada 1 subdir setiap saat (jika menggunakan bash, Anda juga bisacd rea[TAB]
.. di shell lain juga tetapi cara untuk memperluas nama mungkin berbeda). Jika "/ reallylongnamefolder" adalah jalur absolut, hal yang sama, tetapi dengan '/' di depan, misalnya:cd /rea*/
Jawaban:
Saya akan menyarankan untuk mengetik beberapa huruf pertama dan menekan tab. Bash memiliki fitur pelengkapan otomatis yang sangat berguna. Jika hanya direktori di jalur saat ini, menekan saja tabakan mengisi seluruh direktori.
Mengetik
cd
dan menekan tabdua kali akan menampilkan semua opsi di direktori saat ini.tab umumnya sangat berguna dalam bash karena Anda dapat mengakses hampir semua file executable pada satu atau dua penekanan tombol.
cd *
seperti yang disarankan di atas hanya berfungsi jika direktori pertama dalam daftar dan tidak disembunyikan. Jika ada file sesuai abjad sebelum direktori Anda, inicd
tidak akan mengubah direktori Anda sama sekali.sumber
cd <tab>
cukup pintar.Saya pikir saya benar-benar menemukan jawabannya
Tapi saya belum mengujinya jika ada banyak file dan satu folder!
Seperti @Rinzwind disebutkan dalam komentar!
Katakanlah Anda memiliki tiga folder panjang:
Jika Anda mengetik huruf pertama file tersebut, lalu tekan tabitu akan melengkapi nama file secara otomatis! STUFF GILA!
Jadi, dalam contoh di atas, Anda dapat mengetik: t tabdan itu akan melengkapi secara otomatis sebanyak mungkin:
cd thisislongfolder
(lalu ketikkan angkanya sendiri).Atau yang bisa Anda lakukan
cd t*1
akan membawa Anda ke dalamnyathisislongfolder1
Rinzwind terima kasih!
sumber
cd r*r
dan harap itu satu-satunya folder yang diawali dan diakhiri dengan r.cd */
mungkin melakukan trikcd *
mungkin gagal lebih sering daripada berhasil.ls -d */
daftar direktori,head -n 1
berikan yang pertama dalam daftar ini.sumber
cd
direktori pertama, Anda tidak dapat melakukan tab.Saya memiliki pengaturan yang bagus untuk ini, hal ini memungkinkan saya tidak hanya untuk cd ke ~ / suatu nama pengguna yang panjang tetapi juga cd ke sana bahkan ketika saya berada di folder /
hal pertama yang saya gunakan adalah zsh dengan oh-my-zsh ini juga akan memungkinkan Anda untuk cd tanpa harus khawatir tentang kasus atau bahkan tanpa mengetikkan cd
buka dan edit .zshrc Anda yang terletak di folder beranda bukan disembunyikan
nano ~ / .zshrc
kemudian tambahkan baris berikut ke bagian bawah file
export CDPATH=$CDPATH:/:/home/$USER/:/media/$USER/
Jika Anda menyukai tema saya, Anda juga dapat mengubah baris
#ZSH_THEME="robbyrussell"
keZSH_THEME="pygmalion"
Simpan dan tutup file kemudian restart yaitu. tutup dan buka kembali cangkang atau buka tab baru dan coba
Anda tidak dapat menggunakan tombol tab untuk melengkapi nama dan di ZSH Anda bahkan tidak perlu memiliki case kan Anda bisa mengetikkan docu dan tekan tab dan itu akan mengubahnya menjadi ~ / Documents
sumber
Anda dapat mengubah direktori dengan nomor inode.
pertama kita temukan inode dengan
ls -il
.kemudian
sumber
Jika Anda perlu melakukannya dalam skrip atau untuk mendukung direktori dengan nama yang tidak dapat didekodekan:
Ini berfungsi jika ada file dalam direktori, terlepas dari urutan penyortirannya relatif terhadap direktori.
Ini berfungsi untuk direktori tersembunyi ketika
cd */
gagal.Ini berfungsi jika nama tidak dapat diwakili di lokal saat ini ketika
ls
hanya mencetak??
bukan nama.sumber
Memperluas jawaban ace:
untuk membuka folder ke-1 dalam direktori. '1p' dapat diubah menjadi '2p' untuk direktori kedua.
untuk daftar hanya direktori dari direktori induk.
sumber