自分用メモとして都度更新
ディレクトリ作成
#ディレクトリが存在しなければ作る
mkdir -p ディレクトリ名
なんとなく汎用で使えそうなシェルスクリプト
tar
#解凍
tar -xzvf /tmp/ファイル名.tgz
#圧縮
tar zvcf /tmp/圧縮されるファイル名 圧縮するファイル名
ファイル検索系
find
ファイル名検索したい場合
$ find "検索対象ディレクトリ" |grep ファイル名
sample
$ find . |grep abc →カレントディレクトリをabcで検索
grep
@hirohiro77さんの記事がとても詳しい https://qiita.com/hirohiro77/items/771ffb64dddceabf69a3
一つのファイルを対象にする場合
$ grep -l '置換する文字列' 置換するファイル | xargs sed -i.bak -e 's/置換する文字列/置換したい文字列/g'
カレントディレクトリのファイル全てを対象にする場合
$ grep -l '置換する文字列' ./* | xargs sed -i.bak -e 's/置換する文字列/置換したい文字列/g'
ファイル名に正規表現を使う場合
$ grep -l '置換する文字列' ./* | xargs sed -i.bak -e 's/置換する文字列/置換したい文字列/g'
ファイルの中身の文字列を、ディレクトリの下層まで検索したい場合(nは行番号([n]umber))
$ grep -rn '検索したい文字列' *
権限変更
#ユーザ・グループをapacheに変更
#-Rでディレクトリ以下全てを変更する
sudo chown -R apache:apache ディレクトリ名
#パーミッション変更 SCPからアクセスも考慮し755,655
sudo find ディレクトリ名 -type d -exec chmod 775 {} \;
sudo find ディレクトリ名 -type f -exec chmod 675 {} \;
ホスト接続系
ssh
指定ユーザ名でホストに接続する場合
$ ssh ユーザ名@ホスト名
sample rootユーザで接続する
$ ssh root@XXX.XXX.XXX.XX
SQL接続
MySQL
ユーザ名指定でDBに接続する場合
$ mysql -u ユーザ名 -p
sample パスワード入力(-p)ありでrootユーザで接続する
$ mysql -u root -p
Enter password:パスワード入力
※sql構文は別途作成予定
PostgreSQL
ユーザ名指定でDBに接続する場合
$ psql -h ホスト名 -p ポート -U ユーザ名 -d DB名
Enter password:パスワード入力
CSV形式のデータを投入する
\copy テーブル名 from '/tmp/CSVファイル名.csv' with csv
なんとなく汎用で使えそうなShellScript
tarに固めるsh(やっつけ
mkdir -p 格納用ディレクトリ名
today=$(date "+%Y%m%d")
sudo cp -ar ファイル名 ./tgz_dir/. #格納用ディレクトリにコピー
sudo tar zcvf "格納用ディレクトリ/ファイル名${today}.tgz" ファイル名
解凍するsh(やっつけ
※ファイルがなかった時とか考慮していないので要メンテ
mkdir -p backup
today=$(date "+%Y%m%d")
#ディレクトリ_当日日付でバックアップ
echo "BackUp Older Version -> ./backup/"
sudo cp -pr バックアップファイル名 ./backup/バックアップファイル名_${today}
#解凍先に解凍する 引数はYYYYMMDD
echo "Delete Temporaly Apply File"
rm -rI 前回のtmpファイル削除_
echo "作業ディレクトリ移動"
cd 作業ディレクトリ/
echo "tar zvxf"
tar -xzvf /var/www/作業ディレクトリ/ファイル名_${today}.tgz
echo "rename"
mv /var/www/一時バックアップ /var/www/一時バックアップ_
echo "DocumentRootにセット"
mv /var/www/tgz_dir/解凍したファイル /var/www/.
#権限を●に変更
echo "Change Owner ●"
sudo chown -R ●:● /var/www/ファイル名
#パーミッション変更
echo "Change Mode 775 / 655"
sudo find /var/www/ファイル名 -type d -exec chmod 775 {} \;
sudo find /var/www/ファイル名 -type f -exec chmod 655 {} \;