Closed9

Linuxコマンド

ChiHaRuChiHaRu

文字コード/改行コードの確認・変更

1. 文字コード/改行コードの確認

nkf --guess [ファイル名]

2. 改行コードの確認(1行ごと)

cat -e [ファイル名]
  • ^M: CR
  • $: LF
  • ^M$: CRLF

3. 文字コードの変更(上書き)

  • 以下は、UTF-8として上書きする場合
nkf -w --overwrite [ファイル名]

4. 文字コードの変更(上書き)

  • 以下は、LFとして上書きする場合
nkf -d --overwrite [ファイル名]

参考

ChiHaRuChiHaRu

リモートサーバへの転送、破損確認

破損確認

  • md5sumを使用する
ローカル → リモートサーバへコピーする場合
# md5sumのインストール確認
md5sum --version
# md5チェックサムの計算
find . -name "*.zip" | xargs md5sum  > md5sum.txt

# ローカル→リモートサーバへコピー
scp "*.zip" md5sum.txt user@remote.host:~/files/.
# リモートサーバに移動
ssh user@remote.host
cd ~/files/
# 破損していないか確認
md5sum -c md5sum.txt
リモート → ローカルサーバへコピーする場合
# リモートサーバにSSH接続
ssh user@remote.host
# md5sumのインストール確認
md5sum --version
# md5チェックサムの計算
find . -name "*.zip" | xargs md5sum  > md5sum.txt

# ローカルサーバへ戻る
exit
# リモート→ローカルサーバへコピー
scp user@remote.host:~/files/\{*.zip,md5sum.txt\} .
# 破損していないか確認
md5sum -c md5sum.txt

参考

MD5チェックサムでファイルが破損せず転送できたかを確認する | work.log

ChiHaRuChiHaRu

bashで〇〇する

(1) 環境変数を設定する

① export

② declare

③ ループでの変数設定

(2) &&, || を使う

(3) 手動実行時とクーロン実行時に意識すべきこと

手動実行時とクーロン実行時ではユーザーが異なるため、少なくとも、

  • 環境変数
  • パス
    の違いによる影響については意識しておく必要がある

①環境変数

  • 確認コマンド
printenv
  • 設定コマンド
export XXX=abcde
declare -rx XXX=abcde

→ どちらも環境変数XXXにabcdeを設定するコマンド
→→ 後者は一度シェル変数として設定した後にエクスポートする

②パス

  • 確認コマンド
echo $PATH
  • 設定コマンド
PATH=/usr/local/bin:$PATH

→ /usr/local/bin をPATHに追加している

(4) ファイルの中身を1行ずつ読み込む

while read line do ~ done

#!/bin/bash

while read line
do
  echo $line
done < ファイル名

https://www.server-memo.net/shellscript/read-file.html

ChiHaRuChiHaRu

sed

ファイル内の文字列を置換する

# hoge.txt内の文字列「hige」すべてを文字列「hoge」に置換する
sed -i s/hige/hoge/g hoge.txt
# 拡張子が.txtのファイルの文字列「hige」すべてを文字列「hoge」に置換する
find *.txt | xargs sed -i "s/hige/hoge/g"
# カレントディレクトリ配下のファイルの文字列「hige」すべてを文字列「hoge」に再帰的に置換する
find . -type f | xargs sed -i "s/hige/hoge/g"
このスクラップは2021/07/31にクローズされました