Bir dosya yolunda ~ ne anlama geliyor?


41

Ne yapar ~ mutlak bir dosya yolunda mı demek istiyorsunuz?

Bunu derleme komut dosyaları gibi şeylerin çıktısında görüyorum ama yol yok.


25
Hangi işletim sistemi?
ChrisF

Windows değil varsayılan zar atma?
Pacerier

Yanıtlar:


34

Normalde, kullanıcının ana dizini, örn. ~mike/ kullanıcı olurdu mike 'nin ana dizini ~/ kendi ev dizininiz olur. Ancak, bana olup olmadığı belli değil ~/ ve ~mike/ mutlak ya da akraba olarak kabul edilmeli; verilen tanıma bağlı görünüyor (eğer bir kişi yetkili bir referans bulabilirse, lütfen bir yorum gönderin).

Unix tabanlı sistemlerden bahsettiğimi unutmayın.

Görmek http://en.wikipedia.org/wiki/Home_directory#Unix


3
Mutlaktırlar, çünkü mutlak yolların eş anlamlısıdırlar: UNIX'de mutlak yol, içeriğinden çıkarılabilir. /etc/login dosya. Genişletme geleneksel olarak kabuk tarafından yapılır, ancak “komut dosyası” gibi gösterileri olan herhangi bir dil de bunu yapacaktır.
Charles Stewart

2
+1: Ben hakkında bilmiyordum ~username/ şey.
Wuffers

2
İlginçtir, Windows PowerShell de kabul eder ~ Kullanıcının ana dizini ile eşanlamlı olarak
Joey

1
Jeffery Snover, PowerShell’in asıl olarak VIM / EMAC’lere dayandığını söyledi
Anonymous Type

1
@Charles Stewart tartışmasız en azından kullanıcı bağlamına bağlı olarak görecelidir. Ayrıca, bazı referanslar, açıkça belli olmayan, dosya sisteminin kökünden verilen mutlak bir yolu tanımlar. İfadenize bir referansınız varsa, lütfen paylaşın!
Adrian Mouat

21

Aslında Adrian Mouat ve studiohack tarafından verilen cevapların her ikisi de doğrudur.
Sınırlı adlandırma kuralı olan işletim sistemlerinde (Windows / DOS'un eski sürümü vb.) Uzun bir ad anlamına gelir.

e.g. "c:\program files\" is equivalent to "c:\progra~1\"

Bazı işletim sistemlerinde (yani Unix), home-dir (ve mutlak ama kanonik olmayan bir yol olarak görülebilir) anlamına gelir.
e.g."/a/vol01/usr/mike/" might be shortened to "~/mike/"
* 'usr' ev dir.


2
Yapı kodları bağlamında, muhtemelen Unix merkezli sürümdür.
Charles Stewart

2
Unix yolları genellikle ters eğik çizgi yerine eğik çizgi kullanır.
Torben Gundtofte-Bruun

@torbengb, true ... opps
Eran

1
Xenorose'un aksi halde mükemmel cevabı için küçük bir düzeltme. "Progra ~ 1" gibi dosya adları eski işletim sistemleri için değil. Windows 7 sistemim hala bunları kullanıyor. (Görmek için dir / x yapın.) Bu, modern sistemlerdeki uzun dosya adlarını bilmeyen eski yazılımları destekleyen eski bir özelliktir. Eski yazılım tüm dosya adlarını takip ettiğini düşünüyor 8.3 kongre . Bir dosya adı bu kuralla çalışmadığında, dosya sistemi otomatik olarak yaratır ikinci, 8.3 uyumlu bir isim.
Isaac Rabinovitch


5

ASP.NET programlama yaparsanız, web sitesinin en üst seviyesi anlamına gelir; ../../images/some_image.jpg (ve yuva seviyenizi yanlış belirlemek!) kullanarak gezinmek yerine, ~ / images / some_image.jpg


1
/images/some_image.jpg sizi herhangi bir web sitesinin köküne götürmelisiniz. Tilde ASP.NET'te hangi ek işlevleri sağlamaktadır?
Sonny

7
~, sanal bir dizin kullanıyorsanız, sizi web sitesi kökü ile aynı olmayan web uygulaması köküne götürür. Örneğin, web siteniz myapp sanal dizinde myserver yüklü ise, ~ / images / myimage.jpg sunucum / myapp / images / myImage.jpg . Görmek msdn.microsoft.com/en-us/library/ms178116.aspx .
MCS

1

İşte daha iyi anlamanız için size yardımcı olabilecek birkaç ipucu:

$ readlink -f ~

$ echo $HOME

Not: $ kullanıcı komut satırı istemini belirtmek için bir kuraldır, komutların bir parçası değildir.


'readlink', bir iç veya dış komut olarak tanınmıyor.
Pacerier

@vtest bunun nedeni, bu yorumdaki örnekte Windows değil unix tabanlı sistemler içindir.
dudewad
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.