Làm thế nào bạn có thể nhanh chóng có được đường dẫn đầy đủ đến một tập tin để sử dụng trong thiết bị đầu cuối?


47

Làm thế nào bạn có thể nhanh chóng có được đường dẫn đầy đủ đến một tập tin để sử dụng trong thiết bị đầu cuối?

Câu trả lời:


44
readlink -f foo.bar

hoặc (cài đặt nó trước)

realpath foo.bar

Câu trả lời này chính xác hơn một câu được chấp nhận.
Kunok

Đối với thư mục đầy đủ : ls | xargs realpath.
Pablo A

1
Nhược điểm của readlinknó là nó sẽ hoạt động ngay cả khi tập tin không tồn tại. Điều này có thể duy trì lỗi theo những cách rất kỳ quặc.
GregRos

32

Chỉ cần kéo và thả tệp trong thiết bị đầu cuối.


1
Tôi sẽ đặt nó ở đây để tôi không quên, hãy hy vọng nó sẽ giúp một số bạn: D
Olivier Lalonde

Trả về đường dẫn có tiền tố "smb: //" cho các cổ phần được gắn SMB thay vì đường dẫn được gắn thực tế.
Kupiakos

@Kupiakos: đối với tôi, gnome-terminal vui vẻ dịch đường dẫn tệp bị rớt sang'/home/alexcohn/.gvfs/…'
Alex Cohn

11

Tất cả các câu trả lời tốt; Đây là một mẹo cho một tình huống khác.

Nếu bạn đang duyệt các tệp của mình bằng nautilus và bạn muốn đường dẫn đầy đủ của thư mục hiện tại của mình, hãy nhấn CTRL+L. Điều này thay đổi các nút bánh mì tạm thời trở lại thanh địa chỉ kiểu cũ, cho phép bạn sao chép đường dẫn.


Tuy nhiên, đây vẫn là smb://kiểu, vì vậy nó không thể được sử dụng lại trong thiết bị đầu cuối.
Alex Cohn

Hấp dẫn; trên hệ thống của tôi (Ubuntu 13.10) Tôi không có smb://đường dẫn kiểu.
Sicco

Chính xác những gì tôi đang tìm kiếm, ý tôi là thiết bị đầu cuối là một nơi tuyệt vời cho ls nhưng có những lúc bạn làm việc trong một thư mục tệp xem: ')
edencorbin

3

Nếu đó là một tệp thực thi, thì thực thi (trong một thiết bị đầu cuối):

$ which your_executable

Ví dụ: $ which ls


Đây là câu trả lời tôi đang tìm kiếm
Sharjeel Ahmed

1

Ngoài việc kéo biểu tượng, có một số cách để có được đường dẫn đầy đủ mà không cần nautilus (hoặc thunar, konqueror, et al.). Sau đó, bạn sẽ nhấp ba lần hoặc nhấp chuột kéo và sao chép, có khả năng lưu phần này vào trình quản lý bảng tạm * và dán vào nơi bạn cần.
(pastie, klipper, glippy, glipper, anamnesis)

  • Bạn có thể sử dụng findtrong một thư mục trên tập tin của bạn. (Nếu bạn không biết nó ở đâu, hãy bắt đầu nơi vỏ của bạn thả bạn, [nói chung] ở đầu thư mục nhà của bạn.)
    find . | egrep filename

  • Bạn có thể sử dụng locateđể có được tên tệp. (Chạy sudo updatedbnếu điều đó không được thực hiện gần đây.)

Một ví dụ thực tế hơn về việc sử dụng find sẽ là một cái gì đó như:

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

Để loại bỏ những thứ bạn không thích, ví dụ:

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

định vị được sử dụng theo cùng một cách, mặc dù grep thường cần thiết hơn:

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

Đây không phải là cách hiệu quả nhất để nhập cái này, nhưng thông thường nếu tôi bị mất một tệp, tôi làm điều này lặp đi lặp lại, thêm các mệnh đề grep khi tôi đi.


1

Dễ dàng thực hiện trong python bằng cách sử dụng os.realpath()chức năng:

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

Từ một câu trả lời liên quan , bạn cũng có thể sử dụngreadlink

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

0

Nếu bạn chỉ cần sao chép một tập tin trong Nautilus, thì đường dẫn đầy đủ sẽ được sao chép.
Sau đó dán nó vào thiết bị đầu cuối. Chỉ cần dán bạn nhận được:

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

Nếu bạn nhấp chuột phải và chọn "Dán tên tệp" thì bạn nhận được:

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

với các trích dẫn như được hiển thị.
Điều này khác với Windows, sao chép nội dung tệp thay vì tên của nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.