sedとxargsでまとめて指定する方法
例えば、以下の変更から「journal」がつくファイルのみのdiffがほしい場合
$ git status
ブランチ v250-stable
このブランチは 'origin/v250-stable' に比べて397コミット遅れています。fast-forwardすることができます。
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: src/core/systemd.pc.in
modified: src/journal-remote/journal-remote-write.c
modified: src/journal/journald-server.c
modified: src/libsystemd/sd-journal/journal-file.c
modified: src/libsystemd/sd-path/sd-path.c
modified: src/login/logind.conf.in
modified: src/resolve/test-resolved-stream.c
modified: src/systemctl/systemd-sysv-install.SKELETON
modified: tmpfiles.d/tmp.conf
modified: units/meson.build
modified: units/proc-sys-fs-binfmt_misc.automount
modified: units/systemd-binfmt.service.in
modified: units/systemd-udevd.service.in
追跡されていないファイル:
(use "git add <file>..." to include in what will be committed)
.pc/
patches/
no changes added to commit (use "git add" and/or "git commit -a")
以下の一番最後のコマンドでパッチが作れる
# 該当ファイルが3つある
$ git status | grep journal
modified: src/journal-remote/journal-remote-write.c
modified: src/journal/journald-server.c
modified: src/libsystemd/sd-journal/journal-file.c
# modified:をトリミング
$ git status | grep journal | sed "s/modified://"
src/journal-remote/journal-remote-write.c
src/journal/journald-server.c
src/libsystemd/sd-journal/journal-file.c
# 3ファイル分を1行で表示
$ git status | grep journal | sed "s/modified://" | xargs
src/journal-remote/journal-remote-write.c src/journal/journald-server.c src/libsystemd/sd-journal/journal-file.c
# パッチを作る
$ git diff $(git status | grep journal | sed "s/modified://" | xargs) > modified.patch
patchファイルの適応方法
patch -p(数字) < パッチファイル
- -p0:パッチファイル内のパスをそのまま使用
- -p1:パッチファイル内のパスの先頭1つを無視する
- -p2:パスの先頭2つを無視する
CPU
使用してるCPU数が知りたい
$ lscpu
...(省略)
CPU: 20
オンラインになっている CPU のリスト: 0-19
...(省略)
以下でも可能
$ cat /proc/cpuinfo
使用するCPU数を変更したい
$ sudo echo 0 > /sys/devices/system/cpu/cpuX/online
cpuXのXは数字で、onlineに0を書き込むと無効、1を書き込むと有効
各プロセスのスケジューリングポリシーが知りたい
$ chrt -p <PID>
installコマンド
ファイルコピー
- ディレクトリが存在しない場合は作成(-D)
- 複数ファイルをコピー(-t)。ワイルドカード使える
- 権限変更(-m)
$ install -D -t install_dir -m0644 *.txt