터미널에서 사용하기 위해 파일의 전체 경로를 신속하게 얻는 방법은 무엇입니까?
터미널에서 사용하기 위해 파일의 전체 경로를 신속하게 얻는 방법은 무엇입니까?
답변:
터미널에서 파일을 끌어다 놓기 만하면됩니다.
'/home/alexcohn/.gvfs/…'
모든 좋은 답변; 다른 상황에 대한 팁이 있습니다.
노틸러스를 사용하여 파일을 탐색하고 현재 디렉토리의 전체 경로를 원하는 경우을 누릅니다 CTRL+L
. 이렇게하면 이동 경로 단추가 일시적으로 이전 스타일 주소 표시 줄로 변경되어 경로를 복사 할 수 있습니다.
smb://
스타일이므로 터미널에서 재사용 할 수 없습니다.
smb://
스타일 경로 가 없습니다 .
실행 파일이면 터미널에서 실행하십시오.
$ which your_executable
예를 들면 다음과 같습니다. $ which ls
아이콘을 드래그하는 것 외에도 노틸러스 (또는 thunar, konqueror 등)없이 전체 경로를 얻는 몇 가지 방법이 있습니다. 그런 다음 세 번 클릭하거나 클릭 한 채 끌어 복사하여 클립 보드 관리자 *에 저장 한 다음 필요한 곳에 붙여 넣을 수 있습니다.
(페이스트, klipper, glippy, glipper, anamnesis)
find
파일 위의 디렉토리에서 사용할 수 있습니다 . (어딘지 모르는 경우, 일반적으로 홈 디렉토리의 맨 위에서 쉘이 드롭하는 위치를 시작하십시오.)
find . | egrep filename
locate
파일 이름을 얻는 데 사용할 수 있습니다 . ( sudo updatedb
최근에 수행하지 않은 경우 실행하십시오 .)
find를 사용하는보다 현실적인 예는 다음과 같습니다.
$ 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
[...]
마음에 들지 않는 것을 잘라내려면
find | egrep askubuntu | grep txt | egrep -v iteration
find | egrep askubuntu | grep txt | egrep -v 'iteration|meta|other'
grep이 종종 더 필요하지만 locate는 거의 같은 방식으로 사용됩니다.
locate myfile | egrep home | egrep -v 'mozilla|cache|local|bin|\.pyc|test' | grep \.py
이것은 이것을 입력하는 가장 효율적인 방법은 아니지만 일반적으로 파일을 잃어버린 경우 grep 절을 추가하면서 반복적으로 수행합니다.
os.realpath()
함수를 사용하여 파이썬에서 쉽게 수행 할 수 있습니다.
$ python -c 'import os,sys;print(os.path.realpath(sys.argv[1]))' ./VirtualBox\ VMs/
/mnt/HDD/VirtualBox VMs
A로부터 관련 대답 , 당신은 또한 사용할 수 있습니다readlink
$ readlink -e ./out.txt
/home/username/out.txt