lsコマンドに関する基本オプションとその動作について説明します。
-1#各ファイルを1行ずつ表示
-n/--numeric-uid-gid#-lと似ていますが、ユーザーIDとグループIDを数値で表示
-i/--inode#各ファイルのインデックス番号を出力
-F#ファイルタイプを示す文字をファイル名に追加
#実行可能ファイルには'*'を付与
#ディレクトリは'/'、シンボリックリンクは'@'、FIFOは'|'、ソケットは'='、ドアは'>'、通常ファイルは何も付けない
-d#ディレクトリ自体をリスト表示し、その中身は表示しない
ls -d /var/tmp -l#-dなしの場合、/var/tmpの中身が表示される
#drwxrwxrwt. 2 root root 6 Mar 24 00:26 /var/tmp
ls -d#カレントディレクトリを表示、lsはその中のファイルを表示
ls -d */#ディレクトリのみを表示(隠しディレクトリは除く)
ls -d .*/#隠しディレクトリのみを表示
ls -d .*#カレントパス内の隠しファイルと隠しディレクトリを表示
#ディレクトリのみを抽出
ls -F | grep "/$"
ls -al | grep "^d"
-l#ファイル種別|アクセス権|ハードリンク数|所有者|グループ|サイズ|更新日時|ファイル名
ディレクトリをリスト表示する際、最初に'合計ブロック数'を表示。ブロックサイズは通常1024バイト。
-s#ファイルのファイルシステム割当量をファイル名の左側に表示
これはファイルが使用するファイルシステム空間であり、通常はファイルサイズよりわずかに大きいが、ファイルに穴がある場合小さいこともある。
通常は1024バイト単位で表示され、この値は変更可能。
pwd#現在の作業ディレクトリを表示
ctrl c#プロセスを終了
ctrl z#プロセスを一時停止
cd#ディレクトリを切り替え。cdのみでホームディレクトリへ移動
cd - #前回の作業ディレクトリに戻る
cd ../#親ディレクトリへ移動
#タブキー補完機能
ca#caから始まるコマンドをすべて表示
#ファイルやディレクトリ名の後で使用
cd ../#親ディレクトリ内のファイルを表示
.autorelabel etc/ opt/ sys/
mkdir filename#現在のディレクトリにサブディレクトリを作成
mkdir -p a/b/c#複数階層のディレクトリを一括作成
mkdir -p /a/b/c#ルートディレクトリ以下に同様に作成
rm filename1 filename2#複数ファイルを削除(スペース区切り)
-r#ディレクトリを削除
#rm -rvf 強制削除、慎重に使用
find / -name filename#ルートディレクトリからfilenameという名前のファイルを検索
find / -atime n#ルートディレクトリからn*24時間前に最後にアクセスされたファイルを検索
-amin n#n分前にアクセスされたファイル
-ctime n#n*24時間前に状態が変更されたファイル
-cmin n#n分前に状態が変更されたファイル
cp [パラメータ] ソース 先
#複数のソースがある場合、先はディレクトリである必要がある
cp –r test/ newtest#testディレクトリ以下のすべてのファイルとディレクトリをnewtestにコピー
cp file1 file2#file2が存在しなければ作成される
#ファイルの名前変更・移動
mv 1.txt 2.txt#1.txtを2.txtに名前変更。第二引数がディレクトリの場合は移動
cat a.c main.c > file.c#ファイルを結合
cat > main.cpp#ファイルの作成(上書き)、Ctrl+dで終了
tail filename#ファイルの末尾10行を表示、headは先頭10行
head -6 filename#先頭6行を表示
tail -20 filename#末尾20行を表示
awk 'NR==2' result.txt#2行目だけを表示
sed -n '2p' result.txt#2行目だけを表示
cat filename #すべて表示、-nで行番号も表示(nlコマンドも同様)
tee [FILE]#標準入力を各FILEおよび標準出力へ出力
chown#ファイルまたはディレクトリの所有者とグループを変更
ifconfig#ネットワークインターフェース情報を表示
uname -a#(カーネル名|ホスト名|カーネルバージョン|ビルド日時|マシンアーキテクチャ|プロセッサアーキテクチャ|ハードウェアプラットフォーム|オペレーティングシステム名)
#カーネル名はLinux、OS名はGNU/Linuxが一般的。アーキテクチャは通常同じ
uname -r#カーネルバージョン
uname -v#カーネルビルド日付
#224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023
#224はカーネルビルド番号、-UbuntuはUbuntuカスタマイズ版、SMPはマルチコア対応
#5 Wed Feb 25 21:49:24 MET 1998
#5はこのソースベースからビルドされたカーネルの5番目を意味し、その後の日付はビルド日時
/proc/version#Linuxカーネルバージョン、GCCバージョン、ビルド日時
/proc/sys/kernel/version#Linuxカーネルビルド日時
/etc/redhat-release,/etc/centos-release#CentOSバージョン情報
/etc/os-release,/etc/lsb-release#Ubuntuバージョン情報
realpath 相対パス#相対パスを絶対パスに変換して表示
free -mh#メモリ使用量を表示
ipcs -q#メッセージキューを確認
#オプションなしの場合、statはファイルに関するすべての情報を表示
#また、ファイルが存在するファイルシステムに関する情報も表示可能
stat main.c -f#ファイルが属するファイルシステムの情報を表示
stat main.c -c "%T" -f#-cで表示形式を指定し、ファイルシステムのタイプを表示
stat -c "%s" main.c -f#ファイルシステムのブロックサイズ
stat -c "%s" main.c#ファイルの実際のサイズ(バイト単位)
stat -c "%b" main.c#ファイルが占めるブロック数(通常512バイト単位)
stat -c "%B" main.c#各ブロックのサイズ(通常512バイト)
# atime: 最後にデータにアクセスした時間
# mtime: データの最終更新時間
# ctime: ステータスが最後に変更された時間
# touchコマンドはこれらの3つのタイムスタンプを変更
# catコマンドはatimeのみ変更
touch#ファイルのタイムスタンプを変更
#指定されたファイルのアクセスおよび/または更新タイムスタンプを変更
#存在しないファイルは--no-createオプションがない限り空のファイルとして作成
#'-a'という名前のファイルを作成
touch -a#エラー。-aがオプションと認識され、ファイル名が指定されていないため
touch ./-a#正常
touch -- -a#正常。--以降はオプション終了、以降は引数として扱われる
chmod 664 filename
chmod +x filename#所有者、グループ、その他に実行権限を追加。a+xと同じ
-R#サブディレクトリ内のファイルも含めて権限を変更
grep "game" /etc/passwd
よく使う組み合わせ:-rn, -rwn, -rwnF
-r#再帰的に各ディレクトリ内のファイルを読み込み。ファイル引数がない場合、現在ディレクトリを読む
-w#一致する語がファイル内に単語として存在することを要求
-v#一致しない行を出力
-F#検索語を正規表現として解釈しない
-i#大文字小文字を無視
-n#行番号を表示
--include="*.h" #ヘッダーファイルのみを対象にする
--exclude-dir="xxx" #特定のディレクトリを除外
-A 10#一致行とその下10行を表示
-B 10#一致行とその上10行を表示
-C 10#一致行とその上下10行を表示
-l#一致行を出力せず、一致するファイル名のみを表示
-L#一致行を出力せず、一致しないファイル名のみを表示
-I#バイナリファイルを処理しない
ps にはいくつかのオプションがあります:
UNIX形式のオプションはグループ化でき、ダッシュで始める必要があります。
BSD形式のオプションはグループ化でき、ダッシュなしで使用します。
# psはデフォルトで同じ有効ユーザーIDかつ同じ端末に関連するプロセスのみを表示
-e#すべてのプロセスを選択。-Aと同等。
ps xjf#プロセスツリーを表示
#プロセス終了:kill、kill -9(強制終了)
#操作:
-c#新しいtarアーカイブを作成
-r#アーカイブの末尾にファイルを追加
-t#アーカイブ内のメンバー名を取得
-x#アーカイブからファイルシステムに展開
#オプション:
-v/--verbose#処理しているファイルを表示
-z#GNU tarの-zオプションでgzipを透明に使用
-cvf [xxx.tar] filename1 filename2 filename3#圧縮しないアーカイブ作成
-zcvf [xxx.tar.gz] filename1 filename2 filename3#圧縮してアーカイブ作成
-xvf [xxx.tar]#アーカイブからファイルを展開
-zxvf [xxx.tar.gz] -C path#指定ディレクトリに解凍
-Jxvf#xz形式の圧縮ファイルを解凍
-tvf [xxx.tar]#アーカイブ内のファイルを表示
-rvf [xxx.tar] filename1 filename2 filename3#アーカイブにファイルを追加
ln -s /root/info myInfo#現在ディレクトリにmyInfoという名前のシンボリックリンクを作成し、/root/infoを指す
# コマンドの末尾に&を付けることでバックグラウンド実行
# nohupはログアウト後も実行継続
# 出力はhello.logにリダイレクト
nohup java -jar xxx.jar &
nohup java -jar xxx.jar &> hello.log &
netstat -tunlp#ポート使用状況を確認。tはTCP、uはUDP、nはIPとポートを数値で表示、lはリッスン状態、pは関連プロセスとPIDを表示
ss -tunlp |grep 3306#特定ポートの使用状況を確認
ss -tunp | grep ip\pid\process_name\port#各列の意味はssコマンドで確認可能
systemctlはサービスの起動、停止、状態確認などを制御します。
| RHEL6 | RHEL7 | 役割 |
|---|---|---|
| service foo start | systemctl start foo | サービス起動 |
| service foo restart | systemctl restart foo | サービス再起動 |
| service foo stop | systemctl stop foo | サービス停止 |
| service foo reload | systemctl reload foo | 設定ファイル再読み込み |
| service foo status | systemctl status foo | サービス状態確認 |
| chkconfig foo on | systemctl enable foo | 起動時に自動開始 |
| chkconfig foo off | systemctl disable foo | 起動時に自動開始しない |
| chkconfig foo | systemctl is-enabled foo | 特定サービスの自動起動状態確認 |
Command | less
lessモード(スペースでページ送り、bで戻る、Enterで1行スクロール)
先頭にスラッシュを入力してテキストを入力すると、全文の中で該当箇所をハイライト表示。
Ctrl+zまたはqでlessモードを終了。
参考: