25 Kasım 2018 Pazar

dmesg komutu

Giriş
dmesg komutu ile kernel loglarını görebilme imkanı var. dmesg kernel içindeki etkin logları gösterir. Açıklaması şöyle.
The kernel stores messages in a ring buffer in memory.
...
You can also display messages from the kernel ring buffer using the dmesg command. The command also has options to interact with the ring buffer, for example to read and clear messages.
/var/log/dmesg Dosyası
/var/log/dmesg dosyası ise eski logları gösterir.

-T seçeneği
Şöyle yaparız
$ dmsg -T
[Fri Oct  1 04:17:36 2021] end_request: critical medium error, dev sde, sector 1041778840
[Fri Oct  1 04:17:37 2021] sd 0:0:0:4: [sde] Unhandled sense code
[Fri Oct  1 04:17:37 2021] sd 0:0:0:4: [sde]
[Fri Oct  1 04:17:37 2021] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[Fri Oct  1 04:17:37 2021] sd 0:0:0:4: [sde]
[Fri Oct  1 04:17:37 2021] Sense Key : Medium Error [current]
[Fri Oct  1 04:17:37 2021] sd 0:0:0:4: [sde]
[Fri Oct  1 04:17:37 2021] Add. Sense: Unrecovered read error
[Fri Oct  1 04:17:37 2021] sd 0:0:0:4: [sde] CDB:
[Fri Oct  1 04:17:37 2021] Read(10): 28 00 3e 18 48 98 00 00 08 00
[Fri Oct  1 04:17:37 2021] end_request: critical medium error, dev sde, sector 1041778840

syslog Servisi

Giriş
Açıklaması şöyle.
Linux's syslog service and its successors provide a highly configurable logging system. It writes messages triggered by applications or the operating system to a file or sends them to a remote system.

The used logging service and its configuration depend on your Linux distribution.
syslog ile kernel mesajlarını görmek mümkün. Açıklaması şöyle.
The traditional syslog system logging facility on a Linux system provides system logging and kernel message trapping. You can log data on your local system or send it to a remote system. 
/etc/syslog.conf Dosyası
Bu dosya ile syslog ayarlanır.

/var/log/messages Dosyası
Logların yazıldığı ana dosya budur.

Diğer
Açıklaması şöyle.
The traditional syslog facility and its syslogd daemon provide this logging. Nowadays, syslog has been supplemented by other logging facilities such as rsyslog, syslog-ng, and the systemd journal subsystem.


file komutu

Giriş
Hiçbir seçenek ile kullanılmazsa dosya ismini bir kere daha yazar. Şöyle yaparız.
$ file some.pdf
some.pdf: PDF document, version 1.4
Resmin renk uzayını belirlemek için file komutu kullanılabilir. Örnek'te komutun RGB döndürüldüğü görülebilir.
$ file file.png
file.png: PNG image data, 734 x 73, 8-bit/color RGB, non-interlaced
Exit Status
Açıklaması şöyle
EXIT STATUS
     file will exit with 0 if the operation was successful or >0 if an error was encoun‐
     tered.  The following errors cause diagnostic messages, but don't affect the pro‐
     gram exit code (as POSIX requires), unless -E is specified:
           •   A file cannot be found
           •   There is no permission to read a file
           •   The file type cannot be determined
Örnek
Şöyle yaparız
$ file -E saonteuh; echo $?
saonteuh: ERROR: cannot stat `saonteuh' (No such file or directory)
1
-b seçeneği
brief anlamına gelir. Dosya ismini yazmaz. Şöyle yaparız.
$ file -b some.pdf
PDF document, version 1.4
-i seçeneği
mime ve encoding bilgisini verir. Açıklaması şöyle.
The file -bi command will output the MIME type of the file. For a shell script on Linux (and most other systems), this would be something like
text/x-shellscript; charset=us-ascii
Örnek
Şöyle yaparız.
$ file -bi some.pdf
application/pdf; charset=binary
-mime-type seçeneği
Sadece mime tipini verir. Şöyle yaparız.
$ file -b --mime-type some.pdf
application/pdf



20 Kasım 2018 Salı

sleep komutu

Giriş
Açıklaması şöyle.
Given two or more arguments, pause for the amount of time specified by the sum of their values.
Açıklaması şöyle.
Unlike most implementations that require NUMBER be an integer, here NUMBER may be an arbitrary floating point number.
Örnek
Şöyle yaparız.
sleep 7.5m
Örnek
Şöyle yaparız.
$ sleep 3d 5h 7m 30.05s &
[1] 7321
Örnek
Her 1 saniyede bir bir iş yapmak için şöyle yaparız.
while true; do
  sleep 1 &
  ...your stuff here...
  wait # for sleep
done
Örnek
Bir komutu gecikme ile çalıştırmak için şöyle yaparız.
$ sleep 10 && echo "This is a test"

12 Kasım 2018 Pazartesi

touch komutu

Giriş
Açıklaması şöyle. Dosya yoksa yaratır, varsa sadece bazı metadatasını değiştirir.
touch just creates a new empty file if a previously extant file is not specified. If specified it will update the last modified date.
Açıklaması şöyle
The touch command lets us create files or update the access or modified date of a file. It was first created in 1979 by AT&T Bell Laboratories.

Örnek
Kabuk içinde kullanmak için şöyle yaparız.
if touch /path/to/file; then
  rm /path/to/file
fi
-a seçeneği
Access time anlamına gelir
Örnek
Şöyle yaparız.
touch -ha mySymLink
-c seçeneği
Açıklaması şöyle. Yani dosya yoksa, yeni dosya yaratmaz
If we only want to update the timestamps of a file if the file exists on Linux or Mac and not create it if it doesn't, we need to use the -c option.
Örnek
Şöyle yaparız
touch -c my-file.txt
-d seçeneği
Açıklaması şöyle
The touch time format on Linux-based systems is [YY]YYMMDDhhmm[.ss]. We can set a file's modified and access dates by using touch -d '[YY]YYMMDDhhmm[.ss]' file.txt.
Örnek
Şöyle yaparız.
# set my file's access and modified dates to 26 March 1993 at 9:44:00.
touch -d '199303260944.00' my-file.txt
-h seçeneği
Açıklaması şöyle
By default, if you try to update the access or modification time of a symlink, it will also update the reference file. To only update the symlink itself, use the -h option. 
Örnek
Şöyle yaparız.
touch -h mySymLink
-m seçeneği
Normalde touch komutu hem access hem de modification zamanını değiştirir. Sadece modification zamanını değiştirmek istersek -m seçeneği kullanılır.
Örnek
Şöyle yaparız.
touch -m my-file.txt
-r seçeneği
Açıklaması şöyle
You can also set a file's timestamp to match another file's timestamp using the -r option.
Örnek
Şöyle yaparız.
$ touch -r <original_file> <new_file>

1 Kasım 2018 Perşembe

passwd komutu

Giriş
Şifre değiştirmek için şöyle yaparız
passwd testuser
Gerekirse sudo ile şifre değiştirmek için şöyle yaparız. Böylece örneğin Ubuntu'da şifre kurallarına uymak zorunda kalmayız
sudo passwd yourusername
Eğer kullanıcı adı şifre içinde geçiyorsa uyarı alırız.
BAD PASSWORD: The password contains the user name in some form
Eğer pam_unix yani /etc/shadow dosyası kullanılıyorsa UNIX kelimesi gelen bir çıktı alırız.
(current) UNIX password: 
Enter new UNIX password:
Retype new UNIX password:
pam_unix'in açıklaması şöyle
NAME
   pam_unix - Module for traditional password authentication

SYNOPSIS
   pam_unix.so [...]

DESCRIPTION
   This is the standard Unix authentication module. It uses standard calls
   from the system's libraries to retrieve and set account information as
   well as authentication. Usually this is obtained from the /etc/passwd
   and the /etc/shadow file as well if shadow is enabled.
Eğer pam_ldap kullanılıyorsa şu çıktıyı alırız.
$ passwd
(current) LDAP Password: 
New password: 
Retype new password: 
passwd: password updated successfully
-d seçeneği
Şifreyi silerek kullanıcının şifresiz giriş yapabilmesini sağlar. Şöyle yaparız.
$sudo passwd yourusername -d
Uzun hali --delete seçeneğidir. Şöyle yaparız.
sudo passwd --delete root
-l seçeneği
Bir kullanıcıyı kiliklemek (lock) için kullanılır. Şöyle yaparız.
sudo passwd -l foo
-S seçeneği
status anlamına gelir. Açıklaması şöyle
S, --status Display account status information. The status information consists of 7 fields. The first field is the user's login name. The second field indicates if the user account has a locked password (L), has no password (NP), or has a usable password (P). The third field gives the date of the last password change. The next four fields are the minimum age, maximum age, warning period, and inactivity period for the password. These ages are expressed in days.
Örnek
Bir kullanıcının kilitli olup olmadığını anlamak için şöyle yaparız.
if [ "$(passwd -S "$USER" | cut -d ' ' -f 2)" = "P" ]
then
    disabled="False"
else
    disabled="True"
fi