Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d

Ana Menü

Linux ipuçları

Başlatan elektronikhobi, 05 Aralık 2024, 07:42:06

elektronikhobi

1 - Dizinde kelime aramak

Uygulamamızın verileri A sunucusundan çektiğini düşünelim. Zamanla B sunucusuna taşınmış olsun.

Sunucu ismini güncellemek için hangi kütükte bulunduğunu öğrenmek gerekebilir.

Dizindeki kütüklerde kelime aratmak için aşağıdaki komutu kullanabiliriz :

grep -Ril "aranan" .

2 - Uzak sunucu değişikliklerini geri almak

Uygulama kaynak kodunu bir önceki sürüme çekmek için aşağıdaki komutları kullanabiliriz:

git reset --hard HEAD^

git push -f
"Yirminci asrın akıllara hayret veren keşiflerinden birisi de hiç şüphesiz transistörlerdir."


mehmet

"ack", "grep"den daha maharetli...
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

elektronikhobi

#2
Fish kabuğu kullanıyoruz.

config.fish kütüğünde ack ile ilgili bu kadar kısaltma varmış.

alias bul="ack $argv[1]"
alias dara="ack --type=dkutuk $argv[1]"
alias valaara="ack --type=valakutuk $argv[1]"
alias vapiara="ack --type=vapi $argv[1]"
alias cara="ack --type=ckutuk $argv[1]"
alias başlıkara="ack --type=cbaslik $argv[1]"
alias pythonara="ack --type=piton $argv[1]"
alias jpgara="ack --type=jpgkutuk $argv[1]"

ack ile sadece belirli uzantılı kütüklerde arama yapabiliyorsunuz. Kütük uzantısı yoksa ekleyebilirsiniz.

~/.ackrc kütüğüne D ve Vala dosyalarını eklemişiz.
--type-set
dkutuk:ext:d,dkutuk
--type-set
valakutuk:ext:vala,valakutuk
--type-set
jpgkutuk:ext:jpg,jpgkutuk

Bazen bul yerine ara yazıyoruz. O da yeni paket arıyor  :-[

grep ve ack'nin sonuçları getirmesi biraz farklıdır.

Aynı kelimeyi arayarak sonucu gözlemleyebilirsiniz. 
"Yirminci asrın akıllara hayret veren keşiflerinden birisi de hiç şüphesiz transistörlerdir."


tunayk

Sanki konu başlığı ile içerik pek uyuşmamış, ya da kitabın direk ortasından başlanmış gibi  :)

elektronikhobi

#4
Yazılım geliştirmeden önce bazen hikayesi yazılıyor.

Olayı hikaye etmeye çalışalım.

Ali diye yazılım geliştirici bir arkadaş olsun. Bu arkadaş Kiraz isminde bir masaüstü yazılımı geliştiriyor. Kullanıcılar da mutlu mutlu kullanıyorlar.

Kiraz yazılımı verileri elma.net isimli bir sayfadan Json biçiminde çekiyor olsun.

Ali, 1 Ocak tarihinden itibaren elma.net'in yayınına son vereceğini ve bu tarihten sonra armut.net üzerinden verileri çekmesi gerektiğini öğreniyor.

Kaynak kod içerisinde hangi kütükte elma geçtiğini hatırlayamıyor. Bunun için ilk ipucunu kullanıyor.

grep -Ril "elma" .

Ana kaynak dizininde içerisinde elma geçen kütükleri armut yapıyor.

Uzaktaki git sunucuna yaptığı değişiklikleri gönderiyor.

Uygulamayı uzak sunucudan çekerek bilgisayarına kuruyor.

Ancak ne görsün? Uygulama çalışmıyor. Yeni sunucuda kiraz fiyatlarını veren GET işlevi çalışmıyor. Uygulamanın geliştiricisine haber veriyor.

Tekrar tüm yaptığı değişiklikleri geri almak için iki numaralı ipucunu kullanıyor.
"Yirminci asrın akıllara hayret veren keşiflerinden birisi de hiç şüphesiz transistörlerdir."


tunayk

Eyvallah Hocam. Herhal biz biraz geri kalmışız.
Hani başlığa bakınca insan ilk mesajlarda Hangi Linux dağıtımında, elma mı yoksa armut derleyicisinde mi geliştirme yapılıyor bilse bizim gibiler de belki daha kolay anlar belki. 

Konu farklı bir arkadaşımıza cevaben  başladıysa da araya girdiğimiz için kusura kalmayın.

elektronikhobi

#6
Hâl-i hazırda ArcoLinux  kullanıyoruz.

Bu ipuçları tüm Linux dağıtımlarında kullanılabilir.

Geliştirdiğimiz uygulama Archlinux, Manjaro, Ubuntu, Debian, Fedora, Red Hat, Open Suse, Pardus 23 üzerinde çalışıyor.

Uygulamayı geliştirdikten sonra önce Archlinux paketi haline getiriyoruz. Sonra bunu Debian ve Red Hat paketlerine çeviriyoruz.

Uygulama kaynağı Free Pascal, Vala ve kabuk betiği kullanıyor.



Geliştirme ortamı olarak Emacs kullanıyoruz.
"Yirminci asrın akıllara hayret veren keşiflerinden birisi de hiç şüphesiz transistörlerdir."