1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

学習メモ

Last updated at Posted at 2024-09-18

メモ

CPU

$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0    268 353500  81660 2868132    0    0    40    79  203  102  0  5 94  0  0

CPUの使用時間は、100-id(アイドル時間)%

メモリ
(参考:https://milestone-of-se.nesuke.com/sv-basic/linux-basic/free-command/)

$ free
               total        used        free      shared  buff/cache   available
Mem:         4010516      694612     1000900       24992     2315004     3003628
Swap:        2191356         268     2191088

$ free -wlt
               total        used        free      shared     buffers       cache   available
Mem:         4010516      693736      994204       24992       63676     2258900     3004496
Low:         4010516     3016312      994204
High:              0           0           0
Swap:        2191356         268     2191088
Total:       6201872      694004     3185292

空き容量は、free + buff + cache として計算

SWAP領域
・ストレージ上に作られる仮想メモリ
・メモリが不足した時に予約済のSWAP領域をメモリとして使用
・メモリのDRAMに比べると速度は遅い

カラム 説明
total マシンに搭載したメモリ総量
used 割り当て済みのメモリ消費量
free 利用されていないメモリ容量
shared 共有メモリの容量
buff カーネルバッファ(メモリ上のデータを目倍す送受信する領域)
cache ページキャッシュ、スラブキャッシュ(高速化のためのキャッシュ)
available 実質すぐに割り当てが可能なメモリ(free + buff/cacheの解放可能領域)

タイムスタンプ(mtime)のフォーマットを指定

$ ls -l --time-style="+%Y/%m/%d %H:%M:%S" /home/user/test
-rw-r--r--. 1 user user 9708 2024/09/01 12:34:56 /home/user/test

詳細なタイムスタンプ

stat /home/user/test

ファイルを空にする

$ cp /dev/null /home/user/test

$ : > /home/user/test

数列

$ seq 3
1
2
3

$ seq 2 4
2
3
4

$ seq 1 2 5
1
3
5

$ seq -s" " 3    (区切り文字指定、デフォルトは改行)
1 2 3

$ seq -f "%02g" 5    (桁指定)
01
02
03
04
05


何日差か

$ TODAY_UNIX_TIME=`date -d 2024/09/02 +%s`
$ YESTERDAY_UNIX_TIME=`date -d 2024/09/01 +%s`
$ BETWEEN="$(((TODAY_UNIX_TIME - YESTERDAY_UNIX_TIME) / 86400))"
$ echo $BETWEEN
1

if文

if [ 条件式1 ] || [ 条件式2 ]; then
        echo "1,2"
elif [ 条件式3 ] && [ 条件式4]; then
        echo "3,4"
else
        echo "5"
fi
======================================
$ if [] 


条件式

数値

条件式 説明
A -eq B = AとBが等しいなら
A -ne B != AとBが等しくないなら
A -gt B > AがBより大きいなら
A -ge B >= AがB以上なら
A -lt B < AがBより小さいなら
A -le B <= AがB以下なら

文字列

条件式 説明
A = B AとBが等しいなら
A != B AとBが等しくないなら

長さ

条件式 説明
-z A Aの長さが0なら
-n A Aの長さが0より大きいなら

属性

条件式 説明
-e A Aが存在するなら
-s A Aのファイルサイズが0より大きいなら
-f A Aがファイルなら
-d A Aがディレクトリなら
-r A Aが読み取り可能なら
-w A Aが書き込み可能なら
-x A Aが実行可能なら

引数でfor文を回す

for I; do
    echo "$I"
done

=================
$ for i in {1..3};do echo $i;done
1
2
3

$ for file in `ls`;do echo $file;done
aaa.txt
bbb.csv
ccc.sh

縦を横に

$ cat /home/user/test
aaa
bbb

$ cat /home/user/test | xargs
aaa bbb

awk

デリミタ指定

$echo "2024/09/01" | awk -F "/" '{print $2}'
09

最後のフィールド

$ echo "1 2 3 4 5 6" | awk '{print $NF}'
6

行の操作

$ seq 5 |awk 'NR <= 3'
1
2
3

$ seq 7 | awk 'NR % 2 == 1 && NR <= 5'
1
3
5

三項演算子

$ echo "1 2" | awk '{print $1<$2 ? "<" : ">"}'
<

切り出し

$ echo "2024/09/01" | awk '{print substr($1,4)}'
4/09/01

$ echo "2024/09/01" | awk '{print substr($1,4,4)}'
4/09

パターン検索

$ echo "2024/09/01" | awk 'match($0, /\/09/) {print RSTART, RLENGTH}'
5 3

フィールド変更

$ echo "1 2 3 4 5 6 7 8" | awk '{$3 = "a"; print}'
1 2 a 4 5 6 7 8

置換

$ echo "2024/09/01" | awk '{sub("0","a");print $0}'
2a24/09/01

$ echo "2024/09/01" | awk '{gsub("0","a");print $0}'
2a24/a9/a1

sed

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?