27 Aralık 2017 Çarşamba

realpath komutu

Giriş
Çalışılan dizine (PWD) belirtilen dosya ismini ekler. Dosyanın mevcut olup olmamasının önemi yoktur. Açıklaması şöyle.
Print the resolved absolute file name; all but the last component must exist
Örnek
Şöyle yaparız.
$ pwd
/homes/yosefkl
$ realpath test
/homes/yosefkl/test
Örnek
sh dosyası şöyle çalıştırılmış olsun
uploadme Hello.txt
sh dosyasında şöyle yaparız. Böyle bana girdi olarak verilen dosyanın gerçek dizin yolunu bulabilirim.
echo $(realpath "$1")
-e seçeneği
Dosya yok ise hata verir. Şöyle yaparız.
$ realpath -e playground
realpath: playground: No such file or directory

19 Aralık 2017 Salı

at komutu

Giriş
at ile kuyrukta bekleyen işleri görmek için atq komutu kullanılır.

Bilgisayar Kapalı İse at Komutuna Ne Olur?
Açıklaması şöyle.
at executes any command that should have been executed before when you wake up the
computer. So a job you add using at 20:00 today can very well be executed suddenly three
days later when you power on your computer again. 
Yani at zamanı kaçırdıysa, ileriki bir zamanda da çalışabilir. Görmek için şöyle yaparız.
$ sudo date -s "2017-12-15 23:57:00"
$ at 23:59 17-12-15 <<<'echo executed >at_test'
job 1 at Fri Dec 15 23:59:00 2017
# suspend, wake after four minutes
$ date
Sat Dec 16 00:01:17 CET 2017
$  cat <at_test || atq
bash: /home/dessert/at_test: No such file or directory
1       Fri Dec 15 23:59:00 2017 a dessert
# wait a few minutes
$  cat <at_test || atq
executed
Örnek
Şöyle yaparız. EOT için Ctrl + D tuşuna basılır
% at 8pm Aug 31
at> echo hello
at> <EOT>
job 161 at Sat Aug 31 20:00:00 2019
-f seçeneği
Dosya ismini belirtir. Şöyle yaparız.
at -f my_script.sh 23:00
next hour seçeneği
Şöyle yaparız.
sudo at next hour -f myiptablesscript

13 Aralık 2017 Çarşamba

rm komutu

Giriş
remove anlamına gelir.
rm komutu seçeneksiz kullanılırsa alt dizinlere bakmaz. Sadece bulunulan dizindeki dosyaları siler.

Bu komutu ile rm - rf /* şeklinde çok hata yapılıyor. safe-rm komutunu kurmak çok daha emniyetli.

rm vs rmdir komutları
Açıklaması şöyle. Yani rm komutu gidip rmdir komutunu kullanıyor
Unlinking directories was originally a privileged operation:
  
So rmdir was implemented as a small binary which only removed directories, which at the time involved removing .. and . inside the directory, and then the directory itself. rmdir was designed to be setuid root; it performs separate permission tests using access to determine whether the real user is allowed to remove a directory. Like any setuid root binary, it’s better to keep it simple and tightly-focused.

rm -r actually used this separate binary to delete directories as necessary.

It seems the lasting difference between rm -r and rmdir is the result of this initial difference.
-d seçeneği
Sadece boş olan dizini siler. rmdir ile aynıdır. Açıklaması şöyle
-d will only remove empty directories. -r doesn't care
-f/--force seçeneği
Silme işlemini onaylamak için kullanıcıya sormaz. Açıklaması şöyle
-r is recursive, it repeatedly deleted the contents. -f just means don't prompt the user –
Örnek
Şöyle yaparız.
rm -f wordpress-169.sql
Gerçek dosyayı değil sembolik linkin başını silmek için şöyle yaparız.
rm -f sd/common.py
-i seçeneği

interactive anlamına gelir. Silmeden önce onay ister. Şöyle yaparız.
rm -i wordpress-*.sql
--no-preserve-root seçeneği
root dizini yani / dizinini silmek için kullanılır.

-r/--recursive seçeneği
Açıklaması şöyle
rm -r deletes the target directory and recursively deletes everything inside that directory (including non-empty directories and files of any type)