draemonash2のメモ書き
#$%>? :任意の一文字* :0個以上の任意の文字列' :全て文字列としてみなす" :文字列とみなすが、変数の場合は変数の中身を展開種別
| コマンド(*1) | 画面(*2) | ファイル(*2) | 出力形式 |
|---|---|---|---|
command > out.log |
E | O | 新規 |
command 2> out.log |
O | E | 新規 |
command > out.log 2>&1 |
- | O/E | 新規 |
command &> out.log |
- | O/E | 新規 |
command &>> out.log |
- | O/E | 追記 |
command >> out.log 2>&1 |
- | O/E | 追記 |
command 1> stdout.log 2> stderr.log |
- | O/E(*3) | 新規 |
command \| tee -a out.log |
O/? | O | 新規 |
command \|& tee -a out.log |
O/E | O/E | 新規 |
command &> /dev/null |
- | - | -(*4) |

apt update を実行する
sudo apt-get updatesudo apt install <command>sudo vim /etc/passwdを実行
alias endo='export HOME=/home/dir'alias endo='export HOME=/home/dir'
alias he='export HOME=/home/draemon_ash3/;cd ~;source ./.bashrc;pwd;'. : どのシェルでも使える(POSIXで定義されている)source : bash でしか使わない./test.sh :新たな子プロセスを生成して実行するbash test.sh :新たな子プロセスを生成して実行するsource test.sh :現在のシェルで実行するpwd :カレント作業ディレクトリ$PWD :カレント作業ディレクトリcd $(dirname ${0}) && pwd :スクリプト格納ディレクトリgit diff/status
grep
grep -Rpcpu(%cpu) …プロセスのcpu 使用率pmem(%mem) …メモリ使用率args(cmd,command) …文字列の引き数がついたコマンドpid …プロセスIDppid …親プロセスのIDuid(euid) …実行ユーザのIDgid(egid) …実行グループのIDuser(euser,uname) …実行ユーザgroup(egroup) …実行グループrss(rssize,rsz) … 物理メモリ使用量lstart …プロセスの起動時刻言語_国.文字コード\e[太さ;色番号m、元に戻すには \e[m を、\[ ... \] で挟んで指定します。特殊文字は以下の通り。
| 特殊文字 | 説明 |
|---|---|
| \a | ビープ音を鳴らす |
| \A | 24時間表記の時分(例:23:59) |
| \e | エスケープ文字(ESC) |
| \d | 曜日 月 日(例:Sun May 24) |
| \D{fmt} | %Y/%m/%d %H:%M:%S などのフォーマットで日時を指定 |
| \h | ホスト名(例:msv02) |
| \H | ホスト名(例:msv02.example.com) |
| \j | バックグランドジョブの個数(例:2) |
| \l | ターミナル(例:/dev/pts/2)の最後のファイル名(例:2) |
| \n | 改行 |
| \r | キャリッジリターン |
| \s | シェルの名前(例:bash) |
| \t | 24時間表記の時刻(例:23:59:59) |
| \T | 12時間表記の時刻(例:11:59:59) |
| \@ | AM/PM付き12時間表記の時分(例:11:59 PM) |
| \u | ユーザー名(例:tanaka) |
| \v | bashのバージョン(例:4.2) |
| \V | bashのバージョン(例:4.2.46) |
| \w | カレントディレクトリ(例:~/bin) |
| \W | カレントディレクトリ(例:bin) |
| # | 現在のセッションにおけるヒストリ番号(例:21) |
| \! | ヒストリ番号(例:423) |
| \$ | ルート権限の場合は #、一般権限の場合は $ |
| \nnn | 8進数での文字コード |
| \\ | バックスラッシュそのもの |
| \[ | 非表示文字の開始 |
| \] | 非表示文字の終了 |
比較表
| シチュエーション | ハードリンク | シンボリックリンク |
|---|---|---|
| 作り方 | ln <file> <linkfile> |
ln -s <file> <linkfile> |
| リンク作成可否 to ファイル | 可 | 可 |
| リンク作成可否 to ディレクトリ | 不可 | 可 |
| リンク作成可否 to 別パーティション | 不可 | 可 |
| リンク作成可否 to 別ファイルシステム | 不可 | 可 |
| アクセス権 | それぞれ別々のアクセス権 | リンク元のアクセス権 |
| 実ファイル削除時のリンクアクセス可否 | 可 | 不可 |
| リンクファイル削除時の実ファイル残否 | 残る | 残る |
| 実ファイル削除時のリンクファイル残否 | 残る | 残る |
| ls時に表示されるファイル種別 | - | l |
リンク上書き時の挙動@cp( cp <file> <linkfile> ) |
実ファイルが更新される | 実ファイルが更新される |
リンク上書き時の挙動@mv( mv <file> <linkfile> ) |
リンクファイルが上書きされる(リンクファイルがなくなる) | リンクファイルが上書きされる(リンクファイルがなくなる) |
リンクコピー時の挙動@cp( cp <linkfile> <file> ) |
実ファイルが複製される | 実ファイルが複製される |
リンク移動/リネーム時の挙動@mv( mv <linkfile> <file> ) |
リンクファイルが移動/リネームされる | リンクファイルが移動/リネームされる |
| リンクを辿るか(ディレクトリ@git status) | - | 辿らない |
| リンクを辿るか(ディレクトリ比較@git diff) | - | 辿らない |
| リンクを辿るか(ディレクトリ比較@diff -r) | - | 辿る |
| リンクを辿るか(ディレクトリ比較@diff -r –no-dereference) | - | 辿らない |
| リンクを辿るか(ファイル@git status) | 辿る | 辿らない |
| リンクを辿るか(ファイル比較@git diff) | 辿る | 辿らない |
| リンクを辿るか(ファイル比較@diff) | 辿る | 辿る |
| リンクを辿るか(ファイル比較@diff –no-dereference) | 辿る | 辿らない |
その他
Alt+Tabが使える。Alt+Tabが使えなくなる。Ctrl+Tab)に置き換える| Ctrl | Shift | Alt | Key | 機能 |
|---|---|---|---|---|
| Tab | コマンド/ファイル名補完 | |||
| Ctrl | p/n | コマンド履歴呼出し(1つ前/1つ先) | ||
| Ctrl | r | コマンド履歴検索 | ||
| Ctrl | l | 画面クリア | ||
| Ctrl | Shift | f | 検索 | |
| Ctrl | c | 実行中プログラム強制終了 | ||
| Ctrl | d | 終了 | ||
| Ctrl | f/b | カーソル移動(1個右/左) | ||
| Alt | f/b | カーソル移動(単語単位右/左) | ||
| Ctrl | a/e | カーソル移動(行頭/行末) | ||
| Ctrl | t | 文字入替(現在⇔1つ前) | ||
| Ctrl | h/d | 文字削除(カーソル左/カーソル位置) | ||
| Ctrl/ | /Alt | w | 単語削除(カーソル左/右) | |
| Ctrl | u/k | 文字削除(カーソル左側/右側全て) | ||
| Ctrl | y | 貼付け(上記Ctrl + w,Ctrl + kなどで削除した文字列をペーストできる) | ||
| Ctrl | m/j/o | ENTERと同じ | ||
| Shift | Alt | +/- | タブ内分割追加(垂直/水平) | |
| Ctrl | Shift | w | タブ内分割削除 | |
| Alt | 方向キー | タブ内分割移動 | ||
| Shift | Alt | 方向キー | タブ内分割サイズ変更 | |
| Alt | Enter | 全画面モード | ||
| F11 | 全画面モード | |||
| Ctrl | s/q | 画面更新 停止/再開 | ||
| Ctrl | Shift | ↑/↓ | 画面スクロール 上/下(WSL2のみ?) | |
| Ctrl | Shift | t | 新規タブ作成 | |
| Ctrl | Shift | d | タブ複製 | |
| Ctrl | /Shift | Tab | タブ切替え 順方向/逆方向 | |
| Ctrl | Shift | p | コマンドパレット表示 | |
| Ctrl | Shift | Space | ドロップダウンメニュー表示 | |
| Ctrl | +/- | フォントサイズ変更(拡大/縮小) |
`:コマンド実行
source xxx.sh:現在シェルで実行
それぞれ正しく受け渡しできる。
できる。
#!/bin/bash
exec 5> debug_output.txt
BASH_XTRACEFD="5"
PS4='$LINENO: '
set -x