Linux'u “Öğrenmek” [kapalı]


10

Uzun zamandır bilgisayarlarla ilgileniyorum ve Linux içeren birçok şeyle uğraşıyorum. Red Hat ile gençken (13 yaşlarında) başladım ve tüm verileri kaybettim, FAT32 sürücüsünü başka bir şeye dönüştürdüm. Daha sonra kurtarma ve benzeri konularda gerçekten yardımcı olan Knoppix idi. Sonra Ubuntu'ydu. Ayrıca, Arch ile bir süre uğraştım, ama beğenime göre çok sık kırılıyor (belki daha dikkatli olmalıydım).

Her neyse, şu anda Ubuntu 9.04 kullanıyorum. Şimdi Linux dünyasının derinliklerine inmek istiyorum. İşlerin nasıl çalıştığını öğrenmek ve terminali daha fazla kullanmak istiyorum. Ben de bir programcıyım, bu yüzden çok yardımcı olacak.

Yani, sormak istediğim şey:

  • Linux öğrenmek ve anlamak için iyi kitaplar

  • Linux'u daha verimli kullanmak için iyi alışkanlıklar.

  • Bilmem gereken iyi araçlar.

  • Her gün yeni şeyler öğrenmek için ayırdığınız zaman miktarı.

  • Bir programcı olarak Linux'u nasıl verimli bir şekilde kurar ve kullanırsınız?

Uzun liste. Cevaplayanlara minnettar olacağım.

Yanıtlar:


9

Bana göre, Linux hakkında bana en çok öğrettiğimi düşündüğüm şey bir Gentoo kurulumu yapmaktı.

Deneyimsiz olanlar için, Gentoo'nun kendi başına bir yükleyici yoktur, bunun yerine bir önyükleme görüntüsü indirir, el ile birimler ve dosya sistemleri oluşturursunuz, sonra size bir çalışma sistemi vermek için birçok kaynak kodu derlemeye başlarsınız.

Çok fazla değişmediğini varsayarak Gentoo'yu kullandığımdan bu yana birkaç yıl geçti, kesinlikle öğrenmeye istekli herkese tavsiye ederim.

Belgeleri ve destek forumlarını kullandığımda hiçbiri ikinci değildi.


2
Gentoo'nun 1. ila 5. yüklemeleri, Linux'un ve dağıtımların iç işleyişini gerçekten öğrendiğim zamandır.
RateControl

Duy, duy! Gentoo hevesli öğrenciler için harika! +1
wzzrd

5
  1. "Linux Format" ve "Linux Journal" gibi dergiler. Kitapçılardan satın alınabilir, abone olabilir veya internette bulunabilirler. Linux Formatının eski sayıları http://www.linuxformat.com/modules.php?op=modload&name=NewArchives&listpdfs=1 ve Linux Journal'ın eski sayıları http://www.linuxjournal.com/magazine adresindedir .

  2. Linux Journal / Tux Radar "Linux Başlangıç ​​Paketi" ni edinin. 130 sayfalık saf kazanç. Geçiş yapan bir Windows kullanıcısının yarasadan bilmek isteyebileceği hemen hemen her şeyi kapsar. Hiç de kullanılabilir http://www.tuxradar.com/linuxstarterpack .

  3. Bir foruma katılın. Ubuntu'yu kullandığınız için http://ubuntuforums.org/ ile başlamanızı tavsiye ederim . Bir diğer önemli forum da www.LinuxQuestions.org. ServerFault da çalışır. ;)

  4. Kural Kılavuzu'nu okuyun. Komut satırında size yardımcı olacak ve diğer biçimlendirici Linux kavramlarını tanıtacaktır. http://rute.2038bug.com/

  5. "Man program-name" ve "info program-name" gibi komutlar paha biçilmezdir.

  6. Ve elbette, her zaman soru sormaktan çekinmeyin. Bir işletim sistemini öğrenmenize yardımcı olacak birine sahip olmak her zaman süreci kolaylaştırır, bu yüzden mümkünse bir danışman bulun.



3

Bir terminalde nasıl geçeceğinizi öğrenin. Bu, grep ve sed gibi navigasyon, borulama ve Unix programlarının iplerini öğrenmek anlamına gelir. Ubuntu ve diğer dağıtımlar Linux'u giderek daha kullanıcı dostu hale getiriyor, ancak günün sonunda öğrenme için en büyük nimet CLI köklerinde yatıyor.

Bu web sitesi bir avuç iyi kabuk dersleri var.


Yararlı olacak herhangi bir kitap var mı?
Strider

2

UNIX Ortamında Gelişmiş Programlama tavsiye ederim. Bu, UNIX için genel sistem programlama hakkında mükemmel bir kitap.


2

Kendinizi tekrarlama felsefesini kullanın. Terminal ile ortak görevler yapın: kopyalama, oluşturma, taşıma, dosyaları kaldırma, içindeki bilgileri arama (grep kullanma), dosya arama (bulma) vb. Tüm bu komutları birbiriyle artı bash komut dosyası ve awk ile birleştirmeye çalışın. Bu size iyi bir uygulama getirecek ve Linux gücünü hissedeceksiniz :-).

Örneğin, herhangi bir deseni matematikle adlandıran bazı dosyaları kaldırmanız gerekiyorsa, her klasörü arayabilir ve manuel olarak silebilirsiniz. DRY geliyor - sadece bul ve rm'yi birleştirin ve bunu bir terminal hattıyla yapacaksınız.

Ayrıca, daha önce yayınladığı gibi, bir ev sunucusu kurun. İnternet'i paylaşın, web sunucusu çalıştırın, ağ yazıcısını yapılandırın vb.


2

ls / bin, / usr / bin, / sbin ve / usr / sbin. Sonra gördüğünüz her komut için kılavuz sayfalarını tarayın / okuyun. Bir tür dahi olmadıkça hepsini hatırlamayacaksın. Ancak sizi sisteminizdeki komutların çoğuna maruz bırakacak ve ne yaptıkları hakkında belirsiz bir fikriniz olacak. Daha sonra bir şey yapmanız gerektiğinde umarım alakalı olabilecek komutları hatırlarsınız.

Ayrıca sonunda diğer MAN sayfalarını da okumak isteyeceksiniz.

Yardım masası üzerindeyken yaptığım şey buydu ama hiçbir çağrı gelmedi ve bunu son derece yararlı buldum.


2

Biraz kenar çubuğu ipucu, ama Mnemosyne (apt-get install mnemosyne), kullanışlı Linux komutları ve karşılaştığım ipuçları için flash kartlar oluşturmak için kullanıyorum. Haftada birkaç kez, birden fazla flash kartı çeviriyorum ve onları aklımda tutmaya çalışıyorum.

Kilometreniz değişebilir, ancak günlük olarak kullanamayacağım komutları tutmanın iyi bir yolu olduğunu gördüm, böylece onlara ihtiyacım olduğunda bunları hızlı bir şekilde hatırlayabilirim (veya en azından hangi man sayfalarının incelendiğini biliyorum) .

Bunu Vim tuş vuruşları, Python API'leri vb.Gibi diğer şeyler için de yaparım.


2

Linux'a girmenin iyi bir yolu temelde onu kullanmaktır.

Linux'un gücü komut satırında. Linux'u çok kullandığınızda, muhtemelen komut satırına çok yakında gireceksiniz. GUI'de tekrarlayan görevler yapmak, bir şeyler yapmanın daha iyi bir yolu olup olmadığını merak etmenizi sağlar. Bu şekilde komut satırı arayüzünü kullanarak yavaşça daha rahat olursunuz.

Okulda C öğretildiği zaman Emacs'ta programlar yazdık ve bunları komut satırında derledik. Bu, komut satırında daha rahat çalışmamı sağladı ve ilerledikçe yeni numaralar öğrendim. Ayrıca C öğrenirseniz, Linux'un nasıl kurulduğu ve çoğunlukla C'de yazıldığı gibi nasıl çalıştığı konusunda derinlemesine bilgi edinebilirsiniz.


1

İyi bir genel kitap "Unix Programlama Sanatı" dır. Unix ve Linux, biraz farklı olmalarına rağmen aynı felsefeleri paylaşırlar.

Bunun dışında bir kabuk (bash gibi) öğrenmenizi ve Perl veya Python gibi bir betik dili öğrenmenizi tavsiye ederim. Bir kabuk öğrenmek için, adam sayfalarıyla başlarım ve belki bir kitap seçerdim (O'Reilly kitapları iyidir).



1

Linux'u verimli bir şekilde bir programcı olarak kullanmayı sordunuz - bu durumda kabuk komut dosyası oluşturmanın gerekli olacağını düşünmüştüm (parametrelerin içeri veya dışarı nasıl aktarılacağını bilmek ya da mevcut tarafından zaten yapılabilecek bir şeyi başarmak için kod yazmaktan kaçınmak) commamnds). O'Reilly "Klasik Kabuk Betiği" referansını deneyin.


1

Linux kullanıcısı

Programcı birçok Linux komut satırı aracını bulur. Bunlardan birkaçı:

  • ls -lrt
  • bul - hepsini okumak için çok uzun. Referans olarak kullanın.
  • xargs
  • bash - hepsini okumak için çok uzun. Referans olarak kullanın.
  • tuvalet
  • crontab

Orta düzey Linux kullanıcıları için birçok kitap vardır ve ileri düzey olanlar için iyi kitaplar yoktur. Linux'a girmek için aşağıdaki uygulamayı kullandım:

  • İlk önce bir ders alırsınız veya yeni başlayanlar için bir kitap okursunuz. Hiçbir GUI süreç içerisinde incelenmemelidir.
  • Bir sonraki adımda uygulamaya ihtiyaç vardır. PC'nizi veya sunucunuzu kullanın ve günlük görevleri gerçekleştirmek için gereken komutları inceleyin. İhtiyacınız olan şeyi hangi komutun yaptığını bilmiyorsanız, yetkili arkadaşınıza veya topluluğunuza sorun.
  • Üçüncüsü kabuk betikleri geliyor. Sadece günlük görevleri otomatikleştirmek için iyi bir fırsat sağlamakla kalmaz, aynı zamanda interaktif kabuğun verimli bir şekilde kullanılması için gerekli deneyimi sağlar.

Linux yönetimi ve yapılandırması aynı şekilde yapılır, ancak daha fazla Google'a sahip olma eğilimindedir.


1

Gençken SuSE ile başladım. Daha sonra benim için Knoppix oldu. Sonra Ubuntu'ydu ve şu anda Ubuntu 9.04 kullanıyorum.

Linux hakkında bildiğim her şeyi internetten ve arkadaşlardan öğrendim.

Linux'u daha iyi öğrenmeme ve anlamama yardımcı olan tek kitap Andrew S. Tanenbaums Modern İşletim Sistemleri .


1

Linux'u tanımanın iyi bir yolu onunla bir şeyler yapmaktır. Evde veya sanal bir makinede internet bağlantınızda bir Linux kutusu kurmayı deneyebilirsiniz.

Birkaç sunucu uygulaması kurmayı deneyin:

  • web sunucusu (ör. apache)
  • içerik yönetim sistemi (örn. drupal)
  • veritabanı (ör. mysql)
  • spam filtreli posta sunucusu (ör. kurye) (ör. spamassassin)

Bu, yaygın Linux araçlarını ve uygulamalarını tanımanıza yardımcı olacaktır.


0

Kitaplar iyi olabilir, ama kendinize bir insan akıl hocası bulmaya çalışın. Ben gençken, bir unix sistemleri yöneticisinin bana ipleri göstermesi için yeterince şanslıydım, altında birkaç yıl çalıştıktan sonra bile bilgilerini geçtim.

Unix garip bir canavar, 10 unix yöneticisinden bir eylem gerçekleştirmesini isteyebilirsiniz ve muhtemelen 10 farklı cevap alırsınız. Olası cevapların hiçbiri yanlış olmayacaktır, çünkü araç o kadar esnektir ki işleri birden fazla şekilde yapabilir.

kesinlikle bir şeyler yapmanın 'tek microsoft yolu' değil :-)

Okurken kavramlara takılırsanız bazen freenode irc kanalları çok yardımcı olabilir. Onlara bir göz atın, eğer dost canlısı iseniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.