เกี่ยวกับ .
ใน UNIX / Linux .
หมายถึงไดเรกทอรีปัจจุบัน คุณจะเห็นรายการอยู่ในls
คำสั่ง:
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
./
เครื่องหมายทับและลิงก์สัญลักษณ์
เมื่อต่อท้ายสิ่ง/
นี้มันมีความหมายเช่นเดียวกับการต่อท้าย/
ชื่อไดเรกทอรีอื่น ๆ มันจะทำให้แน่ใจว่าคุณไม่ได้ใช้งานไฟล์ โดยทั่วไปแล้วสิ่งนี้จะไม่แตกต่างกับcp
และmv
คำสั่ง แต่คุณจะเห็นความแตกต่างเมื่อคุณใช้ลิงก์สัญลักษณ์ สมมติว่าโครงสร้างนี้:
.
├── a
├── dir1
│ ├── b
│ └── c
├── dir2
│ └── d
└── symlink -> dir2
จากนั้นรายชื่อปกติจะแสดงลิงก์เอง
ls -l symlink
lrwxrwxrwx 1 gert gert 4 Feb 3 12:15 symlink -> dir2
แต่การต่อท้ายรายการ/
จะทำให้มันลงมาและแสดงเนื้อหา
ls -l symlink/
total 0
-rw-rw-r-- 1 gert gert 0 Feb 3 12:15 d
ซึ่งหมายความว่าเมื่อใช้การดำเนินงานมันเป็นสิ่งที่ดีที่จะผนวก/
ถ้าคุณอ้างถึงเนื้อหาของมันหรือคุณต้องการที่จะคัดลอก / ย้ายไปที่มันโดยยกเลิกการอ้างอิงลิงค์แทนที่การเชื่อมโยงตัวเอง
ดูเพิ่มเติม: Trailing slash บนลิงก์สัญลักษณ์ไปยังไดเร็กทอรี
กลับไปที่ตัวอย่าง
ในตัวอย่างในคำถามของคุณคุณต้องการย้ายเนื้อหาของไดเรกทอรีไปที่อื่นเท่านั้น ดังนั้นเป็น aneeshep ชี้ให้เห็นmv ./* destdir/
คุณควรใช้ สิ่งนี้เหมือนกับmv * destdir/
เชลล์ของคุณ (Bash) ขยาย*
จากไดเรกทอรีปัจจุบันโดยค่าเริ่มต้น
ดังนั้นฉันจะเรียกใช้เช่นนี้ (ในไดเรกทอรีแหล่งที่มา):
mv * /etc/apache2/sites-available/