Unix/Linux系のコマンドのメモ帳的に綴っていくスペース
- tar展開後、特定階層のディレクトリをスキップ(OSによっては
--strip-components
かも)
$ tar xvzf --strip=<no>
$ tail -f <ログ名> | grep --line-buffered <フィルタリング条件> | tee -a <フィルタリング結果ファイル名>
Root権限でのみ使用可能
- ページキャッシュのクリア
# sync; echo 1 > /proc/sys/vm/drop_caches
- dentryとindoesのクリア
# sync; echo 2 > /proc/sys/vm/drop_caches
- ページキャッシュとdentry, indoesのクリア
# sync; echo 3 > /proc/sys/vm/drop_caches
list open files
の略であり、オープン中のファイルやそのファイルを開いているプロセスのリストを出力するコマンド
- ポート番号を指定して、ネットワークコネクションを調べる(そのポートが使用しているプロセスの確認)
$ lsof -i:<port>
- 実行ユーザを指定して出力する
$ lsof -u <user>
- 実行されているコマンドを指定して出力する
$ lsof -c <command>
- 特定のファイルを開いているプロセスを出力する(
-D
オプションで再帰的に抽出)
$ lsof <file path>
$ ps aux | grep [プロセス名] | grep -v grep | awk '{ print "kill -9", $2 }' | sh
- あるブランチにある単語をパス指定で検索
-E
でegrep(正規表現)
$ git grep -E [pattern] [branch] [path]
- diffでfile typeでフィルタリング
$ git diff <a> <b> -- '*.type'
- Authorごとにグルーピングされたコミットログのサマライズ
$ git shortlog
- ブランチ削除&リモートブランチ削除
$ git branch -D <branch>
$ git push --delete origin <branch>
- マージ済みのブランチを削除
$ git branch --merged|egrep -v '\*|develop|master'|xargs git branch -d
- commit id単位でdiffを見たいとき
$ git log --oneline --graph master...feature
- tarアーカイブをダウンロードし、展開
$ curl -L https://github.com/<username>/<repositoryname>/tarball/<branch> | tar xz --strip=1
https://blog.abelotech.com/posts/how-download-github-tarball-using-curl-wget/
- localでansibleで使用するpackage managerを確認する
$ ansible localhost -m setup | grep ansible_pkg_mgr
- 停止しているコンテナを削除
$ docker container rm $(docker container ls -f status=exited -q)
v1.2.5以降だと以下でも可能
$ docker container prune
- 使用していないイメージを削除
$ docker rmi $(docker images -f "dangling=true" -q)
or
$ docker image prune
https://linuxize.com/post/how-to-remove-docker-images-containers-volumes-and-networks/
- 第二回層まで表示する
-L 2
- 指定したファイル、ディレクトリを除外する
-I
- .拡張子を含めたすべてのファイルを表示する
-a
$ tree . -L 2 -a -I "\.DS_Store|\.git|node_modules|*.swp"
タイトル的にコマンド返したら友人帳から消えてくのかwww