0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Linux備忘録

Last updated at Posted at 2024-02-19

はじめに

業務で使用したLinux関連を知識を備忘録として残します。
若干AWSコマンド系の知識もはいっています。
※随時更新予定

AWS

コマンド
■ aws cliバージョン確認
$ aws --version

■ aws cliクレデンシャル設定
$ aws configure
 # ~/.aws/configには、リージョンと出力形式
 # ~/.aws/credentialsには、アクセスキーIDとシークレットアクセスキー
  # --profileオプションを使用して名前付きプロファイルを設定可能
  # プロファイルを切り替えるはexport AWS_DEFAULT_PROFILE=<プロファイル名>
 # デフォルト以外のユーザでaws cliを実行する場合は--profileで指定
 

$ aws configure list 
 # 現在使用中の設定を確認

■ S3一覧表示
$ aws s3 ls
$ aws s3 ls s3://<バケット名>/<パス>

■ S3バケット作成
$ aws s3 mb s3://<バケット名>

■ S3コピー
$ aws s3 mb s3://<バケット名> <ローカルパス>
# 送信元 送信先の順で指定
# --dryrunオプションで実行前検証が可能
# --exculdeオプションで除外
# --includeオプションで指定パス内のファイルを全て再帰的に処理

■ S3コピー
$ aws s3 mb s3://<バケット名> <ローカルパス>
# 送信元 送信先の順で指定

■s3暗号化確認
$ aws s3api get-bucket-encryption --bucket <バケット名>

■ VM Import
$ aws ec2 import-image --profile <プロファイル名> --description "<説明>" --disk-containers file://<ファイル名(.json形式)>

■ SES Smtpエンドポイント疎通確認
$ telnet email-smtp.ap-northeast-1.amazonaws.com 587

■ SSM Agent log
$ tail -f /var/log/amazon/ssm/amazon-ssm-agent.log

■インスタンスが Xen ベースか Nitro ベース
$ aws ec2 describe-instance-types --instance-type instance_type --query "InstanceTypes[].Hypervisor"

■ ログファイルなしでcloudwatchlogsに文字列をput
$  aws logs put-log-events --log-group-name "Test" --log-stream-name "App1" --log-events timestamp=1461997171845,message='Hello CloudWatch'
 # 2回目以降はnextSequenceTokenの値を--sequence-tokenオプションで指定する必要がある

■ ユーザデータ確認
$ cat /var/lib/cloud/instance/user-data.txt

■ Extras Library
$ amazon-linux-extras (list)
 # 利用可能なトピック(ソフトウェア群を表示)
$ amazon-linux-extras install
 # トピックのアンインストールは現状不可
  # Amazon Linux 2023にはamazon-linux-extrasが入っていない
  # epel(コマンドによって追加できるリポジトリ)はamazonlinux2で追加可能

PostgreSQL

コマンド
■ psql
$ psql -h <ホスト名> -d <データベース名> -U <ユーザ名> -p 5432 

■ pg_dump
$ pg_dump -h <ホスト名> -d <データベース名> -U <ユーザ名> -p 5432 -Fc -f <ファイル名>

■ pg_restore
$ pg_restore -d <データベース名> -c

メモリ、ディスク

コマンド
■ 現在の全体ディスク使用量を確認
$ df -Th
 # T:各ファイルシステムの種類を合わせて表示
 # h:サイズに応じて読みやすい単位で表示

■ ディレクトリごとにディスク使用量を確認
$ du <ディレクトリ名>
 # duのみを指定した場合はカレントディレクトリの使用量

■ ブロックデバイス/ファイルシステム一覧表示
$ lsblk

■ パーティションサイズ拡張
$ growpart /dev/xvda <パーティション番号>

■ ファイルシステム拡張
$ resize2fs /dev/sdc1
 # 第二引数あり⇒サイズ指定
 # 第二引数なし⇒最大サイズまで拡大

■ ディスク容量負荷
$ stress -hdd <負荷値>

ネットワーク

コマンド
■ ip確認
$ ifconfig
$ ip addr show

■ ルーティング
$ route -v

■ ネットワークの経路を調べる
$ traceroute -n 8.8.8.8

■ iptablesの確認
$ iptables -nL

■ ルーティングテーブル
$ netstat -rn

■ 宛先のドメインに関する情報(ipアドレスのみ)
$ dig +short yahoo.co.jp
 # awsのサービスのURL形式はsns.ap-northeast-1.amazonaws.comのような形

■ PCIデバイスの情報を表示
$ lspci

■ NetworkManager
$ nmcli
 # c:コネクション
 # d:デバイス

■ NIC有効化/無効化
$ ifup/ifdown

■ SELinuxのモードを表示
$ getenforce

■ SELinuxのモードを一時的に変更
$ setenforce 

■ プロセスが利用しているポートを確認
$ lsof -i | grep <サービス名>

■ HTTPリクエストを実施し、内容を標準出力
$ curl <URL>
  # -o:レスポンスボディの出力先を指定する
  # -s:余計な出力をしない
  # -I:HTTPレスポンスヘッダーの取得

■ ポートスキャン
$ nmap <ホスト名>

■ ソケットの状態を表示する
$ ss -pantsu
 # p:ソケットを使ってるプロセスを表示させる
 # a:接続待ちを含めたすべてのソケットを表示する	
 # n:名前解決を行わない
 # t:TCPソケットを表示する
 # s:統計情報を表示する
 # u:UDPソケットを表示する

CPU,OS

コマンド
■ プロセス数を確認
$  ps auxfww
 # a:端末操作のプロセスを表示(他端末も含む)
  # u:CPUやメモリの使用率なども表示
  # x:現在、実行しているプロセスを表示
  # f:プロセスを階層で表示
  # w:出力幅を広げる。このオプションを 2 つ指定すると、幅の制限がなくなる

■ インストール済みrpmパッケージ表示
$ rpm -qa | grep hoge

■ centosバージョン確認
$ cat /etc/redhat-release

サービス

コマンド
■ サービスの設定リストの表示
$ chkconfig --list

■ アクティブなサービスをリストアップ
$ systemctl list-units --type=service

アカウント/ログイン

コマンド
■ ログインユーザ確認
$ w

■ 現在のユーザ名確認
$ whoami

■ 現在の所属グループ確認
$ group

■ historyコマンドに日時を追加
$ export HISTTIMEFORMAT="%F %T "
 # 再起動後に以前の表示に戻るため注意

■ リモート接続
$ ssh -i <秘密鍵> -l <user名> <host名>
 # user@hostの形でも可能

■ ユーザ一覧
$ cat /etc/passwd

■ パスワード情報
$ cat /etc/shadow
 # rootのみ読み込み可能

■ sudo可能なユーザの情報
$ cat /etc/sudoers
 # 例)piyota ALL=(akuma) /bin/ls 
  ⇒piyotaはakumaとしてlsコマンドが実行できる

■ パスワード変更
$ passwd
 # 引数なしで自身のパスワード変更
 # 引数ありで他のパスワード変更(rootのみ可能)


 

TARコマンド

コマンド
■ ファイル圧縮
$ tar -czvpf <アーカイブ名.tgz> <圧縮するファイル>
 # c:新しいアーカイブを作成
 # z:アーカイブをgzip形式で圧縮
 # v:処理内容を出力
  # 所有者などのファイル属性を保持
  # f:出力するアーカイブ名を指定


■ファイル展開
$ tar -xzvpf <アーカイブ.tgz>
 # x:アーカイブファイルを展開
  # z:gzip形式のアーカイブを展開
  # v:処理内容を出力
  # 所有者などのファイル属性を保持
  # f:出力するアーカイブ名を指定


■ファイル展開せずに中身を確認
$ tar -zvtf <アーカイブ.tgz>
  # z:gzip形式のアーカイブを展開(なくてもOK)
  # v:処理内容を出力
  # t:tarに含まれているファイルの一覧を表示
  # f:出力するアーカイブ名を指定

YUM

コマンド
■ パッケージ更新状況確認
$ yum check-update

■ インストール済パッケージ確認
$ yum list installed | grep <パッケージ名>

■ リポジトリ情報一覧表示
$ ls -l /etc/yum.repos.d

■ 有効化されているリポジトリ一覧表示
$ yum repolist
 # /etc/yum.repos.d以下のファイルでenable=1になっているものが出力

■ yumでインストールされたrpmファイル表示
$ ls -l /var/cache/yum/x86_64/7

RPM

コマンド
■ パッケージのインストール
$ rpm -ivh {パッケージ名}

■ パッケージのアップグレード
$ rpm -Uvh {パッケージ名}

■ パッケージのアンインストール
$ rpm -evh {パッケージ名}

■ インストールされているrpmパッケージを一覧表示
$  rpm -qa {パッケージ名}

検索

コマンド
■ ファイル名に「○○」という文字列が含まれているファイルのリストを取得
$ find <検索対象フォルダのパス> -type f -name "*<検索したい文字列>*"

■ ファイルを開いた中身に、「○○」という文字列が含まれているファイルのリストを取得
$ grep <検索したい文字列> -rl <検索対象フォルダのパス>
 # -i:大文字小文字区別しない

Apache

コマンド
■ 設定ファイル構文チェック
$ apachectl configtest

■ 
$ 

シェル、環境変数

コマンド
■ 環境変数表示
$ printenv
 # export <シェル変数名>で環境変数追加
 
■ シェル変数表示
$ set
 # set | grep PS1でプロンプトの情報表示

■ 演算子
$ command1 && command2
 # command1が成功したらcommand2

$ command1 || command2
 # command1が失敗した場合command2を実行
 

その他Tips

コマンド
■ 適当な中身のファイルを作りたいとき
$ cat >> test.txt
<文字列入力>
ctrl + C

■ ログ出力
$ logger "<文字列>"
 # /var/log/messagesに出力

■ 元ファイルの情報を保持してコピー
$ cp -p <コピー元ファイル名> <コピー先ファイル名>
 # -r 再帰的にコピー

■ 追記されるファイルの中身を確認
$ tail -f <ファイル名>
  # -n:出力する行数を指定
  # -v:ファイル名を常に表示

■ 文字列変換
$ sed -i s/<置換前>/<置換後>/g <ファイル名>
 # -i:ファイルを直接編集
 # s:置換前/置換後指定
 # g:ファイル内すべてを置換対象にする(gなしは先頭のみ)

■画面をきれいにする
$ clear

■ PATHを通す流れ
$ which <コマンド>
 ⇒出力結果パス
$ echo $PATH
$ PATH=$PATH:<出力結果パス>
 # PATH= でシェル変数を削除してしまった場合はexitで入りなおせば元通り

■ コマンドの実行結果確認
$ echo $?
 # 成功の場合は「0」,失敗はそれ以外の数字

※追加用フォーマット

コマンド
■ 
$ 

■グロブについて
https://pystyle.info/linux-glob-syntax/

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?