Eski komut satırı araçlarının yanı sıra daha modern alternatifler kullanarak daha fazla eğlenebilir ve hatta üretkenliğinizi artırabilirsiniz.

Günlük işimde Linux Unix'te, disk kullanımını ve sistem kaynaklarını izlemek için du gibi birçok komut satırı aracı kullanıyoruz. Bu araçlardan bazıları uzun zamandır var. Örneğin, top 1984'te ortaya çıktı ve du'nun ilk sürümü 1971'e dayanıyor.
Yıllar geçtikçe bu araçlar modernize edilerek farklı sistemlere taşınmıştır ancak genel olarak ilk versiyonlarından pek uzaklaşmamışlar, görünümleri ve kullanılabilirlikleri de pek değişmemiştir.
Bunlar birçok sistem yöneticisi için vazgeçilmez olan mükemmel araçlardır. Ancak, topluluk ek avantajlar sunan alternatif araçlar geliştirmiştir. Bazıları sadece modern ve çekici bir arayüze sahipken, diğerleri kullanım kolaylığını önemli ölçüde artırır. Bu çeviride, standart komut satırı araçlarına beş alternatiften bahsedeceğiz. Linux.
1. ncdu ve du
NCurses Disk Kullanımı () du'ya benzer, ancak küfür kitaplığını temel alan etkileşimli bir arayüze sahiptir. ncdu, disk alanınızın çoğunu kaplayan dizin yapısını görüntüler.
ncdu diski analiz eder ve ardından sonuçları en sık kullanılan dizinlere veya dosyalara göre sıralanmış olarak görüntüler, örneğin:
ncdu 1.14.2 ~ Use the arrow keys to navigate, press ? for help
--- /home/rgerardi ------------------------------------------------------------
96.7 GiB [##########] /libvirt
33.9 GiB [### ] /.crc
7.0 GiB [ ] /Projects
. 4.7 GiB [ ] /Downloads
. 3.9 GiB [ ] /.local
2.5 GiB [ ] /.minishift
2.4 GiB [ ] /.vagrant.d
. 1.9 GiB [ ] /.config
. 1.8 GiB [ ] /.cache
1.7 GiB [ ] /Videos
1.1 GiB [ ] /go
692.6 MiB [ ] /Documents
. 591.5 MiB [ ] /tmp
139.2 MiB [ ] /.var
104.4 MiB [ ] /.oh-my-zsh
82.0 MiB [ ] /scripts
55.8 MiB [ ] /.mozilla
54.6 MiB [ ] /.kube
41.8 MiB [ ] /.vim
31.5 MiB [ ] /.ansible
31.3 MiB [ ] /.gem
26.5 MiB [ ] /.VIM_UNDO_FILES
15.3 MiB [ ] /Personal
2.6 MiB [ ] .ansible_module_generated
1.4 MiB [ ] /backgrounds
944.0 KiB [ ] /Pictures
644.0 KiB [ ] .zsh_history
536.0 KiB [ ] /.ansible_async
Total disk usage: 159.4 GiB Apparent size: 280.8 GiB Items: 561540
Ok tuşlarını kullanarak girişler arasında gezinebilirsiniz. Enter tuşuna basarsanız, ncdu seçilen dizinin içeriğini gösterecektir:
--- /home/rgerardi/libvirt ----------------------------------------------------
/..
91.3 GiB [##########] /images
5.3 GiB [ ] /media
Bu aracı, örneğin hangi dosyaların en fazla disk alanını kapladığını belirlemek için kullanabilirsiniz. Sol ok tuşuna basarak bir önceki dizine gidebilirsiniz. Ncdu ile d tuşuna basarak dosyaları silebilirsiniz. Silmeden önce onay istiyor. Değerli dosyaların kazara kaybolmasını önlemek için silme özelliğini devre dışı bırakmak istiyorsanız salt okunur erişim modunu etkinleştirmek için -r seçeneğini kullanın: ncdu -r.
ncdu birçok platform ve dağıtım için mevcuttur. LinuxÖrneğin, Fedora'ya doğrudan resmi depolardan yüklemek için dnf komutunu kullanabilirsiniz:
$ sudo dnf install ncdu
2. htop ve üst
top'a benzer etkileşimli bir süreç görüntüleyicidir, ancak kutudan çıktığı haliyle hoş bir kullanıcı deneyimi sağlar. Varsayılan olarak htop, top ile aynı bilgiyi daha görsel ve renkli bir şekilde görüntüler.
Varsayılan olarak htop şuna benzer:

Üst kısımdan farklı olarak:

Ek olarak htop, üst kısımda sistem hakkındaki genel bilgileri, altta ise fonksiyon tuşlarını kullanarak komutları çalıştırmaya yönelik bir paneli görüntüler. Yapılandırma ekranını açmak için F2 tuşuna basarak yapılandırabilirsiniz. Ayarlar'da renkleri değiştirebilir, metrikleri ekleyebilir veya kaldırabilir ya da genel bakış paneli görüntüleme seçeneklerini değiştirebilirsiniz.
Top'un en son sürümlerinin ayarlarını değiştirerek benzer bir kullanılabilirlik elde edebilmenize rağmen, htop, kullanımı daha pratik ve kolay hale getiren kullanışlı varsayılan yapılandırmalar sağlar.
3. tldr vs adam
Tldr komut satırı aracı, çoğunlukla örnekler olmak üzere komutlarla ilgili basitleştirilmiş yardım bilgilerini görüntüler. Topluluk tarafından geliştirildi .
Tldr'nin insanın yerine geçmediğini belirtmekte fayda var. Hala standart ve en kapsamlı kılavuz sayfası çıktı aracıdır. Ancak bazı durumlarda insan gereksizdir. Bir komut hakkında kapsamlı bilgiye ihtiyacınız olmadığında, yalnızca onun temel kullanımlarını hatırlamaya çalışırsınız. Örneğin, curl komutunun kılavuz sayfası neredeyse 3000 satır içerir. Curl için tldr sayfası 40 satır uzunluğundadır. Parçası şuna benziyor:
$ tldr curl
# curl
Transfers data from or to a server.
Supports most protocols, including HTTP, FTP, and POP3.
More information: <https://curl.haxx.se>.
- Download the contents of an URL to a file:
curl http://example.com -o filename
- Download a file, saving the output under the filename indicated by the URL:
curl -O http://example.com/filename
- Download a file, following [L]ocation redirects, and automatically [C]ontinuing (resuming) a previous file transfer:
curl -O -L -C - http://example.com/filename
- Send form-encoded data (POST request of type `application/x-www-form-urlencoded`):
curl -d 'name=bob' http://example.com/form
- Send a request with an extra header, using a custom HTTP method:
curl -H 'X-My-Header: 123' -X PUT http://example.com
- Send data in JSON format, specifying the appropriate content-type header:
curl -d '{"name":"bob"}' -H 'Content-Type: application/json' http://example.com/users/1234
... TRUNCATED OUTPUT
TLDR “çok uzun; okumadım": yani, aşırı ayrıntı nedeniyle bazı metinler göz ardı edildi. Bu ad bu araca uygundur çünkü man sayfaları yararlı olsa da bazen çok uzun olabilir.
Fedora için tldr Python'da yazılmıştır. Dnf yöneticisini kullanarak kurabilirsiniz. Genellikle aracın çalışması için internet erişimi gerekir. Ancak Fedora'nın Python istemcisi bu sayfaların indirilmesine ve çevrimdışı erişim için önbelleğe alınmasına izin veriyor.
4.jq ve sed/grep
jq, komut satırı için bir JSON işlemcisidir. Sed veya grep'e benzer, ancak özellikle JSON verileriyle çalışacak şekilde tasarlanmıştır. JSON'u günlük görevlerde kullanan bir geliştirici veya sistem yöneticisiyseniz bu araç tam size göre.
Jq'nin grep ve sed gibi standart metin işleme araçlarına göre temel avantajı, JSON veri yapısını anlayarak tek bir ifadeyle karmaşık sorgular oluşturmanıza olanak sağlamasıdır.
Örneğin, bu JSON dosyasında kapsayıcı adlarını bulmaya çalışıyorsunuz:
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"labels": {
"app": "myapp"
},
"name": "myapp",
"namespace": "project1"
},
"spec": {
"containers": [
{
"command": [
"sleep",
"3000"
],
"image": "busybox",
"imagePullPolicy": "IfNotPresent",
"name": "busybox"
},
{
"name": "nginx",
"image": "nginx",
"resources": {},
"imagePullPolicy": "IfNotPresent"
}
],
"restartPolicy": "Never"
}
}
Dize adını bulmak için grep komutunu çalıştırın:
$ grep name k8s-pod.json
"name": "myapp",
"namespace": "project1"
"name": "busybox"
"name": "nginx",
grep, kelime adını içeren tüm satırları döndürdü. Kısıtlamak için grep'e birkaç seçenek daha ekleyebilir ve kapsayıcı adlarını bulmak için bazı normal ifade işlemlerini kullanabilirsiniz.
Jq kullanarak aynı sonucu elde etmek için şunu yazmanız yeterlidir:
$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"
Bu komut size her iki konteynerin adını verecektir. Yalnızca ikinci kabın adını arıyorsanız dizi öğesinin dizinini ifadeye ekleyin:
$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"
jq veri yapısını bildiğinden dosya formatı biraz değişse bile aynı sonuçları üretir. grep ve sed bu durumda düzgün çalışmayabilir.
jq'nin birçok işlevi vardır ancak bunları açıklamak için başka bir makaleye ihtiyaç vardır. daha fazla bilgi için lütfen iletişime geçin jq veya tldr'ye.
5. fd vs bul
bulma yardımcı programına basitleştirilmiş bir alternatiftir. Fd'nin onu tamamen değiştirmesi amaçlanmamıştır: dosyalarla çalışmaya genel yaklaşımı tanımlayan, varsayılan olarak yüklenmiş en yaygın ayarlara sahiptir.
Örneğin, Git deposu dizinindeki dosyaları ararken, fd, .git dizini de dahil olmak üzere gizli dosyaları ve alt dizinleri otomatik olarak hariç tutar ve ayrıca .gitignore dosyasındaki joker karakterleri de yok sayar. Genel olarak, ilk denemede daha alakalı sonuçlar getirerek aramaları hızlandırır.
Varsayılan olarak fd, geçerli dizinde renkli çıktıyla büyük/küçük harfe duyarlı olmayan bir arama gerçekleştirir. Find komutunu kullanan aynı arama, komut satırına ek parametrelerin girilmesini gerektirir. Örneğin, geçerli dizindeki tüm .md (veya .MD) dosyalarını bulmak için şunun gibi bir find komutu yazarsınız:
$ find . -iname "*.md"
fd için şöyle görünür:
$ fd .md
Ancak bazı durumlarda fd ek seçenekler de gerektirir: örneğin, gizli dosya ve dizinleri dahil etmek istiyorsanız -H seçeneğini kullanmanız gerekir, ancak bu genellikle arama sırasında gerekli değildir.
fd birçok dağıtım için mevcuttur. LinuxFedora'da şu şekilde kurabilirsiniz:
$ sudo dnf install fd-find
Hiçbir şeyden vazgeçmene gerek yok
Yeni komut satırı araçlarını kullanıyor musunuz? LinuxYoksa sadece eskilerini mi kullanıyorsunuz? Ama büyük ihtimalle bir kombinasyon kullanıyorsunuz, değil mi? Lütfen deneyimlerinizi yorumlarda paylaşın.
Reklam gibi
Müşterilerimizin çoğu avantajları zaten takdir etti epik sunucular!
O , CPU çekirdek frekansı 3.4 GHz'e kadar. Maksimum yapılandırma muhteşem bir deneyime sahip olmanızı sağlayacaktır: 128 CPU çekirdeği, 512 GB RAM, 4000 GB NVMe. Sipariş vermek için acele edin!
Kaynak: habr.com
