Faylın tam yolunu necə əldə etmək olar?

Tam file.txt yolunu çap etmək üçün asan bir yol varmı?

 file.txt = /nfs/an/disks/jj/home/dir/file.txt 

<command>

 dir> <command> file.txt 

çap etməlidir

 /nfs/an/disks/jj/home/dir/file.txt 
442
10 марта '11 в 23:45 2011-03-10 23:45 Jean 10 mart 'da 11 saat 23: 45-də təyin olunub
@ 27 cavab

Readlink istifadə edin:

 readlink -f file.txt 
727
10 марта '11 в 23:52 2011-03-10 23:52 Cavab 10 mart 'da saat 11 : 23-filmin sahibi ilə 2011-03-10 23:52

Hesab edirəm ki, Linux istifadə edirsiniz.

realpath ildə realpath adlı bir yardım proqramı tapdım.

border=0
 realpath realpath /data/ail_data/transformed_binaries/coreutils/test_folder_realpath/realpath 
96
04 нояб. Cavab lütfən 04 noyabr. 2014-11-04 06:24 '14 'da 6:24' de 2014-11-04 06:24

Aşağıdakılar odur ki:

  echo $(cd $(dirname "$1")  pwd -P)/$(basename "$1") 
53
11 марта '11 в 0:01 2011-03-11 00:01 Cavab ZeRemz'ə 11 Mart 11:01 'də verildi . 0:01 2011-03-11 00:01

Bilirəm ki, bu daha sadədir, amma onu tapmaq olarsa, darn ...

 jcomeau@intrepid:~$ python -c 'import os; print(os.path.abspath("cat.wav"))' /home/jcomeau/cat.wav 

 jcomeau@intrepid:~$ ls $PWD/cat.wav /home/jcomeau/cat.wav 
21
10 марта '11 в 23:57 2011-03-10 23:57 Cavab 10 mart 2011-ci il saat 23: 57-da jughtau_ictx tərəfindən verilmişdir
 find $PWD -type f | grep "filename" 

və ya

 find $PWD -type f -name "*filename*" 
12
01 июля '13 в 9:08 2013-07-01 09:08 Cavab Anshul Gupta tərəfindən verilir 01 İyul 2013, 09:08 2013-07-01 09:08

Fpn (full pathname) skriptindən istifadə edə bilərsiniz:

 % pwd /Users/adamatan/bins/scripts/fpn % ls LICENSE README.md fpn.py % fpn * /Users/adamatan/bins/scripts/fpn/LICENSE /Users/adamatan/bins/scripts/fpn/README.md /Users/adamatan/bins/scripts/fpn/fpn.py 

fpn standart bir Linux paketi deyil, pulsuz və açıq mənbəli github layihədirbir dəqiqə qura bilərsiniz .

2
11 дек. Cavab 11 dekabrda Adam Matan tərəfindən verilir . 2013-12-11 15:46 '13 saat 15:46 'də 2013-12-11 15:46

Fayl ilə eyni qovluğa sahibsinizsə:

 ls "`pwd`/file.txt" 

file.txt faylını hedef fayl adı file.txt dəyişdirin.

2
14 марта '15 в 3:43 2015-03-14 03:43 Cavab 14 mart saat 14 : 30-da Steven tərəfindən verilir . 3:43 2015-03-14 03:43

Mac OS X-də mən əməliyyat sistemi ilə gələn kommunalları əvəz etdim və onları yadının yeni versiyası ilə əvəz etdim. Bu, readlink -freadlink -f (mütləq fayl yolları) və realpath ( realpath üçün mütləq yollar) kimi readlink -f daxil olmaq imkanı verir.

Homebrew versiyası komanda adından əvvəl "G" (GNU alətləri üçün) əlavə edir, buna görə də ekvivalentlər " greadlink -f FILE və " grealpath DIRECTORY .

Homebrew vasitəsilə Mac OS X-də coreutils / GNU vasitələrinin quraşdırılması üzrə göstərişlər bu StackExchange məqaləsində tapıla bilər .

Qeyd readlink -frealpath qeyri-Mac istifadəçiləri üçün offline işləməlidir.

1
20 июня '15 в 2:27 2015-06-20 02:27 Cavab JacobWuzHere tərəfindən verilir. 20 iyun 'da 2:27 2015-06-20 02:27

Pəncərələrdən edə bilərsiniz

Hold shift and right click on a file which gives you can option called "Copy as Path"

Bu faylın tam yolunu panoya kopyalayacaq.

Linux-da istifadə edə bilərsiniz: -

realpath yourfile təklif etdiyi kimi, faylın tam yolunu almaq üçün realpath yourfile .

1
15 авг. Nateh bhat 15 aug tərəfindən verilmiş cavab . 2017-08-15 12:47 '17 saat 12:47 'də 2017-08-15 12:47

Bənzər bir ssenari olaraq, cshell scriptini başqa bir yerdən idarə edirəm. Doğru mütləq skript yolunu yalnız göstərilən kataloqda işləməsi üçün təyin etmək üçün aşağıdakı kodu istifadə edirəm:

 set script_dir = `pwd`/`dirname $0` 

$0 skript yazıldığı kimi tam simli saxlayır.

Məsələn, skript aşağıdakı kimi işlədilir: $> ../../test/test.csh , $script_dir /home/abc/sandbox/v1/../../test

1
19 дек. Cavab Ackq 19 dekabrda verilir. 2012-12-19 09:16 '12 at 9:16 2012-12-19 09:16

Mac, Linux, nix:

Bu, cari dizindəki bütün fayllardan bir təklif verəcəkdir:

 ls | xargs -I {} echo "$(pwd -P)/{}" | xargs | sed 's/ /","/g' 

Bunun nəticəsi asanlıqla python siyahısına və ya hər hansı bir oxşar məlumat strukturuna kopyalana bilər.

0
19 июля '17 в 1:41 2017-07-19 01:41 Cavab Bhargav Srinivasan tərəfindən 19 iyul '17' də 1:41 2017-07-19 01:41 'də verilir
 echo $(cd $(dirname "$1")  pwd -P)/$(basename "$1") 

Bu, @ZeRemz cavabında nə olduğunu izah edir:

  • Bu skript, "$1" dəlili kimi nisbi bir yol alır.
  • Sonra bu yolun dirname hissəsini alırıq (bir dir və ya bu skriptə fayl verə bilərsiniz): dirname "$1"
  • Sonra biz cd "$(dirname "$1") bu nisbi cd "$(dirname "$1")
  • pwd -P və bunun üçün mütləq yolunu əldə edin. -P seçimi bütün simvolik əlaqələri qaçırır.
  • Bundan sonra biz əsas adı mütləq şəkildə əlavə edirik: $(basename "$1")
  • Son addım olaraq, biz bunu echo etdiririk
0
08 дек. Eugen Konkov tərəfindən verilmiş cavab 08 dekabr . 2016-12-08 21:27 '16 at 21:27 2016-12-08 21:27

Bunu "shell.rc" -də saxlaya bilərsiniz və ya yalnız konsolda yerləşdirə bilərsiniz.

funksiyası absolute_path {echo "$ PWD / $ 1"; }

alias ap = "mütləq_path"

Məsələn:

ap somefile.txt

göstərir

/home/user/somefile.txt

0
20 февр. 20 fevralda Roman Rrn Nesterov cavab verir. 2013-02-20 18:58 '13 at 18:58 2013-02-20 18:58
 find / -samefile file.txt -print 

File.txt kimi eyni inode sayı ilə fayl bütün istinadlar tapın

-xdev bayrağını əlavə edərək, cihazın sərhədlərini -xdev qarşısını alacaq ("bağlama nöqtələri"). (Fəqət file.txt ilə eyni cihazda bir file.txt ehtimal ki, heç bir şey find bilmir file.txt )

Inode birdən çox kataloq girişi, hətta müxtəlif adları istifadə etməklə əlaqəli ola biləcəyi üçün, find bir fayl sistemi obyektinin birdən çox yolunu bildirə bilər. Məsələn:

 find /bin -samefile /bin/gunzip -ls 

Göstəriləcək:

 12845178 4 -rwxr-xr-x 2 root root 2251 feb 9 2012 /bin/uncompress 12845178 4 -rwxr-xr-x 2 root root 2251 feb 9 2012 /bin/gunzip 
0
11 дек. Cavab yabani paltar tərəfindən verilir 11 dekabr. 2013-12-11 16:28 '13 saat 16:28 'da 2013-12-11 16:28

Mən bilirəm ki, indi bu köhnə bir sual, amma burada məlumatı əlavə etmək üçün:

Komanda faylının yolunu tapmaq üçün istifadə edilə bilən Linux əmri, yəni.

 $ which ls /bin/ls 

Bir neçə xəbərdarlıq var; https://www.cyberciti.biz/faq/how-do-i-find-the-path-to-a-command-file/ ünvanlarına baxın .

0
21 дек. Cavab Lord Cat 21 dekabr. 2016-12-21 13:55 '16 saat 13:55 'da 2016-12-21 13:55

Bu işi aparan başqa bir Linux proqramı:

 fname <file> 
-1
10 нояб. Cavab BluVio 10 noyabrda verilir. 2016-11-10 10:24 '16 saat 10:24 'da 2016-11-10 10:24

Adətən:

 find `pwd` | grep <filename> 

Alternativ olaraq, yalnız mövcud qovluq üçün:

 find `pwd` -maxdepth 1 | grep <filename> 
-1
21 окт. ccas 21 oktyabr verilir 2015-10-21 16:54 '15 at 16:54 2015-10-21 16:54

Bu həm fayl, həm də qovluq üçün işləyəcək:

 getAbsolutePath(){ [[ -d $1 ]]  { cd "$1"; echo "$(pwd -P)"; } || { cd "$(dirname "$1")" || exit 1; echo "$(pwd -P)/$(basename "$1")"; } } 
-1
06 авг. Cavab 06 Yanvar Cahid tərəfindən verilir 2015-08-06 19:58 '15 'də saat 19:58 ' da
 fp () { PHYS_DIR=`pwd -P` RESULT=$PHYS_DIR/$1 echo $RESULT | pbcopy echo $RESULT } 

Panoya mətn kopyalayıb və terminalın bir pəncərəsində mətni göstərir.

:)

(Başqa cavabdan bəzi kodları kopyaladım, amma cavabımı daha da tapa bilmirəm)

-1
26 февр. Cavab 26 fevralda Dhruv tərəfindən verilir . 2015-02-26 19:11 '15 'da 19:11' de, 2015-02-26 19:11

Mac OS üçün, yalnız axtarış maddəsindəki fayl yolunu əldə etmək istəyirsinizsə, "Fayl" ı basın və aşağıda "Xidmətlər" -ə keçin. "Kopya yolu" və "tam yolu kopyala" daxil olmaqla, bir çox seçim əldə edirsiniz. Onlardan birinə basaraq panoya yol qoyur.

-1
22 марта '17 в 4:06 2017-03-22 04:06 Cavab Richard Sharpe tərəfindən 22 Mart 'da 4:06 2017-03-22 04:06' də verilir

Mən tapdığım en asan yol -

 for i in `ls`; do echo "`pwd`/$i"; done 

mənim üçün yaxşı işləyir

-1
25 июня '15 в 13:17 2015-06-25 13:17 Cavab istifadəçi tərəfindən verilir 2775129 İyun 25 '15 da 13:17 2015-06-25 13:17

Mən artıq verilmiş cavabların çoxunu sevirəm, amma xüsusilə ssenariyədə, faylın tam yolunu əldə etmək üçün, həqiqətən, faydalıdır, aşağıdakı sembolik linklər və nisbi linklər daxildir ...

 dirname `readlink -e relative/path/to/file` 

file tam yolunu kök yolundan irəli qaytaracaq. Ssenaridə, skriptdə hər hansı bir yerə yerləşdirilə bilən klon saxlanmasında faydalı olan, hansı yolun işlədiyini bilməsi üçün istifadə edilə bilər.

 basePath=`dirname \`readlink -e $0\`` 

Sonra digər scriptlər üçün birbaşa istinad etmək üçün mənim skriptlərimdə ${basePath} dəyişənini istifadə edə bilərəm.

Bu kömək edir,

Dave

-1
19 февр. Cavab 19 fevralda Dave Rix tərəfindən verilir 2016-02-19 15:24 '16 'da 15:24' də 2016-02-19 15:24 'də

Mac OSX-də aşağıdakıları edin:

  • cd hədəf fayl qovluğuna.
  • Aşağıdakı terminal əmrlərindən birini daxil edin.
Terminal
 ls "`pwd`/file.txt" echo $(pwd)/file.txt 
  1. file.txt faylını faktiki fayl file.txt dəyişdirin.
  2. Enter düyməsini basın
-1
23 марта '16 в 9:12 2016-03-23 09:12 Cavab Mowzar tərəfindən 23 Mart '16 'da 9:12 2016-03-23 ​​09:12' də verilir

Həm Linux, həm də Mac OSX ilə işləyir.

  echo $(pwd)$/$(ls file.txt) 
-2
09 нояб. Əhməd Abobakrın 09 noyabrda verdiyi cavabı 2016-11-09 14:06 '16 at 2:06 pm 2016-11-09 14:06

Aşağıda, bu nümunədə mövcud kataloqda olması lazım olan file.txt faylının mütləq yolu yazdırılır.

 find file.txt 

File.txt faylının istifadəçi foo-nun ev kataloqunda olduğunu düşünün. Aşağıdakı bütün əmrlər bərabərdir və onlar eyni /home/foo/file.txt faylını Linux və ya OS X-də /Users/foo/file.txtdə qaytaracaqlar:

 find ~/file.txt cd ~/ find file.txt find ./file.txt 
-2
29 февр. Cavab 29 fevralda Nestor Urquiza tərəfindən verilir . 2016-02-29 18:32 '16 saat 18:32 'də 2016-02-29 18:32

"Readlink -f" əlavə olaraq, digər tez-tez istifadə olunan bir əmrdir:

 $find /the/long/path/but/I/can/use/TAB/to/auto/it/to/ -name myfile /the/long/path/but/I/can/use/TAB/to/auto/it/to/myfile $ 

Konsolda tam yol və fayl adı da verir.

Mövzu kənarında: bu üsul sadəcə nisbi istinadlar verir, mütləq deyil. readlink -f əmri düzgündür.

-2
27 февр. Cavab Andrew_1510 27 fevralda verilir. 2012-02-27 17:10 '12 at 17:10 2012-02-27 17:10

Bu faylya mütləq yol verəcəkdir:

 find / -name file.txt 
-8
25 июля '13 в 14:29 2013-07-25 14:29 Cavab 25 iyul 2013 - il tarixində saat 14 : 29 -da user2618464 tərəfindən verilmişdir

tags bağlı digər suallar və ya bir sual