Published on

逆引きLinux

Authors
  • avatar
    Name
    Kikusan
    Twitter

コマンド

ls -la # 隠しファイルを含む詳細なリスト
# -rw-r--r-- 1 ubuntu ubuntu    3771 Dec  4 18:34 .bashrc
# 一桁目は-がファイル、dがディレクトリ
# 以降read write execute で、三桁ずつ。
# 所有者/所有グループ/そのほかのユーザ の権限となっている

mkdir -p dir1/dir2 # 再帰的にディレクトリ作成

cp -r dir1/ dir2/ # -rでフォルダコピー
# mv rm も一緒

# grep 検索正規表現 ファイル名
grep word work/* # フォルダ以下文字検索
ls -la | grep -i .bashrc # and検索 -iは大文字小文字無視 -vでnot検索

chown nginx file # 所有者をnginxにする
chown -r nginx:www-data dir/ # ディレクトリ所有者nginx, グループwww-dataにする
chmod 700 -r dir/ # ディレクトリごとパーミッション変更
# 4: 書き込み 2: 読み込み 1: 実行
# 所有者/所有グループ/そのほかのユーザ

crontab -e # crontabをedit
# 分 時 日 月 曜日 実行コマンド
# */5 * * * * /home/pi/test.sh # 5分おき
# 0 4,13 * * 1-5 /home/pi/test.sh # 月曜から金曜の4時と13時

サービス化

sudo chmod 755 /home/pi/hello.sh # 実行ファイルに権限を与える
sudo vim /etc/systemd/system/hello.service # serviceファイルを作成する
sudo systemctl enable hello.service # 自動起動設定
sudo systemctl start hello.service # start
sudo systemctl status hello.service # 起動状態を確認

serviceファイルはこんな感じ

[Unit]
Description = service description

[Service]
User = pi
# EnvironmentFile = /etc/sysconfig/pi # 環境変数は読めないので設定する場合はこのファイルで KEY='VALUE' を羅列する
ExecStart = /home/pi/hello.sh
Restart = always
Type = simple

[Install]
WantedBy = multi-user.target