Apa maksudnya?

9

Apa ./artinya

Misalnya: Apakah perintah berikut ini berarti memindahkan file dari Gapache2folder ke sites-available:

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

Jika tidak, bagaimana ini harus dimodifikasi?

Saya mencoba mendapatkan sesuatu dari Pencarian Google. Tetapi ./diabaikan oleh mesin pencari.

madhu131313
sumber

Jawaban:

13

Di Unix / linux .berarti direktori saat ini dalam kasus Anda /etc/mds-1.2-beta4/sana/config/etc/Gapache2. Ada juga banyak cara pintas seperti:

  • ..: direktori induk ( /etc/mds-1.2-beta4/sana/config/etc/)
  • ~: folder rumah

Jadi untuk memindahkan semua folder dan file dari /etc/mds-1.2-beta4/sana/config/etc/Gapache2ke /etc/apache2/sites-available, perintahnya akan seperti ini

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

UPDATE: Tautan ini adalah sumber yang bagus untuk perintah dasar UNIX

aneeshep
sumber
Untuk memindahkan file yang tersembunyi juga, sebenarnya Anda memerlukan ekspresi glob yang lebih canggih (atau pengaturan shell yang berbeda). Lihat stackoverflow.com/questions/1586477/…
Andrea Corbellini
(berpura-pura menjadi pengguna baru dalam komentar ini) " ./berarti direktori saat" Apa perbedaan antara .dan ./kemudian? Saya pikir itu hanya .berarti direktori saat ini.
gertvdijk
@ gertvdijk: Memperbarui jawabannya. :)
aneeshep
3

Tentang .

Dalam UNIX / Linux, .berarti direktori saat ini. Anda juga akan melihatnya tercantum dalam lsperintah:

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

Garis miring, ./dan tautan simbolik

Ketika menambahkannya /, ini memiliki arti yang sama dengan menambahkan a /ke nama direktori lain. Itu hanya akan memastikan Anda tidak beroperasi pada file. Secara umum, ini tidak akan menjadi perbedaan cpdan mvperintah, tetapi Anda akan melihat perbedaan ketika Anda menggunakan tautan simbolik. Misalkan struktur ini:

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

Maka daftar reguler akan menampilkan tautan itu sendiri

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

tetapi menambahkan /akan membuatnya daftar turun ke dalamnya dan menunjukkan isinya.

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

Ini berarti bahwa ketika menggunakan operasi, adalah hal yang baik untuk menambahkan /jika Anda merujuk pada kontennya atau Anda ingin menyalin / pindah ke dalamnya dengan merevisi tautan, daripada mengganti tautan itu sendiri.

Lihat juga: Membuntuti garis miring pada tautan simbolis ke direktori

Kembali ke contoh

Dalam contoh di pertanyaan Anda, Anda benar-benar hanya ingin memindahkan isi direktori ke yang lain. Jadi, seperti yang ditunjukkan aneeshep , Anda harus menggunakan mv ./* destdir/. Ini sama dengan mv * destdir/shell Anda (Bash) memperluas *dari direktori saat ini secara default.

Jadi, saya akan menjalankannya seperti ini (di direktori sumber):

mv * /etc/apache2/sites-available/
gertvdijk
sumber