Command Line

Linux parancssor. Ismert és kevésbé ismert parancsok. Bash tippek, trükkök. Rövid scriptek.

Címkék

&& (1) A4 (1) ac3 (1) ack (1) acpi (2) AES (1) afzcamCreator (1) agrep (1) aha (1) ajánló (1) alias (2) alkönyvtár (4) android (1) animgif (2) apropos (1) audio (2) avi (6) awk (1) backup (5) badblocks (1) basename (3) bash (20) bash completion (1) battery (1) bc (1) blkid (1) boot (3) brew (1) brute force (1) bug (1) bzip2 (2) cab (1) cal (1) calibre (4) calibredb (1) camera (1) capability (1) cat (2) cd (4) cdialog (2) checkinstall (2) cikkajánló (2) ciklus (1) címke (2) cksum (1) clipboard (1) cmdtools (1) color (1) colordiff (1) column (1) commandlinefu (1) convert (8) corel aftershot pro (1) cp (1) cr (1) crop (1) csplit (1) curl (1) date (1) dátum (1) dd (8) ddrescue (1) deb (1) decimális (1) default value (1) defrag (1) df (1) dia (1) dialog (2) diff (6) digitális fénykép (14) dircolors (1) dirty cow (1) dlna (1) dmidecode (1) dng (2) dos (2) dos2unix (1) dropbear (1) dropbox (1) dt3 (1) du (3) dump (2) dv (1) dvd (10) dvdauthor (2) dvd rw tools (1) e2freefrag (1) e2fsprogs (4) ebook (2) editor (2) eh (1) eject (1) emacs (4) encfs (2) energiagazdálkodás (1) enfuse (2) Enigma (1) epub (2) ESC (1) espeak (1) exa (1) exe (1) exif (6) exiftool (12) exit (1) ext2 (1) ext3 (1) ext4 (1) f3 (1) fájl (1) fallocate (1) fdisk (3) fdupes (1) feh (2) felhő (1) felirat (1) ffmpeg (12) filefrag (1) find (6) for (3) format (1) fortune (1) fred weinhaus (1) fuck (1) fuse (4) fuse-lgefs (1) fzf (1) gdatafs (1) genisoimage (3) getcap (1) getfacl (1) getmail (1) ghostscript (1) gif (1) gifsicle (1) glances (1) gnumeric (1) gnuplot (1) gömb (1) google (1) google drive (1) gotty (1) GPAC (1) gparted (2) gpg (3) gpg-zip (1) gplaycli (1) gps (3) gpsbabel (1) graphviz (1) grep (3) grive (1) grive2 (1) groff (1) growisofs (1) gs (1) gtk (1) gunzip (1) gzip (2) h264 (2) hálózat (1) handbrake (1) hangosítás (1) hardver (1) hard link (1) hash (2) hashcat (1) haszontalan (1) hdd (6) head (1) helyettesítés (1) hexadecimális (2) hibernate (1) homebrew (2) hp (1) hp-levels (1) html (1) http (1) hugin (1) icewm (1) icewm-light (1) identify (1) if (1) ifconfig (2) ifs (1) igo (1) imagemagick (12) imap (1) index (1) install (1) installer (1) iotop (1) iperf (1) iso (3) java (2) jelszó (6) jhead (1) jnettop (2) jogosultság (1) jpeg (4) jpg (2) jre (1) kapcsos zárójel (1) karakterkódolás (1) kdenlive (1) képméretezés (1) képnézegető (1) kernel (1) kétmenetes (1) keystore (1) keytool (1) kiegészítés (1) kindle (1) kódolás (1) könyv (1) kriptográfia (1) k x (2) lbzip2 (1) less (5) Levenshtein (1) lf (1) lg (1) linux (2) linuxbrew (1) linuxvilág (1) lm sensors (1) ln (1) log (1) losetup (1) ls (4) lsof (1) LS COLORS (1) lzw (1) mac (1) macos (2) mac address (2) mad (1) mail (1) mailbox (1) man (2) markdown (1) matroska (4) md5 (1) md5sum (2) mediainfo (1) melt (1) mencoder (5) merevlemez (5) meta (1) mikmod (1) minidlna (1) mjpegtools (1) mkv (6) mkvmerge (3) mkvtoolnix (4) mlt (1) mms (1) mogrify (1) monitor (1) montage (1) mount (3) mp3 (2) mp4 (1) MP4Box (1) mpg123 (1) mpg321 (1) mplayer (6) mplex (1) named (1) naptár (1) ncurses (2) nethogs (1) ng (1) nice (1) niceload (1) nl (1) nosztalgia (1) ntfsresize (1) numfmt (1) nyomtató (1) od (2) ogg (1) oktális (1) openssh (1) openwrt (1) óra (1) panoráma (1) parallel (3) parancsbehelyettesítés (1) parted (1) pass (1) paste (1) patch (2) pbcopy (1) pbpaste (1) pbzip2 (3) pdf (8) pdfcrack (1) pdfjam (1) pdfnup (1) pdftk (2) pendrive (2) pentax (6) perl (1) pgp (1) pgrep (1) PhotoRec (1) pi (1) picasa (1) picasaweb (1) pid (1) pigz (1) pipe (7) pktriggercord (1) play store (1) pm-utils (1) pop3 (1) popd (2) port (1) process (4) pushd (2) pv (3) pwgen (1) python (1) qimport (1) qpd (1) qr (2) qrencode (2) quotedprintable (1) random (1) randr (1) rdfind (1) readlink (1) recode (2) regiókód (1) reguláris kifejezés (2) rejtjelezés (2) renice (1) rfkill (1) rip (1) rm (1) rpm (5) rsa (1) rsync (2) sane (1) scanimage (1) screenshot (1) script (1) sebesség (1) sed (2) seq (4) setcap (1) setfacl (1) sha256sum (1) sha512sum (1) shellshock (1) shred (2) SIGINT (1) smp (3) sorszámozás (1) sort (2) sourse-highlight (1) space (1) sparse (1) split (2) ssconvert (2) ssd (1) ssh (3) sshfs (1) sshtron (1) startx (1) stat (1) stopper (1) suspend (1) symlink (1) sync (1) sysrq (1) systemd-analyze (1) systems (1) számológép (1) szenzor (1) szerver (1) szimbolikus link (1) szimbolikus lunk (1) szín (1) szkennelés (1) tail (2) tar (3) tee (3) testdisk (1) text (2) thefuck (1) tiff (1) time (1) timeout (1) tinta (1) titkosítás (3) tömörítés (4) top (2) töredezettségmentesítés (1) touch (2) tput (1) tr (1) transcode (5) trap (1) TRE (1) tree (2) tutorial (1) ufraw (2) ufraw batch (1) újság (1) unbuffer (1) uniq (1) unix (2) upower (1) urandom (1) user (1) utf 8 (1) változó (2) VBoxManage (1) véletlenszám (2) verem (1) vertical video syndrome (1) VHS (1) vi (4) vid.stab (1) video (2) vim (1) virtualbox (1) vob (1) vobcopy (1) wake on lan (1) watch (1) webkamera (1) webszerver (2) wget (1) which (2) whitespace (2) who (1) wifi (1) windows (3) woeusb (1) wol (1) X (1) x264 (1) xargs (4) xbacklight (1) xclip (2) Xdialog (1) xml (1) xmllint (1) xrandr (2) xxd (3) yes (1) youtube (1) youtube-dl (1) zárójeles (1) zbar (1) zene (1) zenity (2) zip (1) Címkefelhő

graphviz

2011.07.20. 10:00 | sala | Szólj hozzá!

Bár ábrák rajzolásához többnyire GUI felületet szokás használni, parancssorból is szép ábrákat tudunk rajzol(tat)ni graphviz használatával:

echo 'digraph { A->B B->C A->C } ' | dot -Tx11
echo 'digraph { A->B B->C A->C } ' | dot -Tpng -o abc.png

Az első parancs hatására a képernyőn egy új ablakban nyílik meg az ábra, a második paranccsal png fájlba (graphviz számtalan formátumot ismer) menthetjük el. Az eredmény a következő ábrán látható:

A következő hasznosabb példán egy korábbi bejegyzés fájljainak kapcsolata látszik:

echo 'digraph { "mozi.vob"->"mozi.m2v" [label=tcextract] "mozi.vob"->"mozi.ac3" "mozi.m2v"->"mozi.mpg" [label=mplex] "mozi.ac3"->"mozi.mpg" "mozi.mpg"->"dvddir/" [label=" dvdauthor"] "dvddir/"->"mozi.iso" [label=" genisoimage"] } ' | dot -Tx11

Ennél a példánál persze echo helyett már szerencsésebb lenne egy szövegfájlt használni.

Címkék: graphviz

p7zip

2011.07.17. 10:00 | sala | Szólj hozzá!

Windows alatt szoktam használni a 7-zip programot. Kompatibilitási okokból legtöbbször nem a saját 7z formátumát, hanem a szabványosabb zip-et. Nemrég egy olyan nagy anyagot kellett tömörítenem, hogy végül többrészes zip-et (.z01, .z02, ...) készítettem.

Egy linuxos gépre átmásolva döbbentem rá, hogy a szokásos unzip programom bizony nem kezeli ezt a formátumot. Végül a p7zip (7-zip parancssorának POSIX portja) segítségével sikerült a fájlt kitömöríteni:

7z e óriásifájl.z01

 

 

gnuplot oszlopdiagram

2011.07.14. 10:00 | sala | Szólj hozzá!

A gnuplot egy rendkívül összetett adat- és függvényábrázoló program. Ingyenes, számtalan operációs rendszeren elérhető. Bonyolultságát mutatja az is hogy külön könyvek foglalkoznak vele, és sajnos az is, hogy eleinte elég nehezen konfigurálhatónak tűnik.

A példában az exiftool segítségével készített statisztikát szeretném megjeleníteni gnuplot segítségével. A graph.plt fájlban írjuk le mit szeretnénk megjeleníteni:

set xlabel 'focal length'
set style data histograms
set style fill solid 1.0 border -1
set term png
set output 'graph.png'
plot 'focal_length_35.txt' using 1:xticlabels(2) notitle

A sorok jelentése a következő:

set xlabel 'focal length'

Az x tengelyen megjelenő felirat.

set style data histograms
set style fill solid 1.0 border -1

Beállítjuk hogy oszlopdiagramot szeretnénk, és az oszlopok stílusát is megadjuk.

set term png
set output 'graph.png'

E két utasítás hatására az eredmény nem a képernyőn jelenik meg, hanem a graph.png fájlban.

plot 'focal_length_35.txt' using 1:xticlabels(2) notitle

Itt a lényeg, ez a parancs felelős a rajzolásért. A focal_length_35.txt fájl tartalmazza az adatokat, az 1. oszlop a gyakoriságot, a második pedig az x tengely értékeit.

A konfigurációs fájl elkészítése után már egyszerűen elkőszíthető az ábra:

gnuplot graph.plt

Az eredmény pedig itt látható:

 

 

Címkék: gnuplot

Statisztika készítése exiftool segítségével

2011.07.11. 10:00 | sala | Szólj hozzá!

Egy digitális fénykép nagyon sok információt tárol a készítés körülményeiről, melyekből érdekes statisztikákat készíthetünk exiftool segítségével. A következő egyszerű példa a használt gyújtótávolság (fókuszhossz) alapján vizsgálja meg a készített képeket:

exiftool -T -FocalLengthIn35mmFormat *.dng | cut -f 1 -d ' ' | sort | uniq -c

Az eredmény egy táblázat, ahol az első szám a gyakoriságot, a második a gyújtótávolságot (pontosabban a 35mm-re átkonvertált értéket) tartalmazza:

     35 27
      8 30
      6 31
      2 34
      5 36
      3 39
     10 42
      5 46
      4 49
      1 52
      5 57
      7 60
      3 64
      2 72
      6 75
     22 82

  Hasonló módszerrel készíthetünk statisztikát pl. a rekeszről, a záridőről, az objektívről...

Címkék: exif exiftool digitális fénykép

rpm készítése .src.rpm-ből.

2011.07.08. 10:00 | sala | Szólj hozzá!

Ha rpm alapú Linux disztribúciót használunk, akkor kétségtelenül az a legkényelmesebb, ha a mi disztribúciónkhoz készített bináris rpm fájlokat installálunk. Ez azonban nem mindig lehetséges, hiszen a fejlesztő elég nehezen tudja az összes számbajöhető disztribúcióhoz tartozó bináris fájlt elkészíteni. Ha egy másik rpm fájllal próbálkozunk, gyakran nem járunk szerencsével, mert valami lib verziószáma nem megfelelő. Ha rendelkezésünkre áll a forrás rpm (.src.rpm), akkor könnyen készíthetünk belőle binárist a saját igényeinknek megfelelően. Ha tényleg csak újrafordítani akarjuk, akkor a következő paranccsal tehetjük ezt meg a legegyszerűbben:

rpmbuild --rebuild pktriggercord-0.76.00-1.src.rpm

A parancs kibontja az .src.rpm fájl, installálja a benne található forrást és .spec fájlt. Elvégzi a fordítást, majd ha minden rendben ment, eltakarít maga után, törli az installált forrást, .spec fájlt, és a fordítás során keletkezett ideiglenes fájlokat is. Az eredményül kapott rpm-et a  ~/rpmbuild/RPMS/ egyik alkönyvtárában (pl. i386) találhatjuk, és ha szükséges, installálhatjuk.

Címkék: rpm

sed: szövegfájl egy részének kivágása

2011.07.05. 10:00 | sala | Szólj hozzá!

Ha van egy szövegfájlokkal kapcsolatos problémám, akkor többnyire segít a sed és a reguláris kifejezés (persze nem mindig).

Egy szövegfájlból kellett egy részletet kivágnom. Reguláris kifejezéssel határoztam meg az első sort ami kellett nekem, egy másik reguláris kifejezéssel az utolsó sort. Ezután a következő módon lehet a két reguláris kifejezés közti részt megkapni:

sed -n '/STARTREGEXP/,/ENDREGEXP/p' file.txt

 

 

Címkék: sed reguláris kifejezés

DTS konvertálása AC3-ra

2011.06.27. 10:00 | sala | 5 komment

A DTS kodek egyik hátránya, hogy elég sok hardveres lejátszó nem képes (inkább jogi/anyagi és nem technikai okoból) lejátszani az így kódolt hangsávot. A következő módszerrel konvertálhatjuk át egy film DTS audióját AC3-ra, amit már nagyobb eséllyel tudunk lejátszani:

mkvextract tracks film_dts.mkv 2:audio.dts
ffmpeg -i audio.dts -ab 256k audio.ac3
mkvmerge -o film_ac3.mkv -A film_dts.mkv audio.ac3

Először kivágjuk az audiósávot (példában ez a 2. track), ezután átkonvertáljuk ac3 formátumba, végül pedig az eredeti film és az új audió track segítségével elkészítjük az új fájlt. A módszer előnye, hogy a videósávot nem konvertáljuk újra.

Címkék: ffmpeg ac3 mkvtoolnix dt3

Digitális fénykép dátumának módosítása

2011.05.23. 10:00 | sala | Szólj hozzá!

Ha a digitális fényképezőgépen véletlenül pontatlanul állítjuk be a dátumot akkor exiftool segítségével javíthatjuk ki a hibát. Tételezzük fel (csak a teszt kedvéért persze), hogy 1 nappal elállítottam véletlenül a dátumot:

$ exiftool -a imgp1955.dng | grep 2011
File Modification Date/Time     : 2011:05:21 08:03:30+02:00
Modify Date                     : 2011:05:21 08:03:27
Date/Time Original              : 2011:05:21 08:03:27
Create Date                     : 2011:05:21 08:03:27
Date                            : 2011:05:21

Bár a dátumok arra utalnak, hogy 21-én készült a felvétel, valójában 20-án. A következő paranccsal javíthatjuk meg a hibás dátumokat:

$ exiftool -AllDates-=24 -Pentax:Date-=1 *.dng
    4 image files updated

Ezután már helyes dátumokat látszódnak:

$ exiftool -a imgp1955.dng | grep 2011
File Modification Date/Time     : 2011:05:20 11:54:24+02:00
Modify Date                     : 2011:05:20 08:03:27
Date/Time Original              : 2011:05:20 08:03:27
Create Date                     : 2011:05:20 08:03:27
Date                            : 2011:05:20

Pár dolog azért látszik a dátumjavító parancsnál:

  • Egyszerre több képet is kezel a parancs (fenti példában négyet).
  • Elegendő megadni mennyivel szeretnénk eltolni a dátumokat, nem kell egyenként megadni a helyes dátumokat. Ha heteken keresztül készítettük a fényképeket elállított dátummal, akkor ez nagyon hasznos.
  • Neve ellenére az AllDates nem az összes dátumot módosítja, nem kezeli a gyártóspecifikus dátum mezőket. Ezért kellett külön megadnom a Pentax:Date mezőt.
  • AllDates és Pentax:Date nem egyforma formátumban várja a számokat, ezért adom meg az 1 napot eltérő módon.

 

Címkék: pentax exiftool digitális fénykép

eject

2011.05.20. 10:00 | sala | Szólj hozzá!

Az elég közismert, hogy az eject parancs segítségével kinyithatjuk a CD/DVD olvasónk tálcáját, ez hasznos lehet egy scriptben a lemez írása után:

eject /dev/sr0

Kevésbé ismert, hogy az eject segítségével USB-n keresztül csatlakoztatott eszközöket is leválaszthatunk. Ilyenkor persze a gép nem fogja kiköpni a csatlakozót, de az adatkapcsolat megszűnik a külső eszköz és a gép között. Ez olyan eszközöknél hasznos, ahol (számomra nem igazán érthető okokból) csak akkor hajlandó töltődni, ha leválasztjuk az eszközt. Ilyen pl. a Kindle, az iPod.

eject /dev/sdb

Ha szükséges, az eject elvégzi az umount-ot, és utána választja le az eszközt. /dev/sr0, /dev/sdb helyett persze mindenki a saját címet írja.

 

 

Címkék: eject

Partíció UUID-je

2011.05.17. 10:00 | sala | Szólj hozzá!

Egy partíció egyedi azonosítójára (UUID) vagyunk kíváncsiak, a blkid parancs segítségével ( e2fsprogs csomag része ) tudhatjuk meg:

# blkid /dev/sda10
/dev/sda10: UUID="186567b7-48f9-45a8-b650-7362ee6ee3b3" TYPE="ext4"

Címkék: e2fsprogs blkid

Külső monitor felismerése X újraindítás nélkül

2011.05.03. 10:00 | sala | Szólj hozzá!

Bár viszonylag könnyen beállítottam a laptopomon (Mivel ATI kártya van benne ezért ATI Catalyst Control Centerrel), hogy a külső monitort is használja, sajnos csak bootoláskor (pontosabban az X indításakor) detektálta a monitort. Ha később csatlakoztattam, nem ismerte fel automatikusan. Hasonlóan gondot okozott a bootoláskor még csatlakoztatott monitor eltávolítása.

Némi utánaolvasás után kiderült, az xrandr parancssoros eszközzel nagyon könnyen rávehetem az X-et, hogy újra megvizsgálja csatlakoztatva van-e a külső monitort, és megfelelő üzemmódra váltson:

xrandr --auto

 

gpsbabel

2011.04.30. 10:00 | sala | Szólj hozzá!

A gpsbabel program segítségével gps fájlformátumokat konvertálhatunk. Ha például az igoval elmentett útvonalat szeretnénk googleearth-be beolvasni akkor a:

gpsbabel -i igo8 -f track001.trk -o kml -F track001.kml

parancs segítségével konvertálhatjuk az igo8 formátumú track001.trk fájlt kml formátumba ( track001.kml ).

Címkék: gps igo gpsbabel

espeak

2011.04.24. 10:00 | sala | Szólj hozzá!

Az espeak egy parancssorból is használható beszédszintetizátor, mely többek között magyar nyelven is képes szöveget gépies hangon felolvasni:

espeak -v hu "Ez egy elég rövid teszt"

Ha szükséges a -w kapcsolóval wav fájlba is irányíthatjuk az eredményt, így készült az alábbi mp3 is, amivel meghallgathatjuk mennyire van géphangja espeaknek:

 

Címkék: espeak

dmidecode

2011.04.14. 10:00 | sala | Szólj hozzá!

A dmidecode program segítségével számítógépünk hardvereiről kaphatunk igen részletes információt. Lehetőségünk van egy adott típusú hardver adatainak lekérdezésére, ha pl. csak a processzorról kell adat:

[]$ dmidecode --type processor
# dmidecode 2.10
SMBIOS 2.3 present.

Handle 0x0400, DMI type 4, 32 bytes
Processor Information
        Socket Designation: Microprocessor
        Type: Central Processor
        Family: Pentium 4
        Manufacturer: Intel
        ID: 41 0F 00 00 FF FB EA BE
        Signature: Type 0, Family 15, Model 4, Stepping 1
        Flags:
                FPU (Floating-point unit on-chip)
                VME (Virtual mode extension)
                DE (Debugging extension)
                PSE (Page size extension)
                TSC (Time stamp counter)
                MSR (Model specific registers)
                PAE (Physical address extension)
                MCE (Machine check exception)
                CX8 (CMPXCHG8 instruction supported)
                APIC (On-chip APIC hardware supported)
                SEP (Fast system call)
                MTRR (Memory type range registers)
                PGE (Page global enable)
                MCA (Machine check architecture)
                CMOV (Conditional move instruction supported)
                PAT (Page attribute table)
                PSE-36 (36-bit page size extension)
                CLFSH (CLFLUSH instruction supported)
                DS (Debug store)
                ACPI (ACPI supported)
                MMX (MMX technology supported)
                FXSR (Fast floating-point save and restore)
                SSE (Streaming SIMD extensions)
                SSE2 (Streaming SIMD extensions 2)
                SS (Self-snoop)
                HTT (Hyper-threading technology)
                TM (Thermal monitor supported)
                PBE (Pending break enabled)
        Version: Not Specified
        Voltage: 1.8 V
        External Clock: 533 MHz
        Max Speed: 4000 MHz
        Current Speed: 2800 MHz
        Status: Populated, Enabled
        Upgrade: ZIF Socket
        L1 Cache Handle: 0x0700
        L2 Cache Handle: 0x0701
        L3 Cache Handle: Not Provided

 

Ha paraméter nélkül indítjuk el, akkor az összes hozzáférhető információt megkapjuk.

 

Címkék: hardver dmidecode

acpi

2011.04.10. 10:00 | sala | Szólj hozzá!

Ha az energiagazdálkodással kapcsolatos információra van szükségünk, az acpi programot érdemes használni. Nem túl meglepő módon az ACPI ( Advanced Configuration and Power Interface ) szabványt támogatja.

Kérhetünk információt az akksiról:

$ acpi -b
Battery 0: Discharging, 81%, 01:52:54 remaining

a hőmérsékletről:

$ acpi -t
Thermal 0: ok, 45.0 degrees C
Thermal 1: ok, 38.4 degrees C
Thermal 2: ok, 51.0 degrees C
Thermal 3: ok, 52.0 degrees C
Thermal 4: ok, 51.0 degrees C
Thermal 5: ok, 55.0 degrees C

a ventilátorokról:

$ acpi -c
Cooling 0: LCD 0 of 24
Cooling 1: Fan 1 of 1
Cooling 2: Fan 1 of 1
Cooling 3: Fan 1 of 1
Cooling 4: Fan 0 of 1
Cooling 5: Fan 0 of 1
Cooling 6: Fan 0 of 1
Cooling 7: Fan 0 of 1
Cooling 8: Fan 0 of 1
Cooling 9: Fan 0 of 1
Cooling 10: Fan 0 of 1
Cooling 11: Fan 0 of 1
Cooling 12: Fan 0 of 1
Cooling 13: Fan 0 of 1
Cooling 14: Processor 0 of 10
Cooling 15: Processor 0 of 10

de valószínűleg legegyszerűbb, ha az összes információt kiíratjuk:

$ acpi -V
Battery 0: Discharging, 79%, 02:27:53 remaining
Battery 0: design capacity 4400 mAh, last full capacity 3797 mAh = 86%
Adapter 0: off-line
Thermal 0: ok, 45.0 degrees C
Thermal 0: trip point 0 switches to mode critical at temperature 110.0 degrees C
Thermal 1: ok, 37.5 degrees C
Thermal 1: trip point 0 switches to mode critical at temperature 103.0 degrees C
Thermal 1: trip point 1 switches to mode passive at temperature 60.0 degrees C
Thermal 2: ok, 51.0 degrees C
Thermal 2: trip point 0 switches to mode critical at temperature 105.0 degrees C
Thermal 2: trip point 1 switches to mode passive at temperature 95.0 degrees C
Thermal 3: ok, 50.0 degrees C
Thermal 3: trip point 0 switches to mode critical at temperature 103.0 degrees C
Thermal 3: trip point 1 switches to mode passive at temperature 100.0 degrees C
Thermal 3: trip point 2 switches to mode active at temperature 84.0 degrees C
Thermal 3: trip point 3 switches to mode active at temperature 74.0 degrees C
Thermal 3: trip point 4 switches to mode active at temperature 62.0 degrees C
Thermal 4: ok, 51.0 degrees C
Thermal 4: trip point 0 switches to mode critical at temperature 100.0 degrees C
Thermal 5: ok, 50.0 degrees C
Thermal 5: trip point 0 switches to mode critical at temperature 108.0 degrees C
Thermal 5: trip point 1 switches to mode active at temperature 105.0 degrees C
Thermal 5: trip point 2 switches to mode active at temperature 96.0 degrees C
Thermal 5: trip point 3 switches to mode active at temperature 87.0 degrees C
Thermal 5: trip point 4 switches to mode active at temperature 79.0 degrees C
Cooling 0: LCD 0 of 24
Cooling 1: Fan 1 of 1
Cooling 2: Fan 1 of 1
Cooling 3: Fan 1 of 1
Cooling 4: Fan 0 of 1
Cooling 5: Fan 0 of 1
Cooling 6: Fan 0 of 1
Cooling 7: Fan 0 of 1
Cooling 8: Fan 0 of 1
Cooling 9: Fan 0 of 1
Cooling 10: Fan 0 of 1
Cooling 11: Fan 0 of 1
Cooling 12: Fan 0 of 1
Cooling 13: Fan 0 of 1
Cooling 14: Processor 0 of 10
Cooling 15: Processor 0 of 10

Címkék: acpi energiagazdálkodás

apropos

2011.04.08. 10:00 | sala | Szólj hozzá!

Olyan nagyszámú Linux program van egy átlagos gépen, hogy teljesen reménytelen az összesre emlékezni. Ha nem emlékszünk egy program nevére (vagy legalább a név elejére, hogy TAB segítségével megtaláljuk a teljes nevet), akkor az apropos parancs segítségével van legnagyobb esélyünk megtalálni.

Ha pl. csak arra emlékszünk, hogy van egy program ami a laptop akkumulátoráról írt ki információt, akkor a következő módon találhatjuk meg:

$ apropos battery
acpi                 (1)  - Shows battery status and other ACPI information

Ezután már látszik, hogy az acpi parancsra van szükségünk.

Címkék: apropos

lsof

2011.04.02. 10:00 | sala | Szólj hozzá!

Az lsof parancs (LiSt of Open Files) az összes megnyitott fájlt kilistázza, ráadásul azt is jelzi, hogy milyen program nyitotta meg a fájlt. Rendkívül hasznos, ha egy fájlunkat valami ismeretlen processz használja.

Példának vegyük azt az esetet, amikor látjuk, hogy /var/spool/mail/user fájl mérete folyamatosan változik, és kíváncsiak vagyunk arra, miért:

[root@gep]# lsof /var/spool/mail/user
COMMAND   PID    USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
alpine  15129    user    5u   REG   8,17 24907530 171077 /var/spool/mail/user
Az eredményből rögtön látszik, hogy user felhasználó által indított alpine program módosítja a fájlt.
 

Címkék: fájl

Ideiglenes alkönyvtárba ugrás

2011.03.26. 10:00 | sala | Szólj hozzá!

Ha csak azért szeretnénk egy alkönyvtárba belépni, mert ott végre kell hajtanunk egy parancsot, de nem szeretnénk abban az alkönyvtárban maradni, akkor elég kényelmetlen, hogy a végén egy új cd utasítással kell visszajönnünk eredeti alkönyvtárunkba.

Egy egyszerű zárójellel megoldhatjuk a problémát:

(cd /tmp && ls -l)

A fenti parancsnál csak ideiglenesen lépünk /tmp alkönyvtárba, a végén visszajutunk oda ahol kiadtuk a parancsot.

Értelme persze ennek nincs sok az ls parancsnál, de bonyolultabb esetben hasznos lehet.

Címkék: cd alkönyvtár

badblocks

2011.03.09. 10:00 | sala | Szólj hozzá!

Merevlemezünk esetleges hibás területeit találhatjuk meg a badblocks program (e2fsprogs csomag része) segítségével.

Alapesetben csak olvasás segítségével próbálja felderíteni a hibákat:

badblocks -v /dev/sdb1

Van olyan üzemmódja is, amikor írás-olvasás segítségével ellenőrzi a merevlemezt, de igyekszik nem letörölni a merevlemez tartalmát:

badblocks -v -n /dev/sdb1

Végül pedig van olyan üzemmódja is, amikor az ellenőrzés során nem ügyel a merevlemez tartalmának megőrzésére:

badblocks -v -w /dev/sdb1

Természetesen mielőtt nekiállunk ellenőrizni a merevlemezt, mindenképpen készítsünk biztonsági másolatot fontos adatainkról! (Nemcsak akkor ha -w kapcsolót használjuk, hanem mindig) /dev/sdb1-et se felejtse el senki átírni a megfelelő címre.

Ha minden jól megy, valami ilyen eredményt kapunk (-n kapcsolóval):

Checking for bad blocks in non-destructive read-write mode
From block 0 to 244195007
Testing with random pattern: Pass completed, 0 bad blocks found.

 

Címkék: merevlemez hdd badblocks e2fsprogs

merevlemez törlése

2011.03.06. 10:00 | sala | 4 komment

Mielőtt eladjuk egy régi merevlemezünket, mindenképpen érdemes a tartalmát teljesen törölni (hacsak nem szeretnénk, hogy a vevő hozzáférjen a régi fájlainkhoz).

Legegyszerűbb megoldás a dd használata:

dd if=/dev/urandom of=/dev/sdb bs=1M
dd if=/dev/zero of=/dev/sdb bs=1M

Az első parancs véletlenszerű adattal, a második csupa nullával írja tele a merevlemezt.

Ha ennél is többre vágyunk, akkor a shred-et érdemes használni:

shred -vfz /dev/sdb

Azutasítás hatására háromszor ( ez az alapértelmezett érték, de -n kapcsolóval eltérő értéket is megadhatunk ) véletlenszerű adatokkal írjuk tele a merevlemezt, majd ezután (-z kapcsoló) csupa nullával írjuk tele.

/dev/sdb-t ne felejtse el senki átírni! 

Címkék: merevlemez hdd dd shred

mms rögzítése

2011.03.03. 10:00 | sala | Szólj hozzá!

Az mms protokollal továbbított streamelt videót nemcsak nézhetjük, hanem rögzíthetjük is mplayer segítségével:

mplayer -dumpstream mms://akarmi.szerver.hu/video -dumpfile stream.asf

Címkék: mms mplayer

Videó készítése képekből

2011.02.23. 10:00 | sala | Szólj hozzá!

Állóképeket összefűzve készíthetünk mozgóképet ffmpeg használatával:

ffmpeg -r 4 -i kep_%02d.jpg -vcodec libx264 -vpre normal -b 1800k -aspect 3:2 video.mkv

A kapcsolók egy része a videó kódolását határozza meg ( -vcodec, -vpre, -b ) ezekkel itt most nem foglalkozok részletesebben. A többi kapcsoló jelentése:

-i kep_%02.jpg

A szokásos használattal ellentétben itt nem egy input fájlunk van, hanem sok (ahány képet szeretnénk összefűzni). A kapcsoló hatására a kep_00.jpg, kep_01.jpg, kep_02.jpg,... fájlokat fogja használni ffmpeg.

-r 4

A -i kapcsoló előtt szereplő -r kapcsolóval azt határozhatjuk meg, milyen gyorsan cserélődjenek a fényképek. A másodpercenként használt fényképek számát adhatjuk itt meg.

-aspect 3:2

A képarányt adhatjuk itt meg. A gyakorlatban a 3:2 helyett persze inkább 4:3 vagy 16:9 a használatos.

Végül egy példa videó, amit a fenti módszerrel készítettem, a képeken elhelyezett számok miatt jól látszik a képek cseréje:

 

 

Címkék: mkv jpeg ffmpeg

GPS adatok másolása

2011.02.05. 10:00 | sala | Szólj hozzá!

Bár nyilván az a legkényelmesebb, ha fényképezőgépünk magától elvégzi a fényképek geotaggelését, a gyakorlatban mégis gyakran manuálisan kell a GPS koordinátákat beállítanunk. Ha több fényképet is azonos helyen készítettünk, akkor elég egyetlen képnél beállítani az adatokat, majd a következő paranccsal másolhatjuk át a koordinátákat a többi fényképbe:

exiftool -P -overwrite_original_in_place -tagsfromfile input.jpg -gps:all output.jpg

A -P kapcsoló hatására a fájl dátuma változatlan marad.

Címkék: gps exiftool digitális fénykép

DVD rip mkv

2011.02.02. 10:00 | sala | Szólj hozzá!

A HandBrake egy igen közkedvelt videó konvertáló program, viszont úgy látom főleg a GUI verziót ismerik az emberek, a parancssoros verzió valamiért nem annyira ismert.

A következő példában egy DVD-t konvertálunk át mkv fájlba egyetlen paranccsal:

HandBrakeCLI --main-feature --markers --two-pass --turbo -i /media/cdrom -e x264 -b 2000 -B 192 --audio 1,4 --subtitle 1 -o film.mkv

A kapcsolók magyarázata:

--main-feature

A kapcsoló hatására automatikusan a leghosszabb title-t választja ki a program. Az esetek túlnyomó részében ez tartalmazza a filmet amit konvertálni szeretnénk. ( A rövidebbek pedig pl. filmajánlókat )

--markers

A dvd fejezeteit megjelöli az mkv fájlban is.

--two-pass

Kétlépéses kódolás.

--turbo

A kódolás első lépése gyors legyen ( jelentős gyorsulás minimális minőségromlás árán ).

-i /media/cdrom

Az input fájl ( esetünkben a DVD).

-e x264

Az x264 encoder használata.

-b 2000

Videó bitráta 2000 kb/s.

-B 192

Audió bitráta 192 kb/s.

--audio 1,4

A DVD 1. és 4. audió csatornáját kódoljuk bele az mkv fájlba.

--subtitle 1

A DVD 1. feliratát kódoljuk bele az mkv fájlba. ( Nem a képre ráírva, hanem külön trackként).

-o film.mkv

Output fájlnév.

Az eredmény egy olyan mkv fájl, ami 4 tracket ( 1 videó, 2 audió, 1 felirat ) tartalmaz.

 

Címkék: dvd mkv matroska handbrake

Merevlemez 4K szektorméret

2011.01.30. 10:00 | sala | Szólj hozzá!

Mivel a merevelemezek mérete folyamatosan nő ( miközben kb. 20 ezer forintért vettem az összes merevlemezem ) időnként a bizonyos szabványok túlhaladottá válnak. A legutóbbi fontos változás a szektor méret megnövelése volt. A korábbi 512 byte helyett ma már jellemzően 4096 byte a szektor mérete (bővebben itt olvashatunk erről).

Az operációs rendszereket folyamatosan felkészítették ennek támogatására, vagyis (hacsak nem valami régi rendszert használunk) elvileg nem is kellene ezzel foglalkoznunk. A gyakorlatban azonban több olyan merevlemez van, amelyik (talán kompatibilitási okokból) továbbra is 512 byte-os szektorméretet jelent az operációs rendszer felé ( fdisk -l részlet):

Sector size (logical/physical): 512 bytes / 512 bytes

Elvileg egy jumper segítségével lehet ezt állítani, de erről egyrészt sok helyen lebeszélik az embert, másrészt pedig egyszerűbbnek tűnt szoftveresen megoldani a problémát.

A gond az 512 byte-os szektormérettel az, hogyha az alapértelmezett beállításokkal (255 fej, 63 szektor/track) partícionáljuk a merevlemezt, akkor rögtön az első partíció a 63. szektoron kezdődik. Mivel ez nem egyezik a fizikai szektor kezdetével (mert 63 nem osztható nyolccal) ezért a merevlemez írási/olvasási sebessége alacsonyabb lesz.

Mivel nem igazán lenne kényelmes egyenként ellenőrizni a partíciók kezdetének pozícióját, fdisket érdemes inkább rávenni arra, hogy ezt elvégezze helyettünk. Erre a legegyszerűbb módszer az, ha fdisknek azt adjuk meg, hogy a default értékek helyett inkább 224 fejjel és 56 szektor/track értékekkel dolgozzon:

fdisk -H 224 -S 56 /dev/sdb

Ezek után ha létrehozzuk a partíciós táblát és a partíciókat, akkor az első partíció már az 56. szektoron kezdődik:

# fdisk -lu /dev/sdb

Disk /dev/sdb: 1500.3 GB, 1500301910016 bytes
224 heads, 56 sectors/track, 233599 cylinders, total 2930277168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x22dd6918

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              56  2930265855  1465132900   83  Linux

 A parancssorban persze mindenki cserélje le /dev/sdb-t a megfelelő címre!

Címkék: merevlemez hdd fdisk

süti beállítások módosítása