🐳
shellコマンド個人的備忘集
未経験から3年で使用したshellコマンドの中で個人的に使うコマンドをまとめておきます。
OJT中によく聞かれたコマンドも記載しておきます。
ssh-keygen
rsaのssh-key生成
ssh-keygen -t rsa
known_hostsから特定のhostを削除
# 特定のホストをremove
ssh-keygen -R github.com
ssh
github, bitbucketなどでsshで接続できることを確認する
# ssh-keygenでssh-keyを作成済. githubに公開鍵の設定済
ssh -T github.com
awsのec2インスタンスにsshで接続する
# xxx.pemの秘密鍵をimport
ssh -i ~/.ssh/xxx.pem ex2-user@xxx.yyy.zzz
ポートフォワードする
# remoteサーバーにsshで接続して、ローカルの8080のポートのアクセスをremoteサーバー自身の80のポートにフォワード
ssh -L 8080:127.0.0.1:80 remote
# remoteサーバーにsshで接続して、remoteサーバー経由で別サーバーのポートをフォワード
ssh -L 8080:other:80 remote
chown
ファイルの所有者を変更
chown www-data index.html
# r:recursiveで再帰的に変更
chown -R www-data:www-data /var/www/html/
chmod
ファイルの権限を変更
chmod 777 index.html
# 再帰的(recursive)に変更
chmod -R 777 xxx/
sudo
root権限で実行
sudo chown -R www-data:www-data /var/www/html
su
ユーザーの切替
# rootで実行. shellの環境変数を引き継ぎ
sudo su
# rootで実行. shellの環境変数初期化
# - は -l と同義. ログインシェルの起動をするため環境変数が初期化される
sudo su -
touch
新規ファイルを作る
touch index.html
#次でも代用可
echo > index.html # 上書き
echo >> index.html # 追記
find
ファイルを検索する
# htmlファイルを検索
find . -name '*.html'
grepと組み合わせたりします
find . | grep '*.html'
lsの場合もあります
ls -al | grep '*.html'
rm
ファイルを削除する
rm index.html
node_modulesなどをディレクトリごと削除したりします
# 再帰的(recursive)に強制(force)削除
rm -rf node_modules/
cp
ファイルのコピー
cp ./a.js ./b.js
# 再帰的(recursive)にコピー
cp -R ./a ./b
mv
ファイルの移動
mv ./a.js ./b.js
# 再帰的(recursive)にコピー
mv -R ./a ./b
nslookup
DNSでIPアドレスが解決できるか等を試す
nslookup www.google.com
tail
ログファイルの監視
# f:followでファイルの更新を監視
tail -f access.log
du
ファイルサイズの確認
du node_modules/
# sortも利用した場合. 数値(number)として降順(reverse)でソート
du node_modules/ | sort -nr
# さらに上位10件の取得
du node_modules/ | sort -nr | head -10
Discussion