Bash epoch conversion Beispiele

Nachdem ich das immer wieder nachlesen muss schreibe ich mir das jetzt endlich mal auf! Um die aktuelle Uhrzeit als epoch time zu bekommen ~$ date +%s 1348905176 Umgekehrt geht’s so: ~$ date –date „Jan 1, 1970 00:00:00 +0000 + 1348905176 seconds“ Sa 29. Sep 09:52:56 CEST 2012 bzw. noch besser so date -d@1348905176 Sa … „Bash epoch conversion Beispiele“ weiterlesen

Nachdem ich das immer wieder nachlesen muss schreibe ich mir das jetzt endlich mal auf!

  1. Um die aktuelle Uhrzeit als epoch time zu bekommen
    ~$ date +%s
    1348905176
    
  2. Umgekehrt geht’s so:
    ~$ date --date "Jan 1, 1970 00:00:00 +0000 + 1348905176 seconds"
    Sa 29. Sep 09:52:56 CEST 2012
    

    bzw. noch besser so

    date -d@1348905176
    Sa 29. Sep 09:52:56 CEST 2012
    

bash-tipp: pushd / popd

Nein pushd und popd sind keine Daemons. Das d steht für directory und nicht für daemon. Mit den beiden Kommandos navigiert man schnell durch Verzeichnisse. Beide Kommandos sind die Fortsetzung von cd – . Im Detail: pushd ist ein cd, das sich zusätzlich die History auf einem Stack merkt. popd holt sich das jeweils letzte … „bash-tipp: pushd / popd“ weiterlesen

Nein pushd und popd sind keine Daemons. Das d steht für directory und nicht für daemon. Mit den beiden Kommandos navigiert man schnell durch Verzeichnisse. Beide Kommandos sind die Fortsetzung von

cd -

. Im Detail:

  • pushd ist ein cd, das sich zusätzlich die History auf einem Stack merkt.
  • popd holt sich das jeweils letzte Verzeichnis vom Stack und wechselt dort hin.

Idealerweise legt man sich noch 2 Alias in .bashrc an:

alias cd="pushd"
alias cb="popd"

Damit kann man cd – jetzt mit cb ersetzen und das sogar mehrfach.

Abkürzungen in der Bash

Wieder mal so ein Spikzettel, der bewirken soll, dass ich mir das endlich merke: cd – Damit kommt man ins letzte Verzeichnis zurück. Beispiel: /var/www$ cd /var/log /var/log$ cd – /var/www /var/www$ !! Führt das letzte Kommando nochmal aus. Beispiel: /var$ ls backups cache cfs crash games lib local lock log mail opt run spool … „Abkürzungen in der Bash“ weiterlesen

Wieder mal so ein Spikzettel, der bewirken soll, dass ich mir das endlich merke:

  1. cd –
    Damit kommt man ins letzte Verzeichnis zurück. Beispiel:

    /var/www$ cd /var/log
    /var/log$ cd -
    /var/www
    /var/www$ 
    
  2. !!
    Führt das letzte Kommando nochmal aus. Beispiel:

    /var$ ls
    backups  cache  cfs  crash  games  lib  local  lock  log  mail  opt  run  spool  tmp  www
    /var$ !!
    ls
    backups  cache  cfs  crash  games  lib  local  lock  log  mail  opt  run  spool  tmp  www
    

    Das ist besonders interessant, da man auch ein Prefix mitschicken kann. Beispiel:

    /var$ time !!
    time ls
    backups  cache  cfs  crash  games  lib  local  lock  log  mail  opt  run  spool  tmp  www
    
    real	0m0.007s
    user	0m0.000s
    sys	0m0.004s
    
  3. ^foo^bar
    Wiederholt das letzte Kommando und dersetzt foo mit bar. Beispiel:

    /var$ ls -ald /var/lok
    ls: Zugriff auf /var/lok nicht möglich: No such file or directory
    /var$ ^lok^log
    ls -ald /var/log
    drwxr-xr-x 31 root root 28672 2009-11-23 07:51 /var/log
    
  4. !foo
    Wiederholt das letzte Kommando was mit „foo“ beginnt. Beispiel:

    /var$ ls -al /var/log/messages
    -rw-r----- 1 syslog adm 7136 2009-11-23 11:00 /var/log/messages
    /var$ !ls
    ls -al /var/log/messages
    -rw-r----- 1 syslog adm 7136 2009-11-23 11:00 /var/log/messages
    
  5. !* !$, !:n
    Wiederholt den entpsrechenden Parameter. !* wiederholt alle Parameter, !$ nur den letzten und !:n den entsprechenden. Beispiel:

    /var$ ls /tmp/foo 
    /tmp/foo
    /var$ rm !*
    rm /tmp/foo
    /var$ ls /tmp/foo
    ls: Zugriff auf /tmp/foo nicht möglich: No such file or directory
    

Für Kommentare mit mehr Bash Tipps bin ich immer offen 🙂

Du denkst Du kennst sie alle … Teil 2

Man lernt nie aus. Eben stand ich vor dem Problem eine Datei ab der 3ten Zeile zu verarbeiten. Da wollte ich schon fast Perl bemühen, dann habe ich doch die manpages von head und tail durchgelesen . Und wieder mal entdeckt, dass es so einfach sein kann. tail kann das: # tail -n+3 /tmp/foo

Man lernt nie aus. Eben stand ich vor dem Problem eine Datei ab der 3ten Zeile zu verarbeiten. Da wollte ich schon fast Perl bemühen, dann habe ich doch die manpages von head und tail durchgelesen . Und wieder mal entdeckt, dass es so einfach sein kann. tail kann das:

# tail -n+3 /tmp/foo

Killed by friendly fire

Gestern Abend ist einen Bekannten etwas passiert, dass muss ich hier aufschreiben. Er hat die Anleitung aus einem Wiki 1 zu 1 kopiert und ausgeführt. Die Anleitung sah wie folgt aus: ~> /etc/init.d/foobar start Na wer sieht das Problem? Ich hab’s am Anfang nicht kapiert. Es liegt an ~>. In dem er den Prompt mit … „Killed by friendly fire“ weiterlesen

Gestern Abend ist einen Bekannten etwas passiert, dass muss ich hier aufschreiben. Er hat die Anleitung aus einem Wiki 1 zu 1 kopiert und ausgeführt. Die Anleitung sah wie folgt aus:

~> /etc/init.d/foobar start

Na wer sieht das Problem? Ich hab’s am Anfang nicht kapiert. Es liegt an ~>. In dem er den Prompt mit kopiert hat vernichtet er das Skript. Die Shell kopiert nichts nach /etc/init.d/foobar anstatt das Skript auszuführen.

Also Vorsicht beim Drag+Drop.