Linux操作
# OS情報確認
cat /etc/os-release
do-release-upgrade -V
# 再起動(shutdownを使うのが安牌)
reboot
sudo shutdown -r now
# シャットダウン(shutdownを使うのが安牌)
poweroff
sudo shutdown -h now
# システム負荷
top -d 更新間隔(秒) -n 繰り返す回数(回)
## 特定プロセスのシステム負荷
top -d 更新間隔(秒) -n 繰り返す回数(回) -p プロセスID
# ディスク使用率
df -h
# ユーザー
## ユーザー一覧
cat /etc/passwd
## ユーザー追加
sudo useradd ユーザー名
## ユーザー削除
sudo userdel ユーザー名
## パスワード変更
sudo passwd ユーザー名
## ユーザー切り替え
su ユーザー名
## 現在のユーザー確認
whoami
# グループ
## グループ一覧
cat /etc/group
## ユーザーにグループを追加
sudo gpasswd -a ユーザー名 グループ名
## ユーザーからグループを削除
sudo gpasswd -d ユーザー名 グループ名
## ユーザーのグループを変更
sudo usermod G グループ名 ユーザー名
# パッケージ検索
## パッケージ検索
sudo apt-cache search パッケージ名
## パッケージ検索(インストール可能)
sudo apt-cache policy パッケージ名
## アップグレード可能なパッケージ一覧
sudo apt-get --simulate upgrade
sudo apt list --upgradable
# パッケージインストール
## パッケージインストール
sudo apt-get install パッケージ名
## パッケージアンインストール
sudo apt-get remove パッケージ名
# パッケージの自動更新のオンオフ
## 自動更新オンのパッケージ一覧
sudo apt-mark showmanual
## 自動更新オフのパッケージ一覧
sudo apt-mark showhold
## パッケージの自動更新オン
sudo apt-mark unhold パッケージ名
## パッケージの自動更新オフ
sudo apt-mark hold パッケージ名
# システムマネージャー
## システム起動
sudo systemctl start システム名
## システム停止
sudo systemctl stop システム名
## システム再起動
sudo systemctl restart システム名
## システムの状態確認
sudo systemctl status システム名
## OS起動時にシステム起動する
sudo systemctl enable システム名
## OS起動時にシステム起動しない
sudo systemctl disable システム名
# ディレクトリ
## 現在のディレクトリ確認
pwd
## ディレクトリを移動
cd ディレクトリ名
# ファイル
## 現在のディレクトリのファイル一覧
ls -al
## ファイル権限変更
### コマンド
chmod 三桁数字 ファイル名
### 三桁数字
所有者 所有者グループ その他
421 421 421
rwx rwx rwx
## 所有者変更
### ファイルの所有者を変更
chown ユーザー名 ファイル名
### ファイルの所有者、所有グループを変更
chown ユーザー名:グループ名 ファイル名
### ディレクトリ配下のファイルの所有者を変更
chown -hR ユーザー名 ディレクトリ名
# ファイルの圧縮解凍
## tar
### 圧縮
tar -cvf xxxx.tar directory
### 解凍
tar -xvf xxxx.tar
## tar.gz
### 圧縮
tar -zcvf xxxx.tar.gz directory
### 解凍
tar -zxvf xxxx.tar.gz
## zip
sudo apt-get install -y zip
### 圧縮
zip -r xxxx.zip directory
### 解凍
unzip xxxx.zip
# 削除
rm -rf 削除したいファイル名
rm -Rf 削除したいディレクトリ名
# IP確認
ip -4 a
# MACアドレス確認
ip addr show
# 経路確認
tracepath ホスト名(or IP)
# DNSに問い合わせ
nslookup ホスト名(or IP)
# SSH
## SSH接続
ssh -i 鍵 ユーザー名@リモートホスト名
## 鍵作成
ssh-keygen -t rsa -b 4096 -f 鍵
## 登録されている鍵
### SSHする側(公開鍵)
sudo vi ~/.ssh/known_hosts
### SSHされる側(秘密鍵)
sudo vi ~/.ssh/authorized_keys
# ファイル転送
## ローカルからリモートホストにファイルをコピーする
scp -i 鍵 /作業端末のディレクトリ/ファイル名 ユーザー名@リモートホスト名:/配置先ディレクトリ
## リモートホストからローカルにファイルをコピーする
scp -i 鍵 ユーザー名@リモートホスト名:/配置先ディレクトリ/ファイル名 /作業端末のディレクトリ