Bash Shell Ve AWK Betikleri

Linux ve Unix tabanli isletim sistemlerini hep beraber tanıyıp öğreneceğiz.
Kullanıcı avatarı
TRWE_2012
Zettabyte1
Zettabyte1
Mesajlar: 15247
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 2534 kez
Teşekkür edildi: 5364 kez

Özelleştirilmiş Conky Dosyası Oluşturma Nasıl Yapılabilir?

Mesaj gönderen TRWE_2012 »

Not:

Depolardan yüklediğiniz conky paketi temel pakettir.Bu temel paketi daha verimli kullanmak için Conky Manager uygulamasını yüklenmelisiniz.

Conky Manager Uygulamasının Yüklenmesi

Linux üzerine Conky Manager yüklemek için şu adımları izleyin:

Terminal penceresini açın ([Ctrl]+[Alt]+[t] tuşlarına birlikte basarak açabilirsiniz)

Önce gerekli paketleri yüklemek için geliştiricinin deposunu sistem'e ekleyiniz.

Kod: Tümünü seç

sudo add-apt-repository ppa:teejee2008/ppa


Daha sonra güncelleme için şu komutu kullanın:

Kod: Tümünü seç

sudo apt-get -u update


Son olarak Conky Manager uygulamasını yüklemek için şu komutu kullanın:

Kod: Tümünü seç

 sudo apt-get -u install -f conky-manager -y
Merak edenler için apt-get -u install -f conky-manager -y ifadesinde geçen

-u : User demektir.
-f : Varsa bağımlılıkları kur ve sistemin geneli ile kontrol et
-y : Sistem sormadan indirip yükleme moduna geçer.

SONUÇ:

Resim

Not:

Resmi tam ekran görmek için

1.Resme birkez tıklatın
2.Büyüyen resme sağ tık yapıp yeni sekmede aç komutunu verin tarayıcıdan
Kullanıcı avatarı
TRWE_2012
Zettabyte1
Zettabyte1
Mesajlar: 15247
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 2534 kez
Teşekkür edildi: 5364 kez

Re: Bash Shell Ve AWK Betikleri

Mesaj gönderen TRWE_2012 »

trwe yazdı: 22 Nis 2020, 05:26 Ram Ve Önbellek Temizleme

Merhabalar

Gnu-Linux dağıtımlarında çoğu görüşe göre "dağıtım ne kadar çok kaynak ram harcarsa o kadar iyi dağıtımdır" görüşü hakimdir.Aslında bu çarpık görüşün hiçbir temel dayanağı da yoktur.

Bundan dolayı ben sizlere kullandığınız dağıtım debian kendisi veya debian temelli olmak üzere , sisteminizi önbellek ve ram yönünden rahatlacak bir bash shell betiği vereceğim.Bu bash shell betiği ile sisteminiz daha iyi tepki verecek komutlara.... ve size.....

Bu Bash_Shell_ Betiği bir editör'e kopyala-yapıştır ile aktarın adını clearRAM.sh olacak şekilde / (root) dizin altına kayıt edin. Masaüstüne bir link olarak ' /......' şeklinde textsel uzantısını oluşturun.Sonra bu tam yolu yönetici modunda açılmış terminal arabirimine kopyala-yapıştır ile aktarın ve enter tuşuna basın.

Şimdi bu yukarıda anlatılanlar aşağıda özetlenmiştir.

1.Adım: Betiğin İçeriğinin Verilmesi:

Kod: Tümünü seç

#!/bin/bash
## Bash Script to clear cached memory on (Ubuntu/Debian) Linux
## By Philipp Klaus
## see <http://blog.philippklaus.de/2011/02/clear-cached-memory-on-ubuntu/>

if [ "$(whoami)" != "root" ]
then
  echo "You have to run this script as Superuser!"
  exit 1
fi

# Get Memory Information
freemem_before=$(cat /proc/meminfo | grep MemFree | tr -s ' ' | cut -d ' ' -f2) && freemem_before=$(echo "$freemem_before/1024.0" | bc)
cachedmem_before=$(cat /proc/meminfo | grep "^Cached" | tr -s ' ' | cut -d ' ' -f2) && cachedmem_before=$(echo "$cachedmem_before/1024.0" | bc)

# Output Information
echo -e "This script will clear cached memory and free up your ram.\n\nAt the moment you have $cachedmem_before MiB cached and $freemem_before MiB free memory."

# Test sync
if [ "$?" != "0" ]
then
  echo "Something went wrong, It's impossible to sync the filesystem."
  exit 1
fi

# Clear Filesystem Buffer using "sync" and Clear Caches
sync && echo 3 > /proc/sys/vm/drop_caches

freemem_after=$(cat /proc/meminfo | grep MemFree | tr -s ' ' | cut -d ' ' -f2) && freemem_after=$(echo "$freemem_after/1024.0" | bc)

# Output Summary
echo -e "This freed $(echo "$freemem_after - $freemem_before" | bc) MiB, so now you have $freemem_after MiB of free RAM."

exit 0
2.Adım:Betiği Uygulaması.

Resim

Betiğin Tercümesi:

Bu komut dosyası önbelleğe alınmış belleği temizler ve Ram Slotunu boşaltır.

Şu anda XX MB önbelleğe ve YY MB boş belleğe sahipsiniz.
ZZ MB serbest bırakıldı, şimdi TT MB boş RAM'iniz var


Textsel Tam Yol : '/portable apps/clearRAM/clearRAM.sh' (dikkat ederseniz bendeniz tam yolu ' /....' şeklinde kurgulamışım....Sizde aynen böyle yapın.Yalnız bendeniz iç içe iki dizin içine "clearRAM.sh" dosyasını yerleştirmişim siz böyle yapmak zorunda değilsiniz.)

TRWE_2012
Alaydan Yetişme PC Kullanıcısı
SONUÇ:

Resim
Kullanıcı avatarı
TRWE_2012
Zettabyte1
Zettabyte1
Mesajlar: 15247
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 2534 kez
Teşekkür edildi: 5364 kez

Re: Bash Shell Ve AWK Betikleri

Mesaj gönderen TRWE_2012 »

sudo Komutu Yerine xsudo Komtunun Kullanılması

1.Adım:

Bir metin editörünü boş sayfa olarak açın.

2.Adım:

Aşağıdaki kodları aynen boş dosyaya aktarın(kopyala-yapıştır)

Kod: Tümünü seç

#!/bin/bash
if [ -z $1 ]; then
 echo -e "at least 1 argument required!\n" >> /dev/stderr
 exit 1
fi
COMMAND=$1
shift #shift first arg
for ARG in "$@"
do
 if [ -z "$ARGS" ]; then
  ARGS="$ARG"
 else
  ARGS="$ARGS $ARG"
 fi 
done
ARGS=\'$ARGS\'
eval pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY $COMMAND $ARGS
exit 0
3.Adım:

Dosyayı, farklı kaydet komutu ile xsudo.sh olacak şekilde .sh dosya uzantılı olarak kayıt edin.

4.Adım:

Bash shell dosya uzantısı olarak (.sh) kayıt ettiğiniz dosyayı çalışabilir yapabilmek için terminalden ;

Kod: Tümünü seç

chmod +x xsudo.sh
yazıp, klavyeden enter tuşuna basın.

ÖRNEK ÇIKTI:
linuxmaster@notebook-pc ~ $ cd /home/linuxmaster/Masaüstü [Masaüstü Dizinine Geçildi...]
linuxmaster@notebook-pc ~/Masaüstü $ ls -lasth [Dizindeki Dosyaların özniteliklerine bakıldı]
toplam 32K
4,0K -rw-r--r-- 1 linuxmaster linuxmaster 321 Nis 25 22:30 xsudo.sh -----------> (dosyanın sadece okuma(r) ve yazma(w) hakkı var ama çalıştırma(x) hakkı yok
4,0K drwxr-xr-x 2 linuxmaster linuxmaster 4,0K Nis 25 22:30 .
20K -rw-r--r-- 1 linuxmaster linuxmaster 17K Nis 25 20:33 Ramazan İmsakiyesi.ods
4,0K drwxr-xr-x 96 linuxmaster linuxmaster 4,0K Nis 25 19:17 ..

linuxmaster@notebook-pc ~/Masaüstü $ chmod +x xsudo.sh [dosyaya çalıştırma hakkı verildi]

linuxmaster@notebook-pc ~/Masaüstü $ ls -lasth
toplam 32K
4,0K -rwxr-xr-x 1 linuxmaster linuxmaster 321 Nis 25 22:30 xsudo.sh .......> (Çalıştırma hakkı x ile ifade edilir)
4,0K drwxr-xr-x 2 linuxmaster linuxmaster 4,0K Nis 25 22:30 .
20K -rw-r--r-- 1 linuxmaster linuxmaster 17K Nis 25 20:33 Ramazan İmsakiyesi.ods
4,0K drwxr-xr-x 96 linuxmaster linuxmaster 4,0K Nis 25 19:17 ..
xsudo.sh Dosyasının Uygulaması Nasıl Yapılır?

Uygulama ÖRNEK ÇIKTI üzerinden gösterilmiştir.

Kod: Tümünü seç

linuxmaster@notebook-pc ~ $ cd Masaüstü
linuxmaster@notebook-pc ~/Masaüstü $ bash ./xsudo.sh gedit /etc/shadow
linuxmaster@notebook-pc ~/Masaüstü $
Örnek çıktı da, shadow dosyasını gnome editor (gedit) ile çalıştırılmıştır.

SONUÇ:

Resim

Yukarıdaki ekran görüntüsünde TRWE_2012(linuxmaster) betik dosyasını / (root) dizine (Windows termilojisinde C:\ kök dizinine) yerleştirmiştir.
Kullanıcı avatarı
TRWE_2012
Zettabyte1
Zettabyte1
Mesajlar: 15247
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 2534 kez
Teşekkür edildi: 5364 kez

Re: Bash Shell Ve AWK Betikleri

Mesaj gönderen TRWE_2012 »

GNU-Linux Dağıtımında Temel Bileşenlerin Sürümlerin, "Sürüm Kontrolü"

GNU-UNIX BASH SHELL BETİĞİ:

Kod: Tümünü seç

#Oluşturan TRWE_2012
#Web Site :  https://forum.sordum.net

cat > version-check.sh << "EOF"
#!/bin/bash
# Simple script to list version numbers of critical development tools
export LC_ALL=C
bash --version | head -n1 | cut -d" " -f2-4
MYSH=$(readlink -f /bin/sh)
echo "/bin/sh -> $MYSH"
echo $MYSH | grep -q bash || echo "ERROR: /bin/sh does not point to bash"
unset MYSH
echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-
bison --version | head -n1
if [ -h /usr/bin/yacc ]; then
 echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`";
elif [ -x /usr/bin/yacc ]; then
 echo yacc is `/usr/bin/yacc --version | head -n1`
else
 echo "yacc not found" 
fi

bzip2 --version 2>&1 < /dev/null | head -n1 | cut -d" " -f1,6-
echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2
diff --version | head -n1
find --version | head -n1
gawk --version | head -n1
if [ -h /usr/bin/awk ]; then
 echo "/usr/bin/awk -> `readlink -f /usr/bin/awk`";
elif [ -x /usr/bin/awk ]; then
 echo awk is `/usr/bin/awk --version | head -n1`
else 
 echo "awk not found" 
fi

gcc --version | head -n1
g++ --version | head -n1
ldd --version | head -n1 | cut -d" " -f2- # glibc version
grep --version | head -n1
gzip --version | head -n1
cat /proc/version
m4 --version | head -n1
make --version | head -n1
patch --version | head -n1
echo Perl `perl -V:version`
python3 --version
sed --version | head -n1
tar --version | head -n1
makeinfo --version | head -n1 # texinfo version
xz --version | head -n1
echo 'int main(){}' > dummy.c && g++ -o dummy dummy.c
if [ -x dummy ]
 then echo "g++ compilation OK";
 else echo "g++ compilation failed"; fi
rm -f dummy.c dummy
EOF
Dosya Adı: Version_Check
Dosya Uzantısı : .sh
Bash Derleme :

Kod: Tümünü seç

chmod +x Version_Check.sh
Çalıştırma Komut Düzeni :

Kod: Tümünü seç

sudo -s bash ./Version_Check.sh
Çıktısı : Version-Check.sh (bu dosya sizin dağıtımınıza özgü)

ÖRNEK ÇIKTI (TRWE_2012'in Sistemi : GNU-Linux Mint 17.3.1 x86 LXDE)

Kod: Tümünü seç

inuxmaster@notebook-pc ~ $ cd /home/linuxmaster/Masaüstü
linuxmaster@notebook-pc ~/Masaüstü $ ls -lasht
toplam 52K
4,0K drwxr-xr-x  2 linuxmaster linuxmaster 4,0K Nis 17 17:17 .
4,0K -rwxr-xr-x  1 linuxmaster linuxmaster 1,6K Nis 17 17:14 Version_Check.sh
4,0K -rw-r--r--  1 linuxmaster linuxmaster 2,1K Nis 17 17:08 GNU-Linux Dağıtımında Temel Bileşenlerin Sürümlerin, "Sürüm Kontrolü"
8,0K -rw-r--r--  1 linuxmaster linuxmaster 5,2K Nis 17 16:26 GNU-Linux'da Kullanılan Belli Başlı Açık Kaynak Kodlu Yazılımlar
4,0K drwxr-xr-x 94 linuxmaster linuxmaster 4,0K Nis 17 15:50 ..
 24K -rw-r--r--  1 linuxmaster linuxmaster  21K Nis 17 15:32 İşletim  Sistemlerinin Dünü Ve Bugünü
4,0K -rw-r--r--  1 linuxmaster linuxmaster  471 Nis 16 02:37 Çöp Tenekesi.desktop

Kod: Tümünü seç

linuxmaster@notebook-pc ~/Masaüstü $ tree --si
.
├── [ 471]  Çöp Tenekesi.desktop
├── [2.1k]  GNU-Linux Dağıtımında Temel Bileşenlerin Sürümlerin, "Sürüm Kontrolü"
├── [5.2k]  GNU-Linux'da Kullanılan Belli Başlı Açık Kaynak Kodlu Yazılımlar
├── [ 21k]  İşletim  Sistemlerinin Dünü Ve Bugünü
└── [1.6k]  Version_Check.sh

0 directories, 5 files
Bu üç komut düzeninden birini seçin....

Kod: Tümünü seç

linuxmaster@notebook-pc ~/Masaüstü $ chmod +xxx Version_Check.sh

Kod: Tümünü seç

linuxmaster@notebook-pc ~/Masaüstü $ ls -lasht
toplam 52K
4,0K drwxr-xr-x  2 linuxmaster linuxmaster 4,0K Nis 17 17:17 .
4,0K -rwxr-xr-x  1 linuxmaster linuxmaster 1,6K Nis 17 17:14 Version_Check.sh
4,0K -rw-r--r--  1 linuxmaster linuxmaster 2,1K Nis 17 17:08 GNU-Linux Dağıtımında Temel Bileşenlerin Sürümlerin, "Sürüm Kontrolü"
8,0K -rw-r--r--  1 linuxmaster linuxmaster 5,2K Nis 17 16:26 GNU-Linux'da Kullanılan Belli Başlı Açık Kaynak Kodlu Yazılımlar
4,0K drwxr-xr-x 94 linuxmaster linuxmaster 4,0K Nis 17 15:50 ..
 24K -rw-r--r--  1 linuxmaster linuxmaster  21K Nis 17 15:32 İşletim  Sistemlerinin Dünü Ve Bugünü
4,0K -rw-r--r--  1 linuxmaster linuxmaster  471 Nis 16 02:37 Çöp Tenekesi.desktop
--------

Kod: Tümünü seç

linuxmaster@notebook-pc ~/Masaüstü $ chmod +rwx Version_Check.sh

Kod: Tümünü seç

linuxmaster@notebook-pc ~/Masaüstü $ ls -lasht
toplam 52K
4,0K drwxr-xr-x  2 linuxmaster linuxmaster 4,0K Nis 17 17:17 .
4,0K -rwxr-xr-x  1 linuxmaster linuxmaster 1,6K Nis 17 17:14 Version_Check.sh
4,0K -rw-r--r--  1 linuxmaster linuxmaster 2,1K Nis 17 17:08 GNU-Linux Dağıtımında Temel Bileşenlerin Sürümlerin, "Sürüm Kontrolü"
8,0K -rw-r--r--  1 linuxmaster linuxmaster 5,2K Nis 17 16:26 GNU-Linux'da Kullanılan Belli Başlı Açık Kaynak Kodlu Yazılımlar
4,0K drwxr-xr-x 94 linuxmaster linuxmaster 4,0K Nis 17 15:50 ..
 24K -rw-r--r--  1 linuxmaster linuxmaster  21K Nis 17 15:32 İşletim  Sistemlerinin Dünü Ve Bugünü
4,0K -rw-r--r--  1 linuxmaster linuxmaster  471 Nis 16 02:37 Çöp Tenekesi.desktop
---------[Önerdiğim bu]-------------

Kod: Tümünü seç

linuxmaster@notebook-pc ~/Masaüstü $ sudo -s bash ./Version_Check.sh

Kod: Tümünü seç

[sudo] password for linuxmaster: **********************************

bash, version 4.3.11(1)-release
/bin/sh -> /bin/dash
ERROR: /bin/sh does not point to bash
Binutils: (GNU Binutils for Ubuntu) 2.24
bison (GNU Bison) 3.0.2
/usr/bin/yacc -> /usr/bin/bison.yacc
bzip2,  Version 1.0.6, 6-Sept-2010.
Coreutils:  8.21
diff (GNU diffutils) 3.3
find (GNU findutils) 4.4.2
GNU Awk 4.0.1
/usr/bin/awk -> /usr/bin/gawk
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4
g++ (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4
(Ubuntu EGLIBC 2.19-0ubuntu6.15) 2.19
grep (GNU grep) 2.16
gzip 1.6
Linux version 4.4.1-040401-generic (kernel@gomeisa) (gcc version 5.2.1 20151010 (Ubuntu 5.2.1-22ubuntu2) ) #201601311534 SMP Sun Jan 31 20:52:22 UTC 2016
m4 (GNU M4) 1.4.17
GNU Make 3.81
GNU patch 2.7.1
Perl version='5.18.2';
Python 3.4.3
sed (GNU sed) 4.2.2
tar (GNU tar) 1.27.1
version-check.sh: line 45: makeinfo: command not found
xz (XZ Utils) 5.1.0alpha
g++ compilation OK
linuxmaster@notebook-pc ~/Masaüstü $ 
Bu oluşan dosyanın size özgü olduğunu anlamanın en güzel yolu, oluşan dosyayı root olarak çalıştırmaktır.

ÖRNEK ÇIKTI:

Kod: Tümünü seç

linuxmaster@notebook-pc ~ $ cd /Masaüstü
bash: cd: /Masaüstü: Böyle bir dosya ya da dizin yok

linuxmaster@notebook-pc ~ $ cd Masaüstü
linuxmaster@notebook-pc ~/Masaüstü $ ls -lasht
toplam 60K
4,0K drwxr-xr-x  2 linuxmaster linuxmaster 4,0K Nis 17 17:26 .
8,0K -rw-r--r--  1 linuxmaster linuxmaster 5,8K Nis 17 17:26 GNU-Linux Dağıtımında Temel Bileşenlerin Sürümlerin, "Sürüm Kontrolü"
4,0K -rw-r--r--  1 root        root        1,6K Nis 17 17:23 version-check.sh
4,0K -rwxr-xr-x  1 linuxmaster linuxmaster 1,6K Nis 17 17:14 Version_Check.sh
8,0K -rw-r--r--  1 linuxmaster linuxmaster 5,2K Nis 17 16:26 GNU-Linux'da Kullanılan Belli Başlı Açık Kaynak Kodlu Yazılımlar
4,0K drwxr-xr-x 94 linuxmaster linuxmaster 4,0K Nis 17 15:50 ..
 24K -rw-r--r--  1 linuxmaster linuxmaster  21K Nis 17 15:32 İşletim  Sistemlerinin Dünü Ve Bugünü
4,0K -rw-r--r--  1 linuxmaster linuxmaster  471 Nis 16 02:37 Çöp Tenekesi.desktop

linuxmaster@notebook-pc ~/Masaüstü $ chmod u=rwx version-check.sh
chmod: `version-check.sh''nın erişim izinleri değiştiriliyor: İşleme izin verilmedi

linuxmaster@notebook-pc ~/Masaüstü $ sudo -s chmod u=rwx version-check.sh
[sudo] password for linuxmaster: ****************************

linuxmaster@notebook-pc ~/Masaüstü $ ls -lasht
toplam 60K
4,0K drwxr-xr-x  2 linuxmaster linuxmaster 4,0K Nis 17 17:26 .
8,0K -rw-r--r--  1 linuxmaster linuxmaster 5,8K Nis 17 17:26 GNU-Linux Dağıtımında Temel Bileşenlerin Sürümlerin, "Sürüm Kontrolü"
4,0K -rwxr--r--  1 root        root        1,6K Nis 17 17:23 version-check.sh
4,0K -rwxr-xr-x  1 linuxmaster linuxmaster 1,6K Nis 17 17:14 Version_Check.sh
8,0K -rw-r--r--  1 linuxmaster linuxmaster 5,2K Nis 17 16:26 GNU-Linux'da Kullanılan Belli Başlı Açık Kaynak Kodlu Yazılımlar
4,0K drwxr-xr-x 94 linuxmaster linuxmaster 4,0K Nis 17 15:50 ..
 24K -rw-r--r--  1 linuxmaster linuxmaster  21K Nis 17 15:32 İşletim  Sistemlerinin Dünü Ve Bugünü
4,0K -rw-r--r--  1 linuxmaster linuxmaster  471 Nis 16 02:37 Çöp Tenekesi.desktop
ÇIKTISI:

Kod: Tümünü seç

linuxmaster@notebook-pc ~/Masaüstü $ sudo -s bash ./version-check.sh
bash, version 4.3.11(1)-release
/bin/sh -> /bin/dash
ERROR: /bin/sh does not point to bash
Binutils: (GNU Binutils for Ubuntu) 2.24
bison (GNU Bison) 3.0.2
/usr/bin/yacc -> /usr/bin/bison.yacc
bzip2,  Version 1.0.6, 6-Sept-2010.
Coreutils:  8.21
diff (GNU diffutils) 3.3
find (GNU findutils) 4.4.2
GNU Awk 4.0.1
/usr/bin/awk -> /usr/bin/gawk
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4
g++ (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4
(Ubuntu EGLIBC 2.19-0ubuntu6.15) 2.19
grep (GNU grep) 2.16
gzip 1.6
Linux version 4.4.1-040401-generic (kernel@gomeisa) (gcc version 5.2.1 20151010 (Ubuntu 5.2.1-22ubuntu2) ) #201601311534 SMP Sun Jan 31 20:52:22 UTC 2016
m4 (GNU M4) 1.4.17
GNU Make 3.81
GNU patch 2.7.1
Perl version='5.18.2';
Python 3.4.3
sed (GNU sed) 4.2.2
tar (GNU tar) 1.27.1
./version-check.sh: line 45: makeinfo: command not found
xz (XZ Utils) 5.1.0alpha
g++ compilation OK

linuxmaster@notebook-pc ~/Masaüstü $ exit
Güle güle kullanın..... :-D
Kullanıcı avatarı
velociraptor
Yottabyte4
Yottabyte4
Mesajlar: 53987
Kayıt: 14 Mar 2006, 02:33
cinsiyet: Erkek
Teşekkür etti: 19832 kez
Teşekkür edildi: 11995 kez

Re: Bash Shell Ve AWK Betikleri

Mesaj gönderen velociraptor »

Maşallah , ellerine sağlık
Kullanıcı avatarı
TRWE_2012
Zettabyte1
Zettabyte1
Mesajlar: 15247
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 2534 kez
Teşekkür edildi: 5364 kez

Re: Bash Shell Ve AWK Betikleri

Mesaj gönderen TRWE_2012 »

velociraptor yazdı: 27 Nis 2020, 14:32 Maşallah , ellerine sağlık
Teşekkürler Admin...... :-)
Kullanıcı avatarı
TRWE_2012
Zettabyte1
Zettabyte1
Mesajlar: 15247
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 2534 kez
Teşekkür edildi: 5364 kez

Bash Shell Betiği İle Ekran Çözünürlüğü Ayarlama

Mesaj gönderen TRWE_2012 »

Ön Hazırlık:

Kod: Tümünü seç

sudo -s
komutu ile ROOT KULLANICI yetkilerini geçici olarak üzerinize alın.

1.Aşama:

Terminalden şu komutu çalıştırın

Kod: Tümünü seç

gtf "genişlik yükseklik ekran yenileme hızı (Hz)
ÖRNEK RESİM VE ÇIKTI:

Not : Benim sistemin ekran çözünürlüğü maksimum 1280x800 px (16:10 geniş ekran) ve ekran yenileme hızı 60 Hz. olduğundan komutun sol tarafına 1280 800 60 yazacağım siz kendi çözünürlük ve ekran yenileme değerini yazın

Resim
Bize çıktıda lazım olan bölüm yukarıdaki resimde işaretlenmiş halde , bunu bir yere not aldık(siz kendinizdeki değeri not alın)

Kod: Tümünü seç

linuxmaster@notebook-pc ~ $ sudo -s
[sudo] password for linuxmaster: **************************

Kod: Tümünü seç

notebook-pc ~ # gtf 1280 800 60

  # 1280x800 @ 60.00 Hz (GTF) hsync: 49.68 kHz; pclk: 83.46 MHz
  Modeline "1280x800_60.00"  83.46  1280 1344 1480 1680  800 801 804 828  -HSync +Vsync
2.Aşama:

Gene yönetici olarak komut satırında şu komutu verin ve enter tuşuna basın

Kod: Tümünü seç

xrandr 
ÖRNEK RESİM VE ÇIKTI:

Resim

Kod: Tümünü seç

notebook-pc ~ # xrandr
Screen 0: minimum 8 x 8, current 1280 x 800, maximum 32767 x 32767
LVDS1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 331mm x 207mm
   1280x800       60.0*+
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
TV1 disconnected (normal left inverted right x axis y axis)
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
Bu çıktı da önemli olanlar

LVDS1 connected = Benim ekranım LVDS1 Mod çıkışlı imiş (connected türkçesi bağlandı demek)
TV1 disconnected = TV kartı olmadığından desteklemiyor
VGA1 disconnected =Desteklemiyor
VIRTUAL1 disconnected = Desteklemiyor (çift monitör olayı yok)

Bize lazım olan LVDS1 ifadesi.....Bunu da not ettik .... (siz kendi ekran çıkışını not edin.)

Şimdi kullancağımız betik

Şmdi notları şuraya alalım

A = 83.46 1280 1344 1480 1680 800 801 804 828 -HSync +Vsync[/code]
B = LVDS1

Bu yukarıdaki yönteme değişken değiştirme/atama denir.
#! /bin/sh
# /etc/init.d/ekran
xrandr --newmode "ekran" A
xrandr --addmode B "ekran"
xrandr --output B --mode "ekran"
Bu A ve B değerleri sizde "Farklı Olacak"

Yani betiğin tam açılmış hali
#! /bin/sh
# /etc/init.d/ekran
xrandr --newmode "ekran" 83.46 1280 1344 1480 1680 800 801 804 828 -HSync +Vsync[/code]
xrandr --addmode LVDS1 "ekran"
xrandr --output LVDS1--mode "ekran"
Bu betiği boş bir metin editörüne aktarın ve

Dosya Adı : Çözünürlük_Yenileme
Dosya Uzantısı: .sh
Çalıştıralabilir Komutu : chmod +x Çözünürlük_Yenileme.sh (Enter tuşuna basın)

ÖRNEK EKRAN GÖRÜNTÜSÜ VE ÇIKTISI

Resim

Kod: Tümünü seç

notebook-pc ~ # cd /home/linuxmaster/Masaüstü
notebook-pc Masaüstü # ls -lasht
toplam 148K
4,0K -rw-r--r--  1 linuxmaster linuxmaster  192 Nis 30 18:57 Çözünürlük_Yenileme.sh
4,0K drwxr-xr-x  2 linuxmaster linuxmaster 4,0K Nis 30 18:57 .
 72K -rw-r--r--  1 linuxmaster linuxmaster  71K Nis 30 18:35 cmd2.jpeg
 44K -rw-r--r--  1 linuxmaster linuxmaster  42K Nis 30 18:24 cmd1.jpeg
 20K -rw-r--r--  1 linuxmaster linuxmaster  17K Nis 30 01:19 Ramazan İmsakiyesi.ods
4,0K drwxr-xr-x 96 linuxmaster linuxmaster 4,0K Nis 30 00:21 ..
notebook-pc Masaüstü # chmod +x Çözünürlük_Yenileme.sh
notebook-pc Masaüstü # ls -lasht
toplam 148K
4,0K -rwxr-xr-x  1 linuxmaster linuxmaster  192 Nis 30 18:57 Çözünürlük_Yenileme.sh
4,0K drwxr-xr-x  2 linuxmaster linuxmaster 4,0K Nis 30 18:57 .
 72K -rw-r--r--  1 linuxmaster linuxmaster  71K Nis 30 18:35 cmd2.jpeg
 44K -rw-r--r--  1 linuxmaster linuxmaster  42K Nis 30 18:24 cmd1.jpeg
 20K -rw-r--r--  1 linuxmaster linuxmaster  17K Nis 30 01:19 Ramazan İmsakiyesi.ods
4,0K drwxr-xr-x 96 linuxmaster linuxmaster 4,0K Nis 30 00:21 ..
notebook-pc Masaüstü # 
3.AŞAMA:

Oluşturulan betiğin başlangıçta otomatik çalışabilecek hale getirilmesi işlemi....

Kullandığınız dosya yöneticisini komut satırından şöyle çalıştırın

Kod: Tümünü seç

sudo -s  dosya_yöneticisinin komutsal adı 
ÖRNEK RESİM VE ÇIKTI:

Resim

Hazırladığınız "Çözünürlük_Yenileme.sh" ismindeki dosyayı

Kod: Tümünü seç

/etc/xdg/autostart
dizinine kes-yapıştır yapın.(aslında dosyayı taşıyorsunuz)

Resim

Resim

4.AŞAMA:

Hazırladığınız dosyanın her sistem açılışında otomatik çalışması için kullandığınız masaüstünün "Başlangıç uygulamaları" programından "Yeni ekle" yoluyla hazırladığınız dosyanın yolunu göstermeniz yeterli olacaktır...
Kullanıcı avatarı
TRWE_2012
Zettabyte1
Zettabyte1
Mesajlar: 15247
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 2534 kez
Teşekkür edildi: 5364 kez

Linux'da Başlangıç Girişine "Komut,Betik Ve Program Girişi" Ekleme Nasıl Yapılabilir?

Mesaj gönderen TRWE_2012 »

Kısa Açıklama: [Ne İşe Yarar....?]

Komut, bash shel betiği yada program .desktop kısayolunu girip "Tamam" (ok) tuşuna basıyorsunuz, bir sonraki sistem başlangıcında başlangıçta girdiğiniz komut/betik/.desktop otomatik çalışıyor.

1.Aşama: (Ek Paket Kurulumu)

Kod: Tümünü seç

sudo -s apt-get -u install -ff yad 
ÖRNEK RESİM:

Resim

ÇIKTI:

Kod: Tümünü seç

linuxmaster@notebook-pc ~ $ sudo -s apt-get -u install -ff yad
[sudo] password for linuxmaster: **********************************
Paket listeleri okunuyor... Bitti
Bağımlılık ağacı oluşturuluyor       
Durum bilgisi okunuyor... Bitti      
yad zaten en yeni sürümde.
0 paket yükseltilecek, 0 yeni paket kurulacak, 0 paket kaldırılacak ve 0 paket yükseltilmeyecek.
2.Aşama:

Aşağıdaki bash shell betiğini gedit gibi bir editöre aktarın.

Kod: Tümünü seç

#! /bin/bash

config_dir=${XDG_CONFIG_HOME:-$HOME/.config}
results=$(mktemp --tmpdir openbox.XXXXXXXXXX)

for f in $config_dir/openbox/autostart; do
    grep -m 1 -e '^[[:blank:]]*Exec' $f | cut -d = -f 2
    grep -m 1 -e '^[[:blank:]]*Name' $f | cut -d = -f 2
    grep -m 1 -e '^[[:blank:]]*Comment' $f | cut -d = -f 2
done | yad --entry --image=gnome-run --window-icon=gnome-run --width=325 --title="Run at startup" --center --text="Enter the command you want to run at startup and click OK." > $results

if [[ ${PIPESTATUS[1]} -eq 0 ]]; then
    cat $results | while read line; do
    eval $(echo $line | awk -F'|' '{printf "export NAME=\"%s\" COMMENT=\"%s\" COMMAND=\"%s\"", $2, $3, $1}')
    cat >> $config_dir/openbox/autostart << EOF
$COMMAND &
EOF
    $((i++))
    done
    unset NAME COMMENT COMMAND
fi

exit 0
Dosya Adı : startup
Dosya Uzantısı : .sh
Çalıştırılabilir Komutu :

Kod: Tümünü seç

chmod a+rx startup.sh
3.Aşama:

Oluşturulan startup.sh dosyası , kendi kullanıcı dizinindeki .config dizininin içine atın. (.config dizini olduğundan dosya yöneticisinin içindeyken CTRL + H ile gizli dizinleri ve dosyaları görülünür hale getirin sonra işiniz bitince tekrar CTRL + H ile gizleyin....)

Resim
Sonra bir terminal açın (tercihen .config dizinin içinde açın) ve komut satırına;

Kod: Tümünü seç

chmod a+rx /home/$USER/.config/startup.sh
komutunu girin.Artık dosya çalışabilirlik niteliği kazandı.

4.Aşama:

Şimdi buna uygun kısayol oluşturulalım

Kod: Tümünü seç

[Desktop Entry]
Type=Application
Name=Startup_Run
Comment=Startup_Run > Autostart
StartupNotify=true
Exec=sh -c "/home/$USER/.config/startup"
Icon=gnome-run
Categories=Other;
NoDisplay=false
Terminal=false
X-GNOME-Autostart-enabled=true
Dosya adı : autostart
Dosya Uzantısı : .desktop
Çalıştırılabilir Komutu : chmod a+rx autostart.desktop
Kısayolu istediğiniz konumda saklayabilirsiniz.

SONUÇ:

Resim
Resim
Kullanıcı avatarı
TRWE_2012
Zettabyte1
Zettabyte1
Mesajlar: 15247
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 2534 kez
Teşekkür edildi: 5364 kez

Uzaktaki MySQL Veritabanını Yedekleme

Mesaj gönderen TRWE_2012 »

Kod: Tümünü seç

#!/bin/sh
NOW=$(date +"%d-%m-%Y")
# set mysql login info
MUSER="MySQL-UserNAME"                # Username
MPASS="MySQL-SERVER-PASSWORD"   # Password
MHOST="MySQL-SERVER-IP-ADDRESS"  # Server Name
# guess binary names 
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
GZIP="$(which gzip)"
 
# get all db names 
DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"
for db in $DBS
do
 FILE=mysql-$db.$NOW-$(date +"%T").gz
 $MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 &gt; $FILE
done
Dosya Adı:mysoq_backup
Dosya Uzantısı : .sh
Dosyanın Çalışabiliriği : chmod +x mysoq_backup.sh
Kullanıcı avatarı
TRWE_2012
Zettabyte1
Zettabyte1
Mesajlar: 15247
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 2534 kez
Teşekkür edildi: 5364 kez

Bash Shell Tools

Mesaj gönderen TRWE_2012 »

Resim

Linux Kullanıcısı için Faydalı BASH Komutları [Eğlenceli Ve Gerekli Hepsi Bir Yerde Çalışması]


Kısa Tanıtım :

Bash-Snippets olarak adlandırılan tüm Linux kullanıcıları için kullanışlı BASH betikleri koleksiyonudur. Sadece Terminal’den çok yararlı şeyler yapabilirsin.

Bash-Snippets Bash Shell Paketinin Yüklenmesi:
--------------------------------------------------------------------------------------:
Git üzerinden yükleme: (Not : Git fonskiyonunun çalışabilmesi için GİT paketi sisteminizde yüklü olmalıdır.)

Neden git üzerinden yapıyoruz, çünkü bu şekilde bütün linux dağıtımlarında çalışıyor.

İlk olarak depoyu klonlayalım;

Kod: Tümünü seç

git clone https://github.com/alexanderepstein/Bash-Snippets
Sonra ilgili dizine girelim

Kod: Tümünü seç

cd Bash-Snippets
En son kararlı sürüm için Git checkout Ek Paketini Bash-Snippet İçine İndiregandi Yapalım:

Kod: Tümünü seç

git checkout v1.22.1
Kılavuzlu yükleme komut dosyası

Kod: Tümünü seç

./install.sh all
(Tüm komut dosyalarını yükle emrini sistem'e verelim)

Resim

Bir dakikadan az bir sürede yükleme işlemi bitti.

Peki biz ne yükledik.....!? Gelin beraber bakalım nelere yüklemişsiz......! :)

Bash Shell Tools Komut Takımı Tanımlamaları:

Cheat – Linux Komutları hile sayfası.
Cloudup – GitHub depolarınızı bitbucket’e yedekleyen bir araç.
Crypt – Dosyaları şifreleyin ve şifresini çözün.
Cryptocurrency – Cryptocurrency’yı en iyi 10 şifreli parabirimlerini gerçek zamanlı döviz kurlarına göre dönüştürür.
Currency – Para birimi dönüştürücü.
Geo – wan, lan, router, dns, mac ve ip’in ayrıntılarını sunar.
Lyrics- Belirli bir şarkı için hızlıca komut satırından şarkı sözlerini tut.
Meme – Komut satırı meme(Resim Üzerine Yazma) yaratıcısı.
Movies – Bir film ayrıntılarını arayın ve görüntüleyin.
Newton – Sayısal hesaplamaları sembolik matematik ayrıştırmalarına kadar tamamlar.
Qrify – Verilen dizeyi qr koduna dönüştürür.
Short – Kısa URL Kısaltıcı
Siteciphers – Belirli bir https sitesi için hangi şifrelerin etkinleştirildiğini / devre dışı bırakıldığını kontrol edin.
Stocks – Belirli Stok detaylarını sağlar.
Taste – Ürünle birlikte verilen ürün gibi üç benzer öğe sağlayan öneri motoru (Öğeler kitaplar, müzik, sanatçılar, filmler ve oyunlar vb. Olabilir).
Todo – Komut satırı todo yöneticisi.
Transfer – Dosyaları komut satırından hızla aktarın.
Weather – Bulunduğunuz yerin hava durumunu gösterir.
Youtube-Viewer – YouTube’u Terminal’den izleyin.

Şimdi Bu Komutların Kullanımının Nasıl Olacağını Görelim/Gösterelim (ShowTime.....! )

----------------------------------------------------------------------------------------:

1-weather komutu:

Bu komut, IP adresinize bağlı olarak, önümüzdeki 3 günün hava durumunu gösterecektir. Belirli bir şehrin hava durumunu görüntülemek istiyorsanız, arkasına şehrin ismini ekleyin.

Mesela İzmir'in Hava Durumu'na bakalım mı?

Kod: Tümünü seç

#weather izmir
Resim

2-Crypt – Dosyaları Şifrelemek ve Şifresini Çözme

Dosyaları şifrelemek ve şifresini çözmek için lütfen (-e) ve (-d) seçeneklerini kullanın

Şifre çözme örneği /etc/passwd dosyası...

Resim

Kod: Tümünü seç

# crypt -e passwd encrypted_passwd
Lütfen şifreleme şifresini girin ve unutmayın/not edin bir yere......!

Resim

cat komutu ile şifreli dosya içeriğine bakalım;

Resim

Dosyanın şifresini çözmek için;

Kod: Tümünü seç

crypt -d encrypted_passwd decrypted_password
Resim

3.Currency – Para Birimi Dönüştürücü

Sadece temel para birimi kodunu ve değiş tokuş etmek için para birimini girin, sonuçlar gerçek zamanlı döviz kurlarına dayanmaktadır.

Desteklenen Para Birimleri:

Kod: Tümünü seç

| AUD | BGN | BRL | CAD |
| CHF | CNY | CZK | DKK |
| EUR | GBP | HKD | HRK |
| HUF | IDR | ILS | INR |
| JPY | KRW | MXN | MYR |
| NOK | NZD | PHP | PLN |
| RON | RUB | SEK | SGD |
| THB | TRY | USD | ZAR |
Türk Lirası ve Amerikan Dolarını deneyelim(Not: Güvenlik duvarından dolayı anlık kur alınamamıştır ilgili portu güvenlik duvarından açamanız gerekiyor.)

Resim

4-Movies – Film Üzerine Ayrıntılar

Filmler hakkında bilgi edinin. Yıl sürümü gibi. aktörler, yönetmen

Resim

4-Short: URL’leri kısaltın ve kısaltılmış URL’leri kaldırın

Komut Dizimi :

Kod: Tümünü seç

short -s url_adı
Resim

5- Geo – Ağınızdaki ayrıntıları bulun

Wifi, lan, yönlendirici, dns, mac ve ip konum belirleme gibi ayrıntıları bulun.

Resim

6- YouTube-Viewer – YouTube’u Terminalden İzleyin :arrow: :arrow: :arrow:

Ytview komutu;

Açıklama: Doğrudan terminalden youtube videoları arayın ve oynatın.

Kullanımı: ytview [flag] [string] veya ytview [videoToSearch]
-s aramalar youtube
-c Bir kanalın en son videolarını gösterir
-u Bash-Snippet Araçları Güncelleştir
-h Yardımı göster
-v Takım versiyonunu edinin

Komut Söz Dizilimi:

Kod: Tümünü seç

ytview -s -Video'un görünen ismi-   (-s parametresine arama sonucu bulunan video)

Kod: Tümünü seç

ytview -c  -Video'un görünen ismi- (-c parametresine en son güncel video)
Örnek:

Kod: Tümünü seç

ytview -s sordum.net 
.....gibi yada

Kod: Tümünü seç

 ytview -c Ahmet Kaya Kum Gibi 
7-Newton. Matematik yardımcısı

Kod: Tümünü seç

Operations    Sample Expression Sample Result|
|---------------------------------------------------|
|Simplify           [[2x^2]+7]*[4x^2] 8 x^4 + 28 x^2 |
|Factor             x^2 + 2x x       (x + 2) |
|Derive             x^2+2x          2 x + 2 |
|Integrate          x^2+2x 1/3 x^3 + x^2 +C|
|Roots/Zeroes       x^2+2x 2, 0 |
|Tangent            2~x^3 12 x + -16 | (X ^ 3 ifadesi için x = 2 olduğunda tanjant çizgisi bulma)
|Area               2:4~x^3 60 | (X ^ 3 ifadesi için 2'den 4'e eğri altındaki alan bulma)
|Cos                pi -1 |
|Sin                pi 0 |
|Tan                pi/4 1 |
|ArcCos             1 0 |
|ArcSin             0 0 |
|ArcTan             pi arcsin(pi) |
|Abs                -2 2 |
|Log                2~8 3 | (Log base 2 of eight)
8-Stocks – hisse senedi fiyat detayları

Mesela Turkcell GSM Şirketinin Hisse Senedi - İstanbul Borsası Durumu

Kod: Tümünü seç

# stocks tkc
9-lyrics Belirli bir şarkı için sözleri alın.

Komutun Kullanımı

Kod: Tümünü seç

lyrics -a şarkıcı -s şarkı
Eğer şarkı sözlerini bir dosyaya yazdırmak istiyorsanız;

Kod: Tümünü seç

lyrics -a şarkıcı  -s şarkı  -f ~/şarkısözleri.txt
Tüm araçları görmek ve denemek için sadece bash-snippets komutunu ekleyin

Kod: Tümünü seç

#bash-snippets
Resim

Kaynak Siteler:

https://www.osradar.com/useful-bash-scr ... HWq1rX5BDM

https://anadolupanteri.net

Düzenleyen Ve Sadeleştiren : TRWE_2012 -https://forum.sordum.net

GÜLE GÜLE KULLANIN............! :)
Kullanıcı avatarı
TRWE_2012
Zettabyte1
Zettabyte1
Mesajlar: 15247
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 2534 kez
Teşekkür edildi: 5364 kez

Hepsi BirArada Shell Betiği

Mesaj gönderen TRWE_2012 »

SysAdmin En Faydalı Bash Scriptleri

Açıklama:

Verilen görevler bu Komut Dosyaları kullanılırken gerçekleştirilir.

1.Linux Operating system Bilgi
2.Ana Bilgisayar Adı ve DNS Bilgileri
3.Ağ Bilgisi
4.Kim çevrimiçi
5.Son giriş yapan kullanıcılar
6.Boş ve kullanılmış bellek Bilgisi
7.IP adresimi al
8.Disk Kullanımım
9.İşlem Kullanımı
10Kullanıcı İşlemleri
11.Dosya İşlemleri

Adım-1 (Bash Scriptlerini İndirin)

Kod: Tümünü seç

wget https://raw.githubusercontent.com/sathisharthar/Admin-Scripts/master/sysinop
Not:

adresine güvenliği gözardı ederek bağlanmak için `--no-check-certificate' seçeneğini yukarıdakinin en sonuna ekleyin.Yani

Kod: Tümünü seç

wget https://raw.githubusercontent.com/sathisharthar/Admin-Scripts/master/sysinop --no-check-certificate
olacak...

Adım-2 (Bash Betiklerini Çalıştır)

NOT:

Önce ls komutu ile dosyanın inip inmediğine bakılır ardından

Kod: Tümünü seç

chmod +x sysinop
yazılıp klavyeden enter tuşuna basılır

Kod: Tümünü seç

bash sysinop
Adım-3(Uygulama Menüsü)

Resim

Kaynak Çeviri Sitesi: Hepsi Bir Arada Shell Betiği
Cevapla

“Linux ve Unix tabanli isletim sistemleri” sayfasına dön