参考にした記事
以下の記事を参考にさせていただきました;
- Linuxディストリビューションの体系と特徴をまとめてみました
https://note.com/_chibisuke/n/n0ae85ead39cd - yumコマンドとAPT系コマンドの違い
https://qiita.com/hal-bo/items/1e0568120c545bf723c6 - Linuxの基礎知識をまとめてみた
https://qiita.com/yuuu1654/items/ea1ec653170589bd2b50 - Linux リダイレクトについて(自分用メモ
https://qiita.com/ss12345/items/e0a26fa19407fdec4d38
ディストリビューションの一覧
RedHat系
- 適用範囲: 商用や研究開発目的
-
代表例:
- Fedora (研究開発)
- CentOS (治験)←2024年初めころに開発終了...
- RedHat (製品、有償)
- AlmaLinux / RockyLinux (ジェネリック、無償)←この辺が人気!
- Amazon Linux 2 (Amazon Web Servicesのディストリビューション)
Debian系
- 適用範囲: 個人利用、通常のパソコンに適する
-
代表例:
- Debian (オリジナル、汎用的)
- Ubuntu (デスクトップ利用に進化)
- Linux Mint
-
Ubuntuはめちゃ便利
- NvidiaGPUの導入も比較的容易&インターネット上のナレッジも多い
- インストール可能なパッケージやドライバが豊富
パッケージマネージャ
RedHat系
- rpm: パッケージ管理の基本コマンド
- yum: 旧パッケージマネージャ
- dnf: 現行のパッケージマネージャ
Debian系
- dpkg: パッケージ管理の基本コマンド
- apt: 高レベルのパッケージマネージャ
拡張パッケージ
- EPEL: Extra Packages for Enterprise Linux
- dotdeb: (廃止されたリポジトリ)
- amazon_linux_extras: AWS専用の拡張パッケージ
◆LINUXコマンド
-
sudo: root権限で実行
-
sudo bash
で、常にroot権限で実行
-
- touch: ファイル作成、更新
- source: ファイルを実行("." で代用される場合がある)
- which [プログラム名]: どのファイルから実行されているか判別
- ls -l: パーミッション確認
-
df: ディスク容量確認
-
-h
でハードディスク -
-i
でinodeの確認
-
- systemctl: プログラムの実行や停止(ディスク容量の状況などによって実行できないケースあり)
- service: プログラムの実行と停止、再起動など
- history: コマンド履歴を表示
-
grep {文字列}: 指定した文字列に該当するものだけを返す
- 通常、別の検索系コマンドとパイプ"|"でつないでフィルタ機能として使う
- 例:
history | grep "yum"
など
特定の実行ファイルの開始終了、およびステータス確認
- ステータス確認
systemctl status {実行ファイル}
- 開始終了・再起動
systemctl start / stop / restart {実行ファイル}
ファイルを作って書き込むには
- echoコマンド
echo aaabbb > {ファイル名}
- catコマンド
-
対話式
cat > {ファイル名}
→標準入力開始、Ctrl+Dで保存終了 -
いっぺんに複数行入力
cat > {ファイル名} <<EOF
aaa
bbb
EOF
タイムゾーン指定を変えたい
- ★設定変更後は対象サービスを再起動したほうがいい(cronなど)
Redhat系
- timedatectl
timedatectl set-timezone Asia/Tokyo
timedatectl
Debian系
- tzdata
→使い方は要調査
dpkg-reconfigure tzdata
環境変数"TZ"を変える方法
- 日本時間に変える
export TZ=Asia/Tokyo
echo $(date '+%Y%m%d_%H%M%S')
- UTCに変える
export TZ=UTC
echo $(date '+%Y%m%d_%H%M%S')
時間をコマンド内に埋め込みたい
$(date '+%Y%m%d_%H%M%S')
- タイムゾーン指定で
$(TZ=Asia/Tokyo date '+%Y%m%d_%H%M%S')
コマンド内の記号をエスケープしたい
- 頭に$(ドルマーク)をつけると後続のコマンドが埋め込み扱いで実行されてしまうので、エスケープしたいことがある
→"$"などバックスラッシュをつけてエスケープ完了
直前の標準入力を引数にそのまま使いたい
- 引数にハイフンを指定する
例)
(crontab -l; echo "*/1 * * * * postgres pg_dump -U postgres -d postgres > /bkup_\$(TZ=Asia/Tokyo date +\%Y\%m\%d_\%H\%M\%S).sql") | crontab -
コマンドにおけるリダイレクトについて
コマンドにおけるよくあるオプション
- -a: すべて選択
- -y: 質問に必ずyesと答える
◆LINUXでLドライブをマウント
yum install -y samba-client cifs-utils
mount -t cifs -o user={your_user_id},password={your_user_password} "//11.98.167.55/(G02508000)TD" "/mnt/linuxdir"
unmount "/mnt/linuxdir"