UNIX
UNIX系のOSを使うことが多々ありますので、よく使うコマンドなどをメモしておこうと思います。
基本コマンド
- cd [ディレクトリ]
- 指定したディレクトリに移動。
- chmod [モード] [権限付与先]
- パーミッションの変更。
- cp [コピー元ファイル] [コピー先ファイル]
- 指定したファイルを複製する。
- echo [文字列]
-
文字列を表示する。
ちょっとした使い方として次のものがある。
echo [文字列] >> [ファイル名]
ファイル名に文字列を付け加える
> だと上書き保存になるので注意
- grep [文字列] [ファイル]
-
文字列をファイルから検索する。
一括置換を行いたいとき
find ./ -name '*' -type f | xargs sed -i "s/置換前/置換後/g"
特定の文字列を含むファイルのリストを取得する
find [検索対象フォルダのパス] -type f -print | xargs grep '[検索したい文字列]'
- ifconfig
- ネットワーク環境の確認。
- ls [オプション]
-
ディレクトリ、ファイルの一覧。
オプションは以下のものが有名
-a ... 隠しディレクトリまで表示(all)
-l ... パーミッションや所有者などの詳細情報を表示(long)
-t ... 更新時間順に表示(time)
-r ... 逆順に表示(reverse)
- man [コマンド]
- コマンドのマニュアルを表示。
- mkdir [ディレクトリ名]
- 新規のディレクトリを作成する。
- mv [移動元ファイル] [移動先ファイル]
- ファイルの移動やリネームを行う。
- pwr
- カレントディレクトリのパスを表示。
- rm [ディレクトリもしくはファイル]
-
ディレクトリやファイルを削除する。
-R ディレクトリも削除する。
- less [ファイル]
-
ファイルの中身をターミナル上で表示する。
qで出てこれる。
moreというコマンドがあって、それの対義語だった記憶。
- passwd
- パスワードの変更。
- id
-
現在ログインしているIDを表示する。
引数としてID名を取ることで、ID名の詳細情報を表示することもできる。
id [ID名]
- tail
-
ファイルの末尾を表示する。
-f 追加されたデータを追跡表示する。
- history
- コマンド入力の履歴を表示する。
- cat
- 一般的に、ファイルの内容を表示するために用いられる。
- wget
- ファイルを指定したURLから取得する。
- dig
- tcpdump
- touch
- ファイルを作成する。
- tracert
- 指定するIPアドレスまでの道順を示す。
- sed
- 文字列を全置換、行単位での抽出、削除など、テキスト処理ができる。
- awk
- テキストデータの処理を行う。こちらにて詳しく解説されている。
その他
ディレクトリ
".." ... 親ディレクトリ
"/" ... ルートディレクトリ
"~" ... ホームディレクトリ
シェルスクリプト
シェルスクリプトと呼ばれる.shのファイルを作ることで、コマンドをまとめて実行することができる。
- .shファイルを作成
- パーミッションの変更 私は面倒なので、以下のコマンドを打っている。
- 実行 ./実行ファイル
chmod 777 ファイル名
で実行する。
エイリアス
エイリアスとは、特定のコマンドを別の名前で実行することである。
(個人的に)以下のエイリアスは必須である。
alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'
vi
vi [ファイル]
viエディタでファイルを開く。
有名なコマンドは以下の通り
:i インサート
a 文字を付け加える
ZZ 上書きして終了(:w :qでも可)
x 1文字消す
dw 1単語消去する
:q 抜ける
:wq 保存して抜ける
:q! 保存せずに抜ける
数字の後にG 数字行のところにジャンプ
/文字列 文字列を上から検索
yy 1行コピー
行数yy 行数分コピー
dd 1行切り取り
p 貼り付け
リダイレクション