Linux コマンド#
ctrl + C
実行を中断するpwd
現在の位置を出力するcmd1;cmd2
最初にコマンド 1 を実行し、その後にコマンド 2 を実行するcmd1&&cmd2
コマンド 1 が成功した場合にのみコマンド 2 を実行するcmd1||cmd2
コマンド 1 が失敗した場合にのみコマンド 2 を実行するstrace
プログラムのシステムコールをトレースするtouch
空のファイルを作成するcat
cat ファイル名
単一のファイルを表示するcat [内容をコピーするファイル名] > [宛先ファイル名]
1 つのファイルの内容を別のファイルにコピーするcat ファイル1 >> ファイル2
Cat コマンドは、1 つのファイルの内容を別のファイルの末尾に追加することができる。
- パイプ:
|
で 2 つのコマンドを接続し、前のコマンドの出力を後続のコマンドの入力として使用するstrace -f gcc a.c 2>&1 | vim -
これにより、stdout と stderr の両方が vim にパイプされます。-
引数は vim に stdin から読み込むように指示します。strace pmap 152 |& vim -
|&
: これは bash と zsh で2>&1 |
の省略形です。これにより、1 つのコマンドの標準出力と標準エラーが別のコマンドの入力として渡されます。
sort -nk 6
6 番目の列で昇順に並べ替える- 複数回実行するか、ループして実行する
#for i in {1..5}; do // while true; do > command >done
- crontab の使用
crontab -e
- 注意:crontab の実行環境には docker コマンドは含まれていません。完全なパスを指定する必要があります。
lsof -i:ポート番号
ポートの使用状況を確認するkill -9 PID
対応するプロセスを終了するgrep
(global regular expression) ファイル内の条件に一致する文字列または正規表現を検索するために使用するwhich
インストールパスを検索する。例:which docker
ls -l
詳細情報~/.bashrc
は、Bash シェルが起動するたびに自動的に実行されるスクリプトファイルであり、環境変数、エイリアス、およびその他の Bash シェルの設定を設定するために使用できます。source /opt/rh/devtoolset-9/enable
gcc のバージョンを更新する- export PS1='[][\W]$ []' PS1 変数を変更して、よりシンプルにします。PS1 のデフォルト設定は
\[\][\u@\h \W]\$ \[\]
です。
tar
tar cvf file.tar *.c
現在のディレクトリのすべての.c ファイルのアーカイブである file.tar を作成します。tar xvf file.tar
アーカイブからファイルを抽出します。z
は tar コマンドに gzip を使用して tar ファイルを作成することを示します。つまり、tar.gz
です。
- TAB キーを 2 回押すことで利用可能なすべてのコマンドオプションを表示できます。
アセンブリに関連する#
objdump -d ファイル名
実行可能なセクションのアセンブリ内容を表示するobjdump -s ファイル名
ファイルのすべてのセクションの完全な内容を表示する
gcc#
gcc - E a.c
a.c をマクロ展開する- gcc のバージョンを gcc9 にアップグレードする CentOS7 升级 gcc 版本到 gcc9
source /opt/rh/devtoolset-9/enable
-static
静的リンク、関連するシステムコールを省略する
vim#
- コマンドモード
:!cmd
Vim 内からシェルコマンドを実行する!gcc %
コンパイル!xxd
現在のファイルを 16 進数表記に変換し、ターミナルに表示する%!xxd
現在のファイルの内容をパイプを介して外部コマンド xxd に渡し、その出力を現在のファイルの内容で置き換える
:set nu
行番号を表示する:set wrap
:%!grep execve
:%! grep -v ENOENT
:%s/term/another_term/g
置換する
- ビジュアルモードに入るには、
v
を押しますy
選択した内容をコピーするd
削除する
u
元に戻す
gdb#
- コンパイル時に
-g
を付ける必要があります bt
: バックトレース