Skip to content

Leiame failipuust teatud vanusega failid ning kopeerime mujale

Mõnikord on vaja hiidsuurest failipuust vaja leida mingi vanusega failid ja mujale kopeerida. Linuximaailmas saad seda teha nii:

find . -type f -mtime -60 -exec cp -a --parents -t ~/tmp "{}" \+

Otsitavaid faile ja sihtkausta muuda vastavalt vajadusele. Antud näites " -type f -mtime -60" tähendab et otsi 60 päeva vanu faile (mtime on viimase muutmise aeg) ning "~/tmp" tähendab et tõsta nad kodukaustas tmp alamkausta.

Eraldame pdf-failist paar lehte

Sul on kellegi poolt tehtud pdf fail sadade lehtedega ning sul on sealt vaja vaid paar lehte edasi saata. Kui kasutad Linuxit, siis on tõhusaid käsurealisi töövahendeid mitu (antud näites eraldame leheküljed 128-133):

(a) Ghostscript

gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER \
-dFirstPage=128 -dLastPage=133 \
-sOutputFile=PisikeFailPaaristLehest-ver1.pdf TohutuFailSadadeLehtedega.pdf

(b) PDF Toolkit

pdftk A=TohutuFailSadadeLehtedega.pdf cat A128-133 output PisikeFailPaaristLehest-ver2.pdf

Antud näidetes on tulemuseks 2 faili (-ver1 ja -ver2), vaatad kumb on parem, nimetad ümber ja saadad ära. Aga loomulikult võid kohe teha emma-kumma näite najal õige lõppfaili.

Leiame töötavad sshd serverid oma kohtvõrgust (let's find working ssh servers from our local subnet)

Mõnikord ununeb ära missugustele kohtvõrgus asuvatele arvutitele saab ssh'ga ligi. Nmap tuleb appi:

nmap -v --open -sV 192.168.1.0/27 -p 22

Loomulikult saad CIDR'ina kirjeldatud võrku muuda vastavalt oma vajadustele või otsida mõnes muus pordis töötavaid teenuseid.

Eemaldame failist tühjad read ja tühjad realõpud

Erisuguses failipõhises andmetöötluses on tihti vaja failist välja visata tühjad read ja/või asjatud tühikud rea algusest ja lõpust. Kui oled Linuxi kasutaja, siis sed tuleb käsureal appi:

sed 's/^ //; s/ $//; /^$/d' miskifail.txt > miskiuusfail.txt

Lihtne selgitus:

  • miskifail.txt - algne fail
  • miskiuusfail.txt - töödeldud fail
  • `s/^ //` - eemaldame tühikud rea algusest
  • `s/ $//` - eemaldame tühikud rea lõpust
  • `/^$/d` - eemaldame tühjad read

Eraldame webm-videost audiofaili

Sul on webm videofail, mis teadupärast koosneb kas VP8 või VP9 videovooost ja ogg või opus audiovoost. Sa tahad sealt kätte saada vaid seda heliosa. Kuna webm näol on tegemist konteineriga, siis pole isegi uuesti kodeerida vaja. Lihtsalt eraldad vajaliku helivoo.

Eeldame, et arvutis on olemas libav (eks midagi sarnast on olemas ka ffmpeg puhul). Esmalt vaatad millest fail koosneb:

avprobe minufail.webm

Eeldusel et eelmise käsu väljundis oli midagi taolist "Stream #0.1: Audio: vorbis, 44100 Hz, stereo" siis eraldame sealt selle soovitud helivoo:

avconv -i minufail.webm -map 0:1 -c:a copy minufail.ogg

Kui avprobe ütles et tegemist oli opus'ega, siis võid panna helifaili laiendiks .opus, aga .ogg peaks ka toimima.

Kuna webm konteiner on natuke modifitseeritud matroska-konteiner, siis peaks sama toimima ka suvalise .mkv failiga. Lihtsalt seal võib leiduda ka muid audiokodekeid (vaata et paned õige laiendi).

Kustutame mälupulga tühjaks

Praktikas on tihti vaja mõne mälupulga kogu sisu mõistlikult turvalisel viisil tühjendada. Linuxis käiks see kõige lihtsamal viisil käsurealt nii (olles administraatori õigustes):

shred /dev/sdx -n 5 -v

Vajalik /dev/sdx vaata järgi näiteks df käsuga, kuid tavalise ühe kõvakettaga arvuti puhul oleks üldjuhul /dev/sdb (praktikas on mälupulgal tihti vaid üks partitsioon ja /dev/sdb1 toimib ka). Võti -n kirjutab kõik üle 5 korda ja -v näitab mida ta parasjagu teeb.

Programm shred loomulikult kolmetäheliste organisatsioonide huvi vastu ei aita, kuid harju keskmise huvilise vastu küll ning teeb seda viisil, mis arvestab välkmälude tavapärase hajutatud kirjutamise (wear leveling) loogikaga ehk teisisõnu kirjutab äärest ääreni.

Muudame kataloogitäie piltide suurust ja nime

Sul on näiteks kataloogitäis jpg-faile, mida on vaja sobitada ühte suurusesse. Selline lihtne toiming aitab (kui sul on muud vormingud, siis tee vajalikud asendused ning ära unusta tõstutundlikkust ja loomulikult convert käsule vajalikke võtmeid juurde lisada).

convert *.jpg -resize 600 -set filename:f 'prefiks-%t' '%[filename:f].jpg'

Siin näites resize 600 teeb kõik pildid 600 piksli laiuseks ning kõrguse sätib vastavalt algse faili proportsioonidele. Kõiki muid variante leiad Imagemagick Resizing or Scaling lehelt. Set filename ... aga moodustab uue faili nime algsest nimest (seda teeb %t) ilma laiendita ning paneb ette sõna prefiks (kirjuta sinna mida vaja või pane ta lõppu kui vaja). Kõiki asendusi saad vaadata lehelt Imagemagick Format and Print Image Properties.

Kui convert käsk midagi huvitavat ei tee, siis on ehk imagemagick arvutist puudu (või otsiteest väljas) ja "aptitude install imagemagick" lahendab olukorra (midagi sama on ka rpm-distrote jaoks ning leidub ka installikas maci ja windowsi jaoks). Siin on soovitus meelega convert, mitte mogrify käsu kohta (esimene jätab vaikimisi vanad failid alles, teine mitte).

Kohendame tohutud pdf-failid pisemaks

Tihti juhtub, et keegi saadab sulle sadade megabaitide suuruse pdf-faili (minul on suurim olnud 1 TB), mis loodud trükikoja kvaliteediga. Aga sina pole trükikoda, vaid tahad lihtsalt sisu lugeda. Ghostscript tuleb appi:
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -sOutputFile=tulemus.pdf algfail.pdf
Siinjuures olulisim võti on -dPDFSettings, mille väärtused võivad olla (alates lahjemast): /screen, /ebook, /printer, /prepress (nimed räägivad enda eest).

Konverteerime kataloogitäie pilte ühest vormingust teise

Sul on näiteks kataloogitäis bmp-faile, mis võtavad asjatult palju ruumi ja neid ei saa veebibrauseriga vaadata. Selline lihtne toiming aitab (kui sul on muud vormingud, siis tee vajalikud asendused ning ära unusta tõstutundlikkust ja loomulikult convert käsule vajalikke võtmeid juurde lisada).

for midagi in *.BMP; do
convert ./"$midagi" ./"${midagi%.BMP}.jpg"
done

Kui convert käsk midagi huvitavat ei tee, siis on ehk imagemagick puudu (või otsiteest väljas) ja "aptitude install imagemagick" lahendab olukorra (midagi sama on ka rpm-distrote jaoks ning leidub ka installikas maci ja windowsi jaoks). Siin on soovitus meelega convert, mitte mogrify käsu kohta (esimene jätab vaikimisi vanad failid alles, teine mitte).

Mis masinad on minu võrgus hetkel töös

Tihti on vaja leida arvutite või muude seadmete ip-aadresse, mis töötavad parasjagu minu võrgus. Võiks ju kirjutada kestaskripti, mis ketrab ping-käsu tsüklis läbi, kuid palju lihtsam on hoopis nmap-i kasutamine.

nmap -n -sP 192.168.10.0/24

Antud juhul skaneerime nmap'iga läbi kogu 192.168.10.0-192.168.10.255 võrgu. Loomulikult võid CIDR'it muutes võrku suuremaks või väiksemaks teha või märkida mõne muud võrgu, mida parasjagu vaja.