Linuxショートストーリーズ
By Patineboot
Linuxショートストーリー前書き
Linuxコマンドをたくさん紹介するね!
楽しんでいってね😊!

Fish and bean sprouts
便利なLinuxコマンド
# テキストファイルを編集する
sudo nano /etc/fstab
# カーネルログを表示する
sudo dmesg
rsync
コマンド
# ディレクトリを再起的に複製する
# オリジナルディレクトリを、バックアップ先のディレクトリの配下に作成しバックアップする。
rsync -avh --delete /storage.pool ./backup_directory/
# ディレクトリを比較する
# オリジナルとバックアップを検証する。
rsync -n -carv --delete /storage.pool/ ./backup_directory/storage.pool/
systemd journal
# `-b`オプションでブート以後。数字を後ろにつけると、数字の回数だけ、過去のブートにする。
journalctl -b
# `-e`オプションで後ろから。
journalctl -e
# `-f`オプションは、後ろのログを表示して、リアルタイムで後ろのログを更新し続ける。
journalctl -f
# `-p`オプションでフィルタ。エラーからアラートレベルを表示する。
journalctl -p err..alert
Linuxには、/var/log/ ディレクトリに、たくさんログファイルがある。
iCloud PhotoをNASに移動する
-
ディレクトリの名前を一括変換する
写真アプリが書き出したディレクトリの名前を、日付だけの名前に、一括で変換する。
e.g., 秋田市, 2021年10月19日 から 2021年10月19日 に名前を一括で変換する。
コマンドを分解するよ。
- ディレクトリに含まれる空白を取り除き、日付の名前にしているよ。
echo
で実行するコマンドを表示するよ。
find . -type d -print0 | xargs -0 -I {} bash -c 'f="{}"; echo mv "$f" "$(sed "s/\(.*\) //g" <<<"$f")"'
表示するコマンドを確認して、
echo
、をコマンドから取り除いて実行してね。 -
iCloudと書き出した写真の数を合わせるよ。
.DS_Storeを削除して、ファイルの数を数える find . -type f -name .DS_Store -print0 | xargs -0 rm find . -type f | wc -l
iCloudの写真の数は、写真アプリで写真を選択して数えてね。
-
NASに写真を移動する
ディレクトリをファイラーでNASにコピーする。
コピーしたディレクトリと元ディレクトリを比較してコピーの成功を確かめる。
rsync -n -carv --delete <ローカルの写真ディレクトリ> <NASの写真ディレクトリ>
tmuxでログインセッションを保持する
tmuxをマウスホイール可能に設定する。
echo "set -g mouse on" >> ~/.tmux.conf
tmuxで、よく使うコマンド
# tmuxセッションを開始する。
tmux
# tmuxセッションを再開する。
tmux a
# tmuxセッションを強制終了する。
tmux kill-session
Passwordファイルを作成する
cat - | tee .passphrase
説明します!
コマンドラインを実行すると、cat
は標準入力で入力を待つ。
標準入力にパスワードを入力して、キーボードのCTRL + Cを押して終了!
パスワードという機微情報をコマンド履歴(history
コマンド)に残さない。
macOSで、日付時刻をISO 8601拡張形式で表示する
macOSで、現在の日付時刻をISO 8601拡張形式で表示する。
echo `date '+%Y-%m-%dT%H:%M:%S'`+09:00
タイムゾーンは固定の値で指定する。
- macOSの
date
コマンドは、タイムゾーンを'0900’と表示する。 - ISO 8601拡張形式は、時と分の間に’:‘を挿入する。
gitコミットログのメールアドレスを変更する
gitコミットログの全てのAuthorとCommitterのメールアドレスを変更する
git filter-branch -f --env-filter 'export GIT_AUTHOR_EMAIL="<mail address>" GIT_COMMITTER_EMAIL="<mail address>"'
git push --force-with-lease
<mail address>
はメールアドレスを記入してね。
これからは、git-filter-repo
を使うよ!
ユーザーアカウントの名前を変更する
usermod
を使って名前を変更し、Home ディレクトリも移動する。
sudo usermod -l <new user name>> -d /home/<new user name>> -m <old user name>
sudo usermod -c <new user name>> <new user name>>
※ ログインユーザーは自分自身のユーザーアカウントの名前を変更できないので、一時的なユーザーを作成してね。
グループの名前を変更。
sudo groupmod -n <new group name>> <old group name>
Ubuntuでは、group name は user name と同じだよ。
Ubuntu 21.04 Severで確認
外部ストレージに、ディレクトリをバックアップする
mount
コマンドで、外部ストレージをマウントし、rsync
コマンドでファイルをバックアップし、rsync
コマンドでバックアップの成功を確認
# 所有ユーザーを指定して、マウントコマンド
# mount -o <mount options> <device file> <mount point>
sudo mount -o,uid=1000,gid=1000 /dev/sdc1 ./backup-mount-point/
rsync
コマンドは、ページの上の方を見てね。
Using External SSD with an Enclosure
Use a mass storage driver if you have the issue with many write operations. An uas driver in Linux is buggy.
Run lsusb
and get an ID from SSD Adaptor.
$ lsusb -tv
Bus 002 Device 002: ID 2109:0715 VIA Labs, Inc. VL817 SATA Adaptor
We found Adaptor’s ID is 2109:0715.
Create a file to use a mass storage driver with Adaptor’s ID.
Update initramfs and reboot Linux machine.
sudo sh -c 'echo "options usb-storage quirks=2109:0715:u" > /etc/modprobe.d/usb-quirks.conf'
sudo update-initramfs -u
sudo reboot
LVMコマンドでエラー
SDカードリーダーをUSBに接続時して、lvdisplay
を実行する。
$ sudo lvdisplay
/dev/sdd: open failed: No medium found
/dev/sdd: open failed: No medium found
俺は気にしないことにしたよ!
エラーはLVMがスキャンするデバイスの範囲を指定することで解決するよ。
参考:とりあたまさんのおぼえがき: CentOS on CentOS
Raspberry Pi 4B
journalログで警告
Raspberry Pi 4Bでjournalctl -e
でjournalログを見る。
lightdm[780]: Could not enumerate user data directory /var/lib/lightdm/data Error opening directory '/var/lib/lightdm/data': No such file or directory
accountsservice
をインストールすると解決する。
sudo apt install accountsservice