-DERS-1-SUDO-KOMUTU-VE-KULLANIMI-
sudo : oturum açmış kullanıcıya geçici olarak root yetkisi sağlar
neden buna ihtiyaç var?, çünki sistemde her dosya root olarak çalıştırmak çok
tehlikelidir
-TEMEL-BİLGİ-KOMUTLARI-
whomi : hangi userde olduğumuzu görürüz
id : id bilgilerimizi ve gruplarımızı görürüz
groups : hangi gruplar içersinde olduğumuzu görürüz
sudo -l : eğer sudo grubu içerisinde isek "sudo" yetkilerimizi görmek için kullanırız
sudo -k : sanırsam sudo süresini bitirtir
sudo komutunu kullnınca 5 dk boyunca şifre istemicektir
sudo -i : direk root user oluruz tavsiye edilmez
exit : çıkış yapar
useradd kullanıcı_adı : yeni kullanıcı ekler
useradd kullanıcı_adı -m -d /home/kullanıcı_adı : kullanıcıyı oluşturur ve ev dizinide
oluşturur
passwd kullanıcı_adı : kullanıcı için şifre değiştirme
su : "switch user" yani kullanıcı değiştirir parametre almaz ise root'a geçmeye çalışır
not: linuxda standart kullanıcılar /etc/passwd yi okuyabilir
ama /etc/shadow dosyasına erişemez nedeni shadow içerisinde parola bilgileri saklanır
sudo usermod -aG sudo kullanıcı_adı : kullanıcıyı sudo grubuna ekler
clear : ekranı temizler
- /etc/sudoers dosyası kimin sudo yetkisi kullanabilir orada yazar
root ALL=(ALL:ALL) ALL -> root kullanıcısı tüm kullanıcıların yetkisi ile
tüm komutları çlıştırabilir
%sudo ALL=(ALL:ALL) ALL -> sudo grubuna üye olan kullanıcılar tüm kullanıcıların
yetkileri ile tüm komutları çalıştırabilir
visudo : sudoers dosyasını düzenlememizi sağlayan özel komut
-VİSUDO-DÜZENLEMELERİ-
en alta iniyoruz ve
kullanıcı_adı ALL=(ALL) ALL -> kullanıcı tüm sudo haklarına sahip
- eğer kullanıcının sadece belli komutlarda sudo kullanmasını nasıl sağlarız?
kullanıcı_adı ALL=(ALL) /bin/systemctl status networking
kullanıcı_adı ALL=(ALL) /sbin/fdisk
-şeklinden komutlara kısıtlı erişim verebiliriz
DİKKAT! => kullanıcı_adı ALL=(ALL) /bin/bash
DİKKAT! => kullanıcı_adı ALL=(ALL) /home/kullanıcı_adı/deneme.sh
şeklinde yetki yükseltme saldırılarına izin veren komutlar'ı
vermemek için çok dikkat etmeliyiz.
root yetkisi ile bash açarsa bash root olarak açılır!
DİKKAT! => kullanıcı_adı ALL=(ALL) /bin/more /etc/ssh/ssh_config çıklaması ->
/bin altındaki more komutunu kullanabilsin ve sadece ssh_config dosyasını
düzenleyebilsin demektir
- yukarıdaki more ve ssh_config shell escape yapmaya sebebiyet verir
more, vim gibi editörler içlerinde bash komutlarını anlık olarak
çalıştrabilir buda yetki yükseltmeye neden olur.
-DERS-2-GÜÇLÜ-PAROLA-YÖNETİMİ-
lazım olan paketleri indirelim : "sudo apt install libpam-pwquality"
-----EKSTRA ALAN--
-> ip a
bağlı network kartını ve bilgilerini görürüz
-> ssh bağlantısı nasıl kurulur?
ssh kullanıcı_adı@ip_vey_server -p port_nosu
şeklinde yazıp enter basmamız yeterli otomatik bağlanıp şifre istiyecektir
####################################################################################33
--basit terimler
///////////////////////////7
-> Background Process : Kullanıcı girişi olmadan çalışan bir programlardır.
-> Bash : Bourne-Again Shell sözcüklerinin kısaltılmışıdır. Linux sistemler için yazılan komutları
yorumlayan komut dili yorumlayıcısıdır.
-> Binaries : Yürütülebilir programlara derlenmiş kaynak kodlarıdır. (0 & 1 şeklinde yani)
-> Boot : Bilgisayarı başlatmak ve komut satırından bazı temel programları çalıştırmak için bir
işletim sistemi içeren alandır.
-> Cron : Belirtilen görevleri belirli bir zaman veya aralıkta yürüten bir Linux arka plan
programıdır.
-> Dpkg (Debian Paket Yöneticisi) : Debian Linux'ta bulunan ancak diğer dağıtımlarla
uyumlu, İnternet yüklemeleri için bir paketleme ve yükleme aracıdır.
-> File System : Bir işletim sisteminin içeriğine, bir disk veya başka bir depolama ortamının
nasıl erişip yorumlayacağını söyleyen bir dizi programdır.
-> Foreground Process : Kullanıcının şu anda etkileşimde olduğu programdır.
-> FTP (File Transfer Protocol) : Diğer bilgisayarlara dosya aktarma yöntemidir.
-> GNU (GNU is Not Unix) Project : Massachusetts Institute of Technology (MIT) Free
Software Foundation (FSF)nın tescilli UNIX uygulamalarına alternatifler geliştirme ve teşvik
etme çabasıdır.
--bir miktar daha onemli olan terimler
/////////////////////////////////7
-> Kernel : Bir bilgisayardaki bütün kaynakların yönetimini sağlayan işletim sistemi nin
çekirdeğidir.
-> Log : Uygulama ve sistem mesajlarını veya hataları saklamak için tutulan kayıtlardır.
-> Port : İşletim sistemi üzerinde çalışan bir uygulamanın, dış dünyaya erişimini sağlaması
veya dışarıdan gelen isteklere cevap verebilmesi için kullandığı bağlantı noktasıdır.
-> Shell Script : Otomatik olarak çalışması için ayarlanan komutları barındıran komut
dosyasıdır.
-> SuperUser: Root kullanıcısı ile aynı anlama gelir.
-> Swap : Verileri geçici olarak RAM’dan (Random Access Memory) disk’e veya tersi yönde
taşımak için kullanılan sanal bir hafızadır. Takas dosyası olarak ta adlandırılır.
-> Syslog : Bütün sistem mesaj ve hatalarının depolandığı alandır.
###########################YENİ-ALAN-KONU########################################
-----SHELL temel bilgiler kısmı
-> kullanıcı komutlarının doğru yorumlanabilmesi için vardır 3 farklı komut çeşidi kullanılır
1-Alias
2-internal komutlar
3-external komutlar
-ALİAS-> takma ad komutları denmektedir liste = 'ls -al' gibi ls -al tam dizin içeriği listelemesi dir bunu
tek balına liste takma adın bağladık artık liste yzınca ls -al çalışcak
-INTERNAL-komutlar-> shell in bir parçası olan komutlardır
bir komut çeşidini görmek için (type komut) şeklinde görebiliriz örneğin time komutu
-> EXTERNAL-komutlar-> $PATH değişkeninde tanımlı olan komutlar dizinlerindeki komutlardır
bunları $PATH yazarak görebiliriz $PATH değişkenindeki sıralama komutların önce hangi dizinlerde aranacağını
göstermektedir
NOT-> ".profile" dosyasının sonuna ":/dizin/yolları" şeklinde bir ekleme yaparsanız komutları o dizine gitmeden
çalıştırabilirsiniz
NOT-> komutlrın dosya yollarını görmek için "which komut" çalıştırılır bu verilen komutun tam dosya yolunu verir
NOT-> Geçerli bir dizine sahip olmayan komutlar için komut başına ./ işareti getirilir.
///////////////////////////////////////////////////////////////
------Linux'ta Kabuk Başlatma Dosyalarını ve Kullanıcı Profillerini Anlama
-> Linux birden fazla kullanıcının sistem üzerindeki kaynaklara erişmesine izin verecek şekilde
tasarlanmıştır. Linux’da kullanıcının eriştiği ortam, global ve personal olarak iki şekilde
oluşturulur. Normalde, bir Linux sistemiyle çalışmanın temel yöntemi shell’dir. Bir
kullanıcı oturum açtıktan sonra başlatma sırasında okuduğu belirli dosyalara bağlı olarak
bir ortam oluşturur.
-> Shell başlatıldığı zaman, sistem kullanıcısı için önceden tanımlanmış dosyalar okunarak
bir ortam oluşturulur. /etc dizini altındaki bulunan /etc/profile ve /etc/bashrc dizinleri
sistem üzerindeki tüm kullanıcılara uygulanan global yapılandırma dosyalarını içerir.
-> Belirli bir kullanıcı ortamı ise kullanıcının home dizininde bulunan kullanıcıya ait dizindeki
.profile, .bashrc dosyaları okunarak oluşturulur.
------Interactive ve Non-Interactive Shell nedir?
-> Kullanıcı sisteme giriş yapmaya çalıştığında /etc/passwd içinde bulunan kimlik bilgileri
doğrulanır ve sonrasında /etc/profile veya ~/.profile dosyası okunarak başlatılan shell’e
interactive shell denir. Non-Interactive shell ise kullanıcı girişi gerekmeksizin bir script
çalıştığı zaman çağrılır
-------Global Shell Başlangıç Dosyalarını
-> Global ortam değişkenlerinin yapılandırıldığı dosya /etc/profile dosyasıdır.
-> Global ortamda değişiklikler yapmak için kullanılan script dosyaları /etc/profile.d/ dizini
altındadır.
-> Tüm sistem kullanıcıları için geçerli olan diğer yapılandırmaları /etc/bash.bashrc dosyasını
içindedir.
-----Kullanıcı Shell Başlangıç Dosyalarını
-> Home dizini bir kullanıcının dosya, dizin ve programlarının saklandığı alandır. Sunucuya
login olduktan sonra kullanıcının ilk bulunduğu dizin home dizinidir.
-> Kullanıcı oturumunu açtığında, kullanıcının ayarları ve çalışma ortamı, kullanıcının home
dizininde bulunan başlangıç dosyaları tarafından belirlenir.
-> .bash_history dosyası oturumunuz açıkken girdiğiniz komutlar, oturumunuzu kapatırken bu
dosyaya yazılır. Bu şekilde girdiğiniz komutlar hafızada tutulur. Önceden yaptığınız işlemleri
veya kullanıp hatırlamadığınız komutlara bakmak için çok faydalıdır. Oturumunuz, uygun
olmayan bir şekilde kapanırsa komutlar kaydedilmez.
Bunun için "history" komutuda kullanılabilir "history -c" komutuda histopry deki komutlar ısilmek için
kullanılan komutdur
-> .bash_logout dosyası sunucudan çıkarken geçici dosyaları sil, login süresini kaydet gibi
yapılmasını istediğiniz komutlar yerleştirilerek çalıştırılır. Sunucudan çıkarken bu dosya
otomatik olarak çalıştırılır. En sık kullanılan komut clear ‘dır.
-> .bashrc dosyası, sunucuda açık bir oturumunuz varsa ve yeni bir terminal ekranı açarak
sunucuya ikinci bir bağlantı yaptığınızda çalıştırılır. Her oturum açtığınızda çalışarak,
oturumunuz için yapılan ayarları getirir.
-> .profile dosyası, sunucuya console veya uzak bağlantı yapılarak giriş sağlandığında
çalıştırılır. Kullanıcı için tanımlanan ortam değişkenlerini ve yapılandırmalarını tutar.
-> .ssh oturumunuzda kullandığınız SSH anahtarlarının bulunduğu dizindir. (tabi ssh ile baglnıyorsak boyle bence)
-> .cache dosyası kullanıcıların ön bellekteki dosyalarını saklar.
-> .bashrc veya .profile dosyalarına alias eklemek için .bashrc veya .profile dosyalarının en alt
satırına aliasları yerleştirebiliriz.
###############################YENİ-KONU########################################
-----BAZI KOMUTLAR VE KULLANIMLARI--
-"man" kullanımı ->
-> man, maual kelimesinden gelen, bir komutun nasıl kullanılacağını anlatan kılavuzdur. Komut
ile birlikte kullanılacak değişkenleri, değişkenlerin göstereceği sonuçları ve komut örneklerini
man sayfayalarında bulabiliriz.
kullanımı -> man ilgili_komut
-> Anahtar bir kelime üzerinden bir man sayfasına ulaşmak isterseniz -k (keyword) değişkenini
kullanmanız gerekir. Anahtar kelimemizin partition olduğunu varsayalım.
mesela ->
man –k partition komutuyla partition kelimesinin geçtiği man sayfaları görüntülenir.
Komutların sonundaki (1) ve (8) sayfaların kategori numaralarıdır. (1) Çalıştırabilir program
veya komut satırı anlamına gelirken, (8) sistem yöneticileri tarafından kullanılan komutlardır.
->ÖNEMLİ->
man sayfaları bir veritabanında tutulur. Veritabanını güncellemek için herhangi bir argüman
kullanmadan sadece komut satırına mandb yazmamız yeterlidir.
/////////////////////////////////////////////////////////
-> "info" kullanımı ->
-> man sayfaları haricinde info ile de destek alabileceğiniz sayfalar bulunmaktadır. Bazı
komutlar için man sayfaları yeterli olmadığında info sayfalarına da bakmak size yardımcı
olabilir.
not-> aynı man deki gibi 1-8 yetki belirtici sayılar burdada geçerlidir
/////////////////////////////////////////////////////////
-> "help" kullanımı ->
-> man ve info sayfaları bazı durumlarda hem uzun hem de karmaşık gelebilir. Komut hakkında
hızlı bir şekilde yardım almak isterseniz help kullanabilirsiniz.
tabikide genelde ingilizce gereklidir buralarda
/////////////////////////////////////////////////////////
-> "tab tuşu" kullanımı ->
-> tab tuşu hem komutları hem de dizinlerin tamamını yazmadan otomatik olarak
tamamlanmasını sağlar. Örneğin pass yazıp tab tuşuna basın ardından kullanıcı adınızın ilk
harfini yazıp tab tuşuna tekrar bastığınızda hem komut hem de kullanıcı adınız otomatik
olarak tamamlanarak passwd kullanıcı_adınız şeklinde bir komut oluşacaktır.
yani kısacası işi hızlandırıp kolaylaştırmaktadır
/////////////////////////////////////////////////////////
-> "whatis / whereis" lerin kullanımı ->
-> whatis Bir komutun tanım çıktısını verir. whereis ise komutun yolunu gösterir.
whereis komutu which'den farklı olarak tüm $PATH içerisindeki bulunduğu yerleri verecektir
/////////////////////////////////////////////////////////
-> Temel Komutlar – pwd, cd, ls, history, clear ->
---------------------------------------------------------------pwd----
-> pwd (Print Working Directory) : Bulunduğunuz dizini gösterir .
----------------------------------------------------------------cd-----
-> cd (Change Directory) : Dizinler arasında gezinmek için cd komutu kullanılır. Hiyerarşik
yapılandırmaya göre bir gezinti gerçekleştirebilirsiniz.
Komut satırına tek başına cd yazıp enter’a bastığınızda login olduğunuz kullanıcının /home
dizinine dönersiniz.
"cd .." nokta ile bir önceki dizine geri dönersiniz.
"cd –" ile çıkmış olduğunuz bir önceki dizine geri dönersiniz.
-------------------------------------------------------------------ls-------
-> ls (list) : Dizinlerin içeriklerini listeler.
-> "ls -a" gizli dosyalar dahil tüm dosyaları gösterirken,
-> "ls -l" ile ayrıntılı bir liste görürsünüz.
-> "ls -h" dosya boyutunun anlaşılabilir şekilde bir çıktısını verir.
-> bunları "ls -lah" şeklinde tek seferdede kullanabiliriz.
----------------------------------------------------------------------histopry---
-> "history" : Komut satırında girdiğimiz komutları saklar. Komut satırına history yazdığınızda
login olduğunuz kullanıcı ile girdiğiniz tüm komutları görebilirsiniz. History daha önceden
yaptığınız bir işlemi hatırlamadığınızda neler yaptığınız konusunda size faydalı bilgiler
sunabilir. History çıktısındaki komut başında bulunan sayının başına ! koyup yazdığınızda
komutu gerçekleştirmiş olursunuz. Örneğin çıktıda 1. sırada nano /etc/ssh/sshd_config
komutunu yazmak yerine komut satırına !1 yazabilirsiniz. Diğer bir yöntem, mouse ile bir
seçim yaptıktan sonra bu seçim hafızaya alınır. Komut satırına mouse’un sağ tuşuna
tıklayarak hafızaya aldığını komutu yapıştırabilirsiniz.
History içerisinde çok fazla kayıt olabilir. Bu kayıtların içerisinde aramak için shell ekranında
Ctrl+R ‘ye basıp aramak istediğiniz komutu yazabilirsiniz. HISTSIZE değişkeni ile history de
tutulacak boyutu ayarlayabilirsiniz.
-----------------------------------------------------------------------clear---
-> "clear" : Açık olan oturumdaki ekranı temizlemek için kullanılır. Ekranınızda çok fazla işlem
yaptınız ve artık bu rahatsızlık verecek seviyeye geldiyse clear ile temiz bir komut satırına
döndürülürsünüz.
-----------------------------------------------------------------------touch----
-> "touch" -> Boş bir dosya oluşturmanın en basit yoludur.
-> "touch testdosyasi.txt" gibi
->touch test{1..5} komutu adı test ile başlayan 1’den 5’e kadar sıralanan 5 adet boş dosya
oluşturur. (test1 test2 şeklinde...)
----------------------------------------------------------------------------cat------
-> "cat" : Dosya içeriğini komut satırında read-only olarak görüntüler.
-> bir sürücü okuybilir veya bunu başka işlemlerde kullanabilirsiniz.
------------------------------------------------------------------------------cp-------
-> "cp" (Copy) : Bir dosyayının kopyasını oluşturmak için kullanılır. Bir konfigürasyon dosyasında
değişiklik yapmadan öncebu komut ile mutlaka bir kopyasını oluşturmanızı tavsiye ederim.
Herhangi bir şeyin ters gitmesi durumunda yedek dosyanızdan düzeltme imkanınız olur.
-> "cp -r backupfiles/ /yedek_alma/yeni_klasöre_adı" -> Bir dizin içindeki bütün
dosyaların ve dizinlerin
başka bir dizine kopyasını almak isterseniz -r argümanını kullanmalısınız.
-> birden fazla kopyalama yapılacaksa yn yana yazılması yeterlidir
---------------------------------------------------------------------------mkdir--------------
-> "mkdir" : Linux’da dizin oluşturmak için kullanılır.
-> Eğer alt altta parent dizinler oluşturmak isterseniz -p argümanını kullanmamız gerekir.
"mkdir -p dosyalarim/dosyalar/dosya" şeklinde
-----------------------------------------------------------------------------rm-------------
-> "rm" (Remove) : Bir dosyayı silmek için kullanılır.
Dikkatli kullanılması gerekir. rm ile sildiğiniz dosyaları bir daha geri döndüremezsiniz.
-> "rm -i" komutuyla dosyanın silinip silinmeyeceğini soran bildirim alınmasını sağlayabilirsiniz.
-> "rm -rf" komutu ile dosya ve dizinler dahil bütün her şeyi silersiniz. -r recursive ve -f force
anlamındadır.
-> "rm -i -r deneme_silmek" -> dosya ve dizinleri siler ama once size sorar
--------------------------------------------------------------------------rmdir---------
-> "rmdir" (Remove Directory) : Bir dizini silmek isterseniz rmdir komutunu kullanabilirsiniz.
Yine -p argümanı ile alt dizinler dahil bir silme işlemi de gerçekleştirebilirsiniz.
pek fzla kullanılmaz açıkcası
-----------------------------------------------------------------------------file------
file : Dosyaların tiplerini tanımlamak için kullanılır.
-> -s argümanı ile özel dosyalar hakkında bilgi verir.
--------------------------------------------------------------------------------time------
-> time : Bir komutun çalışma süresinin ne kadar süreceğini gösterir.
----------------------------------------------------------------------------------uptime----
-> uptime : Sunucunun açıldığı zamanı, ne kadar süredir açık olduğunu, login olan kullanıcı
sayısını gösterir.
-----------------------------------------------------------------------------------cal-----
-> cal : Takvimi gösterir.
/////////////////////////////////////////////////////////////////////////////////////////////
----I/O Stdin stdout stderr-----
Komut satırından yapılan girişlerin ve ekrandaki çıktıların yönlendirme işlemidir. Temel
olarak stdin(0), stdout(1) ve stderr(2) olarak 3 yön vardır.
-> stdout ">" : işareti bir ekran çıktısını bir dosyaya yönlendirmek için kullanılır.
-> ">" işareti dosyanın içindekilerinin üzerine yazar. Eğer dosya içerisinde daha önceden bir veri
varsa bu bilgiler silinir ve yönlendirdiğiniz bilgiler yazılır.
->not: komut yanlışda girilse ">" işareti kullanıldığı için dosyanın içeriği silinir..!
-> "set -o noclobber" komutunu kullanırsanız yanlışlıkla dosyaların üzerine yazmanın önüne
geçebilirsiniz.
-> noclobber ayarlamanıza rağmen dosyanın üzerine yazmak isterseniz > işaretinden sonra |
kullanarak içeriği değiştirebilirsiniz.
-örnek -> echo "121231231" >| dosya.txt
->Dosya içeriğini değiştirmeden yeni veriyi bir alt satıra eklemek istersek >> işaretini
kullanmalıyız.
Stdout log çıktılarını veya sistem ile ilgili özet verileri bir dosyaya yazdırmak için kullanılabilir.
-----------------------------------------------------------
-> Stderr "2>" : Hata mesajlarını ekrana bastırmadan dosya içeriğine yazdırmak için kullanılır.
Aşağıdaki çıktıda ls -lh komutu ile aldığımız çıktıyı test.txt dosyasının içerisine yazdırdık.
Ardından yanlış bir komut girerek ekrana hata dönmesini sağladık. Devamında aynı hatalı
komutu 2> olacak şekilde yazıp çalıştırdık. Ekrana bir hata dönmedi ancak hata çıktısı dosya
içerisine yazıldı.
-NOT-> "2>" dosya içeriğini silip yazrken "2>>" dosynın son satırına yazacaktır dikkat edelim!
-------------------------------------------------------------
-> Stdin "<" : Temel olarak cat ile aynı anlama gelir. Dosya içerisinde bulunan verileri ekrana
basar. Aşağıdaki ekran çıktısında linuxeğitimi base64 ile kodlayarak ekrana bastırdık.
Ardından decode ederek yeniden görüntüledik.
///////////////////////////////////////////////////////////////
-----OPERATÖRLER----
Burada gösterdiğimizden çok daha fazla operatör vardır. Bash Script yazımında sıklıkla
kullanılırlar. Genel olarak kullanılanlar hakkında bilgi sahibi olmak faydalı olacaktır.
‘ ‘ ve “ “
Komut satırında yapacağınız girişlerin arasındaki boşlukların kaldırılmasını engeller, ayrık
isimli dosya ve dizin adları oluşturmanıza veya bu dosya ve dizinleri kullanmanızı sağlar.
-> ";" noktalı virgül
İki ayrı komut serisini sırayla çalıştırır. Komutların başarılı olarak çalışıp çalışmaması bir
diğer komutu etkilemez.
-> "&" Ampersand
Komutun sonuna koyularak komutun arka planda çalışması sağlanır. Aşağıdaki ekran
çıktısında bir alanı klonlamak için bir komut başlattık ancak ön yüzde çalışmaya başladı.
Ctrl+C ile komutu sonlandırdık. Aynı komutu bu sefer sonuna & işareti koyarak çalıştırdık. Bu
sefer arka planda çalışmaya başladı ve biz 1280 process ID’si ile çalıştığını bildirdi. Fg
komutu ile komutun ön planda çalışmasını sağlayıp yine Ctrl+C ile işlemi sonlandırdık.
örnek işlem -> cp dev_dosy.mp4 /home/gama/film/ &
->"&&" Çift Ampersand
Ve anlamında kullanılır. Arka arkaya yazılan komutlardan kendinden önce gelen başarılı
olursa çalıştırılır.
-> "|" pipe
Çıktı veren komutlarla kullanıldığında çok faydalıdır. Çıktıların içinde istediğiniz bir veriyi
yakalamak, çıktı boyutu ayarlamak için komutlardan önce kullanılır.
-> "||" Çift Pipe
Veya anlamında kullanılır. Arka arkaya yazılan komutlardan birisi başarısız olursa diğerinin
çalışması sağlar. Tek başına kullanımı pek anlamı olmasa da diğer operatörlerle kullanılınca
faydalıdır.
-> "#" Diyez
Girilen komuta veya yapılandırma dosyalarının içerisine yorum satırı girmek için kullanılır.
History ile geçmiş girdiğimiz komutlara baktığımızda neyi ne için yaptığımızı hatırlamak için
iyi bir yöntemdir veya başka bir administrator’ün yaptığınız işlemleri anlamasına kolaylık
sağlayacaktır.
-> "\" backslash
Komutları veya karakterleri birleştirmek için kullanılır.
özel karakterler ve kaçış karakterleri içinde kullanılmaktadır
-> "~" Tilde
Tilde işaretinden sonra sunucuda bulunan kullanıcılardan birini yazdığınızda o kullanıcının
home dizinine gidersiniz.
örnek -> cd ~gama
////////////////////////////////////////////////////////////////////////////////////
----DEĞİŞKENLER---
İşlem yapılmak istenen veriyi hafızada tutmak için değişkenler kullanılır. Değişkenlerde sayı,
harf, tarih gibi bir çok biçimde veri tutabiliriz. Değişkenlerin büyük harfle olması tavsiye edilir.
Birden fazla değer alacak bir değişkende veriler arasında : olmalıdır. Linux’de üç çeşit
değişken mevcuttur.
örnek -> MRB=”Merhaba Linux!”
UYARI-> türkçe karakter kullanılırsa hata alırsınız denendi
-> Değişkenler küçük büyük harfe duyarlıdır.
-> unset ile değişkeni silebilirsiniz.
-> $LANG ile işletim sistemi dilini öğrenebilirsiniz.
---------------------
-> Environment Değişkenleri
Linux sistemlerde ortam değişkenleri shell veya subshell de başlatılan uygulamalar
tarafından kullanılabilen dinamik olarak adlandırılmış değerlerdir. Değişkeni tanımlamak için
export komutu kullanılır.
-> Environment değişkenleri görmek için komut satırına env komutu yazılır.
-> Bu değişkenleri kalıcı olarak tutmak için .profie veya .bashrc dosyalarının içlerine
tanımlayabiliriz.
----------------------
-> Sistem Değişkenleri
Linux Bash Shell tarafından oluşturulan değişkenlerdir. İşletim sistemi yüklendiği zaman bir
çok sistem değişkeni de beraberinde oluşturulur.
-> set | less komutuyla sunucuda tanımlı tüm değişkenler görüntülenir.
----------------------
-> Shell Değişkeni - $
$ işareti değişkenlere atanan verilerin kullanılması için kullanılır. Komut satırında env
(environment) yazdığınızda işletim sistemi tarafından atanmış değişkenlerin bir kısmını
görebilirsiniz. Bu değişkenleri $Değişken_ismi şeklinde kullanabilirsiniz.
-----------------------
----JOKER KRKTERLER BİRNEVİ----
Wildcard * ? [ ]
-> "*" (Asteriks), işaretini dizin ve dosya işlemlerinde komutlarla birlikte kullanarak kendinize
kolaylık sağlayabilirsiniz.
Bir dizin altındaki ismi file ile başlayan her şeyi silmek isterseniz rm -rf file* şekline
kullanabilirsiniz.
NOT-> rm -rf ve * işareti yanlış kullanımda sistemi kullanılmaz yapabilir dikkat ediniz...!
-> "?" (Soru İşareti), sadece bir karakteri baz alır.
-> [ ] (Köşeli Parantez), yine dizinleri görüntüleme de filtre maksatlı kullanabiliriz. Örneğimizde
sonu K ve N ile biten dizinlerin görüntülenmesini sağlıyoruz.
-> ls -al YA[K,N] -> sonu K veya N ile bitecek demektir
////////////////////////////////////////////////////////////////////////////////////
----DOYALAR İLE ÇALIŞMAK-----
-> Shell Ortamı ve Kullanıcı Profili
Kullanıcınız ile sunucuya login olduğunuzda login olduğunuz kullanıcının home dizinde
komut satırına başlarsınız. Home dizini kullanıcının dosya, dizin ve program dosyalarını
saklar.
-> Home dizin altında bazı gizli dosyalar vardır. Bu dosyalar kullanıcı oluşturulduğunda
otomatik olarak oluşturulur.
-> .bash_history dosyası kapanmış oturumlarınızda girdiğiniz komutların listesini tutar. Mevcut
oturumunuzda girdiğiniz komutlar siz oturumunuzu kapattığınızda bu dosyaya yazılır.
- AMA zsh vs kullanıyorsanız belki adı zsh_history olabilir
-> $HISTFILE değişkeni dosya konumunu tutarken, bu dosyada tutulacak komut sayısını
-> $HISTFILESIZE değişkeni ile belirleriz.
-> .bash_logout dosyası oturum kapatma prosedürlerini içerir. Sistemden çıkış yaparken bu
dosya çalıştırılır
-> .bashrc dosyası kullanıcı yeni bir oturum açtığında çalıştırılır.
-> .profile dosyası kullanıcı ortamını yapılandırmak için kullanılır.
//////////////////////////////////////////////////////////////////////////////////////////
--------Dosya Editörlerinin Kullanımı------
-> Kullanmak istediğiniz dosya editör uygulamasının ismini ve düzenleyeceğiniz dosya adını
yazıp enter’a basarak düzenleyiciye erişebilirsiniz.
-> Kullanımı en kolay Nano’dur Herhangi bir tuşa basmadan direk dosya içerisinden değişiklik
yapabilirsiniz. Klavyenizin yön tuşları ile dosya içinde gezebilirsiniz.
-> nano -B dosya_adiniz komutu ile orijinal dosyanızın bir yedeği dosya adının sonuna ~
işareti getirilerek oluşturulur. Yaptığınız değişikliklerden sonra eski dosyaya erişmek
isterseniz ~ işareti ile biten dosyadan erişebilirsiniz.
-> nano -l dosya_adiniz komutu ile dosya içeriğindeki satırların başında satır numarası
gösterilir.
-> Aşağıdaki ekran görüntüsünde en altta bulunan seçenekleri CTRL tuş kombinasyonuyla
kullanabilirsiniz. Ctrl + O farklı kaydetken, Ctrl + W dosya içinde arama yapmanızı sağlar.
Ctrl + X ile dosyadan çıkmadan önce kayıt edip etmeyeceğiniz sorulduktan vereceğiniz yanıt
gerçekleştirilir ve dosyadan çıkılır. Ctrl + _ kombinayonu ile satır numarası kullanılarak
değişiklik yapılmak istenen satıra gidilir.
-> !!!Önemli!!!: Özellikle yapılandırma dosyalarında bir değişiklik yapmadan önce mutlaka cp
komutu ile bir kopyasını alın. İstemediğiniz durumlarda yedek dosyanızdan geriye dönme
şansınız olur.
--------Dosya İçeriğini Görüntüleme - less, more, cat, head, tail-------
-> less, more ve cat komutları bir dosyanın içeriğini görüntülemek için kullanılır. less komutu
ile görüntülemek istediğiniz dosyanın ilk satırından başlayarak görüntüleme sağlanır. Yukarı
aşağı tuşları ile dosya içinde gezilebilir. İçeriği uzun olan dosyalarda kullanışlıdır.
/ (slash) ile dosya içeriğinde arama yapılabilir. Aramak istediğiniz kelimenin başına / (slash)
işareti koyup enter basarak arama yapabilirsiniz.
q tuşu ile gösterimden çıkabilirsiniz.
-> more
more ile yine dosyanın en başından itibaren gösterime başlanır ancak enter ve boşluk tuşu
ile daha fazla satıra bakılabilir. Enter tuşuna her basıldığından 1 satır kaydırılırken, boşluk
tuşu ile ekranın tamamı kaydırılacak şekilde içerik görüntülenir.
-> cat
cat komutu dosya içeriğini ekranda en son satırdan itibaren olacak şekilde ekrana yazdırır.
İçeriği uzun olan dosyalarda pek kullanışlı değildir.
birden fazla dosyayı tek dosyada toplayabilr
cat 1.txt 2.txt 3.txt > final.txt ">>" kullanrak sonunada yazabiliriz
-> head, varsayılan olarak bir dosyanın ilk on satırını gösterir. Ancak satır sayısı ayarlanabilir.
head -10 not.txt -> ilk 10 saıtır okur
-> tail, varsayılan olarak en son 10 satırı gösterir. Head ‘a olduğu gibi satır sayısı ayarlanabilir.
tail akan log takibinde çok kullanılır. tail -f komutu ilk çalıştırıldığında son 10 satırı
göstermekle birlikte canlı olarak dosyaya yazılan verileri ekrana yazdırır.
/////////////////////////////////////////////////////////////////////
------Filtreler - grep, cut, sort, wc, tr, uniq, sed, awk--------------
-> grep, en çok kullanılan filtredir. Bir ekran çıktısı veya dosya içeriği içinde istediğiniz bir
tanımı grep ile filtreleyebilirsiniz.
-> cut, bir dosyanın içerisindeki kolonları seçip filtreleyebilir. Aşağıdaki komutumuzda
/etc/passwd isimli dosyadan –f1,7 ile satırın 1nci ve 7nci sütununu, head -4 ile en son 4
satırını getirmesini sağladık.
cut -d: -f1,7 /etc/passwd | head -4
-> tr, bir dosya içerisindeki karakterleri değiştirmek için kullanılır. Ekran çıktısında a’dan
başlayıp z’ye kadar olan bütün harfleri büyük harfe çevirerek ekrana getir dedik. tr sadece
ekran çıktısında değişiklik yapar. Dosya içeriğinde değişiklik yapmaz.
ama sonuna >> eklenirse varolan bir dosyya yazabilir sonuna
cat test.txt | tr 'a-z' 'A-Z' | head -4
-> wc, bir dosya içerisindeki satır, kelime ve karakterleri saymak için kullanılır.
wc -l -> satır sayısıdır mesela
wc -w -> kelime sayısı
wc -c -> dosyadaki karakter sayısını sayar
-> sort, varsayılan olarak dosya içeriğini alfabetik sıraya dizer. Ancak belirli sütunlara göre de
bu sıralamayı yapabilir.
cat test.txt | sort -> varsayılan sıralama
cat test.txt | sort -k2 -> 2.sutuna göre sıralar
-> uniq, dosya içerisindeki tekrar eden verileri kaldırarak ekranda gösterimini sağlar. Aynı
zamanda hangi veriden kaç tekrar ettiğini de sayabilir.
cat test.txt | uniq -> standart hali
cat test.txt | uniq -c -> kelme saymak için
-> sed, akan veriyi düzenlemek için kullanılır. Aşağıdaki komutta Honda ibresini Mercedes ile
değiştirerek ekrana yansıttık. Ancak ‘s/Honda/Mercedes/’ komutu sadece 1nci satırda
değişiklik yapar. İçeriğin içindeki tüm Hondaların değişmesini istersek ‘s/Honda/Mercedes/g’
yazmalıyız. g ile tüm içeriğin içini manipüle edebiliriz.
cat test.txt | sed ‘s/Honda/Mercedes/’ -> yalnızca ilk satıra etkili
cat test.txt | sed ‘s/Honda/Mercedes/g’ -> tüm belgede etkili
cat test.txt | sed '/Honda/d' -> honda bulunan satırları silerek ekrana getirdik
-> awk, dosya veya işlemler içindeki veriyi analiz etmek için kullanılan diğer bir araçtır. Ekran
çıktısında satır ve sütunlardan oluşan verimizin 1nci sütunu gösterdik.
cat test.txt | awk '{print $1}' -> 1.sutunu gösterir
////////////////////////////////////////////////////////////////////////////////////
-------İçerik ve Dosya Arama Komutları - find, locate-------
-> find, Linux dosya sisteminin içerisinde aradığını bulmak için kullanılan en etkili komutlardan
biridir. Dosya tipleri, tarih, izin, grup, dosya boyutu gibi kriterlere göre dosya sisteminde
aramalar yapabilir. Herhangi bir paket yüklemeden Ubuntu içerisinde varsayılan olarak yüklü
gelir ve basit syntaxı ile kullanımı kolaydır.
- find . -name *.gz komutuyla . yani bulunduğum dizinde uzantısı gz olan içerik ekranda
listelenir.
-find / -name *.bak komutuyla root dizini altında adı fark etmez ama uzantısı bak olan
dosyalar listelenir. Bu şekilde arşiv, yedek gibi bulmaya çalıştığınız önemli dosyaları
arayabilirsiniz.
-find /etc -type f -name “*.conf” komutumuzun anlamı, /etc klasörü altında tipi file ve
uzantısı conf olan dosyaları listeledir.
-find / -type d -name "oyun*" komutumuzun anlamı, kök dizinden başlayarak tipi dizin ve
oyun kelimesi ile başlayan dizinleri getir.
-find /home/ozgur/ -type f -name "test*" > arama.txt komutumuzla, çıktı sonuçlarını
arama.txt isimli bir dosyaya yazdırdık.
-find / -size +100M komutuyla boyutu 100 Mb’dan yüksek olarak dosyalar listelenir. Dosya
sisteminizde yer kaplayan dosyaları
bulmak için güzel bir yöntemdir.
-find / -type f -perm 0777 komutuyla farkına varmadan full izin verdiğiniz dosyaları bulup
güvenlik önlemleri alabilirsiniz.
################################################33
sudo dpkg-reconfigure locales -> dil ayarlamamızı sağlar
sudo dpkg-reconfigure keyboard-configuration -> klavye ayarlamamızı sağlar
######################################################
kali live kurulumu:
bu şekilde kullanırsak usb de çalışır ve kaydolmaz ama istenirse kalıcılık sağlanabilir
diski şifreleyerekde kullanabiliriz
#########################################33
rx ve tx nedir?
rx -> receive x yani türkçesi almak downlşoad etmek anlamına gelir
tx -> transmit x yani iletmek upload etmek anlamına gelir
------
O halde bağlantıları da çapraz olmak zorunda şöyle düşünün elinizde bir adet bluetooth modülünüz var var arduino bağlantısını yapacaksınız.Bluetooth modülünüzde ki TX pinini arduino daki TX e takarsanız yanlış olur.Nedeni ise TX ileten pindi ve siz diğer ileten pine takacaksınız , yani ikisi de bir şeyler gönderecek saçma ve yanlış olur.Bu yüzden bağlantılar çapraz olmak zorunda.Yani TX pinini RX e, RX pinini ise
TX
e takmalısınız.
Veri gönderildiğinde diğer taraftan alınmalıdır.Diğer taraf veri gönderdiğinde bu kez bu taraf almalıdır.Basitçe çalışma prensibi
bu şekilde.Umarım az çok kafanızdaki soru işaretleri gitmiştir.Eğer yine takıldığınız yer olursa çekinmeden yorum olara
k sora bilirsiniz.En kısa sürede cevaplamaya çalışırız.
##########################33
not => her kabuk 2 tur komut çalıştırmayı sağlar
1-> kendi kodları
2-> sistemdeki kodlar
dahili özellikler (1.için) asıl kullanımı belirler
ön tanımlı shell i atamak:
sudo chsh -s /bin/shell_konum $USER
##################################
----UYARI-yeni path eklemek yerine varolan bir konuma taşımak daha sağlıklıdır ve tercih edilir....!!!!--------
PATH yolun dizin eklemek
başlangıçda çalışan bir dosyaya yazmmız lazım
örneğin /etc/bash.bashrc
----------
PATH="/home/gama/komutlar/":$PATH
-----------
source = belirtilen dosyayı oturum kapat aç yapmadan tekrar configure etmmizi sğlar
yani source /etc/bash.bashrc diyerek değişiklikleri oturum kapatmadan uygulatabiliriz
not ! -> dosyaya çalıştırma izni vermezisek hat lırız
###################3
ortam değişkenlerini görmek
set -> shell e ait olan değişkenleri ve değerlerini verir
printenv -> sistemde bulunan butun çevresel değişkenleri verir
env -> sistemde bulunan bütün export yani değiştirilmiş değişkenlerle beraber değişkenleri gösterir
########################3
$SHELL -> hangi kbuk ve konumu
$HOME -> ev dizini
$TERM -> komut satırı uygulamalarının hangi termşnalde çalışcağanı belirtir
##############3
ortam değişkenlerini tanımlama
-> konsola özel (açık terminle)
ylnızc geçerli olan açık termnalde ve uygulamalarıda kullanılabilen
-> kullancıcıya (user e özel)
-> sistem geneli geçerli olnlar
----geçerki term de ---
export DEGİSKEN=değer
kullanıcıya özel değişkenler
.bashrc gizli dosyasına yazıyoruz ve oturum kapat ç yapınca otomatik olarak tanımlanmış olur
bu dosya kullanıcının kendi $HOME dizininde bulunur
sistem genelinde (tüm kullanıcıları) etkileyen değişkenler
/etc/bash.bashrc dosyası her kullanıcı oturum açtığındaki on tnımlı dosyadı
dosyanın sonuna yzılmalıdır!
eklediklerimizi silip kaydedip oturumu kapat aç yparsak ön tnımlı haline gelecektir
-KISAYOLLAR-
terminalde kopyalama ve yapıştırma
CTRL + SHİFT + C -> kopyalama
CTRL + SHİFT + V -> yapıştırma
bash shell kısayolları
CTRL + A -> imleç satır bşına gider
CTRL + E -> imlec satır sonuna gider
CTRL + P -> önceki komuta gider
CTRL + N -> soraki komuta gider
ALT + B -> sola doğru bir kelime kaydırır
ALT + F -> sağa doğru bir kelime kaydırır
CTRL + B -> bir karakter sola
CTRL + F -> bir karakter sağa gider
CTRL + XX -> imleç mevcut konumdan stır başına gider
CTRL + L -> konsol ekranını temizleyebiliyoruz (silmez aşşağı indirdirir terminali)
ALT + D -> imleçden sonraki bir kelime siler
CTRL + U -> imlcin solundaki bütün ifadeleri siler
CTRL + K -> imlecin sağındaki bütün ifadeleri siler
CTRL + Y -> kesmiş ifadeyi konsola yapıştırır
ESC + T -> imleçden önceki 2 ifadenin yerini değiştirir
CTRL + H -> sola doğru bir karakter siler
ALT + U -> imleçden sonraki tüm karakterleri büyütür
ALT + L -> imleçden sonraki sözcüğü küçük harf yapar
ALT + C -> imlecin üzerinde bulundu karakteri buyutur
CTRL + C -> komutun çalışmasını durduroyor (iptal ediyor)
CTRL + R -> komutlar arası arama yapar
TAB -> otomatik tamamlama ve 4 boşluk sğlar
CTRL + D -> konsol ekrnını kapatır
AYNI ANDA BİRDEN FAZLA KOMUT ÇALIŞTIRMAK :
&& -> önceki komut başarılı olursa kendinden sonrakni çakıştırır
; -> önceki komutun başarısına bamaz her halukarda kendinden sonrakini çalıştırır
|| -> veya demektir 1. başarısız olursa 2.yi mesela
KISAYOL KORUMASI ->
ignoreeof ->
kullanımlar
1: mevcut oturum
2: sistemdeki tüm userlar için
1.için
.bashrc açıp
export IGNOREEOF=2 olacak şekilde yazıoz
burdaki 2 komutu ertelmektir yani 2 kez engeller 3.de uygular
2.içim yukardakini /etc/bash.bashrc ye yazıyoruz
mevcut terminal için yapmak :
ignoreeof=2 yzabiliriz direk
ignoreeof=0 -> korumayı kapatır
2.yol set -o ignoreeof -> otomatik olarak 10 kez koruma yapar 11.de uygular
bilgi alma komutları
komut_1 --help
help komut_1
man komut_1
şeklinde bilgi almak için kullanılabilir
öam sayfası ile ilgili
NAME -> komutun ismi ve açıklama kısmı
SYNOPSIS -> komutun kullanım açıklaması nasıl kullanılacağı yani
DESCRIPTION -> komutun yaptığı iş (fonksiyonu) hakkında açıklama
EXAMPLES -> kullanım ile ilgili örnekler ve açıklamalar
SEE ALSO -> diğer ilgili başlarıklardır
man ın bilgi sayfaları /usr/share/man altında tutulur
burdaki dosylar şunları ifade eder
man1 -> genel kullanıcı programları
man2 -> sistem programlarını ifade eder
man3 -> kütüphane fonksiyonlarını (c programlama ile ilgili)
man4 -> özel dosyaları ifade eder
man5 -> dosya biçimlerini ifade eder
man6 -> ekran koruyucularını ve oyunlarını ifade eder
man7 -> diğer katagorilere girmeyen çeşitli komutları ifade eder
man8 -> sistem yönetimini ve bakımını ifade eder
şeklindedir sınıflandırması
whatis komutu : bu komut hangi komutun açıklaması hangi man sayfasında bunu içerir
mesela whatis ls gibi
apropos komutu
man -k
ile aynıdır hangi uygulamalarda geçtiğini verir
yani birnevi anahtar kelime aramasıdır
man klavuz sayfasını guncellemek
mandb -> bu komutu terminale yazarak man sayfalarını gunceller
--------------------
-- BİLGİ ALMA KOMUTLARI --
uname -> çekirdek ismini verir
uname -a -> daha kapsamlı çekirdek bilgisi verir sürüm vs
ornek
Linux prime 5.4.0-113-generic #127-Ubuntu SMP Wed May 18 14:30:56 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
burda sırasıyla çekirdek adı hostname derlenme sürümü işlemci mimarisini ve
os ismini verir
uname -s -> sadece çekirdek ismini verir
uname -n -> hostname
uname -r -> derlenme sürünü
uname -v -> versiyon
uname -m -> işlemci mimarisi
uname -o -> os bilgisi
uname -p -> işlemci bilgisi -genelde çalışmaz
uname -i -> donanım platformu -genelde çalışmaz
-m yerine --machine şeklindede kullanılabilir
hostaname komutu:
tek başına kullanıldığı zaman ana bilgisayarımızın ağ üzerindeki ismimizi verir
yerel ağdaki domainimiz gibi
ve bazı uygulamalar çalışmak için bu isme ihtiyaç duyarlar
hostname nasıl değiştirilir?
hostname yeni_host_adı -> reboot sonrası eski haline döner
kalıcı olması için /etc/hostaname i açıp oraya yeni host adımızı ve sonrasında
gene /etc/hosts dosyasınada eklememiz gerek bu dosyanın görevi local dns gibi çalışır
örnek /etc/hosts içeriği:
127.0.0.1 localhost
127.0.1.1 eski_host_adı
yukarıdaki eski_host_adı yazan yeri silerek yeni host adımızı yazıyoruz
not buraya birden fazla host ismi verebiliriz ve sonra /etc/hostaname e eklediğimizde buraya yazmamıza gerek kalmaz
örnek
127.0.0.1 localhost
127.0.1.1 host_adı1 host_adı2
gibi gibi
---------------------------
lsb_release komutu
kullandığımız dağıtım hakkında bilgi verir
parametresiz kullanırsak hata verir
lsb_release -a -> dağıtım hakkında belli bilgiler verir
--------------------------------
whoami komutu
kimliğimizi sorgulamamızı sağlar
who komutu -> sistemde hangi kullanıcılar aktif onu gösterir
w komutu -> hangi kullanıcılar hangi işlemi yapıyor onu gösterir
--------------
uptime -> bilgisayarın nekadar açık suredir açık olduğunu ve
kaç kez oturum açtığımızı gösterir
18 user mesela 18 kez oturum açıldı demektir
date -> tarih saat bilgisi verir
cal -> komut satırı takvimini açar
cal 1 2002 -> ocak 2002 takvimini verir
----------------------------
which -> kullandığımız komutun dosyası nerede olduğunu gösterir
which ls gibi mesela
whereis -> komutun man sayfasının tam konumlarını verir
ve komutun dosya yolunuda verir aynı zamanda
locate -> verilen ismi sistemde ara (kullanıcı yetkileri sınırında)
locate komut.sh gibi mesela kullanımı
----------------------------
dmidecode -> sistemdeki tüm donanım bileşenleri hakkında bilgi almamızı
sağlamaktadır
DMI type 1-2-3 şeklinde sıralıyor
bu DMI , masaüstü yönetim arayuzu demektir
bios vs birçok bilgi sağlamaktadır
dmidecode -t bios -> sadece bios hakkında bilgi almak için kullandık
yani -t filtreleme işlemini sağlar
DMI type numarası ilede arama yapabiliriz
dmidecode -t DMI_kodu
fdisk -l -> sistemdeki diskler hakkında bilgi verir
df -> daha ayrıntılı şekildi diskler hakkında bilgi verir
du -> bulunduğumuz dizindeki dosyaların boyutlarını verir
daha okanaklı olsun istersek -h ekleyebiliriz
free -> anlık bellek bilgisini verir kullanım vs
mb cinsinden çıktı için free -m
gb seklinde free -g
------------
stat komutu
stat dizin_konumu
vmstat -> sistemin o anlık durumunu verir
bunu sürekli olsun istersen
vmstat yenilenme_hızı(sn) yenilenmey_sayısı (döngü adeti)
-------------------------------------
history komutu
komut geçmişimizi verir
en fazla 1000 adet (ön tanımlı olarak) tutulur
bunu değiştirmek için
$HISTSIZE değişkeni bunun sayısını tutar
değiştirmek için .bashrc dosyasındaki değişkenin değerini belirtiyoruz
history deki bir komutu çağırmak içind
!komut_numarası
veya
!istenen_komutun_baş_kısmı
!! -> son çalışan komutu çağırır
--------------------------------
LİNUX DOSYA HİEARŞİSİ
linuxda tüm dizinler kök "/" altında bulunurlar
buranun sahibi root dur ve ufak farklılıklar hariç nerdeyse her
dağıtımda aynıdır bu yapı
linux sistemler küçüğk büyük harf duyarlılığı vardır!
hangi dizinlerde neler bulunur?
/bin -> kullanıcı komutları (temel komutlar)
sistem boot olunca ilk bin klasörü yüklenir
/boot -> boot işlemi için gerekli olan dosyaları içerir
/dev -> donanım aygıtlarını içerir
/etc -> ayar ve yapılanma bilgilerini içerir
/home -> her kullanıcının kendi dizinin burda bulunur
/lib -> çekirdek modulleri ve paylaşılan kutuphane dosyalarını barındırır
/lib32 /lib64 -> uyumluluk için kutuphane barındırırlar
/lost + found -> sistemin beklebnmeyen kesintilerde linuxda fsck komutu çalışır ve
disk duzeltilir ve olası kaybolabilecek dosyalar buraya taşınır
/media -> kaldırılabilir aygıtları usb dvd ve sisteme bağlanmamış aygıtları iöeir
/mnt -> sistemin kurulu olduğu disk bölümü hariç diğer bağlanmalar burada yapılır
/opt -> işletim sistem,inden bağımsız 3.parti programları içerir
/proc -> sürecler bellek donanım aygıtları iöçeren özel bir sanal dosya sistemidir
bilgi alma merkezidir yani gerektiğinde ayarları yapmak içinde kullanılır
/root -> root kullanıcısının özel ev dizinidir
/sbin -> root kullanıcısının kullanılacak bakım yonetim komutlarını içerir
yerel root için /usr/local/sbin de bulunur
/usr -> kurduğumuz pekçok program buraya kurulur tüm kullanıcılarla paylaşılan
şeyleri içerir
/usr/local -> sadece kullandığımız makineye özeldir
/var -> log email gibi değişken bilgileri burda tutulur
/tmp -> geçici dosyalar içindir reboot da içi boşaltılır
/srv -> sistemin sunduğu hizmetlerle alakalıdır
/initrd -> çekirdeğin yüklenmesi için gerekli yapıdır
/run -> son önyüklemeden bu yana çalışan sistemle ilgilei bilgileri tutar
---------------------
DİZİN İŞLEMLERİ :
pwd komutu:
çalışmış olduğumuz dizini verir
cd komutu:
Change Directory nin kısaltılmış halidir anlamı konum/dizin değiştirmemizi sağlar
cd gidilecek_dizin
cd .. -> bir üst dizine gider
cd /dizin/(gidilecek_yer
cd -> kullanıcının home diznine gider
cd - -> önceki olduğunuz tam dizin konumuna gidecektir iki dosya arasında çok hızlı geçmemizi sağlar
cd /desktop -> kök üzerinde bu dizini arar
cd desktop -> bulunulan dizinde arar
cd ../home -> üst dizine git ve oradan home klasörüne git demektir
ls komutu
ls -> dizin içeriğini listeler
ls -l -> detaylı dosya bilgisi
ls -a -> gizli dosyalarıda gösterir
ls -A -> . ve .. yı kaldırmak için kullanılır
ls -hl -> dosyaların boyutunuda gösterir
ls -i -> dosyaların inode değerlerini verir -ilerde değinilecek
ls -S -> dosyaları buyukten kucuge doğru sıralar
ls -t -> dosyaları oluşturma tarihine göre sıralar
ls -r -> değerleri tersine yazdırır
************************************
mkdir -p /dizin1/2c/3a -> şeklinde belirli bir path oluşturabiliriz
rm -i -> silmek için her defasında sorar
-------------
touch komutu direk kullanılırsa dosya oluşturur ama
touch -t yılaygun dosya_adı şeklinde kullanılırsa oluşturna tarihini düzenlememizi sağlar
--------
cat komutu
dosyaları okumamızı sapkar
cat > dosya_adı -> dosya oluşturur ve içerik yazmamızı ister CTRL + D ile kaydedip çıkabiliriz
varolan bir dosyaya veri eklemek
cat >> osya_adı -> veriler dosyanın sonuna yazılır
-----------------
tac komutu:
cat komutunun tersi şekilde yazılıyor görevide cat .ıktısının tam tersini vermektir
-------------
rev komutu
metni baştan sona ters çevirir
--------------
echo komutu
genelde bir verinin ekrana yazılmasını sağlar
cat gibi dosya oluşturma ve yazma işlemleri yapabilmektedir
UYARI=> echo komutu içerisinde shell kodlarıda yurutulebişmektedir!!!
ls gibi kullanımı:
echo * -> bu kullanım şekli ls gibi dizin içerini verir
echo *d -> d ile başlayanları gösterir mesela
echo ile komut çalıştırmak
echo `ls` -> komut yurutur!
echo ${ls} -> komut yurutur!
-------------
more kullanımı
more açılacak_dosya
bu editörde kod yurutulebilir
space -> diğer syfa
b -> önceki sayfala
q -> çıkış
--------------------------
less komutu
less açılacak_dosya
bu editörde kod yurutebilir!
more gibi space ve b kullanılırlar
----------------------
head ve tail komutlrın
head -> ilk 10 satır
head -n 20 -> ilk 20 satır
tail -> son 10 satır
tail -n 20 -> son 20 gösterilir
-------------------
nl komutu
number line anlamına gelir dosylrın satır numaralarını yazar
nl açılacak_dosya
------------------
sort komutu
içeriğin alfbetik olrak sıralanmasını sağlar
sort dosya_adı
ön tnımlı a-z dir tam tersi için -r eklemek lazım
---------------
paste komutu
birden fazla dosyayı aynı anda yanyana açmak için kullanılır
psate dosya_1 dosya_2 dosya_3
--------------
tee
yazdıklarımızı hem dosyaya yazılsın hem ekranda aynı anda gözksn istersek kullanırız
tee dosya_adı
ctrl + d ile kaydedip çıkabiliriz
------------------
cmp komutu
2 dosyayı karşılştırır ve farklı olan kelimeleri ve satırları vurgular
cmp dosyaa_1 dosya_2
---------------------
grep komutu
filtreleme komutudur
grep "ifade" aranacak_dosya
grep -i "ifade" * -> aynı dizindeki bütün dosyalarda aram ypar
-i -> buyuk kucuk harf farkını kaldırır
klasörlerdede arama yapılmak istenirse -r parametreside eklenir
-A 10 -> ifade bulunduktan onra kaç satırın gösterileceğini belirtir
-B 10 -> ifade bulunduktan once gelen satırları gösterir
-C 10 -> hem onceki hem sonraki 10 satırı geitirir
-------
find parmetre
-size +100G/M/k -> 100 gb den mb den ve kb den buyuk olanlar için
-perm 700 -> chmod için bu parametreli dosyayı alır
-ctine 5 -> 5 gun once değiştirilen dosyaları aratır
-type f -> dosya tipinde olanları arar -d -> dizin olanları arar
-ctime -5 -> 5 güne kdar değiştirilmiş dosyaları getirir
-ctime +5 -> 5 gunden daha once değiştirilmiş dosyaları ggösterir
--------
xargs komutu
kendinden önceki argumanları kendinden sonraki komuta verir
örnek:
find -name *.jpg | xargs rm -> find in bulduğu tum jpg dosyalarını rm komutuna vererek sildirir
yni çıktılrı aktarır
----------
shred komutu
dosyalarımızı güvenli şekilde silmeyi sağlar
argumansız şekilde kullanılırsa dosyaya 3 kez rastgele bitler ekler
shred -n 12 -> 12 kez rastgele bit yazılması için argumanı
-v -> işlemleri görmemizi sağlar
-u -> işlem bitince dosyayı silmemizi sağlar
---------------dosya arşiv işlemleri -------------------
tar -> Tape ARchive şeklinden açılımı vardır
tar -c -> create = oluşturmak anlamına gelir
-f -> istenen dosyaları arşive ekler
tar -cf arşiv_adı arşive_alınacaklar
tardan cıkartmak
tar -xf dosya.tar-> x = extrack = cıkartmak f de dosyları secer
tar -xf dosya.tar -C /cıkartılacak/dosya_path ı -> belirli bir dizine çıkartmayı sağlar
tar -tf dosya.tar -> t -> tables of contents demektir buda konsoldan içeri okumamızı sağlar
tar -rf dosya.tar eklenecek_dosya -> mevcut arşive ekleme yapar
-v -> verbose -> ayrıntıları gösterir
-------------------
gzip ve bzip2 araçları -> sıkıştırmak içindir
gzip dosya_adı -> dosyayı sıkıştırır
gzip -d arşiv_dosyası -> tekrardan çıkartır
-bzip2
bzip2 dosya_adı -> sıkıştırmak için
bzip2 -d arşiv_adı -> çıkartmak için
---------------------------------------------
hem sıkıştırma hemde arşivleme işlemi nasıl yapılır
gzip ile yapımı
tar czvf yeni_arşiv.tar.gz arşive_alınacaklar -> burdaki yeni z parametresi gzip ile sıkıştırmayı belirtir
tar xzvf cıkartılacak_arşiv -> burdaki x de çıkartmak için
-bzip2 ile
tar cjvf arşiv_adı.tar.bz arşive_alınacaklar -> burdaki j ise bzip ile sıkıştırma yapılacağını belirtir
tar xjvf arşiv_adı -> arşivi çıkartır
----sıkıştrılmış dosyalarda arama işlemi
zcat isimler.gz -> sıkıştırılmış dosyayı okumamızı sağlar
bzcat dosya.bz2 -> okuma işleminisağlar
----arama yapmak
zgrep "metin" dosya.gz
bzgrep "metin" dosya.bz2
şeklinde
----zip-unzip
zip dosya_adı.zip arşive_alınacaklar -> sıkıştırmak için
unzip dosya_adı.zip -> çıkartma işlemleri
##########################################################################################
ERİŞİM YETKİLERİ
###### ##### #### ##### #### #####
temel olarak kullanıcıların dosya ve dizinlerde gerçekleştirebileceği 3 eylem vardır bunlar
-okuma - read - r
-yazma - write - w
-çalıştırma - execute - x
bu şekildedir
ls -l ile dizin içeriğindeki dosya ve dizinlerin izinlerine bakabiliriz
ls -l işelmi sonrası başında d olanlar dizindir
ilk 3 lu alan dwrx-rx-r -> ilk alan dosyaya sahip olanlar ikinci grup aynı grupda olanlar 3.grupdakişler ise diğer kullanıcıları temsil eder
- işaretleri o yetkinin olmadığını belirtir
-----------------
chmod komutu (change mode)
u parametresi -> dosya/dizin sahibin belirtir (user)
g parametresi -> dosya dizin sahibi ile aynı grupda olanları belirtir (group)
o parametresi -> diğer kullanıcıları temsil eder (other)
a parametresi -> tüm kullanıcıları temsil eder (all)
= -> yetki eşitlemede kullanılır
+ -> yetki eklemekde kullanılır
- -> yetki çıkartmada kullanılır
erişim yetkisi ekleme
chmod u+x dosya_adı -> dosya sahibine çalıştırma izni verdik
chmod g+rw dosya_adı -> dosyanın sahibi ile aynı grupda olanlar için okuma yazma izni verdik
chmod o+r dosya_adı -> dosyanın sahibi olmayan ve sahibi ile aynı grupda olmayan 3.cü kişilere okuma izni verdik
chmod a+r dosya_adı -> herkes için okuma izni verdik
erişim yetkisi çıkartma
chmod u-rw dosya_adı -> dosyanın sahibinden okuma ve yazma yetkilerini çıkarttık
yani + yerine - kullanırız
erişim yetkisi eşitleme
chmod a=r dosya_adı -> direk olarak tüm kullanıcılara bunu ekler r yerine wx dersek r yi siler wx ekler mesela
chmod a= dosya_adı -> tüm kullanıcılardan tüm yetkileri
----
erişim yetkisi aktarma
chmod --reference metin.txt dosya.png - metin.txt nin erişim izinlerinin aynısını dosya.png ye uyguladı
-----
yetkileri tüm alt klasörlere eklemek
chmod -R a=r klasör_adı -> tüm alt dizinlerde ve klasörde herkese okuma yetkisi verir
izinlerin rakamsal göterimi
r = read = 4
w = write = 2
x = execute = 1
örnek -> chmod 700 dosya_adı -> sahibi için tam yetki diğerleri için yetki yok demektir
------------------------------
lsattr komutu - dosyamızda koruma varmı (chattr koruması) onu gçrmemzi sğlar
eğer koruma altındaysa i ibaresi vardır çıktıda örnek ----i----.....gider
yoksa ------------e------ gibi gider
chattr komutu - önemli dosyalarımızı yanlışlıkla silmeye karşı korumak için rootun bile silmesini ve değişiklik yapmasını engelleyebilen bir komuttur
kullanımı
chattr +i dosya_adı -> dosyayı korumaya alır
chattr -i dosya_adı -> dosya korumadan çıkartılır
##########################################################################3
Kullanıcı İşlemleri
#### #### #### ####
linux ve unix sistemlerde aynı grupda olan kullnıcıların yetkileri birbirlerine eşitlenebilir
grupları görüntülemek
cat /etc/group şeklinde görebiliriz grupları /etc altındaki dosyasında tutulur
grupların yapısı
cdrom:x:24:taylan,hasan,ali
cdrom -> grup ismi
x -> prola kısmı genelde kullanılmaz ama kullanıldığıda oluyor
24 -> atanan grup kimliğini yani grup numrasını GID sidir
taylan,hasan,ali -> bu kısımda grup uyelerinin isimleridir
Kullanıcıların ait oldukları grupları sorgulamak
id kullanıcı_adı
bu çıktıda alanlar
kullanıcı numarası uid
grup numarası gid
ve bulunduğu grupları verir
kullanıcı numarası ve grup numarası nedir?
bu numaralar kullanıcdan kullanıcıya dğişir
root kullanıcısı uid=0 gid=0 dir
sistem kullanıcısı uid=1-499 gid=1-499
normal kullanıcı uid=500+ gid=500+ şeklinde belirtilir
id -g kullanıcu_adı -> o kullanıcının grup numarasınu verir
id -u kullanıcı_adı -> o kullanıcının kullanıcı numarasını verir
id -G kullanıcu_adı -> o kullanıcının dahil olduğu gruların numaralarını verir
-----
Grup oluşturma ve silme işlemleri
yeni grup oluşturmak
groupadd yeni_grup_adı
groupadd -g 2112 grup_adı -> 2112 grup numarasına sahi bir grup oluşturur yani istediğimizi bltebiliriz oraya
not bu grup numraları benzersiz olmalıdır
grup silmek
groupdel silinecek_grup_adı
--------
Kullanıcı yönetimi
Yeni kullanıcı eklemek için 2 komutumuz bulunur bunlar:
-adduser
adduser kullanıcı_adı -> kullanımı bu şekildedir ve /home altında otomatik olarak ev dizini oluşturur
------
-useradd
useradd -m kullanıcı_adı -> -m parametresi ev dizinini otomatik oluşturmasını sağlar
passwd kullnıcı_adı -> kullnıcının şifresinin değiştirilmesini sağlar veya oluşturmamızı sağlar
not: parolalar /etc/whado altında şifreli olarak tutulur
Kullanıcı silme işlemleri:
Home dizini ile beraber silmek için:
deluser --remove-home kullanıcu_adı
-------------
Gruba kullanıcı ekleme ve çıkartma işlemleri
Varolan bir gruba kullanıcı eklmek için:
gpasswd -a kullanıcı_adı grup_adı
Grupdan kullanıcı çıkartmak:
gpasswd -d kullanıcu_adı grup_adı
--------------
Aktif pasif hesap ayarlama
Kullanucı hesabını kilitleme
usermod -L kullanıcu_adı
bu işlem sonucunda parola kilitlenir /etc/shadow dosyasındaki şifreli parola önüne ! işareti gelir
! işareti :!parola şeklinde olur
Kilitli olan kullanıcı hesabının kilidini açma
usermod -U kullanıcu_adı
bu işlem ile kilitli olan hesabın kilidi açılır
------------------
Kimlik değişimi
su kullanıcı_adı -> belirtilen kullanıcı adının şifresi biliniyorsa kullanıcıya geçiş yapmamızı sağlar
su açılımı (switch user) anlamına gelmektedir
su argumansız olrak kullanılırsa root a geçmeye çalısacaktır ama hata verecektir sudo su şeklinde kullanılırsa root a geçer
ama bunun için kullnıcının root parolasını bilmesi veya /etc/passwd içerisinde bulunmsı lzım
su - kullanıcu_adı -> belirtilen kullanıcıya geçer ama kullanıcının kendi ev dizininde bşlatır
################################33
Süreç (process) işlemleri
bir program çalıştığında programın belleğe yuklenmesine denir
ps komutu:
argumansız direk çalıştırılırsa mevcut konsoldaki aktif süreçleri verir
ps -aux -> sistemdeki ve terminallerdeki tüm süreçleri göstermek için kullanılır
ps -e -> tüm süreçler demektir
ps -u kullanıcı_adı -> kullanıcı adına göre
ps -p -> sorguladımığımız süreç numarasına göre süreç bilgisi verir bu numralar benzersizdir
pstree -> süreçleri ğaç ypısında gösterir
------------------
top komutu:
3 sniyede bir yenilenerek güncel şekilde bilgi verir buda (q ile çıkabiliriz)
top -d 10 -> 10 sn de bir kez tablo guncellenir
-----------
pgrep komutu:
çalışan süreçleri belli kriterlere göre sıralanmasını sağlyn komuttur
pgrep leafpad -> leafpad a ait pid i verir
kullanıcıya özel arama yapmak
pgrep -u burak leafpad -> burak kullanıcısına ait sreçlerden leafpad i getirir
--------------
process sonlandırma komutları
kill ve killall komutları
süreçleri süreç numaralrı pid ile sonlandırma:
kill pid_numarası
kapanmaya karşı direnen süreçleri süreç numarası pid ile sonlandırma:
kill -9 pid_numarası -> buradaki -9 parametresi zorlayarakda olsa kapatma işlmeini yapması içindir
süreç ismi ile sonlandırma:
killall süreaç_adı
kapanmaya karşı direnen süreçleri isimleri ile sonlndırma:
killall -9 süreaç_adı -> -9 deminki gibi zorlayarakda olsa kaptmasını sağlıyor
süreçleri isimlerini kullanarak ve onay ile sonlandırma:
killall -i süreaç_adı
xkill komutu:
grefiksel arayüz ile işlemi sonlandırmamızı sağlar
komutu girdiğimiz zaman imleç X işareti halini alır ve nereye tıklrsak onu öldürüyor
-----------------------------
fg (ön plan / frontgound) bg (arka plan / background) ve jobs komutları
programı konsoldan çalıştırıp CTRL +Z yaparsak ve sonrasında bg yazarsak arkaplanda çalışır
fg yazarsak bunu birincil olarak çlıştırır jobs komutuda bunları sorgulamamızı sağlar
############################################################################3
Disk işlemleri
#### #### #### #### #### ####
not: bu işlemlerde çok dikkatli olmamız gerekli yoksa sisteme zarar vermek çok olasılıdır ve
o disk sisteme bğlı ise işlem ypamayız yani sistemin kurulu olduğu disk üzerinde cihaz açıkken işlem yapılamaz
-------------
fdisk komutu:
fdisk -l -> sistemdeki disk bölümlerini listeler
fdisk /dev/sdx -> sdx işlem yapacağımız disk bölümüdür bu şekilde fdisk i başltıyoruz
m -> yardım menüsünü açar
p -> disk bölümleme tablosunu verir
d -> bir disk bölümünü silmek için kullanılır
n -> yeni bir bölüm oluşturur
burada bize 2 seçenek çıkar bölümleme tipi önceliklimi(primary) yoksa genişletilmiş (extended) mi olsun diy sorar
primary -> işletim sistemlerini kurduğumuz sabit disk bölümüdür bir sabit diskde max 4 tane bulnbilir ve bunlardn birinin
mutlaka aktif olması gerekiyor ki işletim sistemimiz boot işlemi sırasında çalışabilsin
extended -> primary bölümü öıkartıldığında geriye kalan tüm sabit disk alanımızdır
bir diskte yanlızda 1 adet bulunabiliyor ama çok sayıda logical yani mantıksal bölümlere ayrılrak diskdeki
bölümlendirme sınırlamasını aşmış oluyoruz
sonrasında ise bize first sector ve last sector diyecektir first sector u enter diyerek direk gecelim ve
last sector kısmında +1G diyelim mesela bu bize 1gb lik bir alan oluşturmuş olacak
w -> yapılan değişiklikleri kaydedip çıkmamızı sağlıyor
q -> değişiklikleri kaydetmeden çıkış yapmak için kullnılır
cfdisk komutu:
fdisk in kullanımı daha kolay arayuzu bulunan halidir
---------------------
badblocks komutu:
bir aygıtın bozuk bloklarını bulmak için tarama yapmak görevindedir
kullanım-> badblocks taranacak_aygıt (örnek: /dev/sdc gibi)
parametreleri
-badblocks -s taranacak_aygıt -> -s parametresinin görevi süreç gelişimini bize göstermektir ilerlemeyi % lik olarak gösterir
-badblocks -v taranacak_aygıt -> -v süreç ayrıntılarını bize gösterir
-badblocks -b boyut taranacak_aygıt -> -b de taranacak bir blogun boyutunu bayt olarak verebiliyoruz yani her tarama
o boyutta oluyor galiba
-badblocks -c sayı taranacak_aygıt -> -c parametresi tek seferde sınanacak olan blok sayısını belirtir ön tanımlı 16 dır
sayıyı buyuk vermek işlem verimini arttırsada ram kullanımı cok artacagı için "tamponları ayırmada bellek yetersizliği"
hatası almak çok muhtemeldir
sayının cok dusuk olmasıda hatalı blokların bulunmasını zorlaştıracaktır
-badblocks -f taranacak_aygıt -> tarama işlemini zorlayarak olsada yap demektir badblocks sisteme zarar verebilecek çökertebilecek
durumlarda tarama yapmayı reddeder ama biz bu parametre ile tavsiye edilmesede bu işlemi yaptırabiliriz
-badblocks -p sayı taranacak_aygıt -> diskin kaç defa taranacağını belirtir ön tanımlı 1 dir
badblocks un daha fazla parametresi vardır tabiki ama bunlar genel olarak en çok kullanılanlardır daha fazlası için komutun man
sayfasına bakılabilir tabikide
sıradaki konu bozuk blokların onarımı hakkında
-----------------------------------------------------
fsck komutu:
diskte bulunan hatalı blokları duzeltmeyi dener normalde bu işlem biz her sistemi açtığımızda yapılır zaten ama kendimiz yapmak istersek diye
kullanımı:
fsck -p /dev/aygıt_adı
-----------------------------------------------------
df komutu:
df komutu bize disklerin dosya sistemlerini boyutlarını dolulugunu ve boşluk miktarını ve bağlandıkları yeri verir
direk olarak yazılıp kullanılır ama çıktıların daha okunaklı olmasını istersek -h parametresi ile kullanabiliriz buda boyutları vs mb
gb cinsinden verecektir
örnek: df -h
df -m -> çıktıları mb cinsinden
df -k -> çıktıları kb cinsinden verir
-------------------------------------------------
umount komutu:
diski sistemden ayırır yani usb belleğe sağ tık çıkart demekle aynıdır aslında
kullanımı:
umount /dev/aygıt_adı
şeklinde disk sistemden ayırabiliriz
mount komutu:
diski sisteme bağlamayı sağlar
kullanımı:
mount aygıt bağlanacağı_konum
-------------------
gparted -> kullanımı kolay grafiksel bir arayuzdur
kullanım şekilleri:
1- diske yazdırarak boot edip kullanmak bunun sebebi sistem diski üzerinde işlem yapmamız gerekirse diyedir
kurulum:
resmi sitesinden imajı indirerek dd veya benzer disk yazdırma programları ile yazdırıp cihazı boot etmemiz yeterlidir
boot işleminden sonra dil seçimimizi yapıyoruz
sonraki soruyu enter diyip devam ediyoruz
2- sistemde yuklu olan uygulama olarak kullanmak
Bölümlendirme tablosu oluşturmak:
bir bölümlendirme tablosu olmadan boş bir diski bölümlendiremeyiz
bu kısmı aygıt kısmından belirleyebiliriz
sağ tıklayıp disk bölümlerini boyutlandırabiliriz
Bölüm kopyalamak:
bir disk içeriğini başka bir diske tamamen kopyalamk için sağ tık kopyuala ve hedef diski seçip sağtık yapılştır diyebiliriz
Bayrakları yonetme:
Bu kısım bölümün sistem açılışında nasıl davranacağını belirlememizi sağlıyor
mesela boot bayrağı eklenirse bil bölüme sistem o bölümden başlatılıyor
denetleme işlemi seçilen bölümü denetliyerek gerekirse onarım işlemi yapar:
denetlemek istediğimiz disk blümünü seçip sağ tık denetle diyoruz
disk verilerini kurtarmak:
aygıtlar sekmesinden veriyi kurtar secebiliriz
dosya sistemimi etiketleme:
sağ tık dosya sistemini etiketle diyerek isimlendirme verebiliriz
bölüm hakkında bilgi almak için sağ tık info veya bilgi dememiz yeterlidir
############################################################################################333
ÇALIŞMA SEVİYELERİ - SERVİSLER
#### #### #### #### ##
sudo : oturum açmış kullanıcıya geçici olarak root yetkisi sağlar
neden buna ihtiyaç var?, çünki sistemde her dosya root olarak çalıştırmak çok
tehlikelidir
-TEMEL-BİLGİ-KOMUTLARI-
whomi : hangi userde olduğumuzu görürüz
id : id bilgilerimizi ve gruplarımızı görürüz
groups : hangi gruplar içersinde olduğumuzu görürüz
sudo -l : eğer sudo grubu içerisinde isek "sudo" yetkilerimizi görmek için kullanırız
sudo -k : sanırsam sudo süresini bitirtir
sudo komutunu kullnınca 5 dk boyunca şifre istemicektir
sudo -i : direk root user oluruz tavsiye edilmez
exit : çıkış yapar
useradd kullanıcı_adı : yeni kullanıcı ekler
useradd kullanıcı_adı -m -d /home/kullanıcı_adı : kullanıcıyı oluşturur ve ev dizinide
oluşturur
passwd kullanıcı_adı : kullanıcı için şifre değiştirme
su : "switch user" yani kullanıcı değiştirir parametre almaz ise root'a geçmeye çalışır
not: linuxda standart kullanıcılar /etc/passwd yi okuyabilir
ama /etc/shadow dosyasına erişemez nedeni shadow içerisinde parola bilgileri saklanır
sudo usermod -aG sudo kullanıcı_adı : kullanıcıyı sudo grubuna ekler
clear : ekranı temizler
- /etc/sudoers dosyası kimin sudo yetkisi kullanabilir orada yazar
root ALL=(ALL:ALL) ALL -> root kullanıcısı tüm kullanıcıların yetkisi ile
tüm komutları çlıştırabilir
%sudo ALL=(ALL:ALL) ALL -> sudo grubuna üye olan kullanıcılar tüm kullanıcıların
yetkileri ile tüm komutları çalıştırabilir
visudo : sudoers dosyasını düzenlememizi sağlayan özel komut
-VİSUDO-DÜZENLEMELERİ-
en alta iniyoruz ve
kullanıcı_adı ALL=(ALL) ALL -> kullanıcı tüm sudo haklarına sahip
- eğer kullanıcının sadece belli komutlarda sudo kullanmasını nasıl sağlarız?
kullanıcı_adı ALL=(ALL) /bin/systemctl status networking
kullanıcı_adı ALL=(ALL) /sbin/fdisk
-şeklinden komutlara kısıtlı erişim verebiliriz
DİKKAT! => kullanıcı_adı ALL=(ALL) /bin/bash
DİKKAT! => kullanıcı_adı ALL=(ALL) /home/kullanıcı_adı/deneme.sh
şeklinde yetki yükseltme saldırılarına izin veren komutlar'ı
vermemek için çok dikkat etmeliyiz.
root yetkisi ile bash açarsa bash root olarak açılır!
DİKKAT! => kullanıcı_adı ALL=(ALL) /bin/more /etc/ssh/ssh_config çıklaması ->
/bin altındaki more komutunu kullanabilsin ve sadece ssh_config dosyasını
düzenleyebilsin demektir
- yukarıdaki more ve ssh_config shell escape yapmaya sebebiyet verir
more, vim gibi editörler içlerinde bash komutlarını anlık olarak
çalıştrabilir buda yetki yükseltmeye neden olur.
-DERS-2-GÜÇLÜ-PAROLA-YÖNETİMİ-
lazım olan paketleri indirelim : "sudo apt install libpam-pwquality"
-----EKSTRA ALAN--
-> ip a
bağlı network kartını ve bilgilerini görürüz
-> ssh bağlantısı nasıl kurulur?
ssh kullanıcı_adı@ip_vey_server -p port_nosu
şeklinde yazıp enter basmamız yeterli otomatik bağlanıp şifre istiyecektir
####################################################################################33
--basit terimler
///////////////////////////7
-> Background Process : Kullanıcı girişi olmadan çalışan bir programlardır.
-> Bash : Bourne-Again Shell sözcüklerinin kısaltılmışıdır. Linux sistemler için yazılan komutları
yorumlayan komut dili yorumlayıcısıdır.
-> Binaries : Yürütülebilir programlara derlenmiş kaynak kodlarıdır. (0 & 1 şeklinde yani)
-> Boot : Bilgisayarı başlatmak ve komut satırından bazı temel programları çalıştırmak için bir
işletim sistemi içeren alandır.
-> Cron : Belirtilen görevleri belirli bir zaman veya aralıkta yürüten bir Linux arka plan
programıdır.
-> Dpkg (Debian Paket Yöneticisi) : Debian Linux'ta bulunan ancak diğer dağıtımlarla
uyumlu, İnternet yüklemeleri için bir paketleme ve yükleme aracıdır.
-> File System : Bir işletim sisteminin içeriğine, bir disk veya başka bir depolama ortamının
nasıl erişip yorumlayacağını söyleyen bir dizi programdır.
-> Foreground Process : Kullanıcının şu anda etkileşimde olduğu programdır.
-> FTP (File Transfer Protocol) : Diğer bilgisayarlara dosya aktarma yöntemidir.
-> GNU (GNU is Not Unix) Project : Massachusetts Institute of Technology (MIT) Free
Software Foundation (FSF)nın tescilli UNIX uygulamalarına alternatifler geliştirme ve teşvik
etme çabasıdır.
--bir miktar daha onemli olan terimler
/////////////////////////////////7
-> Kernel : Bir bilgisayardaki bütün kaynakların yönetimini sağlayan işletim sistemi nin
çekirdeğidir.
-> Log : Uygulama ve sistem mesajlarını veya hataları saklamak için tutulan kayıtlardır.
-> Port : İşletim sistemi üzerinde çalışan bir uygulamanın, dış dünyaya erişimini sağlaması
veya dışarıdan gelen isteklere cevap verebilmesi için kullandığı bağlantı noktasıdır.
-> Shell Script : Otomatik olarak çalışması için ayarlanan komutları barındıran komut
dosyasıdır.
-> SuperUser: Root kullanıcısı ile aynı anlama gelir.
-> Swap : Verileri geçici olarak RAM’dan (Random Access Memory) disk’e veya tersi yönde
taşımak için kullanılan sanal bir hafızadır. Takas dosyası olarak ta adlandırılır.
-> Syslog : Bütün sistem mesaj ve hatalarının depolandığı alandır.
###########################YENİ-ALAN-KONU########################################
-----SHELL temel bilgiler kısmı
-> kullanıcı komutlarının doğru yorumlanabilmesi için vardır 3 farklı komut çeşidi kullanılır
1-Alias
2-internal komutlar
3-external komutlar
-ALİAS-> takma ad komutları denmektedir liste = 'ls -al' gibi ls -al tam dizin içeriği listelemesi dir bunu
tek balına liste takma adın bağladık artık liste yzınca ls -al çalışcak
-INTERNAL-komutlar-> shell in bir parçası olan komutlardır
bir komut çeşidini görmek için (type komut) şeklinde görebiliriz örneğin time komutu
-> EXTERNAL-komutlar-> $PATH değişkeninde tanımlı olan komutlar dizinlerindeki komutlardır
bunları $PATH yazarak görebiliriz $PATH değişkenindeki sıralama komutların önce hangi dizinlerde aranacağını
göstermektedir
NOT-> ".profile" dosyasının sonuna ":/dizin/yolları" şeklinde bir ekleme yaparsanız komutları o dizine gitmeden
çalıştırabilirsiniz
NOT-> komutlrın dosya yollarını görmek için "which komut" çalıştırılır bu verilen komutun tam dosya yolunu verir
NOT-> Geçerli bir dizine sahip olmayan komutlar için komut başına ./ işareti getirilir.
///////////////////////////////////////////////////////////////
------Linux'ta Kabuk Başlatma Dosyalarını ve Kullanıcı Profillerini Anlama
-> Linux birden fazla kullanıcının sistem üzerindeki kaynaklara erişmesine izin verecek şekilde
tasarlanmıştır. Linux’da kullanıcının eriştiği ortam, global ve personal olarak iki şekilde
oluşturulur. Normalde, bir Linux sistemiyle çalışmanın temel yöntemi shell’dir. Bir
kullanıcı oturum açtıktan sonra başlatma sırasında okuduğu belirli dosyalara bağlı olarak
bir ortam oluşturur.
-> Shell başlatıldığı zaman, sistem kullanıcısı için önceden tanımlanmış dosyalar okunarak
bir ortam oluşturulur. /etc dizini altındaki bulunan /etc/profile ve /etc/bashrc dizinleri
sistem üzerindeki tüm kullanıcılara uygulanan global yapılandırma dosyalarını içerir.
-> Belirli bir kullanıcı ortamı ise kullanıcının home dizininde bulunan kullanıcıya ait dizindeki
.profile, .bashrc dosyaları okunarak oluşturulur.
------Interactive ve Non-Interactive Shell nedir?
-> Kullanıcı sisteme giriş yapmaya çalıştığında /etc/passwd içinde bulunan kimlik bilgileri
doğrulanır ve sonrasında /etc/profile veya ~/.profile dosyası okunarak başlatılan shell’e
interactive shell denir. Non-Interactive shell ise kullanıcı girişi gerekmeksizin bir script
çalıştığı zaman çağrılır
-------Global Shell Başlangıç Dosyalarını
-> Global ortam değişkenlerinin yapılandırıldığı dosya /etc/profile dosyasıdır.
-> Global ortamda değişiklikler yapmak için kullanılan script dosyaları /etc/profile.d/ dizini
altındadır.
-> Tüm sistem kullanıcıları için geçerli olan diğer yapılandırmaları /etc/bash.bashrc dosyasını
içindedir.
-----Kullanıcı Shell Başlangıç Dosyalarını
-> Home dizini bir kullanıcının dosya, dizin ve programlarının saklandığı alandır. Sunucuya
login olduktan sonra kullanıcının ilk bulunduğu dizin home dizinidir.
-> Kullanıcı oturumunu açtığında, kullanıcının ayarları ve çalışma ortamı, kullanıcının home
dizininde bulunan başlangıç dosyaları tarafından belirlenir.
-> .bash_history dosyası oturumunuz açıkken girdiğiniz komutlar, oturumunuzu kapatırken bu
dosyaya yazılır. Bu şekilde girdiğiniz komutlar hafızada tutulur. Önceden yaptığınız işlemleri
veya kullanıp hatırlamadığınız komutlara bakmak için çok faydalıdır. Oturumunuz, uygun
olmayan bir şekilde kapanırsa komutlar kaydedilmez.
Bunun için "history" komutuda kullanılabilir "history -c" komutuda histopry deki komutlar ısilmek için
kullanılan komutdur
-> .bash_logout dosyası sunucudan çıkarken geçici dosyaları sil, login süresini kaydet gibi
yapılmasını istediğiniz komutlar yerleştirilerek çalıştırılır. Sunucudan çıkarken bu dosya
otomatik olarak çalıştırılır. En sık kullanılan komut clear ‘dır.
-> .bashrc dosyası, sunucuda açık bir oturumunuz varsa ve yeni bir terminal ekranı açarak
sunucuya ikinci bir bağlantı yaptığınızda çalıştırılır. Her oturum açtığınızda çalışarak,
oturumunuz için yapılan ayarları getirir.
-> .profile dosyası, sunucuya console veya uzak bağlantı yapılarak giriş sağlandığında
çalıştırılır. Kullanıcı için tanımlanan ortam değişkenlerini ve yapılandırmalarını tutar.
-> .ssh oturumunuzda kullandığınız SSH anahtarlarının bulunduğu dizindir. (tabi ssh ile baglnıyorsak boyle bence)
-> .cache dosyası kullanıcıların ön bellekteki dosyalarını saklar.
-> .bashrc veya .profile dosyalarına alias eklemek için .bashrc veya .profile dosyalarının en alt
satırına aliasları yerleştirebiliriz.
###############################YENİ-KONU########################################
-----BAZI KOMUTLAR VE KULLANIMLARI--
-"man" kullanımı ->
-> man, maual kelimesinden gelen, bir komutun nasıl kullanılacağını anlatan kılavuzdur. Komut
ile birlikte kullanılacak değişkenleri, değişkenlerin göstereceği sonuçları ve komut örneklerini
man sayfayalarında bulabiliriz.
kullanımı -> man ilgili_komut
-> Anahtar bir kelime üzerinden bir man sayfasına ulaşmak isterseniz -k (keyword) değişkenini
kullanmanız gerekir. Anahtar kelimemizin partition olduğunu varsayalım.
mesela ->
man –k partition komutuyla partition kelimesinin geçtiği man sayfaları görüntülenir.
Komutların sonundaki (1) ve (8) sayfaların kategori numaralarıdır. (1) Çalıştırabilir program
veya komut satırı anlamına gelirken, (8) sistem yöneticileri tarafından kullanılan komutlardır.
->ÖNEMLİ->
man sayfaları bir veritabanında tutulur. Veritabanını güncellemek için herhangi bir argüman
kullanmadan sadece komut satırına mandb yazmamız yeterlidir.
/////////////////////////////////////////////////////////
-> "info" kullanımı ->
-> man sayfaları haricinde info ile de destek alabileceğiniz sayfalar bulunmaktadır. Bazı
komutlar için man sayfaları yeterli olmadığında info sayfalarına da bakmak size yardımcı
olabilir.
not-> aynı man deki gibi 1-8 yetki belirtici sayılar burdada geçerlidir
/////////////////////////////////////////////////////////
-> "help" kullanımı ->
-> man ve info sayfaları bazı durumlarda hem uzun hem de karmaşık gelebilir. Komut hakkında
hızlı bir şekilde yardım almak isterseniz help kullanabilirsiniz.
tabikide genelde ingilizce gereklidir buralarda
/////////////////////////////////////////////////////////
-> "tab tuşu" kullanımı ->
-> tab tuşu hem komutları hem de dizinlerin tamamını yazmadan otomatik olarak
tamamlanmasını sağlar. Örneğin pass yazıp tab tuşuna basın ardından kullanıcı adınızın ilk
harfini yazıp tab tuşuna tekrar bastığınızda hem komut hem de kullanıcı adınız otomatik
olarak tamamlanarak passwd kullanıcı_adınız şeklinde bir komut oluşacaktır.
yani kısacası işi hızlandırıp kolaylaştırmaktadır
/////////////////////////////////////////////////////////
-> "whatis / whereis" lerin kullanımı ->
-> whatis Bir komutun tanım çıktısını verir. whereis ise komutun yolunu gösterir.
whereis komutu which'den farklı olarak tüm $PATH içerisindeki bulunduğu yerleri verecektir
/////////////////////////////////////////////////////////
-> Temel Komutlar – pwd, cd, ls, history, clear ->
---------------------------------------------------------------pwd----
-> pwd (Print Working Directory) : Bulunduğunuz dizini gösterir .
----------------------------------------------------------------cd-----
-> cd (Change Directory) : Dizinler arasında gezinmek için cd komutu kullanılır. Hiyerarşik
yapılandırmaya göre bir gezinti gerçekleştirebilirsiniz.
Komut satırına tek başına cd yazıp enter’a bastığınızda login olduğunuz kullanıcının /home
dizinine dönersiniz.
"cd .." nokta ile bir önceki dizine geri dönersiniz.
"cd –" ile çıkmış olduğunuz bir önceki dizine geri dönersiniz.
-------------------------------------------------------------------ls-------
-> ls (list) : Dizinlerin içeriklerini listeler.
-> "ls -a" gizli dosyalar dahil tüm dosyaları gösterirken,
-> "ls -l" ile ayrıntılı bir liste görürsünüz.
-> "ls -h" dosya boyutunun anlaşılabilir şekilde bir çıktısını verir.
-> bunları "ls -lah" şeklinde tek seferdede kullanabiliriz.
----------------------------------------------------------------------histopry---
-> "history" : Komut satırında girdiğimiz komutları saklar. Komut satırına history yazdığınızda
login olduğunuz kullanıcı ile girdiğiniz tüm komutları görebilirsiniz. History daha önceden
yaptığınız bir işlemi hatırlamadığınızda neler yaptığınız konusunda size faydalı bilgiler
sunabilir. History çıktısındaki komut başında bulunan sayının başına ! koyup yazdığınızda
komutu gerçekleştirmiş olursunuz. Örneğin çıktıda 1. sırada nano /etc/ssh/sshd_config
komutunu yazmak yerine komut satırına !1 yazabilirsiniz. Diğer bir yöntem, mouse ile bir
seçim yaptıktan sonra bu seçim hafızaya alınır. Komut satırına mouse’un sağ tuşuna
tıklayarak hafızaya aldığını komutu yapıştırabilirsiniz.
History içerisinde çok fazla kayıt olabilir. Bu kayıtların içerisinde aramak için shell ekranında
Ctrl+R ‘ye basıp aramak istediğiniz komutu yazabilirsiniz. HISTSIZE değişkeni ile history de
tutulacak boyutu ayarlayabilirsiniz.
-----------------------------------------------------------------------clear---
-> "clear" : Açık olan oturumdaki ekranı temizlemek için kullanılır. Ekranınızda çok fazla işlem
yaptınız ve artık bu rahatsızlık verecek seviyeye geldiyse clear ile temiz bir komut satırına
döndürülürsünüz.
-----------------------------------------------------------------------touch----
-> "touch" -> Boş bir dosya oluşturmanın en basit yoludur.
-> "touch testdosyasi.txt" gibi
->touch test{1..5} komutu adı test ile başlayan 1’den 5’e kadar sıralanan 5 adet boş dosya
oluşturur. (test1 test2 şeklinde...)
----------------------------------------------------------------------------cat------
-> "cat" : Dosya içeriğini komut satırında read-only olarak görüntüler.
-> bir sürücü okuybilir veya bunu başka işlemlerde kullanabilirsiniz.
------------------------------------------------------------------------------cp-------
-> "cp" (Copy) : Bir dosyayının kopyasını oluşturmak için kullanılır. Bir konfigürasyon dosyasında
değişiklik yapmadan öncebu komut ile mutlaka bir kopyasını oluşturmanızı tavsiye ederim.
Herhangi bir şeyin ters gitmesi durumunda yedek dosyanızdan düzeltme imkanınız olur.
-> "cp -r backupfiles/ /yedek_alma/yeni_klasöre_adı" -> Bir dizin içindeki bütün
dosyaların ve dizinlerin
başka bir dizine kopyasını almak isterseniz -r argümanını kullanmalısınız.
-> birden fazla kopyalama yapılacaksa yn yana yazılması yeterlidir
---------------------------------------------------------------------------mkdir--------------
-> "mkdir" : Linux’da dizin oluşturmak için kullanılır.
-> Eğer alt altta parent dizinler oluşturmak isterseniz -p argümanını kullanmamız gerekir.
"mkdir -p dosyalarim/dosyalar/dosya" şeklinde
-----------------------------------------------------------------------------rm-------------
-> "rm" (Remove) : Bir dosyayı silmek için kullanılır.
Dikkatli kullanılması gerekir. rm ile sildiğiniz dosyaları bir daha geri döndüremezsiniz.
-> "rm -i" komutuyla dosyanın silinip silinmeyeceğini soran bildirim alınmasını sağlayabilirsiniz.
-> "rm -rf" komutu ile dosya ve dizinler dahil bütün her şeyi silersiniz. -r recursive ve -f force
anlamındadır.
-> "rm -i -r deneme_silmek" -> dosya ve dizinleri siler ama once size sorar
--------------------------------------------------------------------------rmdir---------
-> "rmdir" (Remove Directory) : Bir dizini silmek isterseniz rmdir komutunu kullanabilirsiniz.
Yine -p argümanı ile alt dizinler dahil bir silme işlemi de gerçekleştirebilirsiniz.
pek fzla kullanılmaz açıkcası
-----------------------------------------------------------------------------file------
file : Dosyaların tiplerini tanımlamak için kullanılır.
-> -s argümanı ile özel dosyalar hakkında bilgi verir.
--------------------------------------------------------------------------------time------
-> time : Bir komutun çalışma süresinin ne kadar süreceğini gösterir.
----------------------------------------------------------------------------------uptime----
-> uptime : Sunucunun açıldığı zamanı, ne kadar süredir açık olduğunu, login olan kullanıcı
sayısını gösterir.
-----------------------------------------------------------------------------------cal-----
-> cal : Takvimi gösterir.
/////////////////////////////////////////////////////////////////////////////////////////////
----I/O Stdin stdout stderr-----
Komut satırından yapılan girişlerin ve ekrandaki çıktıların yönlendirme işlemidir. Temel
olarak stdin(0), stdout(1) ve stderr(2) olarak 3 yön vardır.
-> stdout ">" : işareti bir ekran çıktısını bir dosyaya yönlendirmek için kullanılır.
-> ">" işareti dosyanın içindekilerinin üzerine yazar. Eğer dosya içerisinde daha önceden bir veri
varsa bu bilgiler silinir ve yönlendirdiğiniz bilgiler yazılır.
->not: komut yanlışda girilse ">" işareti kullanıldığı için dosyanın içeriği silinir..!
-> "set -o noclobber" komutunu kullanırsanız yanlışlıkla dosyaların üzerine yazmanın önüne
geçebilirsiniz.
-> noclobber ayarlamanıza rağmen dosyanın üzerine yazmak isterseniz > işaretinden sonra |
kullanarak içeriği değiştirebilirsiniz.
-örnek -> echo "121231231" >| dosya.txt
->Dosya içeriğini değiştirmeden yeni veriyi bir alt satıra eklemek istersek >> işaretini
kullanmalıyız.
Stdout log çıktılarını veya sistem ile ilgili özet verileri bir dosyaya yazdırmak için kullanılabilir.
-----------------------------------------------------------
-> Stderr "2>" : Hata mesajlarını ekrana bastırmadan dosya içeriğine yazdırmak için kullanılır.
Aşağıdaki çıktıda ls -lh komutu ile aldığımız çıktıyı test.txt dosyasının içerisine yazdırdık.
Ardından yanlış bir komut girerek ekrana hata dönmesini sağladık. Devamında aynı hatalı
komutu 2> olacak şekilde yazıp çalıştırdık. Ekrana bir hata dönmedi ancak hata çıktısı dosya
içerisine yazıldı.
-NOT-> "2>" dosya içeriğini silip yazrken "2>>" dosynın son satırına yazacaktır dikkat edelim!
-------------------------------------------------------------
-> Stdin "<" : Temel olarak cat ile aynı anlama gelir. Dosya içerisinde bulunan verileri ekrana
basar. Aşağıdaki ekran çıktısında linuxeğitimi base64 ile kodlayarak ekrana bastırdık.
Ardından decode ederek yeniden görüntüledik.
///////////////////////////////////////////////////////////////
-----OPERATÖRLER----
Burada gösterdiğimizden çok daha fazla operatör vardır. Bash Script yazımında sıklıkla
kullanılırlar. Genel olarak kullanılanlar hakkında bilgi sahibi olmak faydalı olacaktır.
‘ ‘ ve “ “
Komut satırında yapacağınız girişlerin arasındaki boşlukların kaldırılmasını engeller, ayrık
isimli dosya ve dizin adları oluşturmanıza veya bu dosya ve dizinleri kullanmanızı sağlar.
-> ";" noktalı virgül
İki ayrı komut serisini sırayla çalıştırır. Komutların başarılı olarak çalışıp çalışmaması bir
diğer komutu etkilemez.
-> "&" Ampersand
Komutun sonuna koyularak komutun arka planda çalışması sağlanır. Aşağıdaki ekran
çıktısında bir alanı klonlamak için bir komut başlattık ancak ön yüzde çalışmaya başladı.
Ctrl+C ile komutu sonlandırdık. Aynı komutu bu sefer sonuna & işareti koyarak çalıştırdık. Bu
sefer arka planda çalışmaya başladı ve biz 1280 process ID’si ile çalıştığını bildirdi. Fg
komutu ile komutun ön planda çalışmasını sağlayıp yine Ctrl+C ile işlemi sonlandırdık.
örnek işlem -> cp dev_dosy.mp4 /home/gama/film/ &
->"&&" Çift Ampersand
Ve anlamında kullanılır. Arka arkaya yazılan komutlardan kendinden önce gelen başarılı
olursa çalıştırılır.
-> "|" pipe
Çıktı veren komutlarla kullanıldığında çok faydalıdır. Çıktıların içinde istediğiniz bir veriyi
yakalamak, çıktı boyutu ayarlamak için komutlardan önce kullanılır.
-> "||" Çift Pipe
Veya anlamında kullanılır. Arka arkaya yazılan komutlardan birisi başarısız olursa diğerinin
çalışması sağlar. Tek başına kullanımı pek anlamı olmasa da diğer operatörlerle kullanılınca
faydalıdır.
-> "#" Diyez
Girilen komuta veya yapılandırma dosyalarının içerisine yorum satırı girmek için kullanılır.
History ile geçmiş girdiğimiz komutlara baktığımızda neyi ne için yaptığımızı hatırlamak için
iyi bir yöntemdir veya başka bir administrator’ün yaptığınız işlemleri anlamasına kolaylık
sağlayacaktır.
-> "\" backslash
Komutları veya karakterleri birleştirmek için kullanılır.
özel karakterler ve kaçış karakterleri içinde kullanılmaktadır
-> "~" Tilde
Tilde işaretinden sonra sunucuda bulunan kullanıcılardan birini yazdığınızda o kullanıcının
home dizinine gidersiniz.
örnek -> cd ~gama
////////////////////////////////////////////////////////////////////////////////////
----DEĞİŞKENLER---
İşlem yapılmak istenen veriyi hafızada tutmak için değişkenler kullanılır. Değişkenlerde sayı,
harf, tarih gibi bir çok biçimde veri tutabiliriz. Değişkenlerin büyük harfle olması tavsiye edilir.
Birden fazla değer alacak bir değişkende veriler arasında : olmalıdır. Linux’de üç çeşit
değişken mevcuttur.
örnek -> MRB=”Merhaba Linux!”
UYARI-> türkçe karakter kullanılırsa hata alırsınız denendi
-> Değişkenler küçük büyük harfe duyarlıdır.
-> unset ile değişkeni silebilirsiniz.
-> $LANG ile işletim sistemi dilini öğrenebilirsiniz.
---------------------
-> Environment Değişkenleri
Linux sistemlerde ortam değişkenleri shell veya subshell de başlatılan uygulamalar
tarafından kullanılabilen dinamik olarak adlandırılmış değerlerdir. Değişkeni tanımlamak için
export komutu kullanılır.
-> Environment değişkenleri görmek için komut satırına env komutu yazılır.
-> Bu değişkenleri kalıcı olarak tutmak için .profie veya .bashrc dosyalarının içlerine
tanımlayabiliriz.
----------------------
-> Sistem Değişkenleri
Linux Bash Shell tarafından oluşturulan değişkenlerdir. İşletim sistemi yüklendiği zaman bir
çok sistem değişkeni de beraberinde oluşturulur.
-> set | less komutuyla sunucuda tanımlı tüm değişkenler görüntülenir.
----------------------
-> Shell Değişkeni - $
$ işareti değişkenlere atanan verilerin kullanılması için kullanılır. Komut satırında env
(environment) yazdığınızda işletim sistemi tarafından atanmış değişkenlerin bir kısmını
görebilirsiniz. Bu değişkenleri $Değişken_ismi şeklinde kullanabilirsiniz.
-----------------------
----JOKER KRKTERLER BİRNEVİ----
Wildcard * ? [ ]
-> "*" (Asteriks), işaretini dizin ve dosya işlemlerinde komutlarla birlikte kullanarak kendinize
kolaylık sağlayabilirsiniz.
Bir dizin altındaki ismi file ile başlayan her şeyi silmek isterseniz rm -rf file* şekline
kullanabilirsiniz.
NOT-> rm -rf ve * işareti yanlış kullanımda sistemi kullanılmaz yapabilir dikkat ediniz...!
-> "?" (Soru İşareti), sadece bir karakteri baz alır.
-> [ ] (Köşeli Parantez), yine dizinleri görüntüleme de filtre maksatlı kullanabiliriz. Örneğimizde
sonu K ve N ile biten dizinlerin görüntülenmesini sağlıyoruz.
-> ls -al YA[K,N] -> sonu K veya N ile bitecek demektir
////////////////////////////////////////////////////////////////////////////////////
----DOYALAR İLE ÇALIŞMAK-----
-> Shell Ortamı ve Kullanıcı Profili
Kullanıcınız ile sunucuya login olduğunuzda login olduğunuz kullanıcının home dizinde
komut satırına başlarsınız. Home dizini kullanıcının dosya, dizin ve program dosyalarını
saklar.
-> Home dizin altında bazı gizli dosyalar vardır. Bu dosyalar kullanıcı oluşturulduğunda
otomatik olarak oluşturulur.
-> .bash_history dosyası kapanmış oturumlarınızda girdiğiniz komutların listesini tutar. Mevcut
oturumunuzda girdiğiniz komutlar siz oturumunuzu kapattığınızda bu dosyaya yazılır.
- AMA zsh vs kullanıyorsanız belki adı zsh_history olabilir
-> $HISTFILE değişkeni dosya konumunu tutarken, bu dosyada tutulacak komut sayısını
-> $HISTFILESIZE değişkeni ile belirleriz.
-> .bash_logout dosyası oturum kapatma prosedürlerini içerir. Sistemden çıkış yaparken bu
dosya çalıştırılır
-> .bashrc dosyası kullanıcı yeni bir oturum açtığında çalıştırılır.
-> .profile dosyası kullanıcı ortamını yapılandırmak için kullanılır.
//////////////////////////////////////////////////////////////////////////////////////////
--------Dosya Editörlerinin Kullanımı------
-> Kullanmak istediğiniz dosya editör uygulamasının ismini ve düzenleyeceğiniz dosya adını
yazıp enter’a basarak düzenleyiciye erişebilirsiniz.
-> Kullanımı en kolay Nano’dur Herhangi bir tuşa basmadan direk dosya içerisinden değişiklik
yapabilirsiniz. Klavyenizin yön tuşları ile dosya içinde gezebilirsiniz.
-> nano -B dosya_adiniz komutu ile orijinal dosyanızın bir yedeği dosya adının sonuna ~
işareti getirilerek oluşturulur. Yaptığınız değişikliklerden sonra eski dosyaya erişmek
isterseniz ~ işareti ile biten dosyadan erişebilirsiniz.
-> nano -l dosya_adiniz komutu ile dosya içeriğindeki satırların başında satır numarası
gösterilir.
-> Aşağıdaki ekran görüntüsünde en altta bulunan seçenekleri CTRL tuş kombinasyonuyla
kullanabilirsiniz. Ctrl + O farklı kaydetken, Ctrl + W dosya içinde arama yapmanızı sağlar.
Ctrl + X ile dosyadan çıkmadan önce kayıt edip etmeyeceğiniz sorulduktan vereceğiniz yanıt
gerçekleştirilir ve dosyadan çıkılır. Ctrl + _ kombinayonu ile satır numarası kullanılarak
değişiklik yapılmak istenen satıra gidilir.
-> !!!Önemli!!!: Özellikle yapılandırma dosyalarında bir değişiklik yapmadan önce mutlaka cp
komutu ile bir kopyasını alın. İstemediğiniz durumlarda yedek dosyanızdan geriye dönme
şansınız olur.
--------Dosya İçeriğini Görüntüleme - less, more, cat, head, tail-------
-> less, more ve cat komutları bir dosyanın içeriğini görüntülemek için kullanılır. less komutu
ile görüntülemek istediğiniz dosyanın ilk satırından başlayarak görüntüleme sağlanır. Yukarı
aşağı tuşları ile dosya içinde gezilebilir. İçeriği uzun olan dosyalarda kullanışlıdır.
/ (slash) ile dosya içeriğinde arama yapılabilir. Aramak istediğiniz kelimenin başına / (slash)
işareti koyup enter basarak arama yapabilirsiniz.
q tuşu ile gösterimden çıkabilirsiniz.
-> more
more ile yine dosyanın en başından itibaren gösterime başlanır ancak enter ve boşluk tuşu
ile daha fazla satıra bakılabilir. Enter tuşuna her basıldığından 1 satır kaydırılırken, boşluk
tuşu ile ekranın tamamı kaydırılacak şekilde içerik görüntülenir.
-> cat
cat komutu dosya içeriğini ekranda en son satırdan itibaren olacak şekilde ekrana yazdırır.
İçeriği uzun olan dosyalarda pek kullanışlı değildir.
birden fazla dosyayı tek dosyada toplayabilr
cat 1.txt 2.txt 3.txt > final.txt ">>" kullanrak sonunada yazabiliriz
-> head, varsayılan olarak bir dosyanın ilk on satırını gösterir. Ancak satır sayısı ayarlanabilir.
head -10 not.txt -> ilk 10 saıtır okur
-> tail, varsayılan olarak en son 10 satırı gösterir. Head ‘a olduğu gibi satır sayısı ayarlanabilir.
tail akan log takibinde çok kullanılır. tail -f komutu ilk çalıştırıldığında son 10 satırı
göstermekle birlikte canlı olarak dosyaya yazılan verileri ekrana yazdırır.
/////////////////////////////////////////////////////////////////////
------Filtreler - grep, cut, sort, wc, tr, uniq, sed, awk--------------
-> grep, en çok kullanılan filtredir. Bir ekran çıktısı veya dosya içeriği içinde istediğiniz bir
tanımı grep ile filtreleyebilirsiniz.
-> cut, bir dosyanın içerisindeki kolonları seçip filtreleyebilir. Aşağıdaki komutumuzda
/etc/passwd isimli dosyadan –f1,7 ile satırın 1nci ve 7nci sütununu, head -4 ile en son 4
satırını getirmesini sağladık.
cut -d: -f1,7 /etc/passwd | head -4
-> tr, bir dosya içerisindeki karakterleri değiştirmek için kullanılır. Ekran çıktısında a’dan
başlayıp z’ye kadar olan bütün harfleri büyük harfe çevirerek ekrana getir dedik. tr sadece
ekran çıktısında değişiklik yapar. Dosya içeriğinde değişiklik yapmaz.
ama sonuna >> eklenirse varolan bir dosyya yazabilir sonuna
cat test.txt | tr 'a-z' 'A-Z' | head -4
-> wc, bir dosya içerisindeki satır, kelime ve karakterleri saymak için kullanılır.
wc -l -> satır sayısıdır mesela
wc -w -> kelime sayısı
wc -c -> dosyadaki karakter sayısını sayar
-> sort, varsayılan olarak dosya içeriğini alfabetik sıraya dizer. Ancak belirli sütunlara göre de
bu sıralamayı yapabilir.
cat test.txt | sort -> varsayılan sıralama
cat test.txt | sort -k2 -> 2.sutuna göre sıralar
-> uniq, dosya içerisindeki tekrar eden verileri kaldırarak ekranda gösterimini sağlar. Aynı
zamanda hangi veriden kaç tekrar ettiğini de sayabilir.
cat test.txt | uniq -> standart hali
cat test.txt | uniq -c -> kelme saymak için
-> sed, akan veriyi düzenlemek için kullanılır. Aşağıdaki komutta Honda ibresini Mercedes ile
değiştirerek ekrana yansıttık. Ancak ‘s/Honda/Mercedes/’ komutu sadece 1nci satırda
değişiklik yapar. İçeriğin içindeki tüm Hondaların değişmesini istersek ‘s/Honda/Mercedes/g’
yazmalıyız. g ile tüm içeriğin içini manipüle edebiliriz.
cat test.txt | sed ‘s/Honda/Mercedes/’ -> yalnızca ilk satıra etkili
cat test.txt | sed ‘s/Honda/Mercedes/g’ -> tüm belgede etkili
cat test.txt | sed '/Honda/d' -> honda bulunan satırları silerek ekrana getirdik
-> awk, dosya veya işlemler içindeki veriyi analiz etmek için kullanılan diğer bir araçtır. Ekran
çıktısında satır ve sütunlardan oluşan verimizin 1nci sütunu gösterdik.
cat test.txt | awk '{print $1}' -> 1.sutunu gösterir
////////////////////////////////////////////////////////////////////////////////////
-------İçerik ve Dosya Arama Komutları - find, locate-------
-> find, Linux dosya sisteminin içerisinde aradığını bulmak için kullanılan en etkili komutlardan
biridir. Dosya tipleri, tarih, izin, grup, dosya boyutu gibi kriterlere göre dosya sisteminde
aramalar yapabilir. Herhangi bir paket yüklemeden Ubuntu içerisinde varsayılan olarak yüklü
gelir ve basit syntaxı ile kullanımı kolaydır.
- find . -name *.gz komutuyla . yani bulunduğum dizinde uzantısı gz olan içerik ekranda
listelenir.
-find / -name *.bak komutuyla root dizini altında adı fark etmez ama uzantısı bak olan
dosyalar listelenir. Bu şekilde arşiv, yedek gibi bulmaya çalıştığınız önemli dosyaları
arayabilirsiniz.
-find /etc -type f -name “*.conf” komutumuzun anlamı, /etc klasörü altında tipi file ve
uzantısı conf olan dosyaları listeledir.
-find / -type d -name "oyun*" komutumuzun anlamı, kök dizinden başlayarak tipi dizin ve
oyun kelimesi ile başlayan dizinleri getir.
-find /home/ozgur/ -type f -name "test*" > arama.txt komutumuzla, çıktı sonuçlarını
arama.txt isimli bir dosyaya yazdırdık.
-find / -size +100M komutuyla boyutu 100 Mb’dan yüksek olarak dosyalar listelenir. Dosya
sisteminizde yer kaplayan dosyaları
bulmak için güzel bir yöntemdir.
-find / -type f -perm 0777 komutuyla farkına varmadan full izin verdiğiniz dosyaları bulup
güvenlik önlemleri alabilirsiniz.
################################################33
sudo dpkg-reconfigure locales -> dil ayarlamamızı sağlar
sudo dpkg-reconfigure keyboard-configuration -> klavye ayarlamamızı sağlar
######################################################
kali live kurulumu:
bu şekilde kullanırsak usb de çalışır ve kaydolmaz ama istenirse kalıcılık sağlanabilir
diski şifreleyerekde kullanabiliriz
#########################################33
rx ve tx nedir?
rx -> receive x yani türkçesi almak downlşoad etmek anlamına gelir
tx -> transmit x yani iletmek upload etmek anlamına gelir
------
O halde bağlantıları da çapraz olmak zorunda şöyle düşünün elinizde bir adet bluetooth modülünüz var var arduino bağlantısını yapacaksınız.Bluetooth modülünüzde ki TX pinini arduino daki TX e takarsanız yanlış olur.Nedeni ise TX ileten pindi ve siz diğer ileten pine takacaksınız , yani ikisi de bir şeyler gönderecek saçma ve yanlış olur.Bu yüzden bağlantılar çapraz olmak zorunda.Yani TX pinini RX e, RX pinini ise
TX
e takmalısınız.
Veri gönderildiğinde diğer taraftan alınmalıdır.Diğer taraf veri gönderdiğinde bu kez bu taraf almalıdır.Basitçe çalışma prensibi
bu şekilde.Umarım az çok kafanızdaki soru işaretleri gitmiştir.Eğer yine takıldığınız yer olursa çekinmeden yorum olara
k sora bilirsiniz.En kısa sürede cevaplamaya çalışırız.
##########################33
not => her kabuk 2 tur komut çalıştırmayı sağlar
1-> kendi kodları
2-> sistemdeki kodlar
dahili özellikler (1.için) asıl kullanımı belirler
ön tanımlı shell i atamak:
sudo chsh -s /bin/shell_konum $USER
##################################
----UYARI-yeni path eklemek yerine varolan bir konuma taşımak daha sağlıklıdır ve tercih edilir....!!!!--------
PATH yolun dizin eklemek
başlangıçda çalışan bir dosyaya yazmmız lazım
örneğin /etc/bash.bashrc
----------
PATH="/home/gama/komutlar/":$PATH
-----------
source = belirtilen dosyayı oturum kapat aç yapmadan tekrar configure etmmizi sğlar
yani source /etc/bash.bashrc diyerek değişiklikleri oturum kapatmadan uygulatabiliriz
not ! -> dosyaya çalıştırma izni vermezisek hat lırız
###################3
ortam değişkenlerini görmek
set -> shell e ait olan değişkenleri ve değerlerini verir
printenv -> sistemde bulunan butun çevresel değişkenleri verir
env -> sistemde bulunan bütün export yani değiştirilmiş değişkenlerle beraber değişkenleri gösterir
########################3
$SHELL -> hangi kbuk ve konumu
$HOME -> ev dizini
$TERM -> komut satırı uygulamalarının hangi termşnalde çalışcağanı belirtir
##############3
ortam değişkenlerini tanımlama
-> konsola özel (açık terminle)
ylnızc geçerli olan açık termnalde ve uygulamalarıda kullanılabilen
-> kullancıcıya (user e özel)
-> sistem geneli geçerli olnlar
----geçerki term de ---
export DEGİSKEN=değer
kullanıcıya özel değişkenler
.bashrc gizli dosyasına yazıyoruz ve oturum kapat ç yapınca otomatik olarak tanımlanmış olur
bu dosya kullanıcının kendi $HOME dizininde bulunur
sistem genelinde (tüm kullanıcıları) etkileyen değişkenler
/etc/bash.bashrc dosyası her kullanıcı oturum açtığındaki on tnımlı dosyadı
dosyanın sonuna yzılmalıdır!
eklediklerimizi silip kaydedip oturumu kapat aç yparsak ön tnımlı haline gelecektir
-KISAYOLLAR-
terminalde kopyalama ve yapıştırma
CTRL + SHİFT + C -> kopyalama
CTRL + SHİFT + V -> yapıştırma
bash shell kısayolları
CTRL + A -> imleç satır bşına gider
CTRL + E -> imlec satır sonuna gider
CTRL + P -> önceki komuta gider
CTRL + N -> soraki komuta gider
ALT + B -> sola doğru bir kelime kaydırır
ALT + F -> sağa doğru bir kelime kaydırır
CTRL + B -> bir karakter sola
CTRL + F -> bir karakter sağa gider
CTRL + XX -> imleç mevcut konumdan stır başına gider
CTRL + L -> konsol ekranını temizleyebiliyoruz (silmez aşşağı indirdirir terminali)
ALT + D -> imleçden sonraki bir kelime siler
CTRL + U -> imlcin solundaki bütün ifadeleri siler
CTRL + K -> imlecin sağındaki bütün ifadeleri siler
CTRL + Y -> kesmiş ifadeyi konsola yapıştırır
ESC + T -> imleçden önceki 2 ifadenin yerini değiştirir
CTRL + H -> sola doğru bir karakter siler
ALT + U -> imleçden sonraki tüm karakterleri büyütür
ALT + L -> imleçden sonraki sözcüğü küçük harf yapar
ALT + C -> imlecin üzerinde bulundu karakteri buyutur
CTRL + C -> komutun çalışmasını durduroyor (iptal ediyor)
CTRL + R -> komutlar arası arama yapar
TAB -> otomatik tamamlama ve 4 boşluk sğlar
CTRL + D -> konsol ekrnını kapatır
AYNI ANDA BİRDEN FAZLA KOMUT ÇALIŞTIRMAK :
&& -> önceki komut başarılı olursa kendinden sonrakni çakıştırır
; -> önceki komutun başarısına bamaz her halukarda kendinden sonrakini çalıştırır
|| -> veya demektir 1. başarısız olursa 2.yi mesela
KISAYOL KORUMASI ->
ignoreeof ->
kullanımlar
1: mevcut oturum
2: sistemdeki tüm userlar için
1.için
.bashrc açıp
export IGNOREEOF=2 olacak şekilde yazıoz
burdaki 2 komutu ertelmektir yani 2 kez engeller 3.de uygular
2.içim yukardakini /etc/bash.bashrc ye yazıyoruz
mevcut terminal için yapmak :
ignoreeof=2 yzabiliriz direk
ignoreeof=0 -> korumayı kapatır
2.yol set -o ignoreeof -> otomatik olarak 10 kez koruma yapar 11.de uygular
bilgi alma komutları
komut_1 --help
help komut_1
man komut_1
şeklinde bilgi almak için kullanılabilir
öam sayfası ile ilgili
NAME -> komutun ismi ve açıklama kısmı
SYNOPSIS -> komutun kullanım açıklaması nasıl kullanılacağı yani
DESCRIPTION -> komutun yaptığı iş (fonksiyonu) hakkında açıklama
EXAMPLES -> kullanım ile ilgili örnekler ve açıklamalar
SEE ALSO -> diğer ilgili başlarıklardır
man ın bilgi sayfaları /usr/share/man altında tutulur
burdaki dosylar şunları ifade eder
man1 -> genel kullanıcı programları
man2 -> sistem programlarını ifade eder
man3 -> kütüphane fonksiyonlarını (c programlama ile ilgili)
man4 -> özel dosyaları ifade eder
man5 -> dosya biçimlerini ifade eder
man6 -> ekran koruyucularını ve oyunlarını ifade eder
man7 -> diğer katagorilere girmeyen çeşitli komutları ifade eder
man8 -> sistem yönetimini ve bakımını ifade eder
şeklindedir sınıflandırması
whatis komutu : bu komut hangi komutun açıklaması hangi man sayfasında bunu içerir
mesela whatis ls gibi
apropos komutu
man -k
ile aynıdır hangi uygulamalarda geçtiğini verir
yani birnevi anahtar kelime aramasıdır
man klavuz sayfasını guncellemek
mandb -> bu komutu terminale yazarak man sayfalarını gunceller
--------------------
-- BİLGİ ALMA KOMUTLARI --
uname -> çekirdek ismini verir
uname -a -> daha kapsamlı çekirdek bilgisi verir sürüm vs
ornek
Linux prime 5.4.0-113-generic #127-Ubuntu SMP Wed May 18 14:30:56 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
burda sırasıyla çekirdek adı hostname derlenme sürümü işlemci mimarisini ve
os ismini verir
uname -s -> sadece çekirdek ismini verir
uname -n -> hostname
uname -r -> derlenme sürünü
uname -v -> versiyon
uname -m -> işlemci mimarisi
uname -o -> os bilgisi
uname -p -> işlemci bilgisi -genelde çalışmaz
uname -i -> donanım platformu -genelde çalışmaz
-m yerine --machine şeklindede kullanılabilir
hostaname komutu:
tek başına kullanıldığı zaman ana bilgisayarımızın ağ üzerindeki ismimizi verir
yerel ağdaki domainimiz gibi
ve bazı uygulamalar çalışmak için bu isme ihtiyaç duyarlar
hostname nasıl değiştirilir?
hostname yeni_host_adı -> reboot sonrası eski haline döner
kalıcı olması için /etc/hostaname i açıp oraya yeni host adımızı ve sonrasında
gene /etc/hosts dosyasınada eklememiz gerek bu dosyanın görevi local dns gibi çalışır
örnek /etc/hosts içeriği:
127.0.0.1 localhost
127.0.1.1 eski_host_adı
yukarıdaki eski_host_adı yazan yeri silerek yeni host adımızı yazıyoruz
not buraya birden fazla host ismi verebiliriz ve sonra /etc/hostaname e eklediğimizde buraya yazmamıza gerek kalmaz
örnek
127.0.0.1 localhost
127.0.1.1 host_adı1 host_adı2
gibi gibi
---------------------------
lsb_release komutu
kullandığımız dağıtım hakkında bilgi verir
parametresiz kullanırsak hata verir
lsb_release -a -> dağıtım hakkında belli bilgiler verir
--------------------------------
whoami komutu
kimliğimizi sorgulamamızı sağlar
who komutu -> sistemde hangi kullanıcılar aktif onu gösterir
w komutu -> hangi kullanıcılar hangi işlemi yapıyor onu gösterir
--------------
uptime -> bilgisayarın nekadar açık suredir açık olduğunu ve
kaç kez oturum açtığımızı gösterir
18 user mesela 18 kez oturum açıldı demektir
date -> tarih saat bilgisi verir
cal -> komut satırı takvimini açar
cal 1 2002 -> ocak 2002 takvimini verir
----------------------------
which -> kullandığımız komutun dosyası nerede olduğunu gösterir
which ls gibi mesela
whereis -> komutun man sayfasının tam konumlarını verir
ve komutun dosya yolunuda verir aynı zamanda
locate -> verilen ismi sistemde ara (kullanıcı yetkileri sınırında)
locate komut.sh gibi mesela kullanımı
----------------------------
dmidecode -> sistemdeki tüm donanım bileşenleri hakkında bilgi almamızı
sağlamaktadır
DMI type 1-2-3 şeklinde sıralıyor
bu DMI , masaüstü yönetim arayuzu demektir
bios vs birçok bilgi sağlamaktadır
dmidecode -t bios -> sadece bios hakkında bilgi almak için kullandık
yani -t filtreleme işlemini sağlar
DMI type numarası ilede arama yapabiliriz
dmidecode -t DMI_kodu
fdisk -l -> sistemdeki diskler hakkında bilgi verir
df -> daha ayrıntılı şekildi diskler hakkında bilgi verir
du -> bulunduğumuz dizindeki dosyaların boyutlarını verir
daha okanaklı olsun istersek -h ekleyebiliriz
free -> anlık bellek bilgisini verir kullanım vs
mb cinsinden çıktı için free -m
gb seklinde free -g
------------
stat komutu
stat dizin_konumu
vmstat -> sistemin o anlık durumunu verir
bunu sürekli olsun istersen
vmstat yenilenme_hızı(sn) yenilenmey_sayısı (döngü adeti)
-------------------------------------
history komutu
komut geçmişimizi verir
en fazla 1000 adet (ön tanımlı olarak) tutulur
bunu değiştirmek için
$HISTSIZE değişkeni bunun sayısını tutar
değiştirmek için .bashrc dosyasındaki değişkenin değerini belirtiyoruz
history deki bir komutu çağırmak içind
!komut_numarası
veya
!istenen_komutun_baş_kısmı
!! -> son çalışan komutu çağırır
--------------------------------
LİNUX DOSYA HİEARŞİSİ
linuxda tüm dizinler kök "/" altında bulunurlar
buranun sahibi root dur ve ufak farklılıklar hariç nerdeyse her
dağıtımda aynıdır bu yapı
linux sistemler küçüğk büyük harf duyarlılığı vardır!
hangi dizinlerde neler bulunur?
/bin -> kullanıcı komutları (temel komutlar)
sistem boot olunca ilk bin klasörü yüklenir
/boot -> boot işlemi için gerekli olan dosyaları içerir
/dev -> donanım aygıtlarını içerir
/etc -> ayar ve yapılanma bilgilerini içerir
/home -> her kullanıcının kendi dizinin burda bulunur
/lib -> çekirdek modulleri ve paylaşılan kutuphane dosyalarını barındırır
/lib32 /lib64 -> uyumluluk için kutuphane barındırırlar
/lost + found -> sistemin beklebnmeyen kesintilerde linuxda fsck komutu çalışır ve
disk duzeltilir ve olası kaybolabilecek dosyalar buraya taşınır
/media -> kaldırılabilir aygıtları usb dvd ve sisteme bağlanmamış aygıtları iöeir
/mnt -> sistemin kurulu olduğu disk bölümü hariç diğer bağlanmalar burada yapılır
/opt -> işletim sistem,inden bağımsız 3.parti programları içerir
/proc -> sürecler bellek donanım aygıtları iöçeren özel bir sanal dosya sistemidir
bilgi alma merkezidir yani gerektiğinde ayarları yapmak içinde kullanılır
/root -> root kullanıcısının özel ev dizinidir
/sbin -> root kullanıcısının kullanılacak bakım yonetim komutlarını içerir
yerel root için /usr/local/sbin de bulunur
/usr -> kurduğumuz pekçok program buraya kurulur tüm kullanıcılarla paylaşılan
şeyleri içerir
/usr/local -> sadece kullandığımız makineye özeldir
/var -> log email gibi değişken bilgileri burda tutulur
/tmp -> geçici dosyalar içindir reboot da içi boşaltılır
/srv -> sistemin sunduğu hizmetlerle alakalıdır
/initrd -> çekirdeğin yüklenmesi için gerekli yapıdır
/run -> son önyüklemeden bu yana çalışan sistemle ilgilei bilgileri tutar
---------------------
DİZİN İŞLEMLERİ :
pwd komutu:
çalışmış olduğumuz dizini verir
cd komutu:
Change Directory nin kısaltılmış halidir anlamı konum/dizin değiştirmemizi sağlar
cd gidilecek_dizin
cd .. -> bir üst dizine gider
cd /dizin/(gidilecek_yer
cd -> kullanıcının home diznine gider
cd - -> önceki olduğunuz tam dizin konumuna gidecektir iki dosya arasında çok hızlı geçmemizi sağlar
cd /desktop -> kök üzerinde bu dizini arar
cd desktop -> bulunulan dizinde arar
cd ../home -> üst dizine git ve oradan home klasörüne git demektir
ls komutu
ls -> dizin içeriğini listeler
ls -l -> detaylı dosya bilgisi
ls -a -> gizli dosyalarıda gösterir
ls -A -> . ve .. yı kaldırmak için kullanılır
ls -hl -> dosyaların boyutunuda gösterir
ls -i -> dosyaların inode değerlerini verir -ilerde değinilecek
ls -S -> dosyaları buyukten kucuge doğru sıralar
ls -t -> dosyaları oluşturma tarihine göre sıralar
ls -r -> değerleri tersine yazdırır
************************************
mkdir -p /dizin1/2c/3a -> şeklinde belirli bir path oluşturabiliriz
rm -i -> silmek için her defasında sorar
-------------
touch komutu direk kullanılırsa dosya oluşturur ama
touch -t yılaygun dosya_adı şeklinde kullanılırsa oluşturna tarihini düzenlememizi sağlar
--------
cat komutu
dosyaları okumamızı sapkar
cat > dosya_adı -> dosya oluşturur ve içerik yazmamızı ister CTRL + D ile kaydedip çıkabiliriz
varolan bir dosyaya veri eklemek
cat >> osya_adı -> veriler dosyanın sonuna yazılır
-----------------
tac komutu:
cat komutunun tersi şekilde yazılıyor görevide cat .ıktısının tam tersini vermektir
-------------
rev komutu
metni baştan sona ters çevirir
--------------
echo komutu
genelde bir verinin ekrana yazılmasını sağlar
cat gibi dosya oluşturma ve yazma işlemleri yapabilmektedir
UYARI=> echo komutu içerisinde shell kodlarıda yurutulebişmektedir!!!
ls gibi kullanımı:
echo * -> bu kullanım şekli ls gibi dizin içerini verir
echo *d -> d ile başlayanları gösterir mesela
echo ile komut çalıştırmak
echo `ls` -> komut yurutur!
echo ${ls} -> komut yurutur!
-------------
more kullanımı
more açılacak_dosya
bu editörde kod yurutulebilir
space -> diğer syfa
b -> önceki sayfala
q -> çıkış
--------------------------
less komutu
less açılacak_dosya
bu editörde kod yurutebilir!
more gibi space ve b kullanılırlar
----------------------
head ve tail komutlrın
head -> ilk 10 satır
head -n 20 -> ilk 20 satır
tail -> son 10 satır
tail -n 20 -> son 20 gösterilir
-------------------
nl komutu
number line anlamına gelir dosylrın satır numaralarını yazar
nl açılacak_dosya
------------------
sort komutu
içeriğin alfbetik olrak sıralanmasını sağlar
sort dosya_adı
ön tnımlı a-z dir tam tersi için -r eklemek lazım
---------------
paste komutu
birden fazla dosyayı aynı anda yanyana açmak için kullanılır
psate dosya_1 dosya_2 dosya_3
--------------
tee
yazdıklarımızı hem dosyaya yazılsın hem ekranda aynı anda gözksn istersek kullanırız
tee dosya_adı
ctrl + d ile kaydedip çıkabiliriz
------------------
cmp komutu
2 dosyayı karşılştırır ve farklı olan kelimeleri ve satırları vurgular
cmp dosyaa_1 dosya_2
---------------------
grep komutu
filtreleme komutudur
grep "ifade" aranacak_dosya
grep -i "ifade" * -> aynı dizindeki bütün dosyalarda aram ypar
-i -> buyuk kucuk harf farkını kaldırır
klasörlerdede arama yapılmak istenirse -r parametreside eklenir
-A 10 -> ifade bulunduktan onra kaç satırın gösterileceğini belirtir
-B 10 -> ifade bulunduktan once gelen satırları gösterir
-C 10 -> hem onceki hem sonraki 10 satırı geitirir
-------
find parmetre
-size +100G/M/k -> 100 gb den mb den ve kb den buyuk olanlar için
-perm 700 -> chmod için bu parametreli dosyayı alır
-ctine 5 -> 5 gun once değiştirilen dosyaları aratır
-type f -> dosya tipinde olanları arar -d -> dizin olanları arar
-ctime -5 -> 5 güne kdar değiştirilmiş dosyaları getirir
-ctime +5 -> 5 gunden daha once değiştirilmiş dosyaları ggösterir
--------
xargs komutu
kendinden önceki argumanları kendinden sonraki komuta verir
örnek:
find -name *.jpg | xargs rm -> find in bulduğu tum jpg dosyalarını rm komutuna vererek sildirir
yni çıktılrı aktarır
----------
shred komutu
dosyalarımızı güvenli şekilde silmeyi sağlar
argumansız şekilde kullanılırsa dosyaya 3 kez rastgele bitler ekler
shred -n 12 -> 12 kez rastgele bit yazılması için argumanı
-v -> işlemleri görmemizi sağlar
-u -> işlem bitince dosyayı silmemizi sağlar
---------------dosya arşiv işlemleri -------------------
tar -> Tape ARchive şeklinden açılımı vardır
tar -c -> create = oluşturmak anlamına gelir
-f -> istenen dosyaları arşive ekler
tar -cf arşiv_adı arşive_alınacaklar
tardan cıkartmak
tar -xf dosya.tar-> x = extrack = cıkartmak f de dosyları secer
tar -xf dosya.tar -C /cıkartılacak/dosya_path ı -> belirli bir dizine çıkartmayı sağlar
tar -tf dosya.tar -> t -> tables of contents demektir buda konsoldan içeri okumamızı sağlar
tar -rf dosya.tar eklenecek_dosya -> mevcut arşive ekleme yapar
-v -> verbose -> ayrıntıları gösterir
-------------------
gzip ve bzip2 araçları -> sıkıştırmak içindir
gzip dosya_adı -> dosyayı sıkıştırır
gzip -d arşiv_dosyası -> tekrardan çıkartır
-bzip2
bzip2 dosya_adı -> sıkıştırmak için
bzip2 -d arşiv_adı -> çıkartmak için
---------------------------------------------
hem sıkıştırma hemde arşivleme işlemi nasıl yapılır
gzip ile yapımı
tar czvf yeni_arşiv.tar.gz arşive_alınacaklar -> burdaki yeni z parametresi gzip ile sıkıştırmayı belirtir
tar xzvf cıkartılacak_arşiv -> burdaki x de çıkartmak için
-bzip2 ile
tar cjvf arşiv_adı.tar.bz arşive_alınacaklar -> burdaki j ise bzip ile sıkıştırma yapılacağını belirtir
tar xjvf arşiv_adı -> arşivi çıkartır
----sıkıştrılmış dosyalarda arama işlemi
zcat isimler.gz -> sıkıştırılmış dosyayı okumamızı sağlar
bzcat dosya.bz2 -> okuma işleminisağlar
----arama yapmak
zgrep "metin" dosya.gz
bzgrep "metin" dosya.bz2
şeklinde
----zip-unzip
zip dosya_adı.zip arşive_alınacaklar -> sıkıştırmak için
unzip dosya_adı.zip -> çıkartma işlemleri
##########################################################################################
ERİŞİM YETKİLERİ
###### ##### #### ##### #### #####
temel olarak kullanıcıların dosya ve dizinlerde gerçekleştirebileceği 3 eylem vardır bunlar
-okuma - read - r
-yazma - write - w
-çalıştırma - execute - x
bu şekildedir
ls -l ile dizin içeriğindeki dosya ve dizinlerin izinlerine bakabiliriz
ls -l işelmi sonrası başında d olanlar dizindir
ilk 3 lu alan dwrx-rx-r -> ilk alan dosyaya sahip olanlar ikinci grup aynı grupda olanlar 3.grupdakişler ise diğer kullanıcıları temsil eder
- işaretleri o yetkinin olmadığını belirtir
-----------------
chmod komutu (change mode)
u parametresi -> dosya/dizin sahibin belirtir (user)
g parametresi -> dosya dizin sahibi ile aynı grupda olanları belirtir (group)
o parametresi -> diğer kullanıcıları temsil eder (other)
a parametresi -> tüm kullanıcıları temsil eder (all)
= -> yetki eşitlemede kullanılır
+ -> yetki eklemekde kullanılır
- -> yetki çıkartmada kullanılır
erişim yetkisi ekleme
chmod u+x dosya_adı -> dosya sahibine çalıştırma izni verdik
chmod g+rw dosya_adı -> dosyanın sahibi ile aynı grupda olanlar için okuma yazma izni verdik
chmod o+r dosya_adı -> dosyanın sahibi olmayan ve sahibi ile aynı grupda olmayan 3.cü kişilere okuma izni verdik
chmod a+r dosya_adı -> herkes için okuma izni verdik
erişim yetkisi çıkartma
chmod u-rw dosya_adı -> dosyanın sahibinden okuma ve yazma yetkilerini çıkarttık
yani + yerine - kullanırız
erişim yetkisi eşitleme
chmod a=r dosya_adı -> direk olarak tüm kullanıcılara bunu ekler r yerine wx dersek r yi siler wx ekler mesela
chmod a= dosya_adı -> tüm kullanıcılardan tüm yetkileri
----
erişim yetkisi aktarma
chmod --reference metin.txt dosya.png - metin.txt nin erişim izinlerinin aynısını dosya.png ye uyguladı
-----
yetkileri tüm alt klasörlere eklemek
chmod -R a=r klasör_adı -> tüm alt dizinlerde ve klasörde herkese okuma yetkisi verir
izinlerin rakamsal göterimi
r = read = 4
w = write = 2
x = execute = 1
örnek -> chmod 700 dosya_adı -> sahibi için tam yetki diğerleri için yetki yok demektir
------------------------------
lsattr komutu - dosyamızda koruma varmı (chattr koruması) onu gçrmemzi sğlar
eğer koruma altındaysa i ibaresi vardır çıktıda örnek ----i----.....gider
yoksa ------------e------ gibi gider
chattr komutu - önemli dosyalarımızı yanlışlıkla silmeye karşı korumak için rootun bile silmesini ve değişiklik yapmasını engelleyebilen bir komuttur
kullanımı
chattr +i dosya_adı -> dosyayı korumaya alır
chattr -i dosya_adı -> dosya korumadan çıkartılır
##########################################################################3
Kullanıcı İşlemleri
#### #### #### ####
linux ve unix sistemlerde aynı grupda olan kullnıcıların yetkileri birbirlerine eşitlenebilir
grupları görüntülemek
cat /etc/group şeklinde görebiliriz grupları /etc altındaki dosyasında tutulur
grupların yapısı
cdrom:x:24:taylan,hasan,ali
cdrom -> grup ismi
x -> prola kısmı genelde kullanılmaz ama kullanıldığıda oluyor
24 -> atanan grup kimliğini yani grup numrasını GID sidir
taylan,hasan,ali -> bu kısımda grup uyelerinin isimleridir
Kullanıcıların ait oldukları grupları sorgulamak
id kullanıcı_adı
bu çıktıda alanlar
kullanıcı numarası uid
grup numarası gid
ve bulunduğu grupları verir
kullanıcı numarası ve grup numarası nedir?
bu numaralar kullanıcdan kullanıcıya dğişir
root kullanıcısı uid=0 gid=0 dir
sistem kullanıcısı uid=1-499 gid=1-499
normal kullanıcı uid=500+ gid=500+ şeklinde belirtilir
id -g kullanıcu_adı -> o kullanıcının grup numarasınu verir
id -u kullanıcı_adı -> o kullanıcının kullanıcı numarasını verir
id -G kullanıcu_adı -> o kullanıcının dahil olduğu gruların numaralarını verir
-----
Grup oluşturma ve silme işlemleri
yeni grup oluşturmak
groupadd yeni_grup_adı
groupadd -g 2112 grup_adı -> 2112 grup numarasına sahi bir grup oluşturur yani istediğimizi bltebiliriz oraya
not bu grup numraları benzersiz olmalıdır
grup silmek
groupdel silinecek_grup_adı
--------
Kullanıcı yönetimi
Yeni kullanıcı eklemek için 2 komutumuz bulunur bunlar:
-adduser
adduser kullanıcı_adı -> kullanımı bu şekildedir ve /home altında otomatik olarak ev dizini oluşturur
------
-useradd
useradd -m kullanıcı_adı -> -m parametresi ev dizinini otomatik oluşturmasını sağlar
passwd kullnıcı_adı -> kullnıcının şifresinin değiştirilmesini sağlar veya oluşturmamızı sağlar
not: parolalar /etc/whado altında şifreli olarak tutulur
Kullanıcı silme işlemleri:
Home dizini ile beraber silmek için:
deluser --remove-home kullanıcu_adı
-------------
Gruba kullanıcı ekleme ve çıkartma işlemleri
Varolan bir gruba kullanıcı eklmek için:
gpasswd -a kullanıcı_adı grup_adı
Grupdan kullanıcı çıkartmak:
gpasswd -d kullanıcu_adı grup_adı
--------------
Aktif pasif hesap ayarlama
Kullanucı hesabını kilitleme
usermod -L kullanıcu_adı
bu işlem sonucunda parola kilitlenir /etc/shadow dosyasındaki şifreli parola önüne ! işareti gelir
! işareti :!parola şeklinde olur
Kilitli olan kullanıcı hesabının kilidini açma
usermod -U kullanıcu_adı
bu işlem ile kilitli olan hesabın kilidi açılır
------------------
Kimlik değişimi
su kullanıcı_adı -> belirtilen kullanıcı adının şifresi biliniyorsa kullanıcıya geçiş yapmamızı sağlar
su açılımı (switch user) anlamına gelmektedir
su argumansız olrak kullanılırsa root a geçmeye çalısacaktır ama hata verecektir sudo su şeklinde kullanılırsa root a geçer
ama bunun için kullnıcının root parolasını bilmesi veya /etc/passwd içerisinde bulunmsı lzım
su - kullanıcu_adı -> belirtilen kullanıcıya geçer ama kullanıcının kendi ev dizininde bşlatır
################################33
Süreç (process) işlemleri
bir program çalıştığında programın belleğe yuklenmesine denir
ps komutu:
argumansız direk çalıştırılırsa mevcut konsoldaki aktif süreçleri verir
ps -aux -> sistemdeki ve terminallerdeki tüm süreçleri göstermek için kullanılır
ps -e -> tüm süreçler demektir
ps -u kullanıcı_adı -> kullanıcı adına göre
ps -p -> sorguladımığımız süreç numarasına göre süreç bilgisi verir bu numralar benzersizdir
pstree -> süreçleri ğaç ypısında gösterir
------------------
top komutu:
3 sniyede bir yenilenerek güncel şekilde bilgi verir buda (q ile çıkabiliriz)
top -d 10 -> 10 sn de bir kez tablo guncellenir
-----------
pgrep komutu:
çalışan süreçleri belli kriterlere göre sıralanmasını sağlyn komuttur
pgrep leafpad -> leafpad a ait pid i verir
kullanıcıya özel arama yapmak
pgrep -u burak leafpad -> burak kullanıcısına ait sreçlerden leafpad i getirir
--------------
process sonlandırma komutları
kill ve killall komutları
süreçleri süreç numaralrı pid ile sonlandırma:
kill pid_numarası
kapanmaya karşı direnen süreçleri süreç numarası pid ile sonlandırma:
kill -9 pid_numarası -> buradaki -9 parametresi zorlayarakda olsa kapatma işlmeini yapması içindir
süreç ismi ile sonlandırma:
killall süreaç_adı
kapanmaya karşı direnen süreçleri isimleri ile sonlndırma:
killall -9 süreaç_adı -> -9 deminki gibi zorlayarakda olsa kaptmasını sağlıyor
süreçleri isimlerini kullanarak ve onay ile sonlandırma:
killall -i süreaç_adı
xkill komutu:
grefiksel arayüz ile işlemi sonlandırmamızı sağlar
komutu girdiğimiz zaman imleç X işareti halini alır ve nereye tıklrsak onu öldürüyor
-----------------------------
fg (ön plan / frontgound) bg (arka plan / background) ve jobs komutları
programı konsoldan çalıştırıp CTRL +Z yaparsak ve sonrasında bg yazarsak arkaplanda çalışır
fg yazarsak bunu birincil olarak çlıştırır jobs komutuda bunları sorgulamamızı sağlar
############################################################################3
Disk işlemleri
#### #### #### #### #### ####
not: bu işlemlerde çok dikkatli olmamız gerekli yoksa sisteme zarar vermek çok olasılıdır ve
o disk sisteme bğlı ise işlem ypamayız yani sistemin kurulu olduğu disk üzerinde cihaz açıkken işlem yapılamaz
-------------
fdisk komutu:
fdisk -l -> sistemdeki disk bölümlerini listeler
fdisk /dev/sdx -> sdx işlem yapacağımız disk bölümüdür bu şekilde fdisk i başltıyoruz
m -> yardım menüsünü açar
p -> disk bölümleme tablosunu verir
d -> bir disk bölümünü silmek için kullanılır
n -> yeni bir bölüm oluşturur
burada bize 2 seçenek çıkar bölümleme tipi önceliklimi(primary) yoksa genişletilmiş (extended) mi olsun diy sorar
primary -> işletim sistemlerini kurduğumuz sabit disk bölümüdür bir sabit diskde max 4 tane bulnbilir ve bunlardn birinin
mutlaka aktif olması gerekiyor ki işletim sistemimiz boot işlemi sırasında çalışabilsin
extended -> primary bölümü öıkartıldığında geriye kalan tüm sabit disk alanımızdır
bir diskte yanlızda 1 adet bulunabiliyor ama çok sayıda logical yani mantıksal bölümlere ayrılrak diskdeki
bölümlendirme sınırlamasını aşmış oluyoruz
sonrasında ise bize first sector ve last sector diyecektir first sector u enter diyerek direk gecelim ve
last sector kısmında +1G diyelim mesela bu bize 1gb lik bir alan oluşturmuş olacak
w -> yapılan değişiklikleri kaydedip çıkmamızı sağlıyor
q -> değişiklikleri kaydetmeden çıkış yapmak için kullnılır
cfdisk komutu:
fdisk in kullanımı daha kolay arayuzu bulunan halidir
---------------------
badblocks komutu:
bir aygıtın bozuk bloklarını bulmak için tarama yapmak görevindedir
kullanım-> badblocks taranacak_aygıt (örnek: /dev/sdc gibi)
parametreleri
-badblocks -s taranacak_aygıt -> -s parametresinin görevi süreç gelişimini bize göstermektir ilerlemeyi % lik olarak gösterir
-badblocks -v taranacak_aygıt -> -v süreç ayrıntılarını bize gösterir
-badblocks -b boyut taranacak_aygıt -> -b de taranacak bir blogun boyutunu bayt olarak verebiliyoruz yani her tarama
o boyutta oluyor galiba
-badblocks -c sayı taranacak_aygıt -> -c parametresi tek seferde sınanacak olan blok sayısını belirtir ön tanımlı 16 dır
sayıyı buyuk vermek işlem verimini arttırsada ram kullanımı cok artacagı için "tamponları ayırmada bellek yetersizliği"
hatası almak çok muhtemeldir
sayının cok dusuk olmasıda hatalı blokların bulunmasını zorlaştıracaktır
-badblocks -f taranacak_aygıt -> tarama işlemini zorlayarak olsada yap demektir badblocks sisteme zarar verebilecek çökertebilecek
durumlarda tarama yapmayı reddeder ama biz bu parametre ile tavsiye edilmesede bu işlemi yaptırabiliriz
-badblocks -p sayı taranacak_aygıt -> diskin kaç defa taranacağını belirtir ön tanımlı 1 dir
badblocks un daha fazla parametresi vardır tabiki ama bunlar genel olarak en çok kullanılanlardır daha fazlası için komutun man
sayfasına bakılabilir tabikide
sıradaki konu bozuk blokların onarımı hakkında
-----------------------------------------------------
fsck komutu:
diskte bulunan hatalı blokları duzeltmeyi dener normalde bu işlem biz her sistemi açtığımızda yapılır zaten ama kendimiz yapmak istersek diye
kullanımı:
fsck -p /dev/aygıt_adı
-----------------------------------------------------
df komutu:
df komutu bize disklerin dosya sistemlerini boyutlarını dolulugunu ve boşluk miktarını ve bağlandıkları yeri verir
direk olarak yazılıp kullanılır ama çıktıların daha okunaklı olmasını istersek -h parametresi ile kullanabiliriz buda boyutları vs mb
gb cinsinden verecektir
örnek: df -h
df -m -> çıktıları mb cinsinden
df -k -> çıktıları kb cinsinden verir
-------------------------------------------------
umount komutu:
diski sistemden ayırır yani usb belleğe sağ tık çıkart demekle aynıdır aslında
kullanımı:
umount /dev/aygıt_adı
şeklinde disk sistemden ayırabiliriz
mount komutu:
diski sisteme bağlamayı sağlar
kullanımı:
mount aygıt bağlanacağı_konum
-------------------
gparted -> kullanımı kolay grafiksel bir arayuzdur
kullanım şekilleri:
1- diske yazdırarak boot edip kullanmak bunun sebebi sistem diski üzerinde işlem yapmamız gerekirse diyedir
kurulum:
resmi sitesinden imajı indirerek dd veya benzer disk yazdırma programları ile yazdırıp cihazı boot etmemiz yeterlidir
boot işleminden sonra dil seçimimizi yapıyoruz
sonraki soruyu enter diyip devam ediyoruz
2- sistemde yuklu olan uygulama olarak kullanmak
Bölümlendirme tablosu oluşturmak:
bir bölümlendirme tablosu olmadan boş bir diski bölümlendiremeyiz
bu kısmı aygıt kısmından belirleyebiliriz
sağ tıklayıp disk bölümlerini boyutlandırabiliriz
Bölüm kopyalamak:
bir disk içeriğini başka bir diske tamamen kopyalamk için sağ tık kopyuala ve hedef diski seçip sağtık yapılştır diyebiliriz
Bayrakları yonetme:
Bu kısım bölümün sistem açılışında nasıl davranacağını belirlememizi sağlıyor
mesela boot bayrağı eklenirse bil bölüme sistem o bölümden başlatılıyor
denetleme işlemi seçilen bölümü denetliyerek gerekirse onarım işlemi yapar:
denetlemek istediğimiz disk blümünü seçip sağ tık denetle diyoruz
disk verilerini kurtarmak:
aygıtlar sekmesinden veriyi kurtar secebiliriz
dosya sistemimi etiketleme:
sağ tık dosya sistemini etiketle diyerek isimlendirme verebiliriz
bölüm hakkında bilgi almak için sağ tık info veya bilgi dememiz yeterlidir
############################################################################################333
ÇALIŞMA SEVİYELERİ - SERVİSLER
#### #### #### #### ##
