最近の若いコマンド [無断転載禁止]©2ch.net
more は less に vi は Vim と、コマンドはより少ないバグと高い性能を目指して進歩してきました。
最近は exa (ls) や ag (grep) 等、UNIX ツールの洗練も進んできています。
こういった「若い」コマンドを語り合いましょう。 Ag --- The Siver Searcher
https://github.com/ggreer/the_silver_searcher
grep よりも高速でまた便利なオプションがあります。
例えば Vim で言う ignorecase smartcase のようなことが可能です。
$ ls
a b
$ ag -S test
a/a.txt
1:test1
2:test2
b/b.txt
1:Test1
2:test2
$ ag -S Test
b/b.txt
1:Test1 拡張子を手動で指定する必要はないです
$ ag --cc ./
main.cpp
main10.hxx
main2.cc
main3.C
main4.cxx
main5.m
main6.hpp
main7.hh
main8.h
main9.H Exa --- Replacement for 'ls' written in Rust.
https://github.com/ogham/exa
Rust 製で ls コマンドの置き換えを目指しています。
git をサポートしており ls では不可能なブランチ名の表示も楽です。
色分けも多彩です。
参考画像: https://raw.githubusercontent.com/ogham/exa/master/screenshots.png >>6
そんなかんじです!
「新しいコマンド」というと,「ミーハーだ」とか「UNIX 哲学に反してる」という声を聞きます。
まあ,そういうコマンド(パイプで十分なのに態々ラップしてる)もかなりありますが,doas とかは個人的に sudo よりも UNIX っぽい気がします。
そういうコマンドを共有したいなと思っています。 >>5
unix板なのにwindowsなんで参考にならんかもしれんが
agはgrepよりかなり速いし機能も充実してていいね
しかしwinだとVer1.0以後は自前でコンパイルせんといかんのがめんどい
ptはやたら遅い時が多いので使うのやめた、今後も期待できそうにないし
ripgrepは速い気もするのと最新バイナリ配布有でラク
自作スクリプトやマクロはag主体なんで置きかえはできてない
highway使ったことないわ >>8
実は highway は日本人が作製したんで贔屓しましたw
GitHub の star/fork 数を見ても ag, pt と比較して全然少ないです
正直私の環境 (Debian GNU/Linux) では pt が圧倒的に高速で,次いで at といった感じでした
ベンチマークの仕方が悪いだけかもしれませんが。
highway は Shift_JIS, EUC-JP にも始めから対応してるのでそういう古い日本語ファイル郡には効果的かもしれません JISコード,grepには上手にフラグ付けるパイプ通さないと処理不良になった気がする
昔の話だからもう問題無くなってるかもしれんが moreutils の vidirとvipipe って便利だな
>>6三月 sharkdp/fd: A simple, fast and user-friendly alternative to find.
https://github.com/sharkdp/fd
デフォルトでfindの8割のユースケースをカバーできるとうたっている
ttyだと色がつくのも今時のコマンドっぽい manのお気楽版みたいなコマンド知らない?
詳細な説明はバッサリ切って、まあこれだけ知ってりゃいいだろ的な例に絞ってるやつ
2年ぐらい前に見た気がしたんだけど検索しても見つからない それはそういうコマンドがあるかってより
それで呼ばれるドキュメントが書かれているかがキモじゃないか おじさん技術者が久しぶりにunixというかlinuxさわるとわからんよね。
xargsとかdigとか初めて知った。
bz2までは知ってるけどxzとか初めて解凍したわ。 xargsって結構古くからある気がする…
というかbzip2より古くない
どれだけおじさんなんだろ… あと、bashが標準なんでコマンドの値を評価するのが `(バッククォート)で囲むんじゃなくて、
$() なんだな。
年取ると勉強することが多いわ。 最新のOSSをソースから/usr/localにインストールして使ってたら
「yumから入れてないんですか?」とか若いのに言われた。
「yumって何ですか?」とわざとらしく答えておいた 昔はtcshとか使ってるとおしゃれだったんだが今じゃ誰も使ってないのか?
zshとかfishがかっこいいのか。 muleはemacsに吸収されたんか。
viは残ってるみたいだ。
telnetとrcpは無いみたいだな 今はなにかと物騒なんで、sshとscpをお使いください 昔はtcshのアニメキャラメッセージカタログが流行ったよね macOSもLinuxもbashが標準なんで、フリビもユーザ作ったらログインシェルをすぐにbash、もしくはzshにするようになってしまった 今はどのshellでもデフォルト設定で昔のtcsh以上に補完出来る
tcshもあるけど面倒なんでbashに乗り換えたよ
なおviの実体は傍流のvimだとか >>20
>>17 ではないが、20年ほど前bzip2は使ったけどxargsは覚えがない
あったのかもしれんがマイナーだったと思う https://www.freebsd.org/cgi/man.cgi?query=xargs#HISTORY
> The xargs utility appeared in PWB UNIX.
ってあるから1970年代からあったぽいよ 上のオジサンって人は筋金入りのUNIXユーザじゃなくて、2000年前後あたりにちょっとLinuxかじっただけの人では… >>21
bashでも ` ` は普通に使うし
bash以外でも $( ) は普通に使うよ https://github.com/chneukirchen/xe
xe: simple xargs and apply replacement
apply(1)って知らないなあ HISTORY
The apply command appeared in 4.2BSD.
AUTHORS
Rob Pike おお、ありがとう
https://www.freebsd.org/cgi/man.cgi?query=apply&apropos=0&sektion=0&manpath=FreeBSD+11.1-RELEASE+and+Ports&arch=default&format=html
商用UNIXやLinuxではほとんど入ってないんだな 若くはないけど、lessに追加された F オプションはいいね
+も- も less ってディレクトリ指定すると ls になるんだな。これ昔からそうだったっけ。 $ less /tmp
/tmp is a directory >>38
すまね。今確かめたら less が /bin/less じゃなく /usr/bin/lesspipe.sh にシンボリックリンク張ってあったわ。 誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。
グーグル検索⇒『宮本のゴウリエセレレ』
9NZTG8K7GD ☆ 私たち日本人の、日本国を改正しましょう。現在、
衆議員と参議院の両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆ ページャー(カーネルの話ではなく、`less`・`more`とかの類)でおすすめある?
lvとかなら知ってるんだが、ググラビリティが英語圏ですら低い(lessとかpageとか一般名詞が多すぎるのでそもそも技術的内容にすら引っ掛らない場合があるw)
ので、知ってる人、ぜひ教えてほしい。 >>17
digってnslookup共々、もはやFreeBSDの標準コマンドですらないんだな
今はhostかdrillを使うんだとさ 若くないけどmostってのがあったからちょっと使ってみたらlessとキーが全然違って使いにくかった bash のスクリプトに
continue 2
っていうセンテンスがあって、見た瞬間、意味は分かったんだけど、
こんなの昔は無かったなー
って思った。 知り合いから教えてもらったパソコン一台でお金持ちになれるやり方
時間がある方はみてもいいかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
HOF51 趣旨に合ってないかもしれんが
Linuxでネットワーク関連のコマンドの置き換えが進んでるみたいね。
ipやらまた新しい操作法覚えなきゃならないけど、ただ今までより体系立ってるし分かりやすいのは事実だから
変更する価値は多少あると思った。 まったく最近の若いコマンドは苦労ってものをしっちゃいねぇ
俺らの頃はな、遅いCPUと少ないメモリでどうやって仕事を
実現できるってのを考えて働いたもんだ >>50
違う違う。「ip」というコマンドがあるんだわ。 >>53
ああ,そうなんだ。それは知らなかった。
申し訳ない。 >>55
ゴミ
https://uec.usp-lab.com/TUKUBAI/CGI/TUKUBAI.CGI?POMPA=ABOUT#ann01
> usp Tukubaiを試用目的で利用できるようにしたバージョン。
> Windows版、CentOS版、Mac OS X版が用意されている。ダウンロードした月から
> 向こう6ヶ月の月末まで使用可能(2016年2月1日にダウンロードした場合、
> 2016年8月末まで使用できる。商用利用は不可)。
> usp Tukubaiの強力な機能をそれぞれのオペレーティングシステムで手軽にためすことができる。
> ライセンスの購入やPersonal Tukubaiの取得に関してはUSP研究所のソフトウェア Personal Tukubaiを参照のこと。 ま,まあPythonによる再実装があるし……(震え声) Unicodeの正規化や文字幅を扱えるコマンド群ってないっすか。 >>59
これかな?
aria2 is a lightweight multi-protocol & multi-source command-line download utility.
https://aria2.github.io/ このスレだったか。最近usp Tukubaiの話書いていた所 >>55-56
シェルスクリプトを便利にするコマンドあるかなーって思って
コマンドリファレンスみてみたのよ
https://uec.usp-lab.com/tukubai_man
これ、全く使えねーなw
> usp Tukubaiは基幹業務システム、情報分析システム、データバッチ処理、
> 高速検索システム、勘定系システムなどにおけるシェルおよびシェルスクリプトの
> 用途を広げるためのUNIX環境用コマンド群であり、
たしかにこう書いてあるが、これ完全に
特定用途向けのツールでしかないな
一般的なシェルスクリプトを便利にするものではなく
COBOL的な業務システムのプログラムでよく使われる処理を
シェルスクリプト用のコマンド(関数)として実装したものに過ぎない RDB使えない/RDBだと性能出せないような老害だから仕方ないよ。 というか今時データベースで業務管理してる時点で なにか察せるものがあるよね 「今時」とか書いて騙せると思ってるところがすごいよね。
まあこれで騙せるような情弱をカモにしてるんだろうけど。
怪しげな情報商材とかが、正気の人間なら引っかからないような
ろくでもない宣伝文句を使ってるのと同じ戦略かな。 nprocコマンド::
CPUのプロセッシングユニットの数を表示する
(今まで/proc/cpuinfoとかを自力でパースしてたけど
こっちのほうが確実だし なにより楽) archコマンド::
CPUアーキテクチャを表示する
書式が統一されていて 余計な文字列がないのでスクリプトなどで安全に簡単に扱える >>68
> (今まで/proc/cpuinfoとかを自力でパースしてたけど
パースするほどのことでもないと思うんだけど?
grep processor /proc/cpuinfo | wc -l >>69
> archコマンド::
man archしたらuname -mと同じって書いてあってワロタw archってSolarisって名前がつく前のSunOSの時代からあるので全然最近じゃない。
あとnprocみたいに専用コマンドをどんどん増やすより、
各種パラメータをとってこれるgetconf使った
getconf _NPROCESSORS_ONLN
の方がいいんじゃね? >>70
俺もそれに近いことはやってたけど,
必ずしも/proc/cpuinfoファイルに「processor」の項目があるとは限らなくね?
その点nproc(1)ユーティリティーはGNU Coreutilsに含まれてるのでGNU/Linuxなら確実に動く。
そういう違いかな。
もしかしたら/proc/cpuinfoに規格があるのかも知れんが,調べてないw realpath (GNU Core Utilities)
これ便利やわ。今までbasenameとか使って判定してたのが一発で済む。
ただFreeBSDとかだと始めからは使えない。 bashも最近カレントディレクトリのファイル実行に./要らなくなったね。 >>78
それセキュリティホールになるから勘違いでは?
間違って $PATH に「.」を加えちゃっただけじゃない? 空文字列も「.」と同じ扱いになるから、
$PATH の先頭か末尾に「:」が余分についてるか、途中に「::」があるのかもね 悪漢がいるなんて思いもしなかった古き良き時代のあれやで 昔はデフォルトで$PATHに . を入れてたぐらいだからな。
時代は変わった。 昔は平和で良かった(老害並感)
ともあれ$PATH変数はreadonly付けてもいいくらいだよね。 >>85
それで防げる脅威が存在する状況なら、既に侵入されてるってことだから無意味だよ。 >>87
どういう attack vector を阻害できるのか説明してみて >>88
クラッカーが管理者権限を持っていない場合
↓
管理者権限を持つ人物に自分を昇格して欲しい
↓
管理者権限を持つ人物が実行するスクリプトに細工する
PATHを弄って自分が作成した害のあるスクリプトがあるディレクトリに通す
↓
管理者がそれを実行する
↑これを防げます。 管理権限を持つ人間が実行するスクリプトを改変できた時点で
既に侵入に成功できていて
そのスクリプトの中で管理権限で何でもやり放題じゃん。
$PATHを改変するまでもない。
だから全く無意味。
自分で書いてて「管理者が〜実行する」が
2回出てきたあたりで変だと気づかなかったのかな? > 管理権限を持つ人間が実行するスクリプトを改変できた時点で
> 既に侵入に成功できていて
> そのスクリプトの中で管理権限で何でもやり放題じゃん。
ワロタw
こんな過疎スレじゃなきゃ今頃コピペ化してるかも知れん >>90と同じことは、>>86の時点で既に指摘されてたのにねえ。