【情報整理③】日々の検索に疲弊しきった私のための、基本的なLinuxコマンドの整理②

・Netflixによって世界中から人気を博している「こんまり」さんに、多大な影響を受けて情報整理をしていく記事第三弾。
・やはり見掛け倒しの整理術は、心の済んだ方々にはすっかり見破られるが、それでもとことん表面的生活を貫く意思の強い私。
・今回も、膨大なLinuxコマンドを二・三回に分けて、記録していくことにしよう。
・[情報整理第一弾はこちら](https://qiita.com/t_o_d/items/62c464218d438f700bef)
・[Linuxコマンド整理第一弾はこちら](https://qiita.com/t_o_d/items/b35b8f1aa6455b184cf6)

# Linuxコマンドメモ②
## 変更系
### 前提知識
・ファイルやアクセス権限確認方法
・ls等での情報表示の際に、ファイルの左に表示される下記の例で確認。

```
例：drwxrwxr-x

→左の一文字がファイルかディレクトリかを表す。  

→次の三文字が所有者のアクセス権限を表す。  
　r : 読み取り可能
　w : 書き込み可能。
　x : 実行可能。  
※つまり、この例ではすべての権限が可能。  

→次の三文字がグループユーザーのアクセス権限を表す。    
　r : 読み取り可能。
　w : 書き込み可能。
　x : 実行可能。  
※つまり、この例ではすべての権限が可能。  

→最後の三文字がその他ユーザーのアクセス権限を表す。    
　r : 読み取り可能。
　w : 書き込み可能。
　- : 実行以外可能。  
※つまり、この例では読み取りと実行のみの権限が可能。  
```

### chmodコマンド
・ファイルやディレクトリの権限変更

```
chmod アクセス権限 ファイル名
```
※例(アクセス権限をすべての利用者がすべての権限を持つように設定) 
 
```
chmod 777 test.sh
```


・ファイルやディレクトリの権限変更（利用者とアクセス権限指定）

```
chmod ユーザー 追加か解除か アクセス権限 ファイル名
```
※例(現在のアクセス権限のその他ユーザーの権限から実行権限を解除)。
※ugoa(ユーザー、グループ、その他ユーザー、全て)。+-=(追加、削除、指定)。rwx(読み込み、書き込み、実行)。

```
chmod o-x test.sh
```

・ファイルやディレクトリの権限変更(実行結果も表示)

```
chmod -v アクセス権限 ファイル名
```

### chownコマンド
・ファイルやディレクトリの所有者変更

```
chown 所有者名 ファイル名またはディレクトリ名
```
・ファイルやディレクトリの所有者変更（実行結果も表示）

```
chown -v 所有者名 ファイル名またはディレクトリ名
```

## ユーザー管理系
### 全ユーザー確認コマンド
```
cat /etc/passwd
```

### 指定ユーザー確認コマンド
```
grep ユーザー名 /etc/passwd
```

### 全グループ確認コマンド
```
cat /etc/group
```

### sudoコマンド
・スーパーユーザー（root）でコマンド実行

```
sudo コマンド
```

### useraddコマンド
・ユーザーの新規作成

```
useradd ユーザー名
```
・ユーザーの新規作成（グループを新規作成しない）

```
useradd -N ユーザー名
```
・ユーザーの新規作成（グループ指定）

```
useradd -g グループ名 ユーザー名
```

### passwdコマンド
・パスワード設定

```
passwd ユーザー名
```
・パスワードロックで、ログイン無効化

```
passwd -l ユーザー名
```
・パスワードロック解除

```
passwd -u ユーザー名
```

### userdelコマンド
・ユーザー削除

```
userdel ユーザー名
```
・ユーザー削除（ホームディレクトリも削除）

```
userdel -r ユーザー名
```
・ユーザーの新規作成

```
userdel ユーザー名
```

### usermodコマンド
・ユーザー編集（基本）

```
usermod ユーザー名 オプション
```
・ユーザー編集（ユーザーのグループ変更）

```
usermod -g ユーザー名 グループ名
```
・ユーザーをロックする。

```
usermod -L ユーザー名
```
・ユーザーロックを解除する。

```
usermod -U ユーザー名
```
### groupaddコマンド
・グループの新規作成

```
groupadd グループ名
```
・グループの新規作成(パスワード付き)

```
groupadd -p パスワード グループ名
```

### groupmodコマンド
※必ずオプションをつけて実行。

・グループ名の変更

```
groupmod -n 変更後グループ名 変更するグループ名
```
・グループパスワードの変更

```
groupmod -p 変更後パスワード 変更するグループ名
```

### groupdelコマンド
・グループ削除

```
groupdel グループ名
```

### idコマンド
・ユーザーID情報確認

```
id ユーザー名
```

## テキスト操作系
### cutコマンド
・指定バイト数で分割

```
cut -b バイト名 ファイル名
```
・指定項目数で分割。

```
cut -f 項目数 -d 区切り文字 ファイル名
```

### sortコマンド
・データを昇順に並び替える。

```
sort ファイル名
```
・データを数値で並び替える。

```
sort -n ファイル名
```
・データを降順に並び替える。

```
sort -r ファイル名
```
・データを大文字と小文字関係なく並び替える。

```
sort -f ファイル名
```

### wcコマンド
・ファイル内のテキストの大きさ表示

```
wc ファイル名
```

※出力例

```
4  3 18 hello.txt
→左が行数。真ん中が空白区切りの単語数。右がファイルサイズ（バイト）
```

・複数ファイルのテキストの大きさ表示

```
wc ファイル名１ファイル名2・・・
```

## まとめ
- 今回は、Linuxコマンドメモの第二回目ということで、合計で膨大な数なのに、まだ先の見えないほどの容量を持ち合わせていることに、寛大な心で受け止めながら、ふわふわ気分で記事を書く。
- 整理とは名ばかりの、ただの検索と暗記からの避難策であるという、返答困難な事実とこれっぽちも向き合うことなく、ひたすら自我を通す徹底ぶり。
- 今回のコマンド整理も次で最後になりそうなことを、年甲斐もなく無心にはしゃぎながら、また調査という名の無駄遊びをしていくことにしよう。

## 参考
- https://qiita.com/rokuta96/items/d981e432b4c607cea20d  
→今回もこちらの記事を参考にしました。大変お世話になりました。
- https://eng-entrance.com/category/linux/linux-command  
→こちらでは、詳細な使い方やオプションなどが、例をまじえて分かりやすく紹介されています。大変お世話になりました。