Ne anlama geliyor?


9

Ne anlama ./geliyor?

Örneğin: Aşağıdaki komut, dosyaları Gapache2klasörden klasöre taşımak anlamına mı gelir sites-available:

root@ip-10-112-55-203:/etc/mds-1.2-beta4/sana/config/etc/Gapache2# mv ./ /etc/apache2/sites-available

Değilse, bu nasıl değiştirilmelidir?

Google Arama'dan bir şey almaya çalıştım. Ancak ./arama motorları tarafından yok sayılır.

Yanıtlar:


13

Unix / linux .içinde sizin durumunuzdaki geçerli dizin anlamına gelir /etc/mds-1.2-beta4/sana/config/etc/Gapache2. Ayrıca birçok kısayol vardır:

  • ..: üst dizin ( /etc/mds-1.2-beta4/sana/config/etc/)
  • ~: ana klasör

Tüm klasör ve dosyaları taşımak için Yani /etc/mds-1.2-beta4/sana/config/etc/Gapache2için /etc/apache2/sites-available, komut böyle olacak

mv ./* /etc/apache2/sites-available/

GÜNCELLEME: Bu bağlantı temel UNIX komutları için iyi bir kaynaktır


Gizli dosyaları da taşımak için aslında daha karmaşık bir glob ifadesine (veya farklı kabuk ayarlarına) ihtiyacınız vardır. Bkz. Stackoverflow.com/questions/1586477/…
Andrea Corbellini

(bu yorumda yeni bir kullanıcı gibi davranarak) " ./şu anki dizin anlamına gelir". ve ./sonra arasındaki fark nedir ? Bunun .şu anki dizin anlamına geldiğini düşündüm .
gertvdijk

@gertvdijk: Cevabı güncelledi. :)
aneeshep

3

hakkında .

UNIX / Linux'ta .geçerli dizin anlamına gelir. Ayrıca lskomutlarda listelendiğini göreceksiniz :

ls -al
total 40348
drwx------  20 root root     4096 Feb  2 23:05 .               <-- there!
drwxr-xr-x  24 root root     4096 Jan 31 20:07 ..
-rw-r--r--   1 root root      322 Dec 16 17:35 20-revert

Eğik çizgiler ./ve sembolik bağlantılar

Buna eklenirken, diğer dizin adlarına /a eklemekle aynı anlama gelir /. Sadece bir dosya üzerinde çalışmadığınızdan emin olursunuz. Genel olarak, bu cpve mvkomutlarında bir fark olmayacaktır, ancak sembolik bağlantılar kullanırken bir fark göreceksiniz. Diyelim ki bu yapı:

.                                                                   
├── a                                                               
├── dir1
│   ├── b
│   └── c
├── dir2
│   └── d
└── symlink -> dir2

Sonra düzenli bir liste bağlantının kendisini gösterecektir

ls -l symlink
lrwxrwxrwx 1 gert gert 4 Feb  3 12:15 symlink -> dir2

ancak /irade eklemek listeye inip içeriği gösterecektir.

ls -l symlink/
total 0
-rw-rw-r-- 1 gert gert 0 Feb  3 12:15 d

Bu, işlemleri kullanırken /, içeriğine başvuruyorsanız veya bağlantının kendisini değiştirmek yerine bağlantıyı kaydırarak kopyalamak / taşımak istiyorsanız eklemek iyi bir şeydir .

Ayrıca bkz: Dizinlere sembolik bağlarda sondaki eğik çizgiler

Örneğe dön

Sorunuzdaki örnekte, gerçekten dizinin içeriğini diğerine taşımak istiyorsunuz . Yani, aneeshep'in işaret ettiği gibi kullanmalısınız mv ./* destdir/. Bu, mv * destdir/kabuğunuzun (Bash) *varsayılan olarak geçerli dizinden genişletmesiyle aynıdır .

Yani, bu şekilde (kaynak dizinde) çalıştırmak istiyorsunuz:

mv * /etc/apache2/sites-available/
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.