26 Şubat 2018 Pazartesi

wc komutu

-c seçeneği
Açıklaması şöyle. Kaç byte geçtiğini belirtir. Komutun çıktısını saymak için kullanılabilir.
You can pipe it to wc -c to count the number of bytes that goes through the pipeline.
Alternatif
Bu komut yerine pv -b komutu kullanılabilir. Şöyle yaparız
grep pattern file.txt | pv -b > output.txt
Örnek
Şöyle yaparız.
grep pattern file.txt | wc -c
Örnek
Şöyle yaparız.
mysqldump | wc - c

18 Şubat 2018 Pazar

service komutu - sysvinit İçindir

Giriş
Bu komut ile sysvinit servisleri kontrol edilir. systemd servisleri için systemctl komutu kullanılır.

restart seçeneği
Şöyle yaparız
service ssh restart
--status-all seçeneği
Açıklaması şöyle.
service --status-all runs all init scripts, in alphabetical order, with the status command. The status is [ + ] for run‐ ning services, [ - ] for stopped services and [ ? ] for services without a status command. This option only calls status for sysvinit jobs.
Örnek
Şöyle yaparız.. [+] ile başlayanlar çalışmakta olan servislerdir.
service --status-all

16 Şubat 2018 Cuma

ldconfig komutu

Giriş
ldconfig loader tarafından kullanılan .so dosyalarını cache'lemek için kullanılır. Açıklaması şöyle.
When the loader is looking for the shared libraries needed to assemble a new process, it does not search all of the linker's default search directories. That would be slow. By default it searches a cached database /etc/ld.so.cache, of libraries that were found by ldconfig, last time it was run.
ldconfig hangi dizinler arar
Açıklaması şöyle.
By default, ldconfig caches libraries that it finds in /lib, /usr/lib and in the directrories listed in the file /etc/ld.so.conf, and/or any similar *.conf files that are recursively include-ed in /etc/ld.so.conf
Bu dosyaların içi şöyledir
$ cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf

$ cat /etc/ld.so.conf.d/*.conf
/usr/lib/x86_64-linux-gnu/libfakeroot
# libc default configuration
/usr/local/lib
# Multiarch support
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu
/usr/lib/nvidia-384
/usr/lib32/nvidia-384
/usr/lib/nvidia-384
/usr/lib32/nvidia-384
# Legacy biarch compatibility support
/lib32
/usr/lib32
Örnek
Kendimiz yeni bir kütüphane derledikten sonra cache dosyasını tekrar oluşturmak için şöyle yaparız.
ldconfig
Eğer bunu yapmazsak şöyle bir hata alırız.
$ make foo
...
...error while loading shared libraries: libboost_system.so.1.66.0: cannot open
 shared object file: No such file or directory
Eğer kütüphane sistem yolunda değilse
Bir diğer çözüm LD_LIBRARY_PATH değişkeni ile yeni kütüphanenin yolunu göstermek.

15 Şubat 2018 Perşembe

yum komutu

Giriş
Centos, Redhat, Fedora yum kullanır. Repository dosyaları
/etc/yum.repos.d/
dizinindeki repo uzantılı dosyalar.

upgrade seçeneği
Şöyle yaparız.
sudo yum upgrade
sudo yum install jq
sudo yum clean all
-y seçeneği
Açıklaması şöyle.
-y, --assumeyes Assume yes; assume that the answer to any question which would be asked is yes. Configuration Option: assumeyes See: https://linux.die.net/man/8/yum
Şöyle yaparız.
yum -y install xxx

14 Şubat 2018 Çarşamba

vlc komutu

Kurulum
Şöyle yaparız
sudo snap remove vlc

sudo apt update && sudo apt install vlc
Örnek
Bat dosyasında şöyle yaparız
start /min vlc -vvv screen:// -screen-fps=30 
  -sout#{vcodec=h264, scale=Auto, acodec=none}:sout-keep

dpkg-deb komutu

Giriş
3 çeşit temel Linux sistemi var.
1. Debian : Debian sistemler apt-get komutunu kullanır. Bu komut altta dpkg komutunu kullanır
2. SUSE : SUSE sistemler zypper komutunu kullanır. Bu komut altta rpm komutunu kullanır
3. Fedora : Fedora sistemler yum komutunu kullanır. Bu komut altta rpm komutunu kullanır

-f seçeneği
deb dosyasının sürümünü gösterir. Şöyle yaparız.
dpkg-deb -f package.deb Version
dpkg-deb --field package.deb Version
-I seçeneği
deb dosya hakkınd bilgi verir. Şöyle yaparız.
dpkg-deb -I package.deb
dpkg-deb --info package.deb

4 Şubat 2018 Pazar

bash kodlama - history built-in komutu

Giriş
Oturum (session) kapandıktan sonra komutlar şu dosyaya yazılır.
~/.bash_history
Aslında bash içinde iki tane history belleği vardır. Açıklaması şöyle
Your bash history consists of two "histories", not one. One of these histories is stored in a file - its size/depth is governed by the parameter HISTFILESIZE. The other history is cached in memory - its size is governed by the parameter HISTSIZE.
Komutlar önce session'daki belleğe yazılır. Eğer bu bellek yetmezse, taşan komutlar dosyaya yazılır. Açıklaması şöyle. Bu komut session history içindir. 
The reason for two histories is that one is associated with each shell session (HISTSIZE), while the other history is a file ~/.bash_history that is "permanent", and eventually receives the session histories when they overrun their max depth, or when the session is terminated. 
En Komutlar
En son 10 komutu görmek için şöyle yaparız.
history 10 > ~/Desktop/History.txt
-c seçeneği
session history listesini silmek içindir.
Örnek
Şöyle yaparız
$ history -cw
-d seçeneği
Belli bir satırı tarihçeden silmek için şöyle yaparız.
history -d ROW#
Diğer
Komut tarihçeye dahil olması istersek boşluk karakteri ile başlarız. Şöyle yaparız.
$ echo test
test
$ history | tail -n2
 3431  echo test
 3432  history | tail -n2
$ echo test2
test2
$ history | tail -n2
 3431  echo test
 3432  history | tail -n2
Boşluk karakteri ~/bash.rc dosyasında atanıyor.
HISTCONTROL=ignoreboth
Açıklaması şöyle.
HISTCONTROL
A colon-separated list of values controlling how commands are saved on the history list. If the list of values includes ignorespacelines which begin with a space character are not saved in the history list. A value of ignoredups causes lines matching the previous history entry to not be saved. A value of ignoreboth is shorthand for ignorespace and ignoredups.