Sık Kullanılan Linux Komutları:Kopyalama, Taşıma ve Silme
Serinin bu yazısında temel linux komutlarından kopyalama, taşıma, silme işlemlerini göreceğiz
Aynı anda birden fazla dizin yaratma
erkan@vm:~\$ mkdir dir1 dir2 dir3 erkan@vm:~\$ ls -l total 191140 drwxrwxr-x 2 erkan erkan 4096 Eyl 16 07:07 dir1 drwxrwxr-x 2 erkan erkan 4096 Eyl 16 07:07 dir2 drwxrwxr-x 2 erkan erkan 4096 Eyl 16 07:07 dir3
Linux Komutları Dosya ve Dizin Kopyalama:cp
Bir dosyanın içeriğini başka bir dosyaya kopyalama
cp file1 file2
Birkaç dosyayı bir dizine kopyalama: dosya1 ve dosya2’yi dizin1’e kopyala
cp dosya1 dosya2 dizin1
Bir dizini içindekilerle birlikte başka bir dizine kopyalama: dizin1’i dizin2’ye kopyala
cp -r dizin1 dizin2
Bir dizin altındaki tüm dosyaları başka bir dizine kopyalama: dizin1 içindekilerinin hepsini dizin2’ya kopyala
cp dizin1/* dizin2
Linux Komutları Dosya ve Dizin Taşıma:mv
Bir dosyayı başka bir dosya içine taşıma: dosya1’i dosya2 içine taşı varsa üzerine yaz yoksa dosya2’yi oluştur
mv dosya1 dosya2
Dosyaları dizine taşıma: dizin1 olmak zorunda
mv dosya1 dosya2 dizin1
Bir dizini başka bir dizine kopyalama
mv dizin1 dizin2
Linux Komutları Dosya ve Dizin Silme:rm
rm
kullanırken dikkat! Geri dönüşü yoktur. Bu sebeple silmeden önce ls ile silinecekleri kontrol ediniz.
Dosyayı silme
rm dosya1
Birden fazla dizin silme
rm dizin1 dizin2
Biri dizin içindeki karışık dosya ve dizinleri topluca kulanıcıya sormadan silme. dizin1 içindeki herşeyi kullanıcıya sormadan sil.
rm -rf dizin1/*
Linux Sembolik Linkler
Sembolik link bir dizin veya dosyaya referans olan “text pointer” dır. Windows kısayol gibi düşünebiliriz. Silmenin dışında link ile yaptığımız herşey gerçek dizin ve dosyada yapılıyormuş gibidir. Sembolik link silinir ancak referans olduğu şey baki kalır. Gerçek dosya/dizin silinirse link kalır ancak boşa işaret eder. Buna kırık link de denir. ls komutu bunları genelde kırmızı olarak gösterir.
Örnekler
Kendimize rahat çalışabileceğimiz bir dizin yaratalım:
erkan@vm:~\$ pwd /home/erkan erkan@vm:~\$ mkdir lnx_kmtlari
/etc
dizini altındaki passwd dosyasını oluşturduğumuz lnx_kmtlari
altına kopyalayalım. Aynı şekilde dir1, dir2 ve dir3 olarak oluşturduğumuz klasörleri de aynı yere kopyalayalım:
erkan@vm:~\$ cp /etc/passwd lnx_kmtlari/ erkan@vm:~\$ mv dir1 dir2 dir3 lnx_kmtlari
Klasörümüzün içi son olarak aşağıdaki gibi olacak:
erkan@vm:~\$ ls -l lnx_kmtlari/ total 16 drwxrwxr-x 2 erkan erkan 4096 Eyl 16 07:07 dir1 drwxrwxr-x 2 erkan erkan 4096 Eyl 16 07:07 dir2 drwxrwxr-x 2 erkan erkan 4096 Eyl 16 07:07 dir3 -rw-r--r-- 1 erkan erkan 2240 Eyl 17 10:37 passwd
passwd
dosyasının ismini değiştirelim
erkan@vm:~\$ cd lnx_kmtlari/ erkan@vm:~/lnx_kmtlari\$ mv passwd sifre erkan@vm:~/lnx_kmtlari\$ ls -l total 16 drwxrwxr-x 2 erkan erkan 4096 Eyl 16 07:07 dir1 drwxrwxr-x 2 erkan erkan 4096 Eyl 16 07:07 dir2 drwxrwxr-x 2 erkan erkan 4096 Eyl 16 07:07 dir3 -rw-r--r-- 1 erkan erkan 2240 Eyl 17 10:37 sifre
sifre dosyamızı önce dir1 içine daha sonra dir1’i de dir2 içine taşıyalım:
erkan@vm:~/lnx_kmtlari\$ mv sifre dir1 erkan@vm:~/lnx_kmtlari\$ mv dir1 dir2 erkan@vm:~/lnx_kmtlari\$ ls -l total 8 drwxrwxr-x 3 erkan erkan 4096 Eyl 17 10:52 dir2 drwxrwxr-x 2 erkan erkan 4096 Eyl 16 07:07 dir3
Şimdi sifre ve dir1’i tekrar dir2 içinden çıkaralım:
erkan@vm:~/lnx_kmtlari\$ mv dir2/dir1/ . erkan@vm:~/lnx_kmtlari\$ ls dir1 dir2 dir3 erkan@vm:~/lnx_kmtlari\$ mv dir1/sifre . erkan@vm:~/lnx_kmtlari\$ ls dir1 dir2 dir3 sifre
Sembolik Link Oluşturma
Sembolik link iel ilgili yukarıda bilgi vermiştik. Şimdi oluşturalım:
erkan@vm:~/lnx_kmtlari\$ ln -s sifre sifre-semblolik erkan@vm:~/lnx_kmtlari\$ ln -s dir1 dir1-sembolik erkan@vm:~/lnx_kmtlari\$ ls -l total 16 drwxrwxr-x 2 erkan erkan 4096 Eyl 17 11:00 dir1 lrwxrwxrwx 1 erkan erkan 4 Eyl 17 11:51 dir1-sembolik -> dir1 drwxrwxr-x 2 erkan erkan 4096 Eyl 17 10:59 dir2 drwxrwxr-x 2 erkan erkan 4096 Eyl 16 07:07 dir3 -rw-r--r-- 1 erkan erkan 2240 Eyl 17 10:37 sifre lrwxrwxrwx 1 erkan erkan 5 Eyl 17 11:51 sifre-semblolik -> sifre
Bir mnemonic. Oluştururken hard link önce gelir. Listelendiğinde ise sembolik link önce gelir. Sembolik linkleri kaldırmak için de rm komutu kullanılır.
Bir dizinde ne kadar yer var?
erkan@ubuntu-server:~$ sudo du /home/erkan -h 4.0K /home/erkan/.cache 4.0K /home/erkan/.gnupg/private-keys-v1.d 8.0K /home/erkan/.gnupg 23M /home/erkan
-h human readable yani bunları insan okuyacak demektir.
Hoşçakalın…