ワーキングディレクトリ関連
「pwd」カレントディレクトリを表示
pwd ・・・
Print
Working
Directory
$ pwd
--> /home/admin
「cd」ディレクトリ移動
cd ・・・
Change
Directory
# homeディレクトリから子階層のadminディレクトリに移動
$ cd dir
--> admin
「ls」ディレクトリファイル一覧を表示
ls ・・・
List
Segments
$ ls
--> home index.html
lsコマンドのオプション一覧
オプション名 | 説明 |
-a | 隠しファイルも含めたすべてのファイルを表示 |
-F | 構造も一緒に表示(フォルダは◯◯/、実行可能ファイルは◯◯*) |
-l | ファイルの詳細(ファイル権限・所有者・グループ・容量・最終修正日時)も表示 |
-lr | -lの逆順に表示 |
-tl | 更新時間順に表示 |
-lS | ファイルサイズ順に表示 |
-Xl | ファイルを拡張子順に表示 |
-1 | リストを縦表示 |
-R | 中身のあるディレクトリ内容を再帰的に表示 |
-m | ファイル名をカンマで区切って表示 |
-lh | ファイルサイズを単位変換(k,m,g)して表示 |
ファイル・フォルダ操作
「cat」ファイルの中身を表示
cat ・・・
CATanate
# ファイルの中身全体を表示
$ cat index.html
# ファイルの中身をウィンドウ画面部分だけ表示
$ less index.html
# ファイルに行番号を付けて表示(空行はカウントされない)
$ nl index.html
# ファイルに行番号を付けて表示(空行も含めてカウント)
$ cat -n index.html
「touch」ファイルを新規作成/タイムスタンプを変更
# 既存ファイルならタイムスタンプを変更、なければ「index.html」を作成
$ touch index.html
# アクセス日時のみ変更
$ touch -a index.html
# 更新日時のみ変更
$ touch -m index.html
「cp」ファイル/ディレクトリをコピー
cp ・・・
Co
Py
# index.htmlをindex2.html名義でコピー
$ cp index.html index2.html
# コピー先(index2.html)に同名ファイルが存在する場合、上書きするか確認
$ cp -i index.html index2.html
# コピー先(index2.html)に同名ファイルが存在しても強制的に上書き
$ cp -f index.html index2.html
# コピー元(index.html)の所有者・タイムスタンプ・アクセス権の情報を保持したままコピー
$ cp -p index.html index2.html
# newディレクトリをhomeディレクトリ直下に丸ごとコピー
$ cp -R new /home
「mv」ファイル/ディレクトリ を移動・名前を変更
mv ・・・
Mo
Ve
# index.htmlをnewフォルダ内のファイル名「new.html」に変更して移動
$ mv index.html new/new.html
# newディレクトリを/homeディレクトリ直下へ移動
$ mv new /home
# 移動先に同名ファイルが存在する場合、上書きするか確認
$ mv -i new /home
# 移動先に同名ファイルが存在していても強制的に上書き
$ mv -f new /home
「rm」ファイルを削除
rm ・・・
Re
Move
$ rm index.html
「mkdir」ディレクトリを新規作成
mkdir ・・・
Ma
Ke
DIRectory
$ mkdir newdir
「rmdir」ディレクトリを削除
rmdir ・・・
Re
Move
DIRectory
# フォルダを削除(中身がある場合はエラー)
$ rmdir newdir
# 中身のファイルも一括で削除する場合
$ rmdir -r newdir
「tail」テキストファイルの末尾を出力
# index.htmlの末尾から出力
$ tail index.html
# index.htmlの末尾から100行目までを出力
$ tail -n 100 index.html
# ファイルの末尾を出力し続けて(リアルタイムに反映)表示
$ tail -f access.log
「split」ファイルを複数に分割
指定ファイルを決まった大きさに分割ができます(デフォルトでは1000行毎に分割)
# 1100行あるdata.csvを300行毎に区切って「l_data」名義で分割
$ split -l 300 data.csv sl_data_
$ ls
--> data.csv sl_data_aa sl_data_ab sl_data_ac sl_data_ad
# 3MBあるdata.csvを1MB毎に区切って「sb_data」名義で分割
$ split -b 1m data.csv sb_data_
$ ls
--> data.csv sb_data_aa sb_data_ab sb_data_ac
# data.csvを4分割に区切って「sn_data」名義で分割
$ split -n 4 data.csv sn_data_
$ ls
--> data.csv sn_data_aa sn_data_ab sn_data_ac sn_data_ad
アクセス権限関連
「chown」所有者の変更
chown ・・・
CHange
OWNer
# /var/www/html/index.htmlの所有者をnginxに変更
$ chown nginx /var/www/html/index.html
「chown」グループの変更
chown ・・・
CHange
GRou
P
# /var/www/html/index.htmlのグループをnginxに変更
$ chgrp nginx /var/www/html/index.html
「chown」所有者&グループの同時変更
# /var/www/html/index.htmlの所有者をroot、グループをnginxに変更
$ chown root:nginx /var/www/html/index.html
「chgrp」指定ディレクトリ配下すべてのグループ変更
# /var/www/htmlディレクトリ配下のグループをnginxに変更
$ chgrp -R nginx /var/www/html/
「chmod」アクセス権限の変更
chmod ・・・
CHange
MODe
# /var/www/html/index.htmlの権限を755に変更
$ chmod 755 /var/www/html/index.html
chmodコマンドの指定書式
$ chmod [ユーザ][グループ][その他] ファイル名
項目 | 記号 | 意味 |
[ユーザ] |
u |
所有者 |
g | グループ |
o | その他のユーザー |
a | すべてのユーザー |
[演算子] | + | 指定アクセス権を追加 |
- | 指定アクセス権を削除 |
= | 指定アクセス権に設定 |
[アクセス権] | r | [4] 読み込み可 |
w | [2] 書き込み可 |
x | [1] 実行可 |
| | |
ユーザー関連
「su」ユーザー切り替え
su ・・・
Switch
User
[admin@centos7 ~]$ id ← 現在のユーザー"admin"のIDとグループを表示
--> uid=1000(admin) gid=1000(admin) groups=1000(admin),100(users)
[admin@centos7 ~]$ su yanyo ←yanyoユーザーに切り替え
[yanyo@centos7 admin]$ id ← 現在のユーザー"yanyo"のIDとグループを表示
--> uid=1001(yanyo) gid=1001(yanyo) groups=1001(yanyo),100(users)
[yanyo@centos7 admin]$ pdw ← 現在のカレントディレクトリを確認
--> /home/admin
[yanyo@centos7 admin]$ exit ← "yanyo"ユーザーから離脱
[admin@centos7 ~]$
※切り替えユーザー名の前に
"-"(ハイフン)を付けるとユーザーIDが変わると共に新しいユーザー環境を使用(上下ともに9行目参照)
[admin@centos7 ~]$ id ← 現在のユーザー"admin"のIDとグループを表示
--> uid=1000(admin) gid=1000(admin) groups=1000(admin),100(users)
[admin@centos7 ~]$ su - yanyo ←yanyoユーザーに切り替え("-"付き)
[yanyo@centos7 admin]$ id ← 現在のユーザー"yanyo"のIDとグループを表示
--> uid=1001(yanyo) gid=1001(yanyo) groups=1001(yanyo),100(users)
[yanyo@centos7 admin]$ pdw ← 現在のカレントディレクトリを確認
--> /home/yanyo ← ※"yanyo"ユーザーのホームディレクトリに強制移動されている
[yanyo@centos7 admin]$ exit ← "yanyo"ユーザーから離脱
[admin@centos7 ~]$