Apa artinya "." Dan ".." ketika di dalam folder?

34

ketika saya biasa ls -amelihat file tersembunyi di folder ada 2 file tersembunyi yang dibuat secara default apa arti dari kedua file ini .dan ..?

ls -a

Menghasilkan

.  ..
mr_eclair
sumber
Saya sering menggunakannya ketika melakukan ls -lakarena akan menunjukkan izin dan kepemilikan pada direktori tempat saya berada dan direktori di atas tempat saya berada.
Marco Ceppi
saya tidak punya cukup perwakilan di sini untuk memilih untuk menutup, tapi saya sudah memasang tanda pada pertanyaan ini karena sangat banyak pertanyaan yang dapat dijawab dalam 3 detik dengan mencari google (dan karena ada diskusi baru tentang pertanyaan yang yang terlalu mudah pada SO blog).
zzzzBov
1
^ zzzzBov Terima kasih dalam bahasa Spanyol atas kedermawanan Anda.
mr_eclair

Jawaban:

40

. adalah folder saat ini.

.. adalah folder di atas folder saat ini - folder yang berisi folder saat ini.

Anda kadang-kadang akan melihat satu titik yang digunakan ketika seseorang ingin menjalankan skrip dari direktori home mereka. Misalnya: ./install-app.sh. Itu berarti file "install-app.sh" ada di direktori saat ini. Akan sama validnya untuk melakukan /home/username/directory/install-app.sh. Dengan cara yang sama, Anda juga bisa melakukan ../install.app jika file ada di direktori induk. Alasan mengapa demikian, tidak hanya untuk navigasi, tetapi juga bahwa seharusnya tidak mungkin untuk secara tidak sengaja menyembunyikan aplikasi sistem hanya dengan salah nama file di direktori home Anda.

dv3500ea
sumber
100% benar. Anggap mereka sebagai pengait, yang ada di setiap direktori. Mereka digunakan murni untuk navigasi. Anda akan menemukan bahwa ini bukan hanya standar linux, tetapi juga pada windows. Mungkin sama di unix dan mac juga, tapi saya belum pernah bermain-main di salah satu perintah mereka.
Ctuchik
1
cd / ; cd ..: P
htorque
1
Itu sama pada FreeBSD juga, jadi saya membayangkan itu juga pada mac, karena mac didasarkan pada Darwin BSD.
Azendale
htorque: apakah Anda orang yang religius? :)
Jo-Erlend Schinstad
Ada di Mac OS X (yang berfungsi seperti Unix lainnya, meskipun GUI menyembunyikannya). Mac OS Classic tidak memilikinya; ::digunakan untuk direktori sebelumnya. Paths tanpa :di dalamnya adalah direktori saat ini. Jika tidak, jalur lengkap (dimulai dengan nama disk) diharapkan, dengan komponen dibatasi oleh :. Contoh:Macintosh HD:System Folder:Finder
derobert
4

Itu adalah hardlink ke direktori self (.) Dan parent (..). Mereka dibuat ketika Anda membuat direktori. Mereka tidak pernah bisa dihapus (tanpa menghapus direktori yang ditunjuk oleh mereka).

Jika Anda membuat direktori:

mkdir /tmp/foo

Anda dapat melihat, bahwa sebenarnya ada 2 hardlink ke / tmp / foo:

drwxr-xr-x 2 michal michal 4096 2011-08-07 18:40 /tmp/foo
           ^---- two hardlinks

pertama adalah dari / tmp / direktori yang menunjuk ke / tmp / foo, dan yang kedua adalah '.' dengan di / tmp / foo / menunjuk ke itu sendiri.

Michał Šrajer
sumber
2

Juga, perhatikan bahwa Anda dapat menggunakan ls -A(bukan ls -a) untuk membuat daftar semua file termasuk file tersembunyi, tetapi mengecualikan .dan ..direktori.

Paddy Landau
sumber
0

. folder arus

.. folder induk

RobinJ
sumber