🐳

shellコマンド個人的備忘集

2024/12/31に公開

未経験から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