Sic Parvis Magna

14 Ekim 2025 Salı

C/CPP - Fonksiyonlar ve Kullanım Yöntemleri #16

Ekim 14, 2025 Posted by unexpected , , , No comments

uname

Bir struct değeri alır sistem ile ilgili bilgileri döner. Barşarılı ise 0 değerini, başarısız durumunda -1 değerini döner.

Syntax
int uname(struct utsname* name);

Params

  • name: struct ustname değeri
example.cpp
#include <stdio.h>
#include <sys/utsname.h>

int main(int argc, char** argv)
{	
	struct utsname uts;
	
	if(uname(&uts) == -1)
		return -1;
	
	printf("Sysname: %s\n", uts.sysname);
	printf("Nodename: %s\n", uts.nodename);
	printf("Release: %s\n", uts.release);
	printf("Version: %s\n", uts.version);
	printf("Machine: %s\n", uts.machine);
	printf("Domain: %s\n", uts.__domainname);
	
	return 0;
}

5 Ekim 2025 Pazar

Linux System Command #1

Ekim 05, 2025 Posted by unexpected No comments

Komut (ls)

Linux system üzerinde dosyaları listelemek ve bilgi almak için kullanılır.

ls
-a, --all              # Tüm dosya ve klasörleri göster (Gizli Dahil)
-A, --almost-all       # Tüm dosya ve klasörleri göster (Gizli Dahil) (. ve .. hariç)
    --author           # Sadece -l komutu ile kullanılırsa yazar bilgisini verir.
-b, --escape           # Dosya isimlerin de ('\ '{boşluk}, \n \t) gibi karakterleri yazdır.
    --block-size=SIZE  # Sadece -l komutu ile kullanılırsa dosya boyutlarını hangi birim ile göstereceğini belirler.
-B, --ignore-backups   # Dosya sonların da (~)tilde işareti olanları gösterme (Backup dosyaları)
-c                     # Dosyaları “change time” (ctime) yani metadata değişim zamanına göre sıralar.
-C                     # Dosyaları dikey sutunlar halinde yan yana dizilir. (ls komutu default olarak kullanır)
    --color=WHEN       # WHEN bura da 'always', 'auto' yada 'never' komutlardan biri olabilir. (default: auto)
-d, --directory        # Dizinlerin içeriğini değil, sadece kendi dizin adını verir.
-D, --dired            # Emacs’in “Dired mode” (Directory Editor Mode) tarafından kullanılır.

-l                     # Uzun formatta bir listeleme yapar (Ayrıntılı)

Atrıntılı listelme yaptığımız zaman bazı kısaltmaların olduğunu görürüz.

Syntax
drwx — — — 35 ubuntu ubuntu 1120 Dec 27 19:54 Desktop
-rwxrw-r — 65 ubuntu ubuntu 1120 Dec 28 18:36 test.txt
lrwxr-x — — 65 ubuntu ubuntu 1120 Dec 28 18:36 file.lnk
Command Description
d Dizin - Directory
- Normal Dosya - Regular File
l Sembolic Link
r Okuma İzni - Read Permission
w Yazma İzni - Write Permission
x Çalıştırma İzni - Execute Permission
c Karakter Aygıtı
b Block Aygıtı
p Pipe
s Socket

Peki “change time (ctime)” ne demek?

Linux dosya sisteminde her dosyanın üç farklı zaman bilgisi vardır:

Syntax
mtime  (ls -l)       # Dosyanın içeriği değiştiğinde güncellenir. (default)
atime  (ls -lu)      # Dosyaya erişildiğinde (okuma vb.) güncellenir.
ctime  (ls -lc)      # Dosyanın metadata’sı değiştiğinde güncellenir (izin, sahip, isim, link sayısı vs.).