50'den Fazla Temel Linux Komutu: Kapsamlı Bir Kılavuz

0 Hisse senetleri
0
0
0
0

giriiş

 

Temel Linux komutlarına dair bu kapsamlı rehberle Linux sisteminizin tüm potansiyelini ortaya çıkarın. İster deneyimli bir yönetici ister acemi olun, bu komutlarda ustalaşmak verimli sunucu yönetimi, komut dosyası oluşturma ve sorun giderme için olmazsa olmazdır. Bu eğitimde, dosya yönetimi, işlem kontrolü, kullanıcı erişimi, ağ yapılandırması ve sistem hata ayıklama için en sık kullanılan ve güçlü komutları öğreneceksiniz.

Sizi güçlü bir Linux kullanıcısı yapacak 50'den fazla temel Linux komutunu öğreneceksiniz. Başlangıç seviyesinden ileri seviyeye kadar bu komutlar, her şeyi başarmanız için kullanacağınız araçlar haline gelecek.


Ön koşullar

Bu komutları bir Ubuntu sunucusunda çalıştıracağız, ancak bu eğitimi herhangi bir modern Linux dağıtımında takip edebilirsiniz. Ubuntu'da ilk kez sunucu kurma rehberimizi takip ederek bu eğitim için bir Ubuntu sunucusu kurabilirsiniz.

  1. ls – Linux'ta dizinleri listelemek için en sık kullanılan komuttur.
  2. pwd – Linux'ta çalışma dizinini yazdırma komutu.
  3. cd – Dizinler arasında gezinmek için kullanılan Linux komutu.
  4. mkdir – Linux’ta dizin oluşturmak için kullanılan komut.
  5. mv – Linux'ta dosyaları taşıyın veya yeniden adlandırın.
  6. cp – mv'ye benzer ancak Linux'ta dosya kopyalamak içindir.
  7. rm – Dosyaları veya dizinleri siler.
  8. dokunma – Boş/tam dosyalar oluştur.
  9. ln – Diğer dosyalara sembolik bağlantılar (kısayollar) oluşturur.
  10. temizle – Terminal ekranını temizle.
  11. cat – Terminalde bir dosyanın içeriğini görüntüler.
  12. echo – Komutu takip eden herhangi bir metni yazdır.
  13. less – Terminalde sayfalanmış çıktıyı görüntülemek için Linux komutu.
  14. man – Tüm Linux komutlarının kılavuz sayfalarına erişin.
  15. uname – İşletim sistemi hakkında temel bilgileri almak için kullanılan Linux komutu.
  16. whoami – Aktif kullanıcı adı al.
  17. tar – Linux'ta dosyaları çıkarma ve sıkıştırma komutu.
  18. grep – Çıktıda bir dize arar.
  19. head – Yukarıdan itibaren belirtilen satır sayısını döndürür.
  20. tail – Alttan itibaren belirtilen satır sayısını döndürür.
  21. diff – İki dosya arasındaki farkları bulun.
  22. cmp – İki dosyanın aynı olup olmadığını kontrol etmenizi sağlar.
  23. comm – diff ve cmp fonksiyonlarını birleştirir.
  24. sort – Bir dosyanın içeriğini çıktı olarak alırken sıralamak için kullanılan Linux komutu.
  25. export – Linux'ta ortam değişkenlerini dışa aktarır.
  26. zip – Linux'ta dosyaları sıkıştırır.
  27. unzip – Linux'ta dosyaların sıkıştırılmış halini açar.
  28. ssh – Linux'ta Güvenli Kabuk komutu.
  29. servis – Servisleri başlatmak ve durdurmak için Linux komutu.
  30. ps – Etkin işlemleri göster.
  31. kill ve killall – İşlem kimliğine veya adına göre etkin işlemleri sonlandırır.
  32. df – Disk dosya sistemi bilgilerini görüntüler.
  33. mount – Linux'ta dosya sistemlerini bağlar.
  34. chmod – dosya izinlerini değiştirme komutu.
  35. chown – Dosya veya klasörlerin sahipliğini verme komutu.
  36. ifconfig – Ağ arayüzlerini ve IP adreslerini görüntüler.
  37. traceroute – Bir hedefe ulaşmak için tüm ağ yollarını izleyin.
  38. wget – Dosyaları doğrudan internetten indirin.
  39. ufw – Güvenlik duvarı komutu.
  40. iptables – Diğer güvenlik duvarı araçlarının iletişim kurması için temel güvenlik duvarı.
  41. apt, pacman, yum, rpm – dağıtıma bağlı olarak paket yöneticileri.
  42. sudo – Linux'ta yetkileri arttırma komutu.
  43. cal – Takvim komut satırını görüntüle.
  44. takma ad – Sık kullandığınız komutlar için özel kısayollar oluşturun.
  45. dd – Genellikle önyüklenebilir USB flash sürücüler oluşturmak için kullanılır.
  46. whereis – Bir komutun ikili, kaynak ve kılavuz sayfalarını bulun.
  47. whatis – Bir komutun ne için kullanıldığını öğrenin.
  48. üst – Aktif süreçleri sistem kullanımlarıyla birlikte canlı olarak görüntüleyin.
  49. useradd ve usermod – Yeni bir kullanıcı ekleyin veya mevcut kullanıcı verilerini değiştirin.
  50. passwd – Mevcut kullanıcılar için parola oluşturun veya güncelleyin.

Dosya ve dizin komutları

EmretmekTanımÖrnek
lsDizin içeriğini listele.ls
CDDizin değiştir.cd /yol/dizin
engelliGeçerli dizini göster.engelli
mkdirYeni bir dizin oluşturun.mkdir yeni_dizin
rmdirBoş bir dizini kaldırın.rmdir boş_dizin
rmDosyaları veya dizinleri silin.rm dosyası.txt
dokunmakBoş bir dosya oluşturun.yeni_dosya.txt'ye dokunun
c.p.Dosyaları veya dizinleri kopyalayın.cp file.txt /path/to/destination
mvDosyaları taşıyın veya yeniden adlandırın.mv dosyası.txt /yol/yeni_konum
kediDosya içeriğini görüntüle.cat dosyası.txt
nano / vimTerminalde dosyaları düzenleyin.nano dosyası.txt
bulmakBir dizin hiyerarşisindeki dosyaları arayın..-name "dosya.txt" dosyasını bul"
grepDesenleri kullanarak metin arayın.grep "desen" dosyası.txt
katranDosyaları arşivleyin ve sıkıştırın.tar -cvf arşiv.tar dosyası1.txt dosya2.txt
dfDosya sistemlerinin disk kullanımını göster.df
duDizin/dosya boyutunu göster.du -sh /yol/dizin
chmodDosya izinlerini değiştirin.chmod 755 dosya.txt
chownDosya sahibini değiştir.chown kullanıcısı:grup dosyası.txt
dağBir dosya sistemini bağlayın./dev/sdb1 /mnt'yi bağlayın
umountBir dosya sistemini ayırın./mnt'yi kaldır

Ağ komutları

EmretmekTanımÖrnek Kullanım
pingBir ana bilgisayara bağlantıyı test edin.google.com'a ping at
ifconfig /ip aAğ arayüzlerini görüntüle.ifconfig veya IP adresi
netstat /ssAğ bağlantılarını göster.netstat -tuln veya ss -tuln
wgetDosyaları HTTP/FTP üzerinden indirin.wget http://example.com/file.zip
bukleURL sözdizimini kullanarak veri aktarımı yapın.curl -O http://example.com/dosya.zip
nc (Netcat)Ağ hata ayıklama ve veri aktarımı.nc -zv 192.168.1.1 80
tcpdumpAğ paketlerini yakalayın ve analiz edin.tcpdump -i eth0
iptablesGüvenlik duvarı kurallarını yapılandırın.iptables -A GİRİŞ -p tcp --dport 22 -j KABUL ET
izleme yoluPaketlerin ağ ana bilgisayarına ulaşana kadar izlediği yolu izleyin.traceroute example.com
nslookupAlan adı veya IP adresi eşlemesini elde etmek için DNS sorgusu yapın.nslookup example.com
sshUzak bir ana bilgisayara güvenli bir şekilde bağlanın.ssh kullanıcısı@example.com

İşlem ve sistem izleme komutları

EmretmekTanımÖrnek Komut
not:Çalışan işlemleri göster.ps aux
tepeDinamik süreç görüntüleyicisi.tepe
htopÜstün geliştirilmiş versiyonu.htop
öldürmekBir işleme sinyal gönderin.öldürmek
öldürİşlemleri ismine göre sonlandır.öldür
çalışma süresiSistem çalışma süresi ve yükü.çalışma süresi
kimsinŞu anda oturum açmış kullanıcı.kimsin
çevreOrtam değişkenlerini görüntüle.çevre
straceBir sürecin sistem çağrılarını izleyin.strace -p
sistemctlSystemd servislerini yönetin.systemctl durumu
günlükctlSistem kayıtlarını görüntüleyin.journalctl -xe
özgürBellek kullanımını görüntüle.ücretsiz -h
vmstatSanal bellek istatistiklerini bildirin.vmstat 1
iyostatCPU ve G/Ç istatistiklerini raporlayın.iyostat
lsofAçık dosyaları işlemlere göre listele.lsof
dmesgÇekirdek halka tampon mesajlarını yazdır.dmesg

Kullanıcı ve izin yönetimi komutları

EmretmekTanımÖrnek Komut
şifreKullanıcı şifresini değiştir.şifre
adduser / useraddYeni bir kullanıcı ekleyin.adduser veya kullanıcı ekle
deluser / userdelBir kullanıcıyı silin.deluser veya kullanıcıdel
kullanıcı moduKullanıcı hesabını değiştir.kullanıcımod -aG
gruplarGrup üyeliklerini göster.gruplar
sudoKomutları root olarak çalıştırın.sudo
değiştirmekKullanıcı şifresinin son kullanma tarihini değiştir.değiştir -l
İDKullanıcının kimlik bilgilerini görüntüle.İD
yeni grupYeni bir gruba giriş yapın.yeni grup

Dosya aktarımı ve senkronizasyon komutları

EmretmekTanımÖrnek Komut
SCP-1811Dosyaları SSH üzerinden güvenli bir şekilde kopyalayın.scp user@remote:/path/to/file /local/destination
rsyncDosyaları ve dizinleri etkin bir şekilde senkronize edin.rsync -avz /yerel/dizin/kullanıcı@uzak:/hedefe/yol
ftpDosyaları Dosya Aktarım Protokolü'nü kullanarak aktarın.ftp ftp.example.com
sftpSSH Dosya Aktarım Protokolünü kullanarak dosyaları güvenli bir şekilde aktarın.sftp user@remote:/path/to/file
wgetDosyaları web'den indirin.wget http://example.com/file.zip
bukleVerileri bir sunucudan veya bir sunucuya aktarın.curl -O http://example.com/dosya.zip

Metin işleme komutları

EmretmekTanımÖrnek Komut
garipDesen tarama ve işleme.awk '{print $1}' dosyası.txt
sedMetni filtrelemek/değiştirmek için akış düzenleyici.sed 's/eski/yeni/g' dosyası.txt
kesmekMetin satırlarından bölümleri kaldırın.kes -d':' -f1 /etc/passwd
düzenlemekMetin satırlarını sıralayın.file.txt dosyasını sırala
grepMetindeki kalıpları arayın.grep 'desen' dosyası.txt
tuvaletKelimeleri, satırları ve karakterleri sayın.wc -l dosya.txt
yapıştırDosya satırlarını birleştir.dosya1.txt'yi yapıştır dosya2.txt
katılmakİki dosyanın satırlarını ortak bir alanda birleştirin.file1.txt dosyasına katılın file2.txt
KAFADosyaların ilk kısmını çıktı olarak al.head -n 10 dosya.txt
kuyrukDosyaların son kısmını çıktı olarak al.tail -n 10 dosya.txt

Faydalı Kabuk Komutları ve Kısayolları

EmretmekTanımÖrnek Komut
takma adKomutlar için kısayollar oluşturun.takma ad ll='ls -la''
takma adBir takma adı kaldırın.unalias ll
tarihDaha önce girilen komutları göster.tarih
temizlemekTerminal ekranını temizleyin.temizlemek
yeniden başlatmaSistemi yeniden başlatın.yeniden başlatma
kapatSistemi kapatın.şimdi kapat
tarihSistem tarihini ve saatini görüntüleyin veya ayarlayın.tarih
yankıBir satır metin görüntüle.echo "Merhaba Dünya!""
uyumakBelirli bir süre gecikme.5 uyku
zamanKomut yürütme süresini ölçün.zaman ls
kol saatiBir programı periyodik olarak çalıştırıp çıktıyı tam ekran olarak gösterin.izle -n 5 df -h

Şimdi bu komutların her birini biraz daha derinlemesine inceleyelim ve daha detaylı anlayalım. Bu komutların her biri için halihazırda birçok makalemiz mevcut. Size kolaylık sağlamak için, mevcut tüm makalelere bağlantılar ekleyeceğiz ve yeni konuları ele aldıkça makaleyi güncelleyeceğiz.


Linux'ta ls komutu

ls komutu, geçerli çalışma dizinindeki dosya ve dizinleri listelemek için kullanılır. Bilmeniz gereken en yaygın Linux komutlarından biridir.

root@ubuntu:~# ln -s <source path> <link name>

همانطور که در تصویر بالا مشاهده می‌کنید، استفاده از خود دستور بدون هیچ آرگومانی، خروجی‌ای با تمام فایل‌ها و دایرکتوری‌های موجود در آن دایرکتوری به ما می‌دهد. این دستور از نظر نمایش داده‌ها در خروجی، انعطاف‌پذیری زیادی ارائه می‌دهد.


دستور pwd در لینوکس

دستور pwd به شما امکان می‌دهد دایرکتوری کاری فعلی را در ترمینال خود چاپ کنید. این یک دستور بسیار ابتدایی است و هدف خود را به خوبی برآورده می‌کند.

خب، در هر صورت، ترمینال شما معمولاً باید دایرکتوری کامل را داشته باشد. اما در صورتی که این‌طور نباشد، این می‌تواند یک دستور سریع برای دیدن دایرکتوری باشد که در آن هستید. کاربرد دیگر این دستور هنگام ایجاد اسکریپت‌ها است که این دستور می‌تواند به ما امکان دهد دایرکتوری که اسکریپت در آن ذخیره شده است را پیدا کنیم.


دستور cd در لینوکس

هنگام کار با ترمینال، جابجایی در دایرکتوری‌ها تقریباً یک ضرورت است. دستور cd یکی از دستورات مهم لینوکس است که باید بدانید و به شما در پیمایش در دایرکتوری‌ها کمک می‌کند. کافیست cd و به دنبال آن directory را تایپ کنید، همانطور که در زیر نشان داده شده است.

root@ubuntu:~# cd <directory path>

همانطور که در دستور بالا می‌بینید، من به سادگی cd /etc/ را تایپ کردم تا به دایرکتوری /etc بروم. ما از دستور pwd برای چاپ دایرکتوری کاری فعلی استفاده کردیم.


دستور mkdir در لینوکس

دستور mkdir به شما امکان می‌دهد دایرکتوری‌ها را از داخل ترمینال ایجاد کنید.

root@ubuntu:~# mkdir <folder name>

 

همانطور که در تصویر بالا مشاهده می‌کنید، ما دایرکتوری JournalDev را تنها با همین دستور ساده ایجاد کردیم.


دستورات cp و mv

دستورات cp و mv معادل دستورات copy-paste و cut-paste در ویندوز هستند. اما از آنجایی که لینوکس واقعاً دستوری برای تغییر نام فایل‌ها ندارد، ما از دستور mv نیز برای تغییر نام فایل‌ها و پوشه‌ها استفاده می‌کنیم.

root@ubuntu:~# cp <source> <destination>

در دستور بالا، ما یک کپی از فایل با نام Sample ایجاد کردیم. بیایید ببینیم اگر از دستور mv به همین روش استفاده کنیم، چه اتفاقی می‌افتد.

root@ubuntu:~# mv <source> <destination

در مورد بالا، از آنجایی که ما فایل را در همان دایرکتوری منتقل می‌کردیم، این کار به عنوان تغییر نام عمل کرد. اکنون نام فایل تغییر کرده است.


دستور rm در لینوکس

در بخش قبلی، فایل Sample-Copy را حذف کردیم. دستور rm برای حذف فایل‌ها و پوشه‌ها استفاده می‌شود و یکی از دستورات مهم لینوکس است که باید آن را بدانید.

root@ubuntu:~# rm <file name>

برای حذف یک دایرکتوری، باید آرگومان -r را به آن اضافه کنید. بدون آرگومان -r، دستور rm دایرکتوری‌ها را حذف نمی‌کند.

علامت -r در دستور rm در لینوکس مخفف کلمه “recursive” است. وقتی با دستور rm استفاده شود، نه تنها فایل مشخص شده، بلکه تمام زیرشاخه‌های آن و فایل‌های درون آن زیرشاخه‌ها را نیز به صورت بازگشتی حذف می‌کند.


دستور touch در لینوکس

دستور touch در لینوکس یک فایل خالی ایجاد می‌کند یا مهر زمانی یک فایل موجود را به‌روزرسانی می‌کند.

root@ubuntu:~# touch <file name>


دستور ln در لینوکس

برای ایجاد لینک به فایل دیگر، از دستور ln استفاده می‌کنیم. این یکی از مهمترین دستورات لینوکس است که اگر قصد دارید به عنوان مدیر لینوکس کار کنید، باید بدانید.

root@ubuntu:~# ln -s <source path> <link name>

پرچم -s یک پیوند نمادین (که به عنوان پیوند نمادین یا پیوند نرم نیز شناخته می‌شود) به یک فایل یا دایرکتوری ایجاد می‌کند. پیوند نمادین نوع خاصی از فایل است که به عنوان میانبر یا اشاره‌گر به فایل یا دایرکتوری دیگر عمل می‌کند.

به طور پیش‌فرض، دستور ln به جای پیوندهای نمادین یا نرم، پیوندهای سخت ایجاد می‌کند.


دستور clear در لینوکس

دستور clear در لینوکس صفحه ترمینال را پاک می‌کند. این دستور تمام متن و خروجی نمایش داده شده در ترمینال را حذف می‌کند و یک صفحه خالی برای کار به شما می‌دهد.

در اینجا مثالی از نحوه استفاده از دستور clear آورده شده است:

root@ubuntu:~# clear

این کار صفحه ترمینال را پاک می‌کند و مکان‌نما را به گوشه سمت چپ بالای صفحه منتقل می‌کند.

همچنین می‌توانید از دستور clear در ترکیب با سایر دستورات مانند این استفاده کنید:

root@ubuntu:~# ls -l; clear

این دستور فایل‌ها و دایرکتوری‌های موجود در دایرکتوری فعلی را فهرست می‌کند و سپس صفحه ترمینال را پاک می‌کند.


دستورات cat، echo و less

وقتی می‌خواهید محتوای یک فایل را در خروجی ترمینال چاپ کنید یا چیزی را چاپ کنید، از دستورات cat یا echo استفاده می‌کنیم. بیایید کاربرد اساسی آنها را بررسی کنیم.

root@ubuntu:~# cat <file name>
root@ubuntu:~# echo <Text to print on terminal>

همانطور که در مثال بالا می‌بینید، دستور cat، وقتی در فایل جدید ما استفاده می‌شود، محتویات فایل را چاپ می‌کند. در عین حال، وقتی از دستور echo استفاده می‌کنیم، به سادگی هر آنچه را که بعد از دستور می‌آید چاپ می‌کند.

دستور less زمانی استفاده می‌شود که خروجی چاپ شده توسط هر دستوری بزرگتر از فضای صفحه نمایش باشد و نیاز به پیمایش داشته باشد. دستور less به کاربر اجازه می‌دهد تا خروجی را تجزیه کند و با استفاده از کلیدهای enter یا space در آن پیمایش کند.

روش ساده برای انجام این کار استفاده از عملگر pipe (|) است.

root@ubuntu:~# cat /boot/grub/grub.cfg | less


    دستور man در لینوکس

    دستور man یک دستور بسیار مفید لینوکس است که باید آن را بلد باشید. هنگام کار با لینوکس، بسته‌هایی که دانلود می‌کنیم می‌توانند قابلیت‌های زیادی داشته باشند. دانستن همه آنها غیرممکن است.

    دستور man در لینوکس برای نمایش صفحه راهنمای یک دستور خاص استفاده می‌شود. این دستور اطلاعات دقیقی در مورد دستور، از جمله نحو، گزینه‌ها و مثال‌های آن ارائه می‌دهد.

    در اینجا مثالی از نحوه استفاده از دستور man آورده شده است:

    • یک ترمینال باز کنید و دستور man ls را تایپ کنید تا صفحه راهنمای دستور ls نمایش داده شود.
    root@ubuntu:~# man ls

    این صفحه‌ای را نمایش می‌دهد که چیزی شبیه به این است:

    OutputLS(1) User Commands LS(1)
    
    NAME
             ls - list directory contents
    
    SYNOPSIS
             ls [OPTION]... [FILE]...
    
    DESCRIPTION
             List information about the FILEs (the current directory by default).
    
             Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
    
             Mandatory arguments to long options are mandatory for short options too.
    
             -a, --all
                    do not ignore entries starting with .
    
             -A, --almost-all
                    do not list implied . and ..
    
             -c with -lt: sort by, and show, ctime (time of last modification
             of file status information) with -l: show ctime and sort
             by name;
    ...

    دستورات uname و whoami

    دستورات uname و whoami به شما امکان دسترسی به برخی اطلاعات اولیه را می‌دهند که هنگام کار بر روی چندین سیستم مفید هستند.

    دستور uname در لینوکس اطلاعاتی در مورد هسته سیستم، از جمله نام هسته، نام میزبان، نسخه هسته، نسخه هسته و نام سخت‌افزار دستگاه را نمایش می‌دهد.

    دستور whoami در لینوکس نام کاربری کاربر فعلی را برمی‌گرداند. این نام مخفف “who am I?” است و اغلب برای تعیین هویت کاربر فعلی در اسکریپت‌های شل یا ترمینال استفاده می‌شود.

    بیایید خروجی هر دو دستور و نحوه استفاده از آنها را ببینیم.

    root@ubuntu:~# uname -a

    پارامتر -a به همراه دستور uname مخفف “all” است. این دستور اطلاعات کامل را چاپ می‌کند. اگر پارامتر اضافه نشود، تنها چیزی که به عنوان خروجی دریافت خواهید کرد “Linux” است.


    دستورات tar، zip و unzip

    دستور tar در لینوکس برای ایجاد و استخراج فایل‌های آرشیو شده استفاده می‌شود. ما می‌توانیم چندین فایل آرشیو مختلف را با استفاده از دستور tar استخراج کنیم.

    برای ایجاد یک آرشیو، از پارامتر -c و برای استخراج یک آرشیو، از پارامتر -x استفاده می‌کنیم. بیایید ببینیم چگونه کار می‌کند.

    #Compress
    root@ubuntu:~# tar -cvf <archive name> <files separated by space>
    #Extract
    root@ubuntu:~# tar -xvf <archive name>

    در خط اول، ما یک فایل بایگانی به نام Compress.tar با استفاده از New-File و New-File-Link ایجاد کردیم. در دستور بعدی، آن فایل‌ها را از بایگانی استخراج کرده‌ایم.

    بیایید در مورد دستورات zip و unzip صحبت کنیم. هر دو بسیار سرراست هستند. می‌توانید از آنها بدون هیچ پارامتری استفاده کنید و همانطور که در نظر گرفته شده است، کار خواهند کرد. بیایید مثالی را در زیر ببینیم.

    root@ubuntu:~# zip <archive name> <file names separated by space>
    root@ubuntu:~# unzip <archive name>

    از آنجایی که ما از قبل آن فایل‌ها را در همان دایرکتوری داریم، دستور unzip قبل از رونویسی آن فایل‌ها از ما سوال می‌کند.


    دستور grep در لینوکس

    دستور grep یک ابزار جستجوی متن قدرتمند و همه‌کاره در سیستم‌عامل‌های مبتنی بر لینوکس و یونیکس است. این دستور می‌تواند الگوها یا رشته‌های خاص را در یک یا چند فایل جستجو کند و خروجی دستورات دیگر را فیلتر کند.

    دستور grep مخفف عبارت “چاپ عبارت منظم جهانی” است که نشان دهنده توانایی آن در جستجوی عبارات منظم در چندین خط و فایل است.

    root@ubuntu:~# <Any command with output> | grep "<string to find>"

    این یک نمایش ساده از این دستور بود.


    دستورات head و tail

    هنگام خروجی گرفتن از فایل‌های بزرگ، دستورات head و tail مفید واقع می‌شوند. این دستورات به ترتیب ابتدا یا انتهای یک فایل را نمایش می‌دهند. آنها معمولاً برای مشاهده سریع محتوای یک فایل بدون نیاز به باز کردن آن در یک ویرایشگر متن استفاده می‌شوند.

    دستورات head و tail به طور پیش‌فرض 10 خط اول یک فایل را نمایش می‌دهند. برای نمایش تعداد متفاوتی از خطوط، می‌توانید از گزینه -n و به دنبال آن تعداد خطوطی که می‌خواهید نمایش دهید استفاده کنید.

    در اینجا مثالی از استفاده از دستورات head و tail آورده شده است:

    root@ubuntu:~# head <file name>
    root@ubuntu:~# tail <file name>

    همانطور که می‌بینید، دستور head، 10 خط از بالای فایل را نشان داد.

    دستور tail، ده خط پایینی فایل را نمایش داد.

    از این دستورات می‌توان برای مشاهده سریع محتوای یک فایل، نظارت بر به‌روزرسانی‌های بلادرنگ برای عیب‌یابی مشکلات، فیلتر کردن خروجی سایر دستورات و انجام تجزیه و تحلیل گزارش‌ها استفاده کرد.


    دستورات diff، comm و cmp

    دستورات diff، comm و cmp همگی برای مقایسه فایل‌ها در سیستم‌عامل‌های مبتنی بر لینوکس و یونیکس استفاده می‌شوند. این دستورات می‌توانند برای شناسایی تفاوت‌های بین دو فایل، ادغام تغییرات و انجام سایر کارهای مقایسه فایل‌ها مورد استفاده قرار گیرند.

    root@ubuntu:~# diff <file 1> <file 2>

    همانطور که در بالا می‌بینید، ما یک متن کوچک با عنوان «این خط ویرایش شده است» به فایل New-File-Edited اضافه کرده‌ایم.

    دستور cmp برای مقایسه دو فایل و نمایش اولین بایتی که بین آنها متفاوت است استفاده می‌شود. می‌توان از آن برای شناسایی تفاوت‌های بین فایل‌های باینری یا بررسی خرابی در فایل‌ها استفاده کرد.

    root@ubuntu:~# cmp <file 1> <file 2>

    دستور cmp فقط شماره خط را به ما می‌گوید که متفاوت است. متن اصلی را نشان نمی‌دهد.

    دستور comm برای مقایسه دو فایل مرتب شده و نمایش خطوط منحصر به فرد هر فایل و همچنین خطوط مشترک هر دو فایل استفاده می‌شود.

    root@ubuntu:~# comm <file 1> <file2>

    متنی که در سمت چپ تراز شده است، فقط در فایل ۱ وجود دارد. متن وسط‌چین فقط در فایل ۲ وجود دارد. و متن راست‌چین در هر دو فایل وجود دارد.

    از ظاهر آن، دستور comm زمانی بیشترین کاربرد را دارد که سعی می‌کنیم فایل‌های بزرگ‌تر را با هم مقایسه کنیم و می‌خواهیم همه چیز را مرتب ببینیم.

    هر سه این دستورها ابزارهای ضروری برای کار با فایل‌ها در سیستم‌عامل‌های مبتنی بر لینوکس و یونیکس هستند. با درک نحوه استفاده مؤثر از دستورات diff، comm و cmp، می‌توانید تفاوت‌های بین فایل‌ها را شناسایی کنید، تغییرات را ادغام کنید و سایر کارهای مقایسه فایل را انجام دهید.

    این دستورات می‌توانند به شما در شناسایی و حل مشکلات فایل‌ها و همچنین ردیابی تغییرات و حفظ کنترل نسخه کمک کنند. چه توسعه‌دهنده باشید و چه مدیر سیستم، این دستورات بخش مهمی از جعبه ابزار شما هستند.


    دستور sort در لینوکس

    دستور sort برای مرتب‌سازی سطرها در یک فایل متنی یا ورودی استاندارد در سیستم‌عامل‌های مبتنی بر لینوکس و یونیکس استفاده می‌شود. می‌توان از آن برای مرتب‌سازی سطرها به ترتیب صعودی یا نزولی و انجام سایر عملیات مرتب‌سازی، مانند مرتب‌سازی بر اساس فیلدها یا استفاده از یک ترتیب مرتب‌سازی سفارشی، استفاده کرد.

    نحوه کلی دستور sort به صورت زیر است:

    root@ubuntu:~# sort <filename>

    به طور پیش‌فرض، دستور sort سطرها را به ترتیب ASCII مرتب می‌کند، که می‌تواند هنگام مرتب‌سازی اعداد یا کاراکترهای خاص منجر به نتایج غیرمنتظره‌ای شود. برای مرتب‌سازی اعداد به ترتیب عددی، می‌توانید از گزینه -n استفاده کنید.

    در اینجا مثالی از استفاده از گزینه -n آورده شده است:

    root@ubuntu:~# sort -n file.txt

    دستور بالا سطرهای file.txt را به ترتیب عددی مرتب می‌کند.

    دستور sort همچنین می‌تواند برای مرتب‌سازی سطرها بر اساس فیلدهای خاص با استفاده از گزینه -k استفاده شود.

    در اینجا مثالی از استفاده از گزینه -k آورده شده است:

    root@ubuntu:~# sort -k 2 file.txt

    این دستور، سطرهای موجود در فایل file.txt را بر اساس فیلد دوم مرتب می‌کند.

    دستور sort ابزاری قدرتمند و انعطاف‌پذیر برای کار با فایل‌های متنی در سیستم‌عامل‌های مبتنی بر لینوکس و یونیکس است. با درک نحوه‌ی استفاده‌ی مؤثر از دستور sort، می‌توانید سطرهای فایل‌های متنی را مرتب کنید، سطرها را بر اساس فیلدهای خاص مرتب کنید و سایر عملیات مرتب‌سازی را انجام دهید.

    این دستورات می‌توانند به شما در سازماندهی و تجزیه و تحلیل داده‌ها و انجام سایر وظایف دستکاری فایل کمک کنند. چه توسعه‌دهنده باشید و چه مدیر سیستم، دستور sort بخش مهمی از مجموعه ابزارهای شماست.


    دستور export در لینوکس

    دستور export در سیستم‌عامل‌های مبتنی بر لینوکس و یونیکس برای تنظیم متغیرهای محیطی استفاده می‌شود. متغیرهای محیطی برای ذخیره اطلاعاتی که می‌توانند توسط فرآیندها یا دستورات استفاده شوند، استفاده می‌شوند.

    پس از تنظیم یک متغیر محیطی، هر فرآیند یا دستوری که در همان پوسته اجرا می‌شود، می‌تواند به آن دسترسی داشته باشد.

    متغیرهای محیطی می‌توانند برای ذخیره طیف وسیعی از اطلاعات، مانند تنظیمات پیکربندی، تنظیمات کاربر یا اطلاعات سیستم، استفاده شوند.

    در اینجا مثالی از استفاده از دستور export آورده شده است:

    root@ubuntu:~# export <variable name>=<value>


    دستور ssh در لینوکس

    دستور ssh در سیستم عامل‌های مبتنی بر لینوکس و یونیکس، یک اتصال shell امن به یک سرور راه دور برقرار می‌کند. این دستور یک اتصال رمزگذاری شده امن بین سرورهای محلی و راه دور فراهم می‌کند و به کاربران امکان می‌دهد دستورات را اجرا کرده و فایل‌ها را به صورت ایمن منتقل کنند.

    سینتکس اصلی دستور ssh به صورت زیر است:

    root@ubuntu:~ ssh username@remote-server

    این دستور با استفاده از نام کاربری، یک اتصال ssh به سرور راه دور برقرار می‌کند.

     


    دستور سرویس در لینوکس

    دستور service در لینوکس برای مدیریت سرویس‌های سیستمی استفاده می‌شود که فرآیندهای طولانی‌مدتی هستند که در زمان بوت شدن سیستم شروع به کار می‌کنند و در پس‌زمینه اجرا می‌شوند. این سرویس‌ها مسئول ارائه قابلیت‌های مختلف سیستمی مانند شبکه، مدیریت پایگاه داده و احراز هویت کاربر هستند.

    دستور service برای شروع، توقف، راه‌اندازی مجدد و بررسی وضعیت این سرویس‌ها استفاده می‌شود. این یک رابط کاربری برای دستور systemctl است که برای مدیریت مدیر سرویس systemd استفاده می‌شود.

    سینتکس اصلی دستور به صورت زیر است.

    root@ubuntu:~ service ssh status
    root@ubuntu:~ service ssh stop
    root@ubuntu:~ service ssh start

    همانطور که در تصویر مشاهده می‌کنید، سرور ssh روی سیستم ما در حال اجرا است.


    دستورات ps، kill و killall

    دستورات ps، kill و killall همگی برای مدیریت فرآیندها در لینوکس استفاده می‌شوند.

    دستور ps برای نمایش اطلاعات مربوط به فرآیندهای در حال اجرا در سیستم استفاده می‌شود. در اینجا چند نمونه از استفاده از دستور ps آورده شده است:

    نمایش لیست تمام فرآیندهای در حال اجرا:

    root@ubuntu:~ ps -ef

    نمایش لیستی از تمام فرآیندها برای یک شناسه فرآیند (PID) خاص:

    root@ubuntu:~ ps -p PID

    بیایید همه اینها را در عمل ببینیم:

    root@ubuntu:~ ps
    root@ubuntu:~ kill <process ID>
    root@ubuntu:~ killall <process name>

    برای اهداف نمایشی، ما یک اسکریپت پوسته با یک حلقه بی‌نهایت ایجاد خواهیم کرد و آن را در پس‌زمینه اجرا خواهیم کرد.

    با استفاده از نماد &، می‌توانیم یک فرآیند را به پس‌زمینه منتقل کنیم. همانطور که می‌بینید، یک فرآیند bash جدید با PID 14490 ایجاد شده است.

    حالا، برای کشتن یک فرآیند با دستور kill، می‌توانید kill را تایپ کنید و به دنبال آن PID (شناسه فرآیند) فرآیند را بنویسید.

    اما اگر شناسه فرآیند را نمی‌دانید و فقط می‌خواهید فرآیند را با نام آن از بین ببرید، می‌توانید از دستور killall استفاده کنید.

    متوجه خواهید شد که PID 14490 فعال مانده است. دلیلش این است که هر دو بار، فرآیند sleep را kill کردیم.


    دستورات df و mount

    هنگام کار با لینوکس، دستورات df و mount ابزارهای بسیار کارآمدی برای mount کردن سیستم فایل‌ها و دریافت جزئیات سیستم فایل هستند.

    دستور df برای نمایش میزان فضای دیسک استفاده شده و موجود در سیستم فایل‌ها استفاده می‌شود و دستور mount برای mount کردن یک سیستم فایل یا دستگاه به یک دایرکتوری خاص استفاده می‌شود.

    وقتی می‌گوییم mount، به این معنی است که دستگاه را به یک پوشه متصل می‌کنیم تا بتوانیم از سیستم فایل خود به فایل‌ها دسترسی داشته باشیم. سینتکس پیش‌فرض برای mount کردن یک سیستم فایل به شرح زیر است:

    root@ubuntu:~ mount /dev/cdrom /mnt
    root@ubuntu:~ df -h

    در مورد بالا، /dev/cdrom دستگاهی است که باید نصب شود. معمولاً یک دستگاه قابل نصب در داخل پوشه /dev قرار دارد. mnt پوشه مقصدی است که دستگاه باید در آن نصب شود. می‌توانید آن را به هر پوشه‌ای که می‌خواهید تغییر دهید، اما ما از /mnt استفاده کرده‌ایم زیرا پوشه پیش‌فرض سیستم برای نصب دستگاه‌ها است.

    برای دیدن دستگاه‌های نصب شده و کسب اطلاعات بیشتر در مورد آنها، از دستور df استفاده می‌کنیم. فقط تایپ کردن df داده‌ها را به صورت بایت به ما می‌دهد که قابل خواندن نیست. بنابراین، از پارامتر -h برای قابل خواندن داده‌ها توسط انسان استفاده خواهیم کرد.


    دستورات chmod و chown

    دستورات chmod و chown برای تغییر مجوزهای فایل و مالکیت در لینوکس استفاده می‌شوند.

    دستور chmod برای تغییر مجوزهای یک فایل یا دایرکتوری و دستور chown برای تغییر مالکیت یک فایل یا دایرکتوری استفاده می‌شود.

    نحوه پیش‌فرض برای هر دو دستور chmod <parameter> filename و chown <user:group> filename است.

    root@ubuntu:~ chmod +x loop.sh
    root@ubuntu:~ chmod root:root loop.sh

    در مثال بالا، ما با دستور chmod مجوزهای اجرایی را به فایل loop.sh اضافه می‌کنیم. علاوه بر این، با دستور chown، آن را فقط برای کاربر root و کاربران درون گروه root قابل دسترسی کرده‌ایم.

    همانطور که متوجه خواهید شد، بخش ریشه (root) اکنون به www-data تغییر یافته است که کاربر جدیدی است که مالکیت کامل فایل را در اختیار دارد.


    دستورات ifconfig و traceroute

    دستورات ifconfig و traceroute رابط‌های شبکه را مدیریت کرده و مسیر بسته‌های شبکه را در لینوکس ردیابی می‌کنند.

    دستور ifconfig لیستی از تمام رابط‌های شبکه به همراه آدرس‌های IP، آدرس‌های MAC و سایر اطلاعات مربوط به رابط را در اختیار شما قرار می‌دهد.

    root@ubuntu:~ ifconfig

    پارامترهای متعددی وجود دارد که می‌توان از آنها استفاده کرد، اما ما در اینجا با دستور پایه کار خواهیم کرد.

    دستور traceroute برای ردیابی مسیر بسته‌های شبکه و تعیین مسیری که آنها برای رسیدن به یک مقصد خاص طی می‌کنند، استفاده می‌شود.

    هنگام کار با traceroute، می‌توانید به سادگی آدرس IP، نام میزبان یا نام دامنه نقطه پایانی را مشخص کنید.

    root@ubuntu:~ traceroute <destination address>

    بدیهی است که localhost فقط یک گام (خود رابط شبکه) است. می‌توانید همین دستور را با هر نام دامنه یا آدرس IP دیگری امتحان کنید تا تمام روترهایی را که بسته‌های داده شما برای رسیدن به مقصد از آنها عبور می‌کنند، مشاهده کنید.


    دستور wget در لینوکس

    اگر می‌خواهید فایلی را از داخل ترمینال دانلود کنید، دستور wget یکی از کاربردی‌ترین ابزارهای خط فرمان موجود است. این یکی از دستورات مهم لینوکس است که هنگام کار با فایل‌های منبع باید بدانید.

    وقتی لینک دانلود را مشخص می‌کنید، باید مستقیماً به فایل لینک شود. اگر فایل از طریق دستور wget قابل دسترسی نباشد، به جای فایل واقعی که می‌خواهید، صفحه وب را به صورت HTML دانلود می‌کند.

    بیایید یک مثال بزنیم. سینتکس اصلی دستور wget به صورت زیر است:

    root@ubuntu:~ wget <link to file>

    یا،

    root@ubuntu:~ wget -c <link to file>

    آرگومان -c به ما امکان می‌دهد دانلودی که متوقف شده را از سر بگیریم.


    دستورات ufw و iptables

    دستورات ufw و iptables برای مدیریت فایروال‌ها در لینوکس استفاده می‌شوند.

    UFW و IPTables رابط‌های فایروال برای فایروال netfilter هسته لینوکس هستند. IPTables مستقیماً قوانین فایروال را به Netfilter منتقل می‌کند در حالی که UFW قوانین را در IPTables پیکربندی می‌کند و سپس آن قوانین را به Netfilter ارسال می‌کند.

    چرا وقتی IPTables داریم به UFW نیاز داریم؟ زیرا IPTables برای یک تازه‌کار بسیار دشوار است. UFW کارها را بسیار آسان می‌کند. به مثال زیر توجه کنید که در آن سعی داریم پورت ۸۰ را برای وب‌سرور خود مجاز کنیم.

    root@ubuntu:~# iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
    root@ubuntu:~# ufw allow 80

    مطمئنم حالا می‌دانید چرا UFW ساخته شد! ببینید که سینتکس آن چقدر آسان می‌شود. هر دوی این فایروال‌ها بسیار جامع هستند و می‌توانند به شما امکان دهند هر نوع پیکربندی مورد نیاز برای شبکه خود را ایجاد کنید. حداقل اصول اولیه فایروال UFW یا IPTables را یاد بگیرید، زیرا اینها دستورات لینوکسی هستند که باید بدانید.


    مدیران بسته در لینوکس

    توزیع‌های مختلف لینوکس از مدیریت بسته‌های متفاوتی استفاده می‌کنند. از آنجایی که ما روی سرور اوبونتو کار می‌کنیم، مدیریت بسته apt را داریم. اما برای کسی که روی دستگاه فدورا، رد هت، آرچ یا سنتوس کار می‌کند، مدیریت بسته متفاوت خواهد بود.

    در زیر دستوراتی در مورد نحوه استفاده از این مدیریت بسته‌ها در توزیع‌های مختلف لینوکس آمده است.

     

    آشنایی کامل با مدیریت بسته توزیع لینوکس شما، در دراز مدت کارها را برای شما بسیار آسان‌تر خواهد کرد. بنابراین حتی اگر یک ابزار مدیریت بسته مبتنی بر رابط کاربری گرافیکی (GUI) نصب کرده‌اید، قبل از اینکه به سراغ ابزار رابط کاربری گرافیکی (GUI) بروید، از ابزار مبتنی بر رابط خط فرمان (CLI) استفاده کنید. این دستورات را به لیست دستورات لینوکسی که باید بدانید اضافه کنید.

    دستور sudo در لینوکس

    «قدرت زیاد، مسئولیت زیاد به همراه دارد»

    این نقل قولی است که وقتی یک کاربر sudo-enabled (sudoer) برای اولین بار از دستور sudo برای افزایش امتیازات استفاده می‌کند، نمایش داده می‌شود. این دستور معادل ورود به سیستم به عنوان root است (بر اساس مجوزهایی که به عنوان sudoer دارید).

    non-root-user@ubuntu:~# sudo <command you want to run>
    Password:

     

    فقط کافی است دستور sudo را قبل از هر دستوری که نیاز به اجرای آن با امتیازات افزایش یافته دارید، اضافه کنید و تمام. استفاده از آن بسیار ساده است، اما اگر یک کاربر مخرب به sudoer دسترسی پیدا کند، می‌تواند یک خطر امنیتی اضافی نیز ایجاد کند.


    دستور cal در لینوکس

    آیا تا به حال خواسته‌اید تقویم را در ترمینال مشاهده کنید؟ ظاهراً افرادی هستند که می‌خواهند این اتفاق بیفتد، و خب، این هم از این.

    دستور cal یک تقویم با ظاهری زیبا را در ترمینال نمایش می‌دهد. فقط کافیست دستور cal را در اعلان ترمینال خود وارد کنید.

    root@ubuntu:~# cal
    root@ubuntu:~# cal March 2024

    اگرچه اغلب به آن نیاز نداریم، اما افزونه‌ی فوق‌العاده‌ای است! این یک گزینه‌ی شگفت‌انگیز برای طرفداران پروپاقرص دستگاه‌های الکترونیکی است.


    دستور alias

    آیا دستورهایی دارید که هنگام استفاده از ترمینال مرتباً اجرا می‌کنید؟ می‌تواند rm -r یا ls -l باشد، یا می‌تواند چیزی طولانی‌تر مانند tar -xvzf باشد.

    این یکی از دستورات لینوکس است که بهره‌وری را افزایش می‌دهد و باید بدانید.

    اگر دستوری را می‌شناسید که مرتباً اجرا می‌کنید، وقت آن است که یک alias ایجاد کنید.

    alias چیست؟ به زبان ساده، نام دیگری برای دستوری است که تعریف کرده‌اید.

    root@ubuntu:~# alias lsl="ls -l"
    OR
    root@ubuntu:~# alias rmd="rm -r"

    اکنون، هر بار که lsl یا rmd را در ترمینال وارد می‌کنید، خروجی‌ای را دریافت خواهید کرد که اگر از دستورات کامل استفاده می‌کردید، دریافت می‌کردید.

    مثال‌های اینجا برای دستورات بسیار کوچکی هستند که می‌توانید هر بار آنها را دستی تایپ کنید. اما در برخی موقعیت‌ها که یک دستور آرگومان‌های زیادی دارد که باید تایپ کنید، بهتر است یک نسخه مختصر از آن را ایجاد کنید.


    دستور dd در لینوکس

    این دستور برای تبدیل و کپی فایل‌ها از فرمت‌های مختلف سیستم فایل ایجاد شده است. امروزه، این دستور به سادگی برای ایجاد USB قابل بوت برای لینوکس استفاده می‌شود، اما هنوز کارهای مهمی وجود دارد که می‌توانید با این دستور انجام دهید.

    دستور dd در لینوکس یک دستور همه‌کاره است که برای کپی و تبدیل سطح پایین داده‌ها استفاده می‌شود. این دستور مخفف “data-description” یا “data definition” است و می‌تواند برای کپی و تبدیل داده‌ها بین فرمت‌های مختلف فایل و دستگاه‌های ذخیره‌سازی استفاده شود.

    به عنوان مثال، اگر می‌خواستیم از کل هارد دیسک به عنوان یک درایو دیگر پشتیبان‌گیری کنیم، از دستور dd استفاده می‌کردیم.

    root@ubuntu:~# dd if=/dev/sdb of=/dev/sda

    آرگومان‌های if و of به معنای فایل ورودی و فایل خروجی هستند.

    این یک ابزار قدرتمند و انعطاف‌پذیر است، اما اگر با دقت استفاده نشود، می‌تواند خطرناک نیز باشد. همیشه نحو (syntax) خود را دوباره بررسی کنید و قبل از اجرای دستور، مطمئن شوید که می‌دانید دستور چه کاری انجام خواهد داد.


    دستورات whereis و whatis

    دستورات whereis و whatis در لینوکس برای جستجوی اطلاعات مربوط به برنامه‌ها و فایل‌ها استفاده می‌شوند.

    دستور whereis صفحات باینری، منبع و راهنما را برای یک دستور یا برنامه خاص پیدا می‌کند و دستور whatis توضیح کوتاهی از یک دستور یا برنامه را نمایش می‌دهد.

    root@ubuntu:~# whereis sudo
    sudo: /usr/bin/sudo /usr/lib/sudo /usr/share/man/man8/sudo.8.gz

    دستور whatis توضیحی در مورد اینکه یک دستور واقعاً چیست، به ما می‌دهد.

    root@ubuntu:~# whatis sudo
    sudo (8) - execute a command as another user

    دستور top در لینوکس

    چند بخش قبل، در مورد دستور ps صحبت کردیم. مشاهده کردید که دستور ps فرآیندهای فعال را نمایش می‌دهد و خودش را خاتمه می‌دهد.

    دستور top مانند نسخه CLI از task manager در ویندوز است.

    دستور top در لینوکس یک ابزار نظارت بر سیستم است که اطلاعات بلادرنگ در مورد فرآیندهای سیستم و میزان استفاده از منابع را نمایش می‌دهد. این دستور یک نمای پویا و بلادرنگ از فعالیت سیستم، از جمله میزان استفاده از CPU، میزان استفاده از حافظه و اطلاعات فرآیندها ارائه می‌دهد.

    این یک ابزار قدرتمند و انعطاف‌پذیر برای نظارت بر فعالیت سیستم و عیب‌یابی مشکلات عملکرد است.


    دستورات useradd و usermod

    دستورات useradd و usermod در لینوکس برای مدیریت حساب‌های کاربری استفاده می‌شوند.

    دستورات useradd یا adduser دقیقاً همان دستوراتی هستند که adduser فقط یک پیوند نمادین به دستور useradd است. این دستور به ما امکان می‌دهد یک کاربر جدید در لینوکس ایجاد کنیم.

    root@ubuntu:~# useradd JournalDev -d /home/JD

    دستور بالا یک کاربر جدید به نام JournalDev با دایرکتوری خانه /home/JD ایجاد می‌کند.

    از سوی دیگر، دستور usermod برای تغییر کاربران موجود استفاده می‌شود. می‌توانید هر مقداری از کاربر، از جمله گروه‌ها، مجوزها و غیره را تغییر دهید.

    به عنوان مثال، اگر می‌خواهید گروه‌های بیشتری به کاربر اضافه کنید، می‌توانید تایپ کنید:

    root@ubuntu:~# usermod JournalDev -a -G sudo, audio, mysql

    دستور passwd در لینوکس

    حالا که می‌دانید چگونه کاربران جدید ایجاد کنید، بیایید برای آنها رمز عبور نیز تعیین کنیم. دستور passwd به شما امکان می‌دهد رمز عبور را برای حساب کاربری خود تنظیم کنید، یا اگر مجوز دارید، رمز عبور را برای حساب‌های کاربری دیگر تنظیم کنید.

    در اینجا چند نمونه از استفاده از دستور passwd آورده شده است:

    • تغییر رمز عبور برای کاربر فعلی:
    root@ubuntu:~# passwd

    این از شما می‌خواهد که رمز عبور جدیدی برای کاربر فعلی وارد کنید.

    • تغییر رمز عبور برای یک کاربر خاص:
    root@ubuntu:~# passwd username

    به جای username، نام کاربری که می‌خواهید رمز عبورش را تغییر دهید را بنویسید.

    • کاربر را مجبور کنید در ورود بعدی رمز عبور خود را تغییر دهد:
    root@ubuntu:~# passwd -f username
    • تعیین تاریخ انقضا برای رمز عبور کاربر:
    root@ubuntu:~# passwd -e -n days -w warndays username

    به جای days تعداد روزهای قبل از انقضای رمز عبور و به جای warm days تعداد روزهای قبل از انقضای رمز عبور که به کاربر هشدار داده می‌شود را قرار دهید.

    اینها تنها چند نمونه از استفاده از دستور passwd در لینوکس هستند. با درک نحوه استفاده موثر از این دستور، می‌توانید حساب‌های کاربری را مدیریت کرده و از امنیت سیستم خود اطمینان حاصل کنید.


    خطاهای رایج و اشکال‌زدایی

    هنگام کار با دستورات لینوکس، ممکن است با خطاها و مشکلات مختلفی روبرو شوید. در اینجا برخی از مشکلات رایج و نحوه حل آنها آورده شده است:

    ۱. رفع خطاهای «Command not found»

    اگر خطای command not found را دریافت کردید، به این معنی است که دستوری که سعی در اجرای آن دارید توسط سیستم شناسایی نشده است. این می‌تواند به دلایل مختلف رخ دهد:

    1. این دستور روی سیستم شما نصب نشده است. می‌توانید آن را با استفاده از مدیر بسته خود (مثلاً apt، yum، dnf) نصب کنید.
      اگر دیدید:

      bash: xyz: command not found

      استفاده:

      which xyz
      

      اگر دستور نصب نشده است، نصب را امتحان کنید:

      apt-get install <package-name>
    2. دستور در مسیر سیستم شما نیست. می‌توانید دایرکتوری حاوی دستور را به مسیر سیستم خود اضافه کنید.
      export PATH=$PATH:/path/to/command
    3. شما اشتباه تایپی مرتکب شدید. دستور را برای هرگونه خطای املایی دوباره بررسی کنید.

    2. حل مشکلات مجوز با sudo

    اگر با مشکل مجوز مواجه شدید، می‌توانید از sudo برای اجرای دستور با امتیازات superuser استفاده کنید. برای مثال:

    sudo command_name

    3. مدیریت تداخل فایل‌ها

    تداخل فایل‌ها می‌تواند زمانی رخ دهد که چندین کاربر یا فرآیند سعی کنند همزمان یک فایل را تغییر دهند. در اینجا چند روش برای مدیریت تداخل فایل‌ها آورده شده است:

    1.استفاده از سیستم‌های کنترل نسخه (VCS): ابزارهایی مانند گیت می‌توانند با فراهم کردن امکان ادغام تغییرات و حل دستی تداخل‌ها، به مدیریت تداخل‌های فایل کمک کنند.

    git merge <branch_name>

    اگر تداخلی وجود داشته باشد، گیت از شما می‌خواهد که آنها را حل کنید. فایل‌های تداخل‌دار را باز کنید، تغییرات لازم را اعمال کنید و سپس فایل‌های حل‌شده را کامیت کنید.

    git add <resolved_file>
    git commit -m "Resolved merge conflict"

    2.مکانیسم‌های قفل‌گذاری: قفل‌گذاری فایل را پیاده‌سازی کنید تا از نوشتن همزمان چندین فرآیند روی یک فایل جلوگیری شود. از flock در لینوکس برای ایجاد قفل روی یک فایل استفاده کنید.

    ‎''''‎‏‎ ‎flock -x <file> -c "<command>"‎‏‎ ‎ ...

    3.عملیات اتمی: از عملیات اتمی استفاده کنید تا مطمئن شوید که نوشتن فایل‌ها در یک مرحله انجام می‌شود و خطر تداخل کاهش می‌یابد.

    mv temp_file target_file

    یا، از mv با -f (اجباری) یا cp با -i (تعاملی) استفاده کنید:

    mv -f file1 file2
    cp -i file1 file2

    ۴. اشکال‌زدایی گلوگاه‌های عملکرد

    گلوگاه‌های عملکرد می‌توانند به طور قابل توجهی بر کارایی سیستم شما تأثیر بگذارند. در اینجا چند مرحله برای اشکال‌زدایی و رفع آنها آورده شده است:

      1. شناسایی گلوگاه: از ابزارهایی مانند top، htop، vmstat و iostat برای نظارت بر عملکرد سیستم و شناسایی منبعی که باعث گلوگاه می‌شود (CPU، حافظه، ورودی/خروجی دیسک و غیره) استفاده کنید.
        top
      2. تحلیل گزارش‌ها: گزارش‌های سیستم و برنامه‌ها را برای هرگونه خطا یا هشداری که ممکن است نشان‌دهنده مشکلات عملکرد باشد، بررسی کنید.
        tail -f /var/log/syslog
      3. بهینه‌سازی کد: کد خود را برای بهبود عملکرد بررسی و بهینه‌سازی کنید. به دنبال الگوریتم‌های ناکارآمد، محاسبات غیرضروری و نشت حافظه باشید.
      4. برنامه خود را پروفایل کنید: از ابزارهای پروفایلینگ مانند gprof، perf یا valgrind برای تجزیه و تحلیل عملکرد برنامه خود و شناسایی توابع کند یا مشکلات حافظه استفاده کنید.
        gprof <فایل اجرایی> gmon.out
      5. مقیاس‌بندی منابع: اگر گلوگاه به دلیل محدودیت منابع است، مقیاس‌بندی سخت‌افزار خود یا استفاده از متعادل‌سازی بار را برای توزیع بار بین چندین سرور در نظر بگیرید.

    سوالات متداول

    ۱. پرکاربردترین دستورات لینوکس کدامند؟

    پرکاربردترین دستورات لینوکس شامل cd، ls، mkdir، rm، cp، mv، echo، cat، grep، find، man، sudo، apt-get، ssh، ping، df، du، free، top، ps، kill، killall، service، systemctl، reboot، shutdown، whoami، uname، uptime، history و clear است.

    ۲. چگونه می‌توانم تمام دستورات موجود در لینوکس را لیست کنم؟

    شما می‌توانید با استفاده از دستور compgen -c تمام دستورات موجود در لینوکس را لیست کنید. این دستور لیستی از تمام دستورات موجود در سیستم شما را نمایش می‌دهد.

    ۳. چگونه می‌توانم یک فایل را در لینوکس پیدا کنم؟

    شما می‌توانید با استفاده از دستور find یک فایل را در لینوکس پیدا کنید. سینتکس اصلی find <path> -name “<filename>” است، که <path> دایرکتوری است که می‌خواهید جستجو را از آنجا شروع کنید و <filename> نام فایلی است که به دنبال آن هستید. برای مثال، ‎/home/user -name “example.txt” را پیدا کنید.

    ۴. چگونه یک فرآیند را در لینوکس kill کنم؟

    شما می‌توانید با استفاده از دستور kill، یک فرآیند را در لینوکس kill کنید. ابتدا، باید شناسه فرآیند (PID) فرآیندی را که می‌خواهید kill کنید با استفاده از دستور ps یا top پیدا کنید. سپس، از دستور kill و به دنبال آن PID استفاده کنید. به عنوان مثال، kill 1234، که 1234 PID فرآیند است.

    ۵. تفاوت بین cp و mv چیست؟

    دستور cp برای کپی کردن فایل‌ها یا دایرکتوری‌ها استفاده می‌شود، در حالی که دستور mv برای انتقال یا تغییر نام فایل‌ها یا دایرکتوری‌ها استفاده می‌شود. cp یک کپی از فایل اصلی ایجاد می‌کند و فایل اصلی را دست نخورده باقی می‌گذارد، در حالی که mv فایل را به مکان جدیدی منتقل می‌کند و آن را از مکان اصلی حذف می‌کند.

    ۶. چگونه میزان استفاده از حافظه سیستم لینوکس خود را بررسی کنم؟

    شما می‌توانید میزان استفاده از حافظه سیستم لینوکس خود را با استفاده از دستور free بررسی کنید. این دستور مقدار کل حافظه فیزیکی و swap آزاد و استفاده شده در سیستم را نمایش می‌دهد. برای مثال، ‎free -h‎ میزان استفاده از حافظه را در قالبی قابل خواندن توسط انسان نمایش می‌دهد.


     

    Bir yanıt yazın

    E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

    Ayrıca Şunları da Beğenebilirsiniz

    CentOS 6/7'ye IBSng nasıl kurulur

    CentOS 6/7'de IBSng Kurulum Eğitimi Bu makalede, centOS 6/7'de IBSng kurulum eğitimi size yardımcı olmak için sağlanmıştır…