Linux
AWSの情報含む
Debian系、RHEL系の差異は知識不足で仕分けてません
table:コマンド集
シンボリックリンク作成 ln -s "from" "to"
シンボリックリンク削除 unlink "to"
yumインストール済み一覧 yum list installed
yumを使ったアプリ追加 yum install "app name"
yumを使ったアプリ削除 yum erase "app name"
tarの解凍 tar zxvf filename.tgz
環境変数の表示 printenv
環境設定ファイルの再読み込み source .bashrc
ファイルの持ち主を表示 chown -R "user":"group" "file"
フォルダの""容量""を確認 du -sch ./*
再起動 shutdown -h now または reboot
テキストファイル閲覧 less
テキストファイル監視 tail
コマンドの所在(パス)を表示 which "command"
table:テキストファイル閲覧系
全量表示 cat
上から数行 head -n5
下から数行 tail -n5
ファイルを開く less
手軽にHTTPリクエスト
curl http://www.example.com/
wget http://www.example.com/
curlでHTTPヘッダ付きでリクエスト
curl -H 'Accept:application/sample; vrersion=1' http://localhost:3000/api/users/new
コマンドラインの改行
長いコマンドを入れる時は、適宜\を入れて改行すると良い
CentOS7にとりあえず入れたいものたち
開発ツールとか
yum -y groupinstall "Development Tools"
yum -y install gcc make glibc gcc-c++ python-devel
ghostscript, ImageMagick
yum -y install ghostscript ghostscript-devel ghostscript-fonts ImageMagick ImageMagick-devel ImageMagick-c++ ImageMagick-c++-devel
mecab, cabocha, CRF
こちらを参考に。
mecabパス追加(rails実行ユーザで)
echo 'export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"' >> ~/.bashrc
source ~/.bashrc
LibreOffice
こちらを参考に。
RPMはこちらからダウンロード。
.bash_profileと.bashrcの使い分け
.bash_profileと.bashrcなんて使い分けなくてよかったんや! - Qiita
設定はすべて.bashrcに書く
GentooLinuxの開発者の回顧録
ディストリビューションの作成: 第1回
ディストリビューションの作成: 第2回
ディストリビューションの作成、第3回
.shファイル関連
ヒアドキュメントを使って、shとかでファイルの内容を含めて作る
code:sh
hoge <<DOC
hogehoge
DOC
と書いて、改行含めたテキストを入力する
何かのファイルに直接書き込む場合は
code:sh
cat <<EOF > hoge.txt
hogehoge
fugafuga
EOF
SSH周り
サーバーで動いてるLinuxを操作する
ssh -i xxx.pem user@ip
SSH経由でファイルダウンロード(scpコマンド)
scp -i xxx.pem user@ip:[target file] [output dir]
.ssh/configが活きてる場合 scp ssh_host:[target file] [output dir]
参考資料
SSH を使用した Linux インスタンスへの接続
インフラエンジニアじゃなくても押さえておきたいSSHの基礎知識
scpコマンドで、ファイルのダウンロード/アップロード
zip圧縮
zip [zipfile name] [target file]
zip -r [target dir]
https://webkaru.net/linux/zip-command/
apt
sudo apt install {package name}
sudo apt remove {package name}
依存関係があるパッケージも含め、アンインストールする場合
sudo apt --purge remove {package name}
プロセス制御
ユーザ周りの操作
table:user/group
ユーザ作成 useradd <username>
グループ作成 groupadd <groupname>
ユーザグループ登録 usermod -G <groupname> <uesrname> 副グループに登録される
Bashでコマンド履歴から検索して実行する
Ctrl+R で、コマンドの履歴を検索できる
Enterで実行、→で貼り付け、Ctrl+Cで抜ける。もう一度Ctrl+Rで次の候補へ
screenコマンドを使った画面分割
table:sheet
起動 screen
画面を縦に分割 Ctrl+a - |
画面を横に分割 Ctrl+a - S
分割した画面を閉じる Ctrl+a - X
仮想ターミナルを増やす Ctrl+a - c
フォーカスを移動 Ctrl+a - <tab>
ターミナルのフォーカスを切り替え Ctrl+a - Ctrl+a
セッションの一覧 screen -ls
既存のセッションに入る screen -r <session id>
コマンド履歴の検索
Ctrl + R
筐体の調査
空きメモリ
free -h
watch -d -n2 free -h 監視する
搭載CPU
cat /proc/cpuinfo
ディスク容量
df -h