Command Line
https://commandline.blog.hu/atom
blfr8@https://blog.hu
©2024 blog.hu
https://commandline.blog.hu/2020/04/10/blogkoltozes_800
Blogköltözés
2020-04-10T12:00:00+02:00
2020-04-10T12:00:00+02:00
sala
https://blog.hu/user/13905
<p>Elköltöztettem a blogot. Új cím: <a href="https://commandlineblog.melda.info/" target="_blank" rel="noopener noreferrer">https://commandlineblog.melda.info/</a></p>
<p>Nincs különösebb oka, de egy saját github repóba commitálni az új posztokat markdown formátumban sokkal inkább illik egy parancssorról szóló bloghoz mint a blog.hu admin felületén szerencsétlenkedni. Újabban nekem amúgy is nagyon lassan jön be a blog.hu</p>
<p>Vannak persze még gondok:</p>
<ul>
<li>Kommenteket még nem vittem át (de úgyis alig vannak).</li>
<li>RSS-t még nem próbáltam (ezt sem használja már szinte senki).</li>
<li>Keresés még nincs.</li>
<li>Régi posztokat átvittem, de nyilván lehet, hogy valamelyik kissé olvashatatlan lesz.</li>
</ul>
<p>Ha valaki hasonlót szeretne csinálni, annak itt a github repó: <a href="https://github.com/asalamon74/commandlineblog/" target="_blank" rel="noopener noreferrer">https://github.com/asalamon74/commandlineblog/</a></p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fcommandline.blog.hu%2F2020%2F04%2F10%2Fblogkoltozes_800%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fcommandline.blog.hu%2F2020%2F04%2F10%2Fblogkoltozes_800%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fcommandline.blog.hu%2F2020%2F04%2F10%2Fblogkoltozes_800%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=Blogköltözés"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://commandline.blog.hu/2020/04/10/blogkoltozes_800#comments"><img class="item_ctp" src="https://commandline.blog.hu/rss/image/post/id/15602304" border="0" /></a><br /></p>
0
Command Line
https://commandline.blog.hu
https://commandline.blog.hu/2020/02/29/numfmt
numfmt
2020-02-29T10:00:00+01:00
2020-02-29T10:00:00+01:00
sala
https://blog.hu/user/13905
<p>A legtöbb programban ami fájlméretet ír ki, lehetőség van arra, hogy a nyers szám helyett valami emberek számára emészhetőbb formában kapjuk az eredményt (többnyire -h, -H kapcsolókkal). Ha egy program nem támogatja ezt, numfmt-vel formázhatjuk a számokat.</p>
<p>A következő példa elég jól bemutatja mit is csinál a program:</p>
<p><code class="block">$ for i in $(seq 1 6); do x=$((1024**$i)); echo -ne $x '\t'; echo $x | numfmt --to=iec; done | column -t --table-right=1 <br /> 1024 1.0K<br /> 1048576 1.0M<br /> 1073741824 1.0G<br /> 1099511627776 1.0T<br /> 1125899906842624 1.0P<br />1152921504606846976 1.0E</code></p>
<p> </p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fcommandline.blog.hu%2F2020%2F02%2F29%2Fnumfmt%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fcommandline.blog.hu%2F2020%2F02%2F29%2Fnumfmt%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fcommandline.blog.hu%2F2020%2F02%2F29%2Fnumfmt%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=numfmt"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://commandline.blog.hu/2020/02/29/numfmt#comments"><img class="item_ctp" src="https://commandline.blog.hu/rss/image/post/id/15496696" border="0" /></a><br /></p>
numfmt
0
Command Line
https://commandline.blog.hu
https://commandline.blog.hu/2019/10/12/testdisk
testdisk
2019-10-12T10:00:00+02:00
2019-10-12T10:00:00+02:00
sala
https://blog.hu/user/13905
<p>Írtam már párszor (<a href="https://commandline.blog.hu/2011/11/10/gparted_live" target="_blank" rel="noopener noreferrer">gparted live</a>, <a href="https://commandline.blog.hu/2011/11/22/losetup" target="_blank" rel="noopener noreferrer">losetup</a>, <a href="https://commandline.blog.hu/2011/11/25/hdd_le-rol_ssd-re" target="_blank" rel="noopener noreferrer">HDD lecserélése SSD-re</a>) olyan eszközökről, amelyek partíciók és fájlrendszerek rendberakásánál hasznosak. Nemrég egy elrontott MBR-t kellett a kollégámnak rendberakni, végül a <a href="https://www.cgsecurity.org/wiki/TestDisk" target="_blank" rel="noopener noreferrer">TestDisk</a> segített. Bár azt a funckióját nem próbáltuk, elveszett partíciók visszaállításához is használható,</p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fcommandline.blog.hu%2F2019%2F10%2F12%2Ftestdisk%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fcommandline.blog.hu%2F2019%2F10%2F12%2Ftestdisk%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fcommandline.blog.hu%2F2019%2F10%2F12%2Ftestdisk%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=testdisk"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://commandline.blog.hu/2019/10/12/testdisk#comments"><img class="item_ctp" src="https://commandline.blog.hu/rss/image/post/id/15218588" border="0" /></a><br /></p>
hdd
testdisk
0
Command Line
https://commandline.blog.hu
https://commandline.blog.hu/2019/07/21/readlink
readlink
2019-07-21T10:00:00+02:00
2019-07-21T10:00:00+02:00
sala
https://blog.hu/user/13905
<p>Szeretem a symlinkeket, de amikor 5 lépésen át kell követnem, hogy hol is van a linklánc vége, az elég kényelmetlen, ilyenkor hasznos a <a href="https://linux.die.net/man/2/readlink" target="_blank" rel="noopener noreferrer">readlink</a>.</p>
<p>Vegyük a következő egyszerű láncot:</p>
<p><code class="block"> a -> x<br />x -> y<br />y -> z<br />z</code></p>
<p>A readlink parancs alapesetben nem sokkal jobb mint az ls, de a -f kapcsolóval az egész láncot végigköveti és kiírja (teljes útvonallal) a fájl valódi helyét:</p>
<p><code class="block">$ readlink a<br />x<br />$ readlink -f a<br />/tmp/links/z</code></p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fcommandline.blog.hu%2F2019%2F07%2F21%2Freadlink%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fcommandline.blog.hu%2F2019%2F07%2F21%2Freadlink%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fcommandline.blog.hu%2F2019%2F07%2F21%2Freadlink%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=readlink"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://commandline.blog.hu/2019/07/21/readlink#comments"><img class="item_ctp" src="https://commandline.blog.hu/rss/image/post/id/14971706" border="0" /></a><br /></p>
symlink
ln
readlink
0
Command Line
https://commandline.blog.hu
https://commandline.blog.hu/2019/01/03/rdfind
rdfind
2019-01-03T10:00:00+01:00
2019-01-03T10:00:00+01:00
sala
https://blog.hu/user/13905
<p>Rengetegen backupolnak úgy, hogy időnként kimásolják a fontos alkönyvtárak tartalmát egy külső drive-ra egy új alkönyvtárba. A módszer nagy hátránya, hogy ha egy fájl nem változott az előző mentés óta, akkor az kétszer is ott lesz a külső drive-on, feleslegesen foglalva a helyet.</p>
<p>Az ilyen fájlokat persze megtalálhatjuk pl. <a href="https://commandline.blog.hu/2011/09/10/fdupes" target="_blank" rel="noopener noreferrer">fdupes</a> segítségével, de ezután kézzel kell törölnünk ezeket, ráadásul akkor az egyik mentésünk hiányos lesz. Hasznosabb ilyen esetekben az <a href="https://rdfind.pauldreik.se/" target="_blank" rel="noopener noreferrer">rdfind</a>.</p>
<p>Nézzünk két alkönyvárat:</p>
<p><code class="block">$ ls -l *<br />1:<br />total 15980<br />-rw-rw-rw- 1 user live 3223592 Oct 9 1998 track11.mp3<br />-rw-rw-rw- 1 user live 5819536 Oct 9 1998 track13.mp3<br />-rw-rw-rw- 1 user live 4800970 Oct 9 1998 track15.mp3<br />-rw-rw-rw- 1 user live 2507210 Oct 9 1998 track1.mp3<br />
2:<br />total 23036<br />-rw-rw-rw- 1 user live 5819536 Oct 9 1998 song13.mp3<br />-rw-rw-rw- 1 user live 4800970 Oct 9 1998 song15.mp3<br />-rw-rw-rw- 1 user live 4693238 Oct 9 1998 song3.mp3<br />-rw-rw-rw- 1 user live 5647437 Oct 9 1998 song4.mp3<br />-rw-rw-rw- 1 user live 1272140 Oct 9 1998 song5.mp3<br />-rw-rw-rw- 1 user live 1343611 Oct 9 1998 song7.mp3</code></p>
<p> Bár a fájlnevek eltérnek, a fájlhosszból látszik, hogy pl. track15.mp3 és song15.mp3 ugyanazok a fájlok.</p>
<p>Az alkönyvárak helyfoglalása:</p>
<p><code class="block">$ du -bs *<br />16355404 1<br />23581028 2</code></p>
<p>Kerestessük meg az azonos fájlokat rdfinddal, és cseréljük le ezeket hard linkre:</p>
<p><code class="block">$ rdfind -makehardlinks true 1 2 <br />Now scanning "1", found 4 files.<br />Now scanning "2", found 6 files.<br />Now have 10 files in total.<br />Removed 0 files due to nonunique device and inode.<br />Now removing files with zero size from list...removed 0 files<br />Total size is 39928240 bytes or 38 MiB<br />Now sorting on size:removed 6 files due to unique sizes from list.4 files left.<br />Now eliminating candidates based on first bytes:removed 0 files from list.4 files left.<br />Now eliminating candidates based on last bytes:removed 0 files from list.4 files left.<br />Now eliminating candidates based on md5 checksum:removed 0 files from list.4 files left.<br />It seems like you have 4 files that are not unique<br />Totally, 10 MiB can be reduced.<br />Now making results file results.txt<br />Now making hard links.<br />Making 2 links.</code></p>
<p>A listázásál sok változást nem látunk, de a linkszámlálóból látszik, hogy már hard linkjeink vannak:</p>
<p><code class="block">1:<br />total 15980<br />-rw-rw-rw- 1 user live 3223592 Oct 9 1998 track11.mp3<br />-rw-rw-rw- 2 user live 5819536 Oct 9 1998 track13.mp3<br />-rw-rw-rw- 2 user live 4800970 Oct 9 1998 track15.mp3<br />-rw-rw-rw- 1 user live 2507210 Oct 9 1998 track1.mp3<br />
2:<br />total 23036<br />-rw-rw-rw- 2 user live 5819536 Oct 9 1998 song13.mp3<br />-rw-rw-rw- 2 user live 4800970 Oct 9 1998 song15.mp3<br />-rw-rw-rw- 1 user live 4693238 Oct 9 1998 song3.mp3<br />-rw-rw-rw- 1 user live 5647437 Oct 9 1998 song4.mp3<br />-rw-rw-rw- 1 user live 1272140 Oct 9 1998 song5.mp3<br />-rw-rw-rw- 1 user live 1343611 Oct 9 1998 song7.mp3</code></p>
<p>Ha külön-külön nézzük a helyfoglalást, akkor nincs változás:</p>
<p><code class="block">$ du -bs 1<br />16355404 1<br />
$ du -bs 2<br />23581028 2</code></p>
<p>de ha egyben, akkor látszik, hogy sok helyet megspóroltunk:</p>
<p><code class="block">$ du -bs *<br />16355404 1<br />12960522 2</code></p>
<p> Azt azért érdemes tudni, hogy sok fájl tartalmazó alkönyvtáraknál rdfind elég lassú.</p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fcommandline.blog.hu%2F2019%2F01%2F03%2Frdfind%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fcommandline.blog.hu%2F2019%2F01%2F03%2Frdfind%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fcommandline.blog.hu%2F2019%2F01%2F03%2Frdfind%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=rdfind"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://commandline.blog.hu/2019/01/03/rdfind#comments"><img class="item_ctp" src="https://commandline.blog.hu/rss/image/post/id/14530996" border="0" /></a><br /></p>
backup
hard_link
rdfind
0
Command Line
https://commandline.blog.hu
https://commandline.blog.hu/2018/12/16/woeusb
WoeUSB
2018-12-16T10:00:00+01:00
2018-12-16T10:00:00+01:00
sala
https://blog.hu/user/13905
<p>A <a href="https://github.com/slacka/WoeUSB" target="_blank" rel="noopener noreferrer">WoeUSB</a>-vel Windows installer iso fájlokat írhatunk pendrive-ra, hogy onnan installáljuk a Windows-t.</p>
<p><code class="block">woeusb --device Win10_1803_Hungarian_x64.iso /dev/sdX<codep></codep></code></p>
<p> a /dev/sdX helyett persze a pendrive drive-ja kell</p>
<p> <em>Azt igazából nem tudom miért nem elég egy sima dd, de annyira nem is érdekel.</em></p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F12%2F16%2Fwoeusb%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F12%2F16%2Fwoeusb%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F12%2F16%2Fwoeusb%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=WoeUSB"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://commandline.blog.hu/2018/12/16/woeusb#comments"><img class="item_ctp" src="https://commandline.blog.hu/rss/image/post/id/14486056" border="0" /></a><br /></p>
windows
pendrive
installer
woeusb
0
Command Line
https://commandline.blog.hu
https://commandline.blog.hu/2018/11/27/comm_448
comm
2018-11-27T10:00:00+01:00
2018-11-27T10:00:00+01:00
sala
https://blog.hu/user/13905
<p>Szövegfájlok sorait hasonlíthatjuk össze a <a href="https://linux.die.net/man/1/comm" target="_blank" rel="noopener noreferrer">comm</a> paranncsal. Vegyünk két fájlt, ahol a sorok rendezve vannak:</p>
<p><code class="block">$ cat file1.txt <br />aaa<br />bbb<br />ddd<br />eee<br />$ cat file2.txt <br />bbb<br />ccc<br />eee</code></p>
<p>A comm három oszlopba rendezi sorokat. Az elsőbe azok kerülnek, amelyek csak az első fájlban vannak, a másodikba azok amelyek csak a másodikban, a harmadikba pedig azok amelyeket mindkét fájlban megtalálhatunk:</p>
<pre><code class="block">$ comm file1.txt file2.txt
aaa
bbb
ccc
ddd
eee
</code></pre>
<p>Lehetőségünk van az egyes oszlopok elrejtésére a -1, -2, -3 kapcsolókkal. Az első két oszlopot pl. így rejthetjük el:</p>
<p><code class="block">$ comm -12 file1.txt file2.txt <br />bbb<br />eee</code></p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F11%2F27%2Fcomm_448%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F11%2F27%2Fcomm_448%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F11%2F27%2Fcomm_448%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=comm"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://commandline.blog.hu/2018/11/27/comm_448#comments"><img class="item_ctp" src="https://commandline.blog.hu/rss/image/post/id/14390426" border="0" /></a><br /></p>
0
Command Line
https://commandline.blog.hu
https://commandline.blog.hu/2018/11/24/linuxbrew
linuxbrew
2018-11-24T09:00:00+01:00
2018-11-24T09:00:00+01:00
sala
https://blog.hu/user/13905
<p>A Mac OS-en elérhető <a href="https://commandline.blog.hu/2018/09/08/homebrew" target="_blank" rel="noopener noreferrer">homebrew</a> linuxos forkja a <a href="http://linuxbrew.sh/" target="_blank" rel="noopener noreferrer">Linuxbrew</a>. Használatával Linuxra is pont úgy installálhatunk fel programokat mint Mac OS-re. Elsőre kevésbé tűnik hasznosnak, hiszen minden Linux disztribúciónak van saját csomagkezelője, de elég sokszor előfordul, hogy egy csomag kimarad a gyári csomagok közül és linuxbrew-val egyszerűen installálható.</p>
<p>Például Mageia disztróra elég nehéz feltenni shellcheck-et, de linuxbrew-val ez csak egy mozdulat:</p>
<p><code class="block">$ brew install shellcheck</code></p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F11%2F24%2Flinuxbrew%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F11%2F24%2Flinuxbrew%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F11%2F24%2Flinuxbrew%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=linuxbrew"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://commandline.blog.hu/2018/11/24/linuxbrew#comments"><img class="item_ctp" src="https://commandline.blog.hu/rss/image/post/id/14229049" border="0" /></a><br /></p>
homebrew
linuxbrew
0
Command Line
https://commandline.blog.hu
https://commandline.blog.hu/2018/09/11/shellcheck
shellcheck
2018-09-11T10:00:00+02:00
2018-09-11T10:00:00+02:00
sala
https://blog.hu/user/13905
<p>Még a <a href="https://commandline.blog.hu/2017/06/13/cikkajanlo_shell_scripts_matter" target="_blank" rel="noopener noreferrer">Shell Scripts Matter</a> cikk ajánlotta a <a href="https://www.shellcheck.net/" target="_blank" rel="noopener noreferrer">shellcheck</a>et, de önmagában is megér egy bejegyzést.</p>
<p>Készítsünk egy nagyon egyszerű scriptet (test1.sh):</p>
<p><code class="block">#!/bin/bash<br />echo hello $1</code></p>
<p>Ha elkezdjük használni, elég sokáig úgy viselkedik ahogy elvárjuk, de azért az utolsó két parancs közti különbség elsőre meglepő:</p>
<p><code class="block">$ ./test1.sh a<br />hello a<br />$ ./test1.sh a b<br />hello a<br />$ ./test1.sh "a b"<br />hello a b<br />$ ./test1.sh "a* b"<br />hello a* b<br />$ ./test1.sh "t* b"<br />hello test1.sh test2.sh b</code></p>
<p>Egy ilyen rövid scriptben persze könnyen megtalálhatjuk a hibát, de sokkal egyszerűbb a scriptjeinket shellcheckkel ellenőriztetni:</p>
<pre><code class="block" style="font-size: xx-small;">$ shellcheck test1.sh
In test1.sh line 2:
echo hello $1
^-- SC2086: Double quote to prevent globbing and word splitting.
</code></pre>
<p>Ezután már egyértelmű a javítás (test2.sh):</p>
<p><code class="block">#!/bin/bash<br />echo hello "$1"</code></p>
<p>A script úgy működik, ahogy elvárható:</p>
<p><code class="block">$ ./test2.sh a<br />hello a<br />$ ./test2.sh a b<br />hello a<br />$ ./test2.sh "a b"<br />hello a b<br />$ ./test2.sh "a* b"<br />hello a* b<br />$ ./test2.sh "t* b"<br />hello t* b</code></p>
<p> </p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F09%2F11%2Fshellcheck%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F09%2F11%2Fshellcheck%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F09%2F11%2Fshellcheck%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=shellcheck"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://commandline.blog.hu/2018/09/11/shellcheck#comments"><img class="item_ctp" src="https://commandline.blog.hu/rss/image/post/id/14229069" border="0" /></a><br /></p>
0
Command Line
https://commandline.blog.hu
https://commandline.blog.hu/2018/09/08/homebrew
homebrew
2018-09-08T10:00:00+02:00
2018-09-08T10:00:00+02:00
sala
https://blog.hu/user/13905
<p>Ha Linux után MacOS-t kezdünk használni, akkor az nagyon jó hogy a shell a már jól megszokott bash, beépített editornak ott van az emacs (vi, nano, ...), de azért több jól megszokott linuxos program hiányzik. Legegyszerűben ezeket <a href="https://brew.sh/" target="_blank" rel="noopener noreferrer">homebrew</a> segítségével installálhatjuk.</p>
<p>A <a href="https://commandline.blog.hu/2012/05/03/gnu_parallel" target="_blank" rel="noopener noreferrer">parallel</a> installálása pl.ilyen egyszerű:</p>
<p><code class="block">$ brew install parallel</code></p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F09%2F08%2Fhomebrew%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F09%2F08%2Fhomebrew%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F09%2F08%2Fhomebrew%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=homebrew"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://commandline.blog.hu/2018/09/08/homebrew#comments"><img class="item_ctp" src="https://commandline.blog.hu/rss/image/post/id/14229027" border="0" /></a><br /></p>
macos
homebrew
brew
0
Command Line
https://commandline.blog.hu
https://commandline.blog.hu/2018/08/26/pbcopy_pbpaste
pbcopy pbpaste
2018-08-26T10:00:00+02:00
2018-08-26T10:00:00+02:00
sala
https://blog.hu/user/13905
<p>Korábban írtam már az <a href="https://commandline.blog.hu/2013/07/28/xclip" target="_blank" rel="noopener noreferrer">xclip</a> parancsról, amivel parancssorból kezelhetjük a clipboardot, ha Mac OS alatt van szükségünk erre, akkor a pbcopy pbpaste párost használhatjuk:</p>
<p><code class="block">$ echo 'alma' | pbcopy<br />
$ echo $(pbpaste)<br />
alma</code></p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F08%2F26%2Fpbcopy_pbpaste%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F08%2F26%2Fpbcopy_pbpaste%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F08%2F26%2Fpbcopy_pbpaste%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=pbcopy pbpaste"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://commandline.blog.hu/2018/08/26/pbcopy_pbpaste#comments"><img class="item_ctp" src="https://commandline.blog.hu/rss/image/post/id/14201313" border="0" /></a><br /></p>
mac
macos
xclip
pbcopy
pbpaste
0
Command Line
https://commandline.blog.hu
https://commandline.blog.hu/2018/08/01/hashcat_pdf_jelszo_feltorese
hashcat: pdf jelszó feltörése
2018-08-01T10:00:00+02:00
2018-08-01T10:00:00+02:00
sala
https://blog.hu/user/13905
<p>Gyártsunk egy <a href="https://commandline.blog.hu/2015/11/20/pdf_jelszovedelem" target="_blank" rel="noopener noreferrer">jelszóvédett pdf</a>-et:</p>
<p><code class="block">$ echo -n titok > titok.txt<br />$ enscript -p titok.{ps,txt}<br />$ ps2pdf titok.{ps,pdf}<br />$ pdftk titok.pdf output titok_jelszo.pdf user_pw 987654321</code></p>
<p>Ahhoz, hogy a titkosított pdf-et <a href="https://commandline.blog.hu/2018/07/29/hashcat" target="_blank" rel="noopener noreferrer">hashcattel</a> feltörhessük, két dologra lesz szükségünk. Először is tudnunk kell, milyen hash-et használ a pdf titkosítás. A pdf fájl elején látszik, hogy ez egy PDF 1.4-es fájl, <code>hashcat --help</code> alapján ez a 10500-as hash mód. Másrészt ki kell vágnunk a pdf fájlból a hash-t. Ezt a <a href="https://github.com/magnumripper/JohnTheRipper" target="_blank" rel="noopener noreferrer">JohnTheRipper</a> program <code>pdf2john.pl</code> scriptjével tehetjük meg:</p>
<p><code class="block">$ pdf2john.pl titok_jelszo.pdf | sed "s/^.*://" > hash_pdf.txt</code></p>
<p>Ezután hashcat már képes feltörni a jelszót brute-force módszerrel:</p>
<p><code class="block">$ hashcat -m 10500 -a 3 -i hash_pdf.txt ?d?d?d?d?d?d?d?d?d?d?d<br />...<br />
$pdf$2*3*128*-3904*1*16*35b780a117d0e708d9a5bc500c94dc31*32*5ec779d797699b837f97b6f33418f45400000000000000000000000000000000*32*240ab525f81f9d2851d51f167d556bb19f5bae85a6ca52e8c98a90fa98c2b65c:987654321<br /> <br />Session..........: hashcat<br />Status...........: Cracked<br />Hash.Type........: PDF 1.4 - 1.6 (Acrobat 5 - 8)<br />Hash.Target......: $pdf$2*3*128*-3904*1*16*35b780a117d0e708d9a5bc500c9...c2b65c<br />Time.Started.....: Sat Jul 28 11:29:47 2018 (1 min, 14 secs)<br />Time.Estimated...: Sat Jul 28 11:31:01 2018 (0 secs)<br />Guess.Mask.......: ?d?d?d?d?d?d?d?d?d [9]<br />Guess.Queue......: 9/11 (81.82%)<br />Speed.Dev.#2.....: 94665 H/s (28.31ms) @ Accel:16 Loops:8 Thr:64 Vec:1<br />Speed.Dev.#3.....: 1357.0 kH/s (68.98ms) @ Accel:640 Loops:17 Thr:64 Vec:1<br />Speed.Dev.#*.....: 1451.7 kH/s<br />Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts<br />Progress.........: 107274240/1000000000 (10.73%)<br />Rejected.........: 0/107274240 (0.00%)<br />Restore.Point....: 10493952/100000000 (10.49%)<br />Candidates.#2....: 963454321 -> 999592321<br />Candidates.#3....: 962478232 -> 935512321<br /><br />
Started: Sat Jul 28 11:28:21 2018<br />Stopped: Sat Jul 28 11:31:02 2018</code></p>
<p>Itt is feltételeztem persze, hogy csupa számjegyből állt a jelszó, így pár perc alatt megtalálta a program a jelszót. Enélkül persze sokkal tovább tartott volna.</p>
<p> </p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F08%2F01%2Fhashcat_pdf_jelszo_feltorese%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F08%2F01%2Fhashcat_pdf_jelszo_feltorese%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F08%2F01%2Fhashcat_pdf_jelszo_feltorese%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=hashcat: pdf jelszó feltörése"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://commandline.blog.hu/2018/08/01/hashcat_pdf_jelszo_feltorese#comments"><img class="item_ctp" src="https://commandline.blog.hu/rss/image/post/id/14146789" border="0" /></a><br /></p>
0
Command Line
https://commandline.blog.hu
https://commandline.blog.hu/2018/07/29/hashcat
hashcat
2018-07-29T10:00:00+02:00
2018-07-29T10:00:00+02:00
sala
https://blog.hu/user/13905
<p>A <a href="https://hashcat.net/hashcat/" target="_blank" rel="noopener noreferrer">hashcat</a> programmal jelszavak törhetünk fel, feltéve ha tudjuk, hogy milyen hash algoritmust használtunk a jelszó kódolásakor.</p>
<p>Tételezzük fel, hogy a már elavult md5-öt használjuk. A nem túl biztonságos (de nem is túl rövid) 98765432109 jelszó md5 hash-e e53420cce01df4edb9b01215f3733920</p>
<p><code class="block">$ echo -n '98765432109' | md5 > hash_md5.txt<br />
$ cat hash_md5.txt <br />e53420cce01df4edb9b01215f3733920</code></p>
<p> Ezt hashcat használatával így törhetjük fel:</p>
<p><code class="block">$ hashcat --potfile-disable -O -m 0 -a 3 -i hash_md5.txt ?d?d?d?d?d?d?d?d?d?d?d</code></p>
<ul>
<li><code>--potfile-disable</code>: Alapesetben a feltört hasheket hashcat eltárolja, és később újra felhasználja. Ezt a teszt kedvéért lekapcsoltam, hogy többször újra tudjam futtatni a tesztet.</li>
<li><code>-O</code>: optimalizálás bekapcsolása</li>
<li><code>-m 0</code>: md5 hash</li>
<li><code>-a 3</code>: brute-force algoritmus</li>
<li><code>-i</code>: A maszknál rövidebb jelszavakat is ellenőrzi.</li>
<li><code>hash_md5.txt</code>: Ez a fájl tartalmazza a hasht.</li>
<li>?d?d?d?d?d?d?d?d?d?d?d: Ez a maszk határozza meg, milyen formátumú lehet a jelszó, ez a 11 számjegyből álló jelszó maszkja.</li>
</ul>
<p>A program kevesebb mint 1 perc alatt találja meg a jelszót:</p>
<p><code class="block">
...<br />
e53420cce01df4edb9b01215f3733920:98765432109<br /><br />
Session..........: hashcat<br />Status...........: Cracked<br />Hash.Type........: MD5<br />Hash.Target......: e53420cce01df4edb9b01215f3733920<br />Time.Started.....: Sat Jul 28 10:26:02 2018 (30 secs)<br />Time.Estimated...: Sat Jul 28 10:26:32 2018 (0 secs)<br />Guess.Mask.......: ?d?d?d?d?d?d?d?d?d?d?d [11]<br />Guess.Queue......: 11/11 (100.00%)<br />Speed.Dev.#2.....: 145.3 MH/s (7.90ms) @ Accel:16 Loops:15 Thr:256 Vec:1<br />Speed.Dev.#3.....: 2185.2 MH/s (8.87ms) @ Accel:128 Loops:62 Thr:256 Vec:1<br />Speed.Dev.#*.....: 2330.5 MH/s<br />Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts<br />Progress.........: 71073005568/100000000000 (71.07%)<br />Rejected.........: 0/71073005568 (0.00%)<br />Restore.Point....: 69697536/100000000 (69.70%)<br />Candidates.#2....: 16445128782 -> 68800372209<br />Candidates.#3....: 57136658459 -> 86274237109<br />
Started: Sat Jul 28 10:25:50 2018<br />Stopped: Sat Jul 28 10:26:34 2018</code></p>
<p><em>Ha lehet, ne használjon senki se md5-öt, se csupa számjegyből álló jelszót.</em></p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F07%2F29%2Fhashcat%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F07%2F29%2Fhashcat%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F07%2F29%2Fhashcat%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=hashcat"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://commandline.blog.hu/2018/07/29/hashcat#comments"><img class="item_ctp" src="https://commandline.blog.hu/rss/image/post/id/14146671" border="0" /></a><br /></p>
jelszó
md5
hash
md5sum
hashcat
0
Command Line
https://commandline.blog.hu
https://commandline.blog.hu/2018/07/24/exa_966
exa
2018-07-24T10:00:00+02:00
2018-07-24T10:00:00+02:00
sala
https://blog.hu/user/13905
<p>Az <a href="https://en.wikipedia.org/wiki/Ls" target="_blank" rel="noopener noreferrer">ls</a> az egyik legismertebb és legrégebbi unix parancs, az <a href="https://the.exa.website/" target="_blank" rel="noopener noreferrer">exa</a> ennek egy modernebb változata. Ami rögtön feltűnik, hogy sokkal színesebb:</p>
<pre><code class="block">$ exa -l<br /><span style="color: red; font-weight: bold;">.<span style="color: olive; font-weight: bold;">r</span>w <span style="color: white; text-decoration: blink;"></span></span><span style="color: white; text-decoration: blink;"></span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span> <span style="color: green; font-weight: bold;">1.1</span><span style="color: green;">k</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;">31 Mar 2017</span> COPYING
.<span style="color: olive; font-weight: bold;">r</span><span style="color: red; font-weight: bold;">w</span><span style="color: white; text-decoration: blink;">-</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span> <span style="color: green; font-weight: bold;">6.2</span><span style="color: green;">M</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;"> 8 Apr 2016</span> <span style="color: purple;">imgp8166.png</span>
.<span style="color: olive; font-weight: bold;">r</span><span style="color: red; font-weight: bold;">w</span><span style="color: white; text-decoration: blink;">-</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span> <span style="color: green; font-weight: bold;">8.0</span><span style="color: green;">M</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;">11 Apr 2016</span> <span style="color: purple;">imgp8171.png</span>
.<span style="color: olive; font-weight: bold;">r</span><span style="color: red; font-weight: bold;">w</span><span style="color: white; text-decoration: blink;">-</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span> <span style="color: green; font-weight: bold;">7.2</span><span style="color: green;">M</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;"> 9 Apr 2016</span> <span style="color: purple;">imgp8171_cuta.png</span>
.<span style="color: olive; font-weight: bold;">r</span><span style="color: red; font-weight: bold;">w</span><span style="color: white; text-decoration: blink;">-</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span> <span style="color: green; font-weight: bold;">8.8</span><span style="color: green;">M</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;"> 9 Apr 2016</span> <span style="color: purple;">imgp8171_swa.png</span>
.<span style="color: olive; font-weight: bold;">r</span><span style="color: red; font-weight: bold;">w</span><span style="color: white; text-decoration: blink;">-</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span> <span style="color: green; font-weight: bold;">6.6</span><span style="color: green;">M</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;"> 7 Apr 2016</span> <span style="color: purple;">imgp8171_swa_orig.png</span>
.<span style="color: olive; font-weight: bold;">r</span><span style="color: red; font-weight: bold;">w</span><span style="color: white; text-decoration: blink;">-</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span> <span style="color: green; font-weight: bold;">1.5</span><span style="color: green;">k</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;">27 Jun 16:59</span> <span style="color: olive; text-decoration: underline; font-weight: bold;">README.md</span>
.<span style="color: olive; font-weight: bold;">r</span><span style="color: red; font-weight: bold;">w</span><span style="color: green; text-decoration: underline; font-weight: bold;">x</span><span style="color: olive;">r</span><span style="color: white; text-decoration: blink;">-</span><span style="color: green; text-decoration: blink;">x</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">-</span><span style="color: green; text-decoration: blink;">x</span> <span style="color: green; font-weight: bold;">2.8</span><span style="color: green;">k</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;">27 Jun 8:48</span> <span style="color: green;">solarmiddle.sh</span>
.<span style="color: olive; font-weight: bold;">r</span><span style="color: red; font-weight: bold;">w</span><span style="color: green; text-decoration: underline; font-weight: bold;">x</span><span style="color: olive;">r</span><span style="color: white; text-decoration: blink;">-</span><span style="color: green; text-decoration: blink;">x</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">-</span><span style="color: green; text-decoration: blink;">x</span> <span style="color: green; font-weight: bold;">3.7</span><span style="color: green;">k</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;"> 9 Apr 2016</span> <span style="color: green;">solarmiddle.sh~</span>
.<span style="color: olive; font-weight: bold;">r</span><span style="color: red; font-weight: bold;">w</span><span style="color: white; text-decoration: blink;">-</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span> <span style="color: green; font-weight: bold;">1.9</span><span style="color: green;">k</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;">11 Apr 2016</span> solarmiddle_tutorial.md
.<span style="color: olive; font-weight: bold;">r</span><span style="color: red; font-weight: bold;">w</span><span style="color: green; text-decoration: underline; font-weight: bold;">x</span><span style="color: olive;">r</span><span style="color: white; text-decoration: blink;">-</span><span style="color: green; text-decoration: blink;">x</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">-</span><span style="color: green; text-decoration: blink;">x</span> <span style="color: green; font-weight: bold;">3.4</span><span style="color: green;">k</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;">21 Jul 9:22</span> <span style="color: green;">solarwind.sh</span>
.<span style="color: olive; font-weight: bold;">r</span><span style="color: red; font-weight: bold;">w</span><span style="color: white; text-decoration: blink;">-</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span> <span style="color: green; font-weight: bold;">4.1</span><span style="color: green;">k</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;">11 Apr 2016</span> solarwind_tutorial.md
</code></pre>
<p>Programozóként a <code>--git</code> kapcsoló tűnik nagyon hasznosnak, jelzi melyik fájl új, melyiket módosítottuk:</p>
<pre><code class="block">
$ exa -l --git
.<span style="color: olive; font-weight: bold;">r</span><span style="color: red; font-weight: bold;">w</span><span style="color: white; text-decoration: blink;">-</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span> <span style="color: green; font-weight: bold;">1.1</span><span style="color: green;">k</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;">31 Mar 2017</span> <span style="color: white; text-decoration: blink;">--</span> COPYING
.<span style="color: olive; font-weight: bold;">r</span><span style="color: red; font-weight: bold;">w</span><span style="color: white; text-decoration: blink;">-</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span> <span style="color: green; font-weight: bold;">6.2</span><span style="color: green;">M</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;"> 8 Apr 2016</span> <span style="color: white; text-decoration: blink;">-</span><span style="color: green; text-decoration: blink;">N</span> <span style="color: purple;">imgp8166.png</span>
.<span style="color: olive; font-weight: bold;">r</span><span style="color: red; font-weight: bold;">w</span><span style="color: white; text-decoration: blink;">-</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span> <span style="color: green; font-weight: bold;">8.0</span><span style="color: green;">M</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;">11 Apr 2016</span> <span style="color: white; text-decoration: blink;">-</span><span style="color: green; text-decoration: blink;">N</span> <span style="color: purple;">imgp8171.png</span>
.<span style="color: olive; font-weight: bold;">r</span><span style="color: red; font-weight: bold;">w</span><span style="color: white; text-decoration: blink;">-</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span> <span style="color: green; font-weight: bold;">7.2</span><span style="color: green;">M</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;"> 9 Apr 2016</span> <span style="color: white; text-decoration: blink;">-</span><span style="color: green; text-decoration: blink;">N</span> <span style="color: purple;">imgp8171_cuta.png</span>
.<span style="color: olive; font-weight: bold;">r</span><span style="color: red; font-weight: bold;">w</span><span style="color: white; text-decoration: blink;">-</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span> <span style="color: green; font-weight: bold;">8.8</span><span style="color: green;">M</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;"> 9 Apr 2016</span> <span style="color: white; text-decoration: blink;">-</span><span style="color: green; text-decoration: blink;">N</span> <span style="color: purple;">imgp8171_swa.png</span>
.<span style="color: olive; font-weight: bold;">r</span><span style="color: red; font-weight: bold;">w</span><span style="color: white; text-decoration: blink;">-</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span> <span style="color: green; font-weight: bold;">6.6</span><span style="color: green;">M</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;"> 7 Apr 2016</span> <span style="color: white; text-decoration: blink;">-</span><span style="color: green; text-decoration: blink;">N</span> <span style="color: purple;">imgp8171_swa_orig.png</span>
.<span style="color: olive; font-weight: bold;">r</span><span style="color: red; font-weight: bold;">w</span><span style="color: white; text-decoration: blink;">-</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span> <span style="color: green; font-weight: bold;">1.5</span><span style="color: green;">k</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;">27 Jun 16:59</span> <span style="color: white; text-decoration: blink;">--</span> <span style="color: olive; text-decoration: underline; font-weight: bold;">README.md</span>
.<span style="color: olive; font-weight: bold;">r</span><span style="color: red; font-weight: bold;">w</span><span style="color: green; text-decoration: underline; font-weight: bold;">x</span><span style="color: olive;">r</span><span style="color: white; text-decoration: blink;">-</span><span style="color: green; text-decoration: blink;">x</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">-</span><span style="color: green; text-decoration: blink;">x</span> <span style="color: green; font-weight: bold;">2.8</span><span style="color: green;">k</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;">27 Jun 8:48</span> <span style="color: white; text-decoration: blink;">--</span> <span style="color: green;">solarmiddle.sh</span>
.<span style="color: olive; font-weight: bold;">r</span><span style="color: red; font-weight: bold;">w</span><span style="color: green; text-decoration: underline; font-weight: bold;">x</span><span style="color: olive;">r</span><span style="color: white; text-decoration: blink;">-</span><span style="color: green; text-decoration: blink;">x</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">-</span><span style="color: green; text-decoration: blink;">x</span> <span style="color: green; font-weight: bold;">3.7</span><span style="color: green;">k</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;"> 9 Apr 2016</span> <span style="color: white; text-decoration: blink;">-</span><span style="color: green; text-decoration: blink;">N</span> <span style="color: green;">solarmiddle.sh~</span>
.<span style="color: olive; font-weight: bold;">r</span><span style="color: red; font-weight: bold;">w</span><span style="color: white; text-decoration: blink;">-</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span> <span style="color: green; font-weight: bold;">1.9</span><span style="color: green;">k</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;">11 Apr 2016</span> <span style="color: white; text-decoration: blink;">--</span> solarmiddle_tutorial.md
.<span style="color: olive; font-weight: bold;">r</span><span style="color: red; font-weight: bold;">w</span><span style="color: green; text-decoration: underline; font-weight: bold;">x</span><span style="color: olive;">r</span><span style="color: white; text-decoration: blink;">-</span><span style="color: green; text-decoration: blink;">x</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">-</span><span style="color: green; text-decoration: blink;">x</span> <span style="color: green; font-weight: bold;">3.4</span><span style="color: green;">k</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;">21 Jul 9:22</span> <span style="color: white; text-decoration: blink;">-</span><span style="color: blue; text-decoration: blink;">M</span> <span style="color: green;">solarwind.sh</span>
.<span style="color: olive; font-weight: bold;">r</span><span style="color: red; font-weight: bold;">w</span><span style="color: white; text-decoration: blink;">-</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span><span style="color: olive; text-decoration: blink;">r</span><span style="color: white; text-decoration: blink;">--</span> <span style="color: green; font-weight: bold;">4.1</span><span style="color: green;">k</span> <span style="color: olive; font-weight: bold;">user</span> <span style="color: blue;">11 Apr 2016</span> <span style="color: white; text-decoration: blink;">--</span> solarwind_tutorial.md
</code></pre>
<p>Arra azért érdemes odafigyelni, hogy elég sok kapcsoló más mint ls-nél volt.</p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F07%2F24%2Fexa_966%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F07%2F24%2Fexa_966%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F07%2F24%2Fexa_966%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=exa"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://commandline.blog.hu/2018/07/24/exa_966#comments"><img class="item_ctp" src="https://commandline.blog.hu/rss/image/post/id/14126517" border="0" /></a><br /></p>
exa
ls
0
Command Line
https://commandline.blog.hu
https://commandline.blog.hu/2018/07/21/aha_229
aha
2018-07-21T10:00:00+02:00
2018-07-21T10:00:00+02:00
sala
https://blog.hu/user/13905
<p>Ha a terminálom színes képernyőjét block-copyval idemásolom, akkor elvesznek a színek:</p>
<p><code class="block">$ ls<br />alma dir/ korte ls.htm test.zip</code></p>
<p>Az <a href="https://github.com/theZiz/aha" target="_blank" rel="noopener noreferrer">aha (Ansi HTML Adapter)</a> használatával HTML formátumba menthetjük az outputot, így beilleszthetjük HTML oldalba:</p>
<p><code class="block">
$ ls<br />
<span style="color: blue; font-weight: bold;">dir</span>/
korte
ls.htm
<span style="color: red; font-weight: bold;">test.zip</span>
</code></p>
<p>A következő parancsot kellett használni a HTML részlet gyártásához:</p>
<p><code class="block">$ ls --color=always | aha --no-header > ls.htm</code></p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F07%2F21%2Faha_229%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F07%2F21%2Faha_229%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F07%2F21%2Faha_229%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=aha"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://commandline.blog.hu/2018/07/21/aha_229#comments"><img class="item_ctp" src="https://commandline.blog.hu/rss/image/post/id/14126463" border="0" /></a><br /></p>
html
color
aha
0
Command Line
https://commandline.blog.hu
https://commandline.blog.hu/2018/07/09/animgif_paletta
animgif paletta
2018-07-09T10:00:00+02:00
2018-07-09T10:00:00+02:00
sala
https://blog.hu/user/13905
<p>Írtam már egyszer korábban az <a href="https://commandline.blog.hu/2013/05/23/animgif_890" target="_blank" rel="noopener noreferrer">animgif gyártásáról</a>, de amikor legutóbb akartam használni az ott leírt módszert, igen csúnya lett az animgif. Egy animgifben csak 256 különböző lehet minden képben és ffmpeg alapesetben ugyanazt a palettát használja, függetlenül a videó színvilágától. Jobb eredményt lehet elérni, ha külön palettát készítünk a videó alapján:</p>
<p><code class="block">ffmpeg -i input.mkv -vf "scale=320:-1:flags=lanczos,fps=25,palettegen" -y palette.png <br />ffmpeg -i input.mkv -i palette.png -lavfi "scale=320:-1:flags=lanczos,fps=25 [x]; [x][1:v]paletteuse" -y output.gif<br />gifsicle -i output.gif -O3 -o output_opt.gif</code></p>
<p>Az első parancsban (a többi filter mellett) a palettegen-t használjuk, ez egy 16x16 pixeles képet gyárt (palette.png) ami az optimális paletta színeit tartalmazza. Ezt használja fel a második parancs az animgif gyártásához a paletteuse filterrel. A harmadik parancs az animgifet optimalizálja gifsicle segítségével.</p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F07%2F09%2Fanimgif_paletta%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F07%2F09%2Fanimgif_paletta%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F07%2F09%2Fanimgif_paletta%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=animgif paletta"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://commandline.blog.hu/2018/07/09/animgif_paletta#comments"><img class="item_ctp" src="https://commandline.blog.hu/rss/image/post/id/14100169" border="0" /></a><br /></p>
animgif
ffmpeg
gifsicle
0
Command Line
https://commandline.blog.hu
https://commandline.blog.hu/2018/06/06/sshtron
sshtron
2018-06-06T10:00:00+02:00
2018-06-06T10:00:00+02:00
sala
https://blog.hu/user/13905
<p>Egyrészt természetesen teljesen értelmetlen, másrészt viszont nagyszerűen mutatja be az ssh lehetőségeit az <a href="https://github.com/zachlatta/sshtron/" target="_blank" rel="noopener noreferrer">sshtron</a> nevű játék, ahol egy szerverre sshzva játszhatunk tronnal (ha éppen megy a szerver):</p>
<p><code class="block">ssh sshtron.zachlatta.com</code></p>
<p> <img src="https://m.blog.hu/co/commandline/image/sshtron.jpg" alt="sshtron.jpg" class="imgnotext open-in-modal" /></p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F06%2F06%2Fsshtron%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F06%2F06%2Fsshtron%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F06%2F06%2Fsshtron%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=sshtron"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://commandline.blog.hu/2018/06/06/sshtron#comments"><img class="item_ctp" src="https://commandline.blog.hu/rss/image/post/id/14026856" border="0" /></a><br /></p>
ssh
sshtron
0
Command Line
https://commandline.blog.hu
https://m.blog.hu/co/commandline/image/sshtron.jpg
https://commandline.blog.hu/2018/05/04/paste
paste
2018-05-04T10:00:00+02:00
2018-05-04T10:00:00+02:00
sala
https://blog.hu/user/13905
<p>A <a href="https://linux.die.net/man/1/paste" target="_blank" rel="noopener noreferrer">paste </a>paranccsal több fájl tartalmát olvaszthatjuk egybe.</p>
<p>Legyen a test_1.txt tartalma:</p>
<p><code class="block">
1<br />2<br />3<br />4<br />5<br />6</code></p>
<p>test_2.txt tartalma:</p>
<p><code class="block">a<br />b<br />c<br />d<br />e<br />f</code></p>
<p>paste soronként illeszti össze a fájlokat, az általunk megadott szeparátorkarakterrel:</p>
<p><code class="block">$ paste -d ';' test_1.txt test_2.txt <br />1;a<br />2;b<br />3;c<br />4;d<br />5;e<br />6;f</code></p>
<p>Használhatjuk a -s kapcsolóval is egyetlen input fájl sorainak oszlopokba rendezésére:</p>
<p><code class="block">$ paste -s -d ';' test_1.txt <br />1;2;3;4;5;6</code></p>
<p>Ha több szeparátorkaraktert adunk meg, akkor elérhetjük, hogy minden sorba a test_1.txt három sora kerüljön:</p>
<p><code class="block">$ paste -s -d ';;\n' test_1.txt <br />1;2;3<br />4;5;6</code></p>
<p> </p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F05%2F04%2Fpaste%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F05%2F04%2Fpaste%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F05%2F04%2Fpaste%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=paste"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://commandline.blog.hu/2018/05/04/paste#comments"><img class="item_ctp" src="https://commandline.blog.hu/rss/image/post/id/13887814" border="0" /></a><br /></p>
paste
0
Command Line
https://commandline.blog.hu
https://commandline.blog.hu/2018/04/08/cikkajanlo_how_to_use_bash_parameter_substitution_like_a_pro
cikkajánló: How To Use Bash Parameter Substitution Like A Pro
2018-04-08T10:00:00+02:00
2018-04-08T10:00:00+02:00
sala
https://blog.hu/user/13905
<p>Írtam már párszor bash változókról (<a href="http://commandline.blog.hu/2010/11/23/bash_valtozo_kapcsos_zarojelben" target="_blank" rel="noopener noreferrer">egy</a>, <a href="http://commandline.blog.hu/2015/10/12/bash_alapertelmezett_ertek" target="_blank" rel="noopener noreferrer">kettő</a>, <a href="http://commandline.blog.hu/2016/04/11/kiterjesztes_levagasa" target="_blank" rel="noopener noreferrer">három</a>), nemrégiben találtam egy nagyszerű cikket, ami még sokkal több trükköt bemutat: <a href="https://www.cyberciti.biz/tips/bash-shell-parameter-substitution-2.html" target="_blank" rel="noopener noreferrer">How To Use Bash Parameter Substitution Like A Pro</a> .</p>
<p> </p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F04%2F08%2Fcikkajanlo_how_to_use_bash_parameter_substitution_like_a_pro%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F04%2F08%2Fcikkajanlo_how_to_use_bash_parameter_substitution_like_a_pro%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fcommandline.blog.hu%2F2018%2F04%2F08%2Fcikkajanlo_how_to_use_bash_parameter_substitution_like_a_pro%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=cikkajánló: How To Use Bash Parameter Substitution Like A Pro"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://commandline.blog.hu/2018/04/08/cikkajanlo_how_to_use_bash_parameter_substitution_like_a_pro#comments"><img class="item_ctp" src="https://commandline.blog.hu/rss/image/post/id/13816264" border="0" /></a><br /></p>
cikkajánló
bash
változó
0
Command Line
https://commandline.blog.hu
https://commandline.blog.hu/2017/11/17/ack_701
ack
2017-11-17T10:00:00+01:00
2017-11-17T10:00:00+01:00
sala
https://blog.hu/user/13905
<p>A grep parancsot szinte mindenki ismeri, több mint <a href="https://medium.com/@rualthanzauva/grep-was-a-private-command-of-mine-for-quite-a-while-before-i-made-it-public-ken-thompson-a40e24a5ef48" target="_blank" rel="noopener noreferrer">40 éves</a>, több új programot készítettek már a leváltására (én is írtam már pl. az <a href="http://commandline.blog.hu/2012/12/27/agrep" target="_blank" rel="noopener noreferrer">agrep</a> nevű változatról) az egyik ilyen próbálkozás az <a href="https://beyondgrep.com/" target="_blank" rel="noopener noreferrer">ack</a>, ami a grephez hasonló, programozóknak szánt eszköz.</p>
<p>Használata végtelenül egyszerű, ha az aktuális könyvtárban (és rekurzívan az összes alkönyvtárban) szeretnénk rákeresni egy adott regexp mintára:</p>
<p><code class="block">ack "A.*Task"</code></p>
<p>Ha nem akarunk az összes fájlban keresni, hanem csak a java források érdekelnek:</p>
<p><code class="block">ack --java "A.*Task"</code></p>
<p>Hasznos, hogy automatikusan kihagyja .git, .svn, ... alkönyvtárakat.</p>
<p> A <a href="https://beyondgrep.com/why-ack/" target="_blank" rel="noopener noreferrer">weboldalukon</a> (ahol az URL is már kissé furcsa) érdemes megnézni a többi érvet is amivel megpróbálnak győzni arról, hogy ezt használjuk inkább a grep helyett.</p>
<p><a title="Megosztom Facebookon!" href="https://www.facebook.com/sharer.php?api_key=120587281320910&locale=hu_HU&method=stream.share&u=https%3A%2F%2Fcommandline.blog.hu%2F2017%2F11%2F17%2Fack_701%3Futm_source%3Dbloghu_rss%26utm_medium%3Dfacebook%26utm_campaign%3Dblhshare"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_facebook.png" alt="Megosztom Facebookon!"></a>
<a title="Megosztom Twitteren!" href="https://twitter.com/home?status=https%3A%2F%2Fcommandline.blog.hu%2F2017%2F11%2F17%2Fack_701%3Futm_source%3Dbloghu_rss"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_twitter.png" alt="Megosztom Twitteren!"></a>
<a title="Megosztom Tumblren!" href="https://www.tumblr.com/share?v=3&u=https%3A%2F%2Fcommandline.blog.hu%2F2017%2F11%2F17%2Fack_701%3Futm_source%3Dbloghu_rss%26utm_medium%3Dtumblr%26utm_campaign%3Dblhshare&t=ack"><img src="https://m.blog.hu/assets/frontend/img/rss/icon_tumblr.png" alt="Megosztom Tumblren!"></a>
<a href="https://commandline.blog.hu/2017/11/17/ack_701#comments"><img class="item_ctp" src="https://commandline.blog.hu/rss/image/post/id/13284511" border="0" /></a><br /></p>
grep
ack
0
Command Line
https://commandline.blog.hu