Terminalde kullanmak için bir dosyanın tam yolunu hızlı bir şekilde nasıl elde edebilirsiniz?
Terminalde kullanmak için bir dosyanın tam yolunu hızlı bir şekilde nasıl elde edebilirsiniz?
Yanıtlar:
Sadece dosyayı terminalde sürükleyip bırakın.
'/home/alexcohn/.gvfs/…'
Tüm iyi cevaplar; İşte başka bir durum için bir ipucu.
Nautilus kullanarak dosyalarınızı tarıyorsanız ve geçerli dizininizin tam yolunu istiyorsanız, tuşuna basın CTRL+L
. Bu, ekmek kırıntısı düğmelerini geçici olarak eski stil adres çubuğuna değiştirerek yolu kopyalamanıza olanak tanır.
smb://
tarz, bu yüzden terminalde tekrar kullanılamaz.
smb://
Stil yolu bulamıyorum.
Eğer çalıştırılabilir ise, çalıştır (bir terminalde):
$ which your_executable
Örneğin: $ which ls
Simgeyi sürüklemeye ek olarak, nautilus (veya thunar, konqueror, vd.) Olmadan tam yolu elde etmenin birkaç yolu vardır. Daha sonra üçlü tıklayıp tıklatıp sürükleyip kopyalayın, bunu potansiyel olarak pano yöneticinize kaydedin * ve ihtiyacınız olan yere yapıştırın.
(pastie, klipper, kayma, kayma, anamnez)
find
Dosyanızın üzerindeki bir dizinde kullanabilirsiniz . (Nerede olduğunu bilmiyorsanız, kabuğunuzun sizi [genellikle] ana dizininizin üstüne bıraktığı yerden başlayın.)
find . | egrep filename
locate
Dosya adını almak için kullanabilirsiniz . ( sudo updatedb
Bu yakın zamanda yapılmadıysa koş .)
Find'ı kullanmanın daha gerçekçi bir örneği şöyle bir şey olabilir:
$ find | egrep askubuntu | grep txt
./askubuntu-temp.txt
./drDocuments/web/meta.askubuntu.txt
./other/stuff/askubuntu.txt.iteration.1
./other/stuff/askubuntu.txt.iteration.2
[...]
Sevmediklerinizi kesmek için, örneğin:
find | egrep askubuntu | grep txt | egrep -v iteration
find | egrep askubuntu | grep txt | egrep -v 'iteration|meta|other'
grep çoğunlukla daha gerekli olsa da, locate aynı şekilde kullanılır:
locate myfile | egrep home | egrep -v 'mozilla|cache|local|bin|\.pyc|test' | grep \.py
Bunu yazmanın en etkili yolu bu değildir, ancak genellikle bir dosyayı kaybettiyseniz, ilerledikçe gep cümleleri ekleyerek bunu yinelemeyle yapıyorum.
os.realpath()
Fonksiyonu kullanarak python ile kolayca yapılabilir :
$ python -c 'import os,sys;print(os.path.realpath(sys.argv[1]))' ./VirtualBox\ VMs/
/mnt/HDD/VirtualBox VMs
Bir itibaren ilgili cevap , ayrıca kullanabilirsinizreadlink
$ readlink -e ./out.txt
/home/username/out.txt
Nautilus'ta bir dosyayı basitçe kopyalarsanız, tam yol kopyalanır.
Ardından terminale yapıştırın. Sadece yapıştırarak elde edersiniz:
file:///home/juan/2017/agenda20170101.html
Sağ tıklayıp "Dosya adlarını yapıştır" ı seçerseniz, aşağıdakileri elde edersiniz:
'/home/juan/2017/agenda20170101.html'
gösterildiği gibi tırnak.
Bu, dosya içeriğini adı yerine kopyalayan Windows'tan farklıdır.