ネットワークの設定管理をする
インタフェースおよびステータスを表示
# nmcli d
DEVICE TYPE STATE CONNECTION
eth0 ethernet 接続済み System eth0
lo loopback 管理無し --
個別インターフェースのパラメータ一覧表示
# nmcli d show eth0
固定 IPv6 アドレスを設定
# nmcli c mod "System eth0" ipv6.addresses 2001:db8::/32
# nmcli c mod "System eth0" ipv6.method manual
デフォルトゲートウェイを設定
# nmcli c mod "System eth0" ipv6.gateway 2001:db8::1
DNS サーバの設定
# nmcli c mod "System eth0" ipv6.dns 2606:4700:4700::1111,2606:4700:4700::1001
設定反映
# nmcli c up "System eth0"
秘密鍵と自己署名証明書を作成
秘密鍵と自己署名証明書を一括で作成
# openssl req -x509 -sha512 -nodes -days 365 -newkey rsa:2048 -keyout private.key -out server.crt
‥‥‥‥‥
‥‥‥‥‥
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Tokyo
Locality Name (eg, city) [Default City]:⏎
Organization Name (eg, company) [Default Company Ltd]:⏎
Organizational Unit Name (eg, section) []:⏎
Common Name (eg, your name or your server's hostname) []:www.example.com
Email Address []:admin@example.com
秘密鍵の内容を確認
# openssl rsa -text -noout -in private.key
証明書の内容を確認
# openssl x509 -text -noout -in server.crt
パスワードを設定あるいは変更する
一般ユーザ(linux)のパスワードを設定あるいは変更する
# passwd linux
複数ファイルを「横方向」に結合する
# cat file1.txt
aaa
bbb
ccc
# cat file2.txt
ddd
eee
fff
# paste -d ' > ' file1.txt file2.txt > file3.txt
# cat file3.txt
aaa > ddd
bbb > eee
ccc > fff
-d は区切り文字(delimiter)を指定するオプション
システムで実行しているプロセスを表示する
# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
a:自分以外のユーザーのプロセスも表示する
u:ユーザ名,CPU占有率,メモリ占有率,開始時刻などを表示
x:制御端末のないプロセス(デーモンなど)の情報も表示する
w:表示内容が長い場合に、w ひとつあたり1行分表示行を増やす。
表示されるそれぞれの要素の意味は以下の通りです。
USER:所有するユーザ名
PID:プロセスID
%CPU:CPU時間と実際に処理した時間の比率
%MEM:実メモリの使用量
VSZ:仮想メモリの全サイズ
RSS:使用中の物理メモリ量
TTY:制御端末の種類及び番号
STAT:プロセス状態
R 実行中 (running)
S 休眠中 (sleeping)
D 割込み不可能な休眠中
T 停止中かトレース中
Z ゾンビプロレス
W スワップ・アウトしたプロセス
N ナイス値が正であることを表す
START:開始時刻
TIME:実行時間
COMMAND:プロセスのコマンド名
現在自分がアクセスしている場所(ディレクトリ)を表示する
# pwd
ファイル,ディレクトリの削除
# rm ファイル名
# rm -r ディレクトリ名
削除確認なしにする
# rm -rf ディレクトリ名
rpm パッケージのファイル名を package-3.5-1.i386.rpm とすると、
(package=ファイル名,3=バージョン,5-1=リリース番号,i386=プラットホーム)
詳細情報(v),進行状況(h)を表示してインストール(i)する。
# rpm -ivh package-3.5-1.i386.rpm
パッケージがインストールされているかの問い合わせ。
# rpm -q package
↑インストールされていれば、バージョンも表示される。
古いバージョンがインストールされている場合はアップグレードし、古いバージョンがインストールされていない場合はインストールする。
# rpm -Uvh package-3.5-1.i386.rpm
古いバージョンがインストールされている場合のみアップグレードする場合は
# rpm -Fvh package-3.5-1.i386.rpm
2つのファイルの差分を得る
test1 と test2 ファイルの差分を表示
# sdiff -sB test1 test2
-s:共通な行を表示しない
-B:空行を挿入・削除するだけの違いは無視する
文字列の置換をする
test.html というファイルの euc-jp という部分を UTF-8 に変える
# sed -i 's/euc-jp/UTF-8/g' test.html
-i はファイルを編集するオプション。
-e を指定した場合は、ファイルの変更はせずに標準出力に出力するだけになる。
区切り文字は「/」以外でも可。URL の「/」のエスケープをしなくてよくなる。「!」にした例。
# sed -i 's!http://www.wave440.com!https://www.wave440.com!g' test.html
変数の場合は「'」で囲む
# sed -i 's/number/'${i}'/g' test.txt
連続するスペースを半角スペース一つにする。
# sed -e 's/\s\+/ /g' test.txt
行頭の連続するスペースを削除する。
# sed -e 's/^\s\+//g' test.txt
同じ位置にある文字に置換する。(例:全角数字→半角数字)
# echo "20210713" | sed 'y/0123456789/0123456789/'
最短マッチ(sed は最長マッチのため、否定の文字クラスを利用する。)
# sed -i 's/"visits"[^,]*,/"visits":0,/g' speed-dial-2.json
「"visits":123,」などが「"visits":0,」に置換される。「[^,]」は、「,」ではない文字。
テキストファイルの行を削除する
45行目を削除する
# sed -i '45d' file.txt
5行目から20行目までを削除する
# sed -i '5,20d' file.txt
13行目以降を削除する
# sed -i '13,$d' file.txt
「pattern」を含む行を削除する
# sed -i '/pattern/d' file.txt
空行を削除する
# sed -i '/^$/d' file.txt
テキストファイルの指定した行のみを出力する
5行目のみを出力する
# sed -n 5p file.txt
テキストファイルの行頭,行末に文字列を追加する
行頭に「"」を追加する
# sed -i 's/^/"/g' file.txt
行末に「"」を追加する
# sed -i 's/$/"/g' file.txt
文字列「AAAA」を含む行の行頭に「;」を追加する
# sed -i '/AAAA/s/^/;/g' file.txt