2013-10-02, 14:01
  #301
Moderator
vhes avatar
Citat:
Ursprungligen postat av whitegirl
Sitter fortfarande med screen dock. Har inte portat mitt dmenu script till tmux som listar alla sessioner att attacha till ännu.

Inget fel på screen. tmux är förvisso lite mer "designat" och mindre organiskt framväxt, men för det mesta tycker jag det är en smaksak.
En sak som funkar strikt bättre i screen, IMO, är multiuser där olika personer kan arbeta i var sitt fönster. I tmux verkar alla anslutna sessioner visa samma fönster - men det kanske finns något trick för att gå runt det.
Citera
2013-10-03, 07:36
  #302
Medlem
Citat:
Ursprungligen postat av vhe
Inget fel på screen. tmux är förvisso lite mer "designat" och mindre organiskt framväxt, men för det mesta tycker jag det är en smaksak.
En sak som funkar strikt bättre i screen, IMO, är multiuser där olika personer kan arbeta i var sitt fönster. I tmux verkar alla anslutna sessioner visa samma fönster - men det kanske finns något trick för att gå runt det.
Där ser man. Har själv inte haft fler än en annan användare som varit i samma session som mig.

Här är den relevanta koden om någon är intresserad:
Kod:
S="$(find "/run/screens/S-$(whoamI)" -type p -printf "%f\n" | dmenu)"
urxvt -e sh -c "screen -rd $S"
Citera
2013-10-04, 05:51
  #303
Medlem
Mitt "in-place"-script lägger jag alltid i /usr/local/bin eller ~/bin. Det är lämpligt för alla program som inte har en switch för att använda samma output- som input-fil (`sort` har t.ex. -o och på vissa system har `sed` -i). Jag använder det oftast med bildbehandlingsfunktioner från Netpbm eller för att konvertera radbrytningar, men användningsområdena är oändliga.

Egentligen borde skalet sköta det, och inte varje enskilt program behöva ha en egen in-place-möjlighet/switch. Man borde kunna >:a till samma fil som man <:ar från utan att programmen ens vet om det.

Kod:
#!/bin/sh -e

# =====================================================
# filter file(s) without having to use a temporary file
# =====================================================

# EXAMPLE - remove first line and b-tags:
#   in-place 'tail -n +2 | sed "s/<[Bb]>//g"' *.html *.htm
#   # check that the commands did what you intended
#   rm *.html~ *.htm~

if [ $# -lt 1 ]; then
  printf '%s\n' "$0: usage: in-place commands [file ...]" >&2
  exit 1
fi

commands="$1"
shift
for file; do
  cp -fp -- "$file" "$file~"
  sh -c "$commands" < "$file~" > "$file"
done
Citera
2013-10-04, 06:00
  #304
Medlem
.Chloes avatar
Jag tycker det är jobbigt att hålla reda på alla kommando för att extrahera olika filer, så här är en lösning på det:

Kod:
unpack () {
  if [ -f $1 ] ; then
      case $1 in
          *.tar.bz2)   tar xvjf $1    ;;
          *.tar.gz)    tar xvzf $1    ;;
          *.bz2)       bunzip2 $1     ;;
          *.rar)       rar x $1       ;;
          *.gz)        gunzip $1      ;;
          *.tar)       tar xvf $1     ;;
          *.tbz2)      tar xvjf $1    ;;
          *.tgz)       tar xvzf $1    ;;
          *.zip)       unzip $1       ;;
          *.Z)         uncompress $1  ;;
          *.7z)        7z x $1        ;;
          *)           echo "don't know how to extract '$1'..." ;;
      esac
  else
      echo "'$1' is not a valid file!"
  fi
}
Citera
2013-10-04, 08:49
  #305
Medlem
Citat:
Ursprungligen postat av .Chloe
Jag tycker det är jobbigt att hålla reda på alla kommando för att extrahera olika filer, så här är en lösning på det:

Kod:
unpack () {
  if [ -f $1 ] ; then
      case $1 in
          *.tar.bz2)   tar xvjf $1    ;;
          *.tar.gz)    tar xvzf $1    ;;
          *.bz2)       bunzip2 $1     ;;
          *.rar)       rar x $1       ;;
          *.gz)        gunzip $1      ;;
          *.tar)       tar xvf $1     ;;
          *.tbz2)      tar xvjf $1    ;;
          *.tgz)       tar xvzf $1    ;;
          *.zip)       unzip $1       ;;
          *.Z)         uncompress $1  ;;
          *.7z)        7z x $1        ;;
          *)           echo "don't know how to extract '$1'..." ;;
      esac
  else
      echo "'$1' is not a valid file!"
  fi
}

En zip-fil brukar traditionellt innehålla ett gäng filer och mappar, medan en tar-fil brukar innehålla en enda mapp som innehåller alla filerna och mapparna. Zip och tar skiljer sig på 1 mappnivå. Packar man upp en zip-fil direkt på skrivbordet får man normalt hela skrivbordet fullt, och packar man upp en tar-fil i en egen mapp får man normalt dubbla mappar (en mapp med samma namn inuti en mapp med samma namn). Båda är lika irriterande. Gzip-filer tror jag bara kan innehålla en fil, det är inte ett "container"-format som kan innehålla fler filer än en, så det kvittar.

Anyway, det är ett klassiskt exempel på internet där det inte finns en standard men borde finnas en, och så länge packningsprogrammen låter användaren packa på båda sätten, måste uppackningsprogrammen stödja båda stilarna. Man kan t.ex. högerklicka på en mapp i Windows och välja "skicka till zip-fil", och då packas själva mappen. Men man kan även markera alla, eller vissa, filer i en mapp och packa, och då skapas ingen mapp runt dem.

Det är egentligen packningsprogrammens fel, men man kan påverka som uppackare. Att bara packa upp på ett av sätten är inte snällt mot användaren, utan det bästa är att påverka försiktigt genom switchar. Om du anser att alla packningsprogram borde packa i en enda mapp, kör `dir="${1%.zip}" && mkdir "$dir" && unzip -d "$dir" "$1"` som default för *.zip, och erbjud `unzip "$1"` som alternativ.
Citera
2013-10-04, 09:47
  #306
Moderator
vhes avatar
Citat:
Ursprungligen postat av .Chloe
Kod:
          *.tar.bz2)   tar xvjf $1    ;;
          *.tar.gz)    tar xvzf $1    ;;
          *.tar)       tar xvf $1     ;;
          *.tbz2)      tar xvjf $1    ;;
          *.tgz)       tar xvzf $1    ;;

Om du har ett filnamn klarar tar själv av att avgöra vilken metod den skall använda för dekompression. Det är endast om du läser från en ström som du behöver använda flaggorna j och z.

Iaf GNU tar. Osäker på andra implementationer.
Citera
2013-10-07, 16:30
  #307
Medlem
Citat:
Ursprungligen postat av .Chloe
Jag tycker det är jobbigt att hålla reda på alla kommando för att extrahera olika filer, så här är en lösning på det:

Kod:
unpack () {
  if [ -f $1 ] ; then
      case $1 in
          *.tar.bz2)   tar xvjf $1    ;;
          *.tar.gz)    tar xvzf $1    ;;
          *.bz2)       bunzip2 $1     ;;
          *.rar)       rar x $1       ;;
          *.gz)        gunzip $1      ;;
          *.tar)       tar xvf $1     ;;
          *.tbz2)      tar xvjf $1    ;;
          *.tgz)       tar xvzf $1    ;;
          *.zip)       unzip $1       ;;
          *.Z)         uncompress $1  ;;
          *.7z)        7z x $1        ;;
          *)           echo "don't know how to extract '$1'..." ;;
      esac
  else
      echo "'$1' is not a valid file!"
  fi
}
Ta en titt på programmet atool. Det fixar en del nackdelar med att ha en funktion som ovan.
Citera
2014-02-26, 21:58
  #308
Medlem
.Chloes avatar
Ett tag sedan denna tråd fick sig ett par nya tips, so here goes.

shed - en enkel och kraftfull hexeditor. Jag har aldrig använt någon annan CLI-baserad editor då shed har det jag behöver. Händer att jag använder hexdump men inte i samma utsträckning.

cURL - måste ge lite kärlek till denna grabb då den hjälpt mig med rätt obskyra problem. Logga in på en sida, POSTa lite data och regexpa en sträng, repetera 100 gånger. Underbart!

Volatility - dock ett python-ramverk men fortfarande CLI! Vol.py är utan tvekan det bästa ramverket du kommer använda som du ska syssla med minnesforensik. Spenderat X antal timmar och arbetat med Vol och har verkligen inga som helst klagomål. Med vol och kunskap så kan du skratta åt precis alla 1337rootkits.

sed/(e)grep/awk/tr - Allt jag behöver om jag ska syssla med regexp. Big data? No problem!
Citera
2014-03-05, 10:11
  #309
Medlem
HeadlessChilds avatar
Några som inte har blivit nämnda.

archey - Program som listar en del egenskaper om din dator och operativsystem (wm, de osv.). Exempel bild
pacman4console - Pacman i terminalen, "nuff said".
vnstat - Terminalbaserad nätverk och trafik monitor.
Citera
2014-03-05, 11:55
  #310
Medlem
.Chloes avatar
Citat:
Ursprungligen postat av HeadlessChild
archey - Program som listar en del egenskaper om din dator och operativsystem (wm, de osv.).
Kolla gärna in Screenfetch som är samma sak, men stödjer fler operativsystem.

Citat:
Ursprungligen postat av HeadlessChild
vnstat - Terminalbaserad nätverk och trafik monitor.
Även IpTraf är riktigt bra.
Citera
2014-04-27, 18:30
  #311
Medlem
Sensings avatar
Måste dela med mig av guds gåva till youtube-streaming.

mps-youtube

Spela upp youtube-videor med mplayer i terminalen. Funkar feonomenalt och man slipper flash.
Citera
2014-05-15, 12:03
  #312
Medlem
raggarsvins avatar
pass - CommandLine lösenordshanterare.
Använder gpg som kryptering, och verkar extremt säkert och smidigt.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in