超初心者がLinuxを勉強してみたよ！！

#はじめに
初めてLinuxを勉強して、勉強しながらメモを取っていたので、間違っているところが多いかもしれません。
わかりにくいところばっかりです。
ごめんなさい。

#Linuxを知ろう！！

大文字と小文字を区別しましょう！！
コマンドと引数の間にはスペースを入れましょう！！

##よく使うコマンド
| 1 | 2 | 3 |
|:-:|:-:|:-:|
| ディレクトリの一覧表示  |  ls | List  |
|  ディレクトリ作成 | mkdir  |   |
| ファイルの移動・ファイル名やディレクトリ名の変更  |  mv |  Move |
|  ディレクトリ作成 | mkdir  |   |
| ディレクトリの変更  |  cd |  Change Directory |
| ディレクトリを1つ前に戻す  |  cd .. |   |
|  今どこにいるかを知る | pwd  |   |
| ファイルの内容を表示  |  more |   |
|  ファイルをコピー | cp  |  Copy |
|  ファイルを削除する | rm  |   |
| ディレクトリを削除  |  rmdir |   |

参考サイト
https://qiita.com/tetsuya/items/46888bb4dfc8a6bfef02

###mvとcpの使い方
mvとcpは引数を同じようにとります
引数の最初は、移動させたいファイル名、2つ目の引数は移動先のフォルダ名

<strong>mv 移動させたいファイル名　移動先のフォルダ名
cp コピーさせたいファイル名　移動先のフォルダ名</strong>

<strong>mvはファイル自体を移動　cdは自分自身が移動</strong>

###その他
-|　←これはオプションを表し、これを実行すると、より詳細な情報が得られる
出力される情報で使われる記号は「-」や「d」があり、意味は↓↓
- （ファイル）　
- d（ディレクトリ） 

##セキュリティ 
3つが出力される
・UserID 
・グループ所有者(ファイルへの特別権限が与えられる)
・ファイルのサイズ(バイトで表示)

セキュリティの説明
9文字は3文字が3組あると考える
<strong>r ⇨ 読み取り可能</strong> [この部分はuserという名前]
<strong>w ⇨ 書き込み可能</strong>  [この部分はgroupという名前]
<strong>x ⇨ ファイルを実行可能</strong> [この部分はotherという名前]  

これらの権限を変えるコマンドは、読み取り可能にする場合(r)にする場合
<strong>chmod u+r ファイル名</strong>

これらの権限を変えるコマンドは、実行可能(x)にする場合
<strong>chmod g+w ファイル名</strong>

これらの権限を変えるコマンドは、実行可能(x)にする場合
<strong>chmod o+x ファイル名</strong>

今のディレクトリにあるファイル名なら、「ファイル名」の部分はいりません。
変更後は「 ls -| 」で確認しよう


グループのメンバーに特別な変更権を与えたい場合、
そのメンバーがいるグループを作る必要がある。
さらに、別のグループのメンバーにアクセス権を与えたい場合、ファイルまたはディレクトリごとに1人のグループ所有者しか割り当てることができません。
⇨ACL(Access Control List)を使用すれば解決できる！

groupのメンバーリストを取得するなら、
groups
と打ち込む

###ワイルドカード
ワイルドカードを使用すると、複数のファイルを同時指定できる
「*」 全ファイルを指定
「"*ing"」 ingで終わるファイル名のファイルを指定
「"*"」 ゼロ文字
「？」　任意の一文字



##ホームディレクトリとは
各ユーザーが自分のプライベートな場所にファイルを格納できる。この部分をホームディレクトリという
chmodを使えば、他人にアクセス権限を与えることができるが、基本的には自分とシステム管理者しか見ることができない
Linuxにログインすると、最初にホームディレクトリに置かれるので、「pwd」を使えば、パス名がわかる。
helloというファイルをホームディレクトリからgreetというフォルダに移動させたい場合は
cp / home / とあるディレクトリ名 / hello / greet
ホームディレクトリに戻る　cd　もしくは　cd ~


##さらに深い様々なコマンド
コマンドはまだまだ色々あります

###man
使い方がわからないなどで、マニュアルを見たい場合は<strong>man</strong> を使う(manual)
man ls のように使う
関心のあるコマンドを知って置かなければならない
man man で問題解決！


manコマンドとは異なりfingerには4つのオプションがある
fingerはユーザー情報を表示
manはマニュアルを表示

###find
ファイルの検索は「<strong>find</strong>」　引数は、
find 検索を開始する場所　何を探すか(名前とか) 検索ワード 
 find〜-name "poem *"

ちなみに、~(チルダ)はホームディレクトリに展開される

###cat
ファイルを結合する方法
「<strong>cat</strong>」コマンドを使う
例： cat jabber wocky
2つ以上のファイルを追加するには、コマンドの末尾にファイル名を追加するだけ　
ちなみに「more」というファイルの内容をページ単位で閲覧できるものもある
catはmoreほど有用ではない

catでファイルを結合して出力したいときは
cat 結合したいファイル名 結合したいファイル名 > 結合ごに出力するファイル名


###lpr, lpq, lpqr
<strong>lpr はプリンタに送信　line printerの略
lpq プリントキューに表示
lprm プリントキューから削除 line printer remove</strong>


aiueoという名前のファイルをデフォルトのプリンタに送信する場合
lpr aiueo

aiueoという名前のファイルをhp14という名前のプリンタに送信する場合
lpr -P hp14 aiueo   -Pはプリンタを表す

プリンタに問題があるときや、たくさんの印刷ジョブがある場合に、引数を指定せずにlpqをすると印刷ジョブをみれる
hp14キューで印刷ジョブをみたい場合は、
lpq -P hp14
でいける

印刷キュー「hp14」から印刷ジョブ114を削除するためには
lprm -P hp14 148

###cp -r(ここにぶっこむのもおかしい気がするが・・・)
cpは通常ディレクトリをコピーすることはできないが、rオプションを使うとできる
cp -r ~jester/jokes~ (jokesディレクトリのツリー全部をコピー)

###df
システムのディスク容量を確認するためには
dfコマンドを使用
合計ディスクサイズ　使用ディスク容量　使用可能ディスク容量が表示される(全てキロバイト単位)
dfコマンドの問題の一つは、知りたいディスクだけでなく、システム上の全てのディスク容量を表示すること
dfコマンドを使って、特定のファイルやディレクトリを含むディスクを特定し、そのディスクの統計だけを表示できる
df ~
df .

###rmdir
<strong>rmdirコマンドはからのディレクトリを削除
rm -r でツリー全体を削除
aiueoというディレクトリを削除したい場合は
rm -r aiueo

###ps
実行中のプログラムを表示させるのは「ps」 process status
すべてのプロセスの詳細なリストを取得するには
ps aux
ps auxを使う問題はdfと一緒で、知りたいやつだけでなく、興味ないやつもめっちゃ表示されること
|とgrepを使うと、この問題解決！
|は>と似ていて、コマンドの出力を別のコマンドへの入力として送信するを意味する

###grep
grepは最もわかりにくく、忘れ去られたやつらしい
grepでデータ内のパターンを見つける
grep kani aiueo
aiueoファイル内で、kaniを含む全てのテキスト行を表す

###kill
プロセスを強制終了する　kill PID
プロセスにkillを使うと、正常にシャットダウンしようとする
killコマンドには、今すぐkillするコマンドがある
kill -9 PID

#終わり