もた日記

くだらないことを真面目にやる

commandlinefu.comで見つけた便利・面白Linuxコマンド使用例

  • commandlinefu.com
  • コマンド使用例
    • ^foo^bar
    • mount | column -t
    • time read (ctrl-d to stop)
    • echo "You can simulate on-screen typing just like in the movies" | pv -qL 10
    • mv filename.{old,new}
    • diff <(sort file1) <(sort file2)
    • !*
    • !:-
    • fc
    • date -d@1234567890
    • ps awwfux | less -S
    • bind -P
    • mkdir -p work/{d1,d2}/{src,bin,bak}
    • showkey -a
    • ccze
    • grep . filename > newfilename
    • grep -Fx -f file1 file2
    • grep . *
    • kill -9 $$
    • tail -f file | while read; do echo "$(date +%T.%N) $REPLY"; done
    • set -o vi

commandlinefu.com


www.commandlinefu.com

commandlinefu.comという便利なコマンド使用例(ワンライナー)を共有するサイトがあったので気になったコマンドを試してみる。
サイトではユーザが投票できるようになっていてsoted byをvotesにすると人気順に閲覧可能。最近でもコマンド使用例が投稿されているが2009年、2010年頃に投稿されたものが人気なのでその頃に話題だったのだろうか。

f:id:wonder-wall:20170730203010p:plain

続きを読む

Linux 現在の環境で利用可能なコマンド一覧をcompgenで表示

  • compgen
    • compgen -c(外部コマンド)
    • compgen -a(エイリアス)
    • compgen -b(組み込みコマンド)
    • compgen -k(キーワード)
    • compgen -A function(関数)
    • compgen -A function -abck(上記全部)
  • zshの場合

compgen


stackoverflow.com

現在の環境で利用可能なコマンド一覧を表示する方法は、Stack Overflowによるとbash組み込みコマンドのcompgenを使うとよいとのこと(TABを2回押して補完候補を全部出す方法はパイプが使えないし)。
man compgenによると補完で使われているコマンドらしい。

compgen [option] [word]


option に従って、word にマッチする補完候補のリストを生成します。 オプションには complete 組み込みコマンドと同じものが指定できますが、 -p と -r は指定できません。 マッチのリストは標準出力に出力されます。 -F や -C オプションを使用したときは、 プログラム補完機能によって設定された様々なシェル変数は、 利用可能であっても有用な値を持ちません。
マッチのリストは、同じフラグによる補完仕様で プログラム補完のコードが直接生成したかのように 生成されます。 word が指定されると、word にマッチする補完だけが表示されます。


戻り値は、 無効なオプションが指定された場合やマッチが生成されなかった場合以外は 真になります。

続きを読む

Pythonメモ : 「sh」パッケージでコマンド実行

  • sh
  • インストー
  • 基本的な使い方
  • 引数を渡す
  • パイプ
  • リダイレクト
  • 終了コードと例外
  • バックグラウンドプロセス
  • サブコマンド
  • その他

sh


Pythonでコマンドを実行する場合は以下のようにsubprocessを使う方法があるが、shパッケージというものがあったので試してみる(標準ライブラリではないので使う際は注意)。

import subprocess
subprocess.run(["ls", "-l"]) # runはPython 3.5から

github.com

>>> from sh import ls
>>> print(ls())
CHANGELOG.md  README.rst    logo-big.png	   setup.cfg  test.py
LICENSE.txt   __pycache__   requirements-dev.txt   setup.py
MANIFEST.in   logo-230.png  requirements-docs.txt  sh.py
続きを読む

Pythonメモ : Python 3の基本をマインドマップで学ぶ

Python3 in one pic


github.com

GitHubを眺めていたらPython 3の基本を一枚のマインドマップにまとめていたリポジトリを見つけた(これがわかりやすいかは人によるかもしれないが)。
拡大、縮小、折り畳みなどができるオンラインバージョンPNG形式にしたものがある。また、IPython Notebookバージョンもあるようだ。
f:id:wonder-wall:20170728193359p:plain

続きを読む