Geçen hafta, Linux'un ne olduğu, nasıl çalıştığı hakkında okuyucuyu bilgilendiren ve eğiten ve aynı zamanda terminal komutlarını deneyerek ellerini kirletmelerini sağlayan yapılandırılmış bir dizi oluşturmak için Linux Uygulamalı serimizi başlattık.
Serinin ilk bölümünde bahsedildiği gibi, tüm seri her hafta mantıklı bir ilerleme olacak. Bu, bu bölümün yalnızca ilk bölümü geçip tüm komutları denediyseniz veya denediyseniz anlamlı olacağı anlamına gelir. Linux hakkında temel bilgiler ve etrafından dolaşabilirsiniz. Bu kavramlara aşina değilseniz, emin olun. ilk bölümü oku, ve sonra hemen içeri atlayabilirsiniz.
Bu haftanın gönderisinde, bir önceki gönderide ele aldıklarımızı geliştireceğiz ve size daha karmaşık şeyleri nasıl yapabileceğinizi anlatacağız. Linux'ta dosyaları nasıl düzenleyeceğiniz gibi sorularınız mı var? Linux'ta bir süreç nasıl görüntülenir vs. bu yazı bunlara cevap verecektir. O halde daha fazla vakit kaybetmeden direkt komutlara geçelim.
Komutları bölümlere ayıracağız, böylece onları tek tek gözden geçirmek mantıklı olacaktır.
Ne öğreneceksin
- Dosya yönetimi
- Desen Eşleştirme
- Süreç: Görüntüleme ve Öldürme
- Metin Dosyalarını Düzenleme
Pekala, şimdi temel bir yapıya sahip olduğumuza göre, bunları tek tek inceleyelim.
Bir önceki gönderide, Linux'ta nasıl dosya oluşturulacağını ve nasıl kaldırılacağını öğrenmiştiniz. Bunun üzerine inşa edelim ve önce bir dosyanın içeriğinin nasıl görüntüleneceğini görelim.
kedi Komutanlığı
Bir dosyanın içeriğini görüntülemek için cat komutunu kullanırız. Bu komutun ders kitabı tanımı şudur: - cat komutu sırayla bir dosyayı okur ve çıktıyı standart çıktıya yazdırır. Basit bir ifadeyle, dosyanın bir dosyanın içeriğini satır satır yazdırdığı anlamına gelir.
Kedi komutunun nasıl çalıştığını görmek için bir örnek kullanalım mı?
İşte sözdizimi:
kedi DOSYAADI
Değiştirin DOSYA ADI kendinizden biriyle. Aşağıda görebileceğiniz gibi, komut sadece hayalet.txt dosyalarının içeriğini satır satır yazdırdı:

Artık bir dosyanın içeriğini nasıl göreceğimizi bildiğimize göre, herhangi bir düzenleyici kullanmadan doğrudan terminalden bir dosyaya nasıl içerik ekleyeceğinizi öğrenelim (endişelenmeyin, bu çok yakında gelecek).
Linux'ta Yönlendirme Operatörleri
Ekleyebileceğiniz yollardan biri (üzerine yaz veya ekle) bir dosyaya içerik, yeniden yönlendirme operatörlerinden birini kullanmaktır. Basit bir ifadeyle, yeniden yönlendirme operatörleri, kullanıcıların bir komutun giriş ve çıkışını kontrol etmesine izin verir.
Bunun kafanı uçurdu, işte daha ilişkilendirilebilir bir örnek. echo komutunun ne yaptığını hatırlıyor musunuz? Terminale bir dize yazdırdı. Dize, echo komutunun çıktısıydı. Yeniden yönlendirme operatörlerinden birini kullanarak bu çıktıyı gerçekten kullanabilir ve bir dosyaya yazabilirsiniz.
Yeterince konuşma, yeniden yönlendirme operatörünün nasıl çalıştığını bir örnekle görelim.
Yönlendirme operatörünün sözdizimi şöyledir:
komut yönlendirme_operatörü dosyası
Burada komut, bir dizge çıktısı verecek olan terminal komutudur ve dosya, bu çıktıyı kabul edecek asıl dosyadır. Kullanılabilir birkaç yeniden yönlendirme operatörü vardır, ancak kapsamımızı dosyalara yazmakla sınırlayalım.
Bunu yapmak için iki yeniden yönlendirme operatöründen birini kullanabiliriz, yani, > ve >>
Aşağıdaki ekran görüntüsünde nasıl çalıştığını görebilirsiniz. Terminalde cat komutunu kullanarak dosyanın başlangıçta boş olduğunu gösterdim, ardından echo komutunu kullanarak dosyaya içerik ekledim ve son olarak cat komutunu kullanarak içeriği yazdırdım.
The > operatör üzerine yazma modunda çalışır. Bu, şu anlama gelir: > bir dosyaya içerik yazmak için operatör, önceki içeriğinin üzerine yazılacak. Bu, aşağıdaki ekran görüntüsünde gösterilmiştir. Görüldüğü gibi eski içerikler yenisi ile değiştirilmiştir.

Şimdi bariz soru, mevcut içeriği değiştirmek istemiyorsanız ne olur? Pekala, tam da bunu yapan yeniden yönlendirme operatörünün bir sürümü var.
Bir dosyaya eklemek için, kullandığımız > yerine >>
İşte sözdizimi:
komut >> dosya adı
Ve içeriğin eklendiği aşağıdaki ekran görüntüsünde örnek bir kullanım görebilirsiniz. Oldukça temiz değil mi? Bir metin düzenleyiciyle aynı esnekliği sağlamadığını kabul ediyorum, ancak daha küçük kullanım durumları için işi oldukça iyi yapıyor.

Pekala, ilerleyin!
Artık bir dosyaya nasıl içerik ekleneceğini ve nasıl görüntüleneceğini bildiğimize göre, dosya sisteminde dosyaları nasıl bulacağımızı öğrenmeye ne dersiniz?
Komutu bul
Dosya sisteminizdeki dosyaları aramak için find komutunu kullanıyoruz. Komut temelde iddia ettiği şeyi yapar. Belirli bir dosya adını veya normal ifade modelini bulur.
Bunun için temel sözdizimi aşağıdaki gibi olacaktır:
path -name ifadesini bul
Her zaman olduğu gibi, yer tutucuları kendi değerlerinizle değiştirin.
The yol find komutuna verilen dosyanın hangi dizinde aranacağını söyler. NS isim seçeneği, aramanın eşleşmesi gereken bir kalıp belirtir.
Örnek bir kullanımda find komutunun nasıl çalıştığını görelim.

Aşağıda örnek çıktıda görüldüğü gibi, komut herhangi bir . Exe Dosya sistemimdeki dosyalar ve konsola çıktılar.Artık daha karmaşık manipülasyon komutlarından bazılarına sahip olduğumuza göre, bir adım daha ileri gidelim.
Şimdi bir dosyanın içindeki şeyleri nasıl arayabileceğimize bir göz atacağız.
grep Komutu
grep şu anlama gelir Küresel Normal İfade ve bunu gelecekteki bir gönderide ele alacak olsak da, bunun ne anlama geldiğinin temel açıklaması, bunun yalnızca bir eşleşme bulmak için dizeleri kontrol etmek için grep'in kullandığı bir şablon olduğudur. Çok mantıklı gelmiyorsa endişelenme. Bölüm 3'te kapsamlı bir şekilde ele alacağız.
Pekala, grep'i test edelim. İşte testimizin sözdizimi:
grep -i "eşleşecek dize" dosyaadı.uzantı
The - Ben seçenek, grep'e büyük/küçük harf durumunu göz ardı etmesini söyleyecektir, bu nedenle “HO” “ho” ve “hO” aynı kabul edilecektir. Eşleşecek dize tırnak işaretleri altında belirtilir ve ardından dosya adı gelir.

Pekala, bir demoda grep komutunun nasıl olduğunu görelim.Yukarıda görüldüğü gibi, örneğimde grep'in hem büyük/küçük harfe duyarlı hem de büyük/küçük harfe duyarlı olmayan modda kullanımı gösteriliyor.
Bu noktada, bir komut için farklı kombinasyonlar ve onunla birlikte gitmek için çeşitli seçenekler olduğunu belirtmekte fayda var. Burada yaptığım şey, size çoğu basit durumda işe yarayacak genel bir yuvarlatılmış kullanım durumu vermek, ancak hepsini bir araya getirmek istemeniz durumunda, birlikte kullanmak için mevcut tüm seçenekleri bulmak için kesinlikle komuta bir adam yapabilirsiniz. emretmek.
Şimdi, 2 farklı dosyayı satır satır gerçekten nasıl karşılaştırabileceğimizi görelim.
fark Komutu
2 dosyanın ne kadar farklı olduğunu görmek için (anladın mı?) diff komutunu kullanıyoruz. Nasıl çalıştığını anlamak için onu çalışırken görmek daha iyidir, o yüzden hemen girelim.
İşte diff komutunun sözdizimi:
fark dosyası1 dosya2
Ve işte diff Linux komutunun bir örnek kullanımı:

İlk bakışta tam bir anlam ifade etmeyebilir, bu yüzden çıktıyı parçalayalım.
diff çıktısının ilk satırı şunları içerecektir:
- ilk dosyaya karşılık gelen satır numaraları
- bir harf (a eklemek için, c değiştirmek için veya silmek için d)
- ikinci dosyaya karşılık gelen satır numaraları.
Yukarıdaki çıktımızda, “1,3c1” anlamına geliyor: "İlk dosyadaki 1'den 3'e kadar olan satırlar, ikinci dosyadaki satır 1 ile eşleşecek şekilde değiştirilmelidir." Daha sonra bize her dosyada bu satırların ne olduğunu söyler:
- Önünde < olan satırlar, ilk dosyadaki satırlardır.
- Başında > bulunan satırlar, ikinci dosyadaki satırlardır.
Devam edersek, belirli bir dosyada tekrarlanan satırları nasıl bulabileceğimizi göreceğiz.
tek komut
uniq komutu, tekrarlanan satırları sayıları ve diğer benzer ayrıntılarıyla birlikte bulmak için kullanılır. Onu yönetirseniz, bir dosyada tekrarlanan satırları filtrelemek veya raporlamak için kullanıldığını söylüyor. Hemen hemen tüm komutlarda olduğu gibi, uniq komutu da onunla birlikte gitmek için bir sürü seçeneğe sahiptir.
Ancak, kısa olması ve tek bir komut hakkında çok fazla şey öğrenmek yerine daha fazla sayıda komut öğrendiğinizden emin olmak için, sadece minimal bir örnek çizeceğiz ve man komutunu kullanarak daha fazla kazabilirsiniz.
Pekala, işte uniq komutunun sözdizimi:
uniq -options dosya adı
Şimdi Linux'ta uniq komutunun nasıl çalıştığını öğrenmek için bir örnek görelim.

Örneği gerçekten hızlı bir şekilde parçalayalım. NS -c seçeneği, uniq komutuna bir saymak çıktı ile birlikte ve bir sonraki seçenek Dosya uniq'e sağlanır.
Yukarıdaki örnekte görebileceğiniz gibi, bizim durumumuzda 2 olan tekrarlanan satırların sayısını yazdırdı.
Bu, dosyalar üzerinde çalışabildiğinizden emin olmak için bilmeniz gereken tüm komutlar için bunu yapmalıdır, ancak şimdiye kadar ele almadığımız çok önemli bir kısım var ve bu, erişim haklarıyla ilgili.
Gerçek dünyada gördüğünüz gibi, tüm dosyalarınızın küresel bir okuma-yazma erişimine sahip olmasını istemezsiniz, yani herkes bir dosyada yürüyebilir ve üzerinde düzenlemeler yapabilir. Bazı dosyaların kurcalanmaya karşı korunması gerekir. İşte tam bu noktada erişim denetimi devreye giriyor ve Linux ve Unix, bu sonraki komutla onu şaşırtıcı derecede iyi yönetiyor.
chmod Komut
Chmod komutu, değişiklik modu anlamına gelir ve temel olarak, bir dosyaya nasıl erişilebileceğini ve dosyaya kimin erişebileceğini değiştirmenize olanak tanır.
chmod'un sözdizimi oldukça basittir ve şöyle görünür:
chmod -options izinleri dosya adı
Seçenekler ve dosya adının detaylandırılması gerekmese de, izinleri kısmı biraz açıklamaya ihtiyaç duyuyor.
Linux'ta dosya izinleri 3 civarında döner kapsamları, kullanıcı, grubu, ve diğerleri. İzinler sırayla 3 türdür okuma, yazmak, ve yürütmek. Yani her kapsamın, her birinde 3 izin bulunan toplam 3 kapsam kümesi oluşturan 3 izni vardır.
Bunu akılda tutarak, size chmod'un nasıl çalıştığını gösteren örnek bir kullanım:
chmod u=rwx, g=rx, o=r dosyaadı.txt
İşte u için standlar kullanıcı, g için Grup ve o için diğerleri. Ve = işareti, izin atamak için kullanılır oku (r), yaz (w), ve yürütmek (x) her bir kapsam için. Virgül her atamayı ayırır.

İzinleri atamak için bir kısayol var ve sekizli gösterimi kullanıyor. Sekizli gösterimde:
- 4 okumak için duruyor
- 2 yazmak için duruyor
- 1 yürütme anlamına gelir
- 0 izin yok anlamına gelir
Yani yukarıdaki gösterime göre sayı 7 okuma yazma ve yürütme izni verecek (4 + 2 + 1). Buna göre karıştırabilir ve eşleştirebilirsiniz ve işte sekizli gösterimi kullanan örnek bir kullanım durumu:
chmod 755 yıldız savaşları.txt

Bu örnekte, starwars dosyasında şunlar bulunur:
- kullanıcı için okuma, yazma ve yürütme izni.
- grup için okuyun ve yürütün.
- başkalarını yürütmek.
Peki! gönderinin dosya işleme bölümünün sonuna yaklaşıyoruz. Bu son komut, bir dosyayı arşivlemenize/bir dosyayı sıkıştırmanıza izin verecektir. Bir dosyayı arşivlemek, bir grup dosyayı sistemler arasında dolaşmak ve onları bozmaktan kaçındığınızdan emin olmak istediğinizde kullanışlıdır.
katran Komutu
Tar komutu, teyp arşivi anlamına gelir ve arşivlenmiş dosyaları işlemenizi ve çıkarmanızı sağlar.
İşte nasıl çalıştığını görmek için komutun temel sözdizimi:
tar -options dosyaadı1 dosyaadı1 …. dosya adıN
Birkaç seçenekle örnek bir kullanım görelim. Örnekle oynamanız ve ardından daha ilginç kullanım örneklerini ortaya çıkarmak için kendiniz keşfetmeniz şiddetle tavsiye edilir.
tar -c -f sıkıştırılmış.zip hayalet.txt starwars.txt

Hadi parçalayalım. NS -c ve -f komutlar, birçok listeden sadece birkaçıdır, ancak işte yaptıkları şey. NS -c seçenek komutu söyler yeni bir arşiv oluştur ve -f için kullanılır dosya adını belirtin bu durumda sıkıştırılmış.zip olan arşiv için tar komutu arşivler oluşturabilir .zip, .tar, .rar ve diğer formatlar, bu nedenle ihtiyaçlarınıza uygun olanı seçtiğinizden emin olun.
Artık dosyaları nasıl sıkıştıracağınızı bildiğinize göre, onları nasıl çıkaracağınızı görelim. kullanıyoruz -x ve -f bir dosyayı ayıklamak için tar komutundaki seçenekler, -x seçenek tar'a söyler dosyayı aç ve -f için kullanılır dosya adını belirtin aşağıdaki örnekte gösterildiği gibi:

Pekala, sonunda gönderinin dosya işleme bölümünü geçtik. Yaşasın! Buraya kadar gelmekle harika bir iş çıkardın. Şimdi süreçlerden bahsedeceğiz.
Linux terminolojisinde süreç, şu anda yürütülmekte olan ve belirli bir görevi yerine getiren bir programdır. Süreçler dinamiktir ve kullanıcı uygulamalar arasında geçiş yaptıkça sürekli değişir.
The Linux belgeleri süreçler hakkında çok detaylı konuşuyor ve bu gönderiyi bitirdikten sonra okumanızı tavsiye ederim.
Artık bir sürecin ne olduğunu bildiğimize göre, onları nasıl göreceğimizi görelim.
ps Komutu
ps komutu, bir makinede şu anda hangi işlemlerin yürütüldüğünü görmemizi sağlar. Çeşitli seçeneklerle birlikte gelir, ancak şu anda kök olarak çalışan tüm işlemleri gösteren minimum bir kullanım.
Sözdizimi aşağıdaki gibidir
ps -seçenek
Bizim durumumuzda, kullanacağız -u seçeneğini gösterecek olan Kök olarak çalışan işlemler.

Artık süreçleri nasıl göreceğinizi bildiğinize göre, onları nasıl öldüreceğinizi öğrenmeye ne dersiniz?
Komutu öldür
Kill komutu, oturumu kapatmadan veya bilgisayarı yeniden başlatmadan belirli bir işlemi öldürmek veya sonlandırmak için kullanılır. Kill komutunun aslında bir süreci öldürmediğini, sadece bir sürece bir sinyal gönderdiğini ve sinyalin sürece ne yapılması gerektiğini söylediğini belirtmekte fayda var. Varsayılan olarak, bir sinyal belirtilmediğinde bir sinyal 15 denilen SİGTERM sürece gönderilir ve bu başarısız olursa daha güçlü bir sinyal 9. SIGKILL sürece gönderilir, ancak çoğu normal kullanım durumunda, bir işlemi öldürmek için belirtmeniz gereken tek şey, PID.
İşte kill komutunun sözdizimi:
[sinyal veya seçenekler] PID'leri öldür
Ve işte bir demo:

Bir işlemi öldürürken çok dikkatli olun. Sistem açısından kritik bir işlemi kapatmak, makinenizin anormal davranmasına neden olabilir. Yine de bunu başarabilirseniz, normal çalışmasını geri yüklemek için sisteminizi bir kez yeniden başlattığınızdan emin olun.
Pekala, şimdi terminal komutlarıyla bazı temelleri ele aldığımıza göre, bir dosyaya değişiklik yapmanın/içerik eklemenin kolay bir yolundan bahsedelim. Hepimiz Visual Studio Code veya Atom gibi metin düzenleyiciler kullanıyoruz, ancak bu dizinin amacı hepinizi terminalde rahat ettirmek olduğundan, neden terminalin içindeki temel bir düzenleyiciyi keşfetmeyesiniz?
nano Komut
Nano (güven bana) anlamına gelir Nano'nun YILther editörü ve terminal içindeki dosyaları düzenlemenize izin veren ücretsiz, hafif ve açık kaynaklı bir editördür.
Nano'yu çağırmak/nano'da bir dosya açmak için aşağıdaki sözdizimindeki komutu yazın:
nano DOSYAADI
Dosya varsa, nano dosyayı açar, olmaması durumunda ise bu adla yeni bir dosya oluşturup açar. Editörün kendisi oldukça minimaldir ve büyük (ve nefret edilen) kardeşi Vim/Vi'nin aksine, herkesin bildiği zor komutlarla sizi çıldırtmaz. Dosya içinde gezinmek için normal ok tuşlarını kullanırsınız. İçeriği kaldırmak için sil/geri al tuşunu kullanmaya devam edersiniz ve panonuzu işlemek için tanıdık Ctrl+C, Ctrl+V vb. tuşlarını kullanırsınız.

Editör, editörden çıkmak gibi en çok kullanılan işlemleri ekranın alt yarısında sizin için düzenler. Ctrl+X'i kullanarak çıkmadan önce yaptığınız değişiklikleri kaydetmeniz istenecektir. Elbette Vim daha uzun süredir var ama benim kişisel görüşüme göre, hippi kültürüne geçişten başka bir şey değil. Vim'de profesyonel olmaktan en fazla kazanabileceğiniz şey bir övünmek olacaktır ve iş orada biter. Vim'in nasıl kullanılacağını öğrenmek için değerli zamanlarını boşa harcaması için kesinlikle hiçbir neden yok. Bununla birlikte, nihayet Bölüm 2'nin sonuna ulaştığımız söyleniyor.
Orta Düzey Kullanıcılar için Linux Komutları: Özet
Linux Hands On serisinin 2. Kısmında, attığımız temelin üzerine inşa ettik. Bölüm 1. Dosyaları ele alıp manipüle etmekle uğraştık. Ayrıca süreçler ve onları nasıl öldüreceğimiz adı verilen yepyeni bir kavram öğrendik. Ve bu bölümü Nano metin düzenleyicisine genel bir bakışla kapattık. Bu hafta için hepsi bu kadardı. Gelecek hafta Bölüm 3 ile dönene kadar, bu gönderide paylaşılan komutla oynamak için kendinize yeterli zaman ayırdığınızdan emin olun. Dışarıdaki komutların sayısı sizi bunaltmasın, bunların kas hafızasına dönüşmesi uzun zaman alır. Bu gerçekleşene kadar, uygulamalı deneyim en iyi arkadaşınızdır.
manas chaudhary
Bu Linux serileri için teşekkürler. Bunu tamamen yaşadım ve gerçekten faydalı buldum. Özellikle videolar. Bazen makaleyi takip etmek zor oluyor, bu yüzden videoyu indirip öğrendim. Şimdi, içinde bir şeyler yapmaya başlamak için iyi miktarda Linux bildiğimi hissediyorum. Bu yazılar için teşekkür ederim bana çok yardımcı oldu.