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?
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:
readlink -f foo.bar
hoặc (cài đặt nó trước)
realpath foo.bar
ls | xargs realpath
.
readlink
nó 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.
Chỉ cần kéo và thả tệp trong thiết bị đầu cuối.
'/home/alexcohn/.gvfs/…'
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.
smb://
kiểu, vì vậy nó không thể được sử dụng lại trong thiết bị đầu cuối.
smb://
đường dẫn kiểu.
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
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 find
trong 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 updatedb
nế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.
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
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ó.