基本的なLinuxコマンド_1

先日、復習で「さくらのvps」様でWEBサーバーを立てました(CentOS7)
使用したコマンドとその他の基本的なコマンドをメモ。
今回使用しなかったオプション等は一部割愛。
一覧の後、解説を記載。
想定より長くなったので「基本的なLinuxコマンド_2」を作成して記載する予定。

#コマンド一覧
- pwd
- clear
- mkdir
- ls
- cd
- mv
- rm
- cp
- cat
- less
- man
- history
- useradd
- userdel




#pwd  (print working directory)
→カレントディレクトリの絶対パスを表示


#clear  
→画面をクリアしてカレント行再表示
Ctrl + lでも可能


#mkdir  (make directory)
→空のディレクトリ作成

書式
mkdir [オプション] ディレクトリ名

オプション
-m  ...指定したアクセス権で作成
例 mkdir -m 700 ディレクトリ名

-p  ...必要なら親ディレクトリも作成
例 mkdir -p one/two/three
threeを作成する為にone/two/ディレクトリも作成


#ls  (list)
→ファイルを一覧表示。ファイルの詳細情報の表示もできる。
ディレクトリ指定  ...ディレクトリ内のファイル表示
ファイル指定 　　 ...ファイルの属性を表示
指定なし 　　　　 ...カレントディレクトリののファイルとサブディレクトリ表示

書式
ls [オプション] ファイル名orディレクトリ名

オプション
-a  ... [.]から始まる隠しファイルも表示
-l  ... ファイルの詳細な情報を表示
上記の二つを組み合わせ ls -la の様に使用可


#cd  (change directory)
→ディレクトリの移動。絶対パス、相対パス、メタキャラクタ(特殊記号)で移動先を指定
指定なし　...ユーザーのホームディレクトリへ移動

メタキャラクタ
~   ...ホームディレクトリへ移動
/   ...ルートディレクトリへ移動
..   ...一つ上の階層へ移動


#mv (move)
→ファイルやディレクトリの移動&リネーム。

書式
mv　[オプション] 移動元 移動先　...移動先にファイル名を指定でリネーム。

例
mv file /directry
mv file1 file2 /directry ...複数ファイルを移動。
  mv file? /directry  ...ワイルドカード[?]で↑の[file1][file2]をまとめて移動
mv file1 file1_new  ...file1をfile1_newへリネーム。

オプション
-f  ...移動先に同名ファイルがあっても確認せず上書き。
-i  ...上書き前に確認。
-u  ...移動先の同名ファイルのタイムスタンプが同じor新しい場合上書きしない。
-b  ...上書き、削除されるファイルのバックアップ作成。


#rm (remove)
→ファイルやディレクトリの削除。複数指定可。
※削除するとゴミ箱から戻す...という事ができないので注意。

書式
rm [オプション]ファイル1 ファイル2 　
rm -r [オプション] ディレクトリ1 ディレクトリ2 ...
  -rオプションで中にあるファイルごとディレクトリ削除。

オプション
-f  ...確認しない。
 

#cp (copy)
→ファイルやディレクトリのコピー。

書式
cp [オプション] コピー元 コピー先  

例
cp [オプション] file file_copy
cp -r [オプション] directry1　directry_copy
cp [オプション] file1 file2 directry 
  複数ファイルを指定してコピー先ディレクトリを指定してコピー。

オプション

-f  ...コピー先に同名ファイルが合っても確認せずコピー。
-i  ...同じファイルがある場合、上書きするか確認する。
-r  ...ディレクトリをコピー。配下のサブディレクトリもコピー。
-a  ...属性等をできるだけコピー。


#cat　(concatenate)
→ファイルの内容表示する。ファイルを連結して1つのファイルにする。
一画面で収まらない場合、下までスクロールされてしまう。

書式
cat [オプション] ファイル名
 
例
cat [オプション] file
cat [オプション] file1 file2
  [file1][file2]の内容を表示   
cat [オプション] file1 file2 > file3
  [file1][file2]を連結して[file3]を作成。

オプション
-n  ...行番号を付けて表示
-b  ...行番号を付けて表示(空白行には付けない)
-s  ...連続した空白行を1行にする


#less
→less=pager (ページャ)　
ページャはファイルの中身を1pずつ表示するコマンド(ソフト)
後述するmanコマンドはデフォルトのページャとしてlessが設定されている。
moreを改良したのがless.

書式
less [オプション] ファイル名
コマンド | less [オプション]
  別のコマンドの実行結果をlessへ渡してで1画面ずつ表示。

スクロール等の操作方法
↓↑_key　   ...1行ずつスクロール
Space_key  ...1画面下へ
Ctrl + b   ...1画面上へ
q          ...終了
/          .../検索。の後に検索したい文字列入力してenter


#man (manual)
→コマンドやファイル等のオンラインマニュアル表示(レファレンスマニュアル)
一般的に/usr//share/manディレクトリ配下に格納されている。
ファイルを調べる時、ファイルと同名のコマンドがあるとコマンドのマニュアルが表示されるので
セクションを指定する。
※更新が遅い。

書式
man [オプション][セクション] コマンド名orキーワード

オプション
-a  ...全てのセクションのマニュアルを表示
-f  ...セクションがわからない時使用。指定したキーワードと完全一致した一覧を表示。whatisコマンドと同じ。
-k  ...正確なコマンド名等が分からない場合使用。指定したキーワードをマニュアルのタイトル若しくはNAME欄に含むマニュアルの項目一覧を表示。aproposが同等の機能を持つ。


セクション
1  ...ユーザーコマンド
2  ...システムコール(カーネルの機能を使う為の関数)
3  ...ライブラリ(C言語の関数)
4  ...デバイスファイル
5  ...設定ファイル
6  ...ゲーム
7  ...その他
8  ...システム管理コマンド
9  ...Linux独自のカーネル用ドキュメント


#history
→入力したコマンドの履歴を番号付きで一覧表示。
↑↓のキーや

書式
history [オプション]

オプション
整数     ...履歴の末尾から指定した行数分表示
-c       ...履歴を全削除
-d 番号  ... 指定した番号の履歴を削除

#useradd
→ユーザーを作成。作成すると同時にホームディレクトリやIDにグループ、ログインシェルや利用できる期限等、色々な設定ができる。
※Ubuntuにはadduserがあってホームディレクトリの作成とパスワードの設定が同時に行える。centosにもadduserがあるけど機能はuseraddと同じ。

書式
useradd [オプション] ユーザー名

オプション
-M ...ユーザーのホームディレクトリを作成しない。
-u ユーザーID ...IDを指定してユーザ作成。IDを指定しないと自動で設定してくれる。
-g グループ名orID   ...プライマリーグループの名前かグループIDを指定。
-U  ...ユーザーと同じ名前のグループを作成。
-e 日付  ...アカウントが使えなくなる日を指定。例 useradd -e 2021-01-01 name
-s シェル  ...ログインシェルを指定(絶対パス) 例 useradd -s /bin/sh name

#userdel
→ユーザーを削除する。

書式
userdel [オプション] ユーザー名

オプション
-r  ...ユーザーとユーザーのホームディレクトリも削除する。