it-swarm.dev

Jak můžete rychle získat úplnou cestu k souboru pro použití v terminálu?

Jak můžete rychle získat úplnou cestu k souboru pro použití v terminálu?

47
Olivier Lalonde

Jednoduše přetáhněte soubor v terminálu.

33
Olivier Lalonde
readlink -f foo.bar

nebo (nainstalujte nejdříve)

realpath foo.bar
45
spennig

Všechny dobré odpovědi; Zde je tip na jinou situaci.

Pokud procházíte soubory pomocí programu nautilus a chcete úplnou cestu k aktuálnímu adresáři, stiskněte CTRL+L. Tím se dočasně změní tlačítka strouhanky zpět na lištu adres ve starém stylu, což vám umožní zkopírovat cestu.

12
Sicco

Pokud se jedná o spustitelný soubor, proveďte (v terminálu):

$ which your_executable

Například: $ which ls

3
perseo22

Snadno provedeno v python pomocí funkce os.realpath():

$ python -c 'import os,sys;print(os.path.realpath(sys.argv[1]))' ./VirtualBox\ VMs/                                      
/mnt/HDD/VirtualBox VMs

Z související odpověď můžete také použít readlink

$ readlink -e ./out.txt                                                                                                  
/home/username/out.txt
1

Kromě přetažení ikony existuje několik způsobů, jak získat úplnou cestu bez nautilu (nebo thunar, konqueror, et al.). Pak byste trojitě klikli nebo klikněte a přetáhli a zkopírovali, případně jste to uložili do správce schránky * a vložili jej tam, kde potřebujete.
(pastie, klipper, glippy, glipper, anamnéza)

  • find můžete použít v adresáři nad vaším souborem. (Pokud nevíte, kde to je, začněte tam, kde vás Shell upustí, [obecně] v horní části domovského adresáře.)
    find . | egrep filename

  • K získání názvu souboru můžete použít locate. (Spustit Sudo updatedb pokud to nebylo nedávno provedeno.)

Realističtějším příkladem použití hledání by bylo něco jako:

$ 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
[...]

Chcete-li vystřihnout ty, které se vám nelíbí, např .:

find | egrep askubuntu | grep txt | egrep -v iteration
find | egrep askubuntu | grep txt | egrep -v 'iteration|meta|other'

locate je používán hodně stejným způsobem, ačkoli grep je často nutnější:

locate myfile | egrep home | egrep -v 'mozilla|cache|local|bin|\.pyc|test' | grep \.py

Toto není nejúčinnější způsob, jak to napsat, ale obvykle, když jsem ztratil soubor, dělám to iterativně a přidávám grep klauze.

1
belacqua

Pokud jednoduše zkopírujete soubor do programu Nautilus, zkopíruje se úplná cesta.
Potom ji vložte do terminálu. Prostým vložením získáte:

file:///home/juan/2017/agenda20170101.html

Pokud kliknete pravým tlačítkem myši a vyberete možnost „Vložit názvy souborů“, zobrazí se:

'/home/juan/2017/agenda20170101.html'

s uvozovkami.
To se liší od systému Windows, který místo obsahu kopíruje obsah souboru.

0
Juan Lanus