Linuxで良く使うコマンドをメモ。都度追加していく予定。
SSH接続
ポート番号をデフォルトの22から変更しており、鍵認証で接続する場合。
$ ssh -p [ポート番号] -i [秘密鍵のディレクトリ/id_rsa] [ホスト側ユーザー名]@[IPアドレス]
ファイル・ディレクトリ操作
カレントディレクトリのフルパスを表示
$ pwd
ディレクトリ移動
$ cd
オプション
.. 1つ上
-1つ前
ディレクトリ作成[mkdir]
# mkdir [ディレクトリ名]
サブディレクトリも作成する場合、[-p]オプションをつける
スペース区切りで複数作成
ディレクトリにスペースを含めたい場合は””で囲む
# mkdir -p [ディレクトリ名/ディレクトリ名]
ファイル作成[touch]
ファイルの最終アクセス時刻を変更。
ファイルがなければ空のファイルを作成
# touch [ファイル名]
同じ拡張子のファイルを複数作成
$ touch {index,sample,comtact}.html
オプション
-c ファイルがない場合、新規ファイルを作成しない
ファイルやディレクトリの情報を表示[ls]
# ls
詳細表示[-l]、隠しファイルなど全て表示[-a]する場合
# ls -la
更新順に並べる
# ls -tl
ファイルの移動・ファイルの名前変更[mv]
# mv [移動元パス][移動するファイル名] [移動先パス][移動先のファイル名]
別名で同一ディレクトリ内を移動すると名前が変更になる
下記はtest1.txtをtest2.txtにリネームしている
# mv ./dir/test1.txt ./dir/test2.txt
-i 上書きするを確認
-n 上書きを確認しない
※backup やtrashなどのディレクトリを作成してゴミ箱がわりにした時によく使う
ファイルのコピー
$ cp -i [コピーするファイル名] [コピー先のファイル名]
オプション -rをつけるとディレクトリコピーになる。ディレクトリの中身も一緒にコピーされる
オプション -i で上書きする前にかくにん
$ cp -r mydir mydir2
※ディレクトリ「mydir」を「mydir2」にリネームしてコピー
$ cp *.html html/
拡張子.htmlを全てhtmlディレクトリにコピー
ローカルからリモートにFTPアップ
ローカル環境からサーバーにディレクトリをアップする。
※秘密鍵が必要でポート番号を指定する場合。
$ scp -i [秘密鍵のディレクトリ/id_rsa] -P [ポート番号] -r [ローカル:ディレクトリ] [ユーザー]@XXX.XXX.XXX.XX:[リモート:ディレクトリ]
ファイルの中身表示[less][cat]
内容が長いファイル内容を表示するには[less]が便利
# less [ファイル名]
短い内容を表示するのは[cat]で表示 ※読み方はカット
# cat [ファイル名]
ファイル作成 [cat]
ファイル内容を表示するコマンドcatの出力先をファイルにリダイレクトすることで、新規ファイルを作成
# cat > [ファイル名] -入力したい内容 [終了はctrl+D]
※注意!すでにあるファイルに対してリダイレクトすると上書き
オプション
-n 行番号をつける
空ファイル作成[touch]
# touch [ファイル名]
ファイル検索
ファイルの中身を検索
$ grep [検索文字] -rl [検索するディレクトリ]
削除
ディレクトリの削除[rmdir][rm]
▼ディレクトリの削除(中身が空じゃないと消せない)
# rmdir [削除するディレクトリのパス]
▼ディレクトリの削除(中のファイルも同時に削除)
# rm -r [削除するディレクトリのパス]
▼エラーメッセージを表示しないでディレクトリごと削除(※実行時注意)
# rm -rf
ファイルの削除[rm]
▼確認メッセージを表示してから削除する
# rm -i [削除するファイルのパス]
ユーザー切り替え
ユーザー名を省略するとrootユーザーに切り替わる。
オプション[-] をつけると環境ごと変更&ホームディレクトリに移動
# su [ユーザー名] -
その他
コマンドのショートカット登録(エイリアス)
▼エイリアス登録
$ alias cpi= 'cp -i'
▼エイリアス一覧
$ alias
▼エイリアス削除
$ unalias cp
実行中のアプリ一時停止[ctrl+z]
[fg]コマンドで復帰
# ctrl + z
画面クリア[clear]
# clear
※ショートカットctrl + l でも同じ
シェルの再起動
$ exec $SHELL -l
ドメインからネームサーバやIPアドレスを調べる
ドメインやIPアドレスを調べるにはdigコマンドを使用します。
[NS +short]オプションをつけると、ネームサーバーを確認できます。
$ dig [ドメイン(例yahoo.co.jp)] NS +short
コメント