初心者用Linux基本command集

IPFactory Advent Calender 2023 7日目の記事です。

https://qiita.com/advent-calendar/2023/ipfactory

今回はLinuxでよく使うコマンドをまとめてみました。
初心者向け、特に私が初心者の時に見たかったような内容を意識して、最低限必要なコマンドとその使い方も紹介しようと思います。
※この記事は正確さよりわかりやすさを重視しています。

# はじめに
コマンド全てを手入力するのは、非常に面倒くさいです。(スペルミスも長いとよくやる)
最低限、コマンド名やファイル名は、Tab補完や↑, ↓(コマンド履歴の参照)などを使用してストレスを減らしましょう。
これからの操作を便利にしてくれます。
より詳しく知りたい人は、この記事を見てください
引用元URL：https://atmarkit.itmedia.co.jp/ait/articles/1603/09/news019.html

# 基本的なコマンド集
## ディレクトリの移動、操作
まずはLinuxにおけるディレクトリツリーを理解しましょう。
ディレクトリとはファイルがどこにあるかを示すもので、こんな風になっています。作業する上で自分がどこのディレクトリいるのかわからなくなるのは初心者あるあるなので、うまくいかないときはこの画像をイメージしてください。
![ディレクトリツリー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618121/c7904b2c-d1fc-0c48-8baf-92f727392903.png)

| コマンド名 | 説明 |
| --- | --- |
| cd | 現在のディレクトリの変更 |
| pwd | 現在のディレクトリの表示 |
| tree | ディレクトリ構造を表示（別途インストールが必要） |
| mkdir | ディレクトリの作成 |
| ls | 現在のファイル・ディレクトリの一覧の表示 |
| rm | ファイルやディレクトリの削除 |
| mv | ファイルやディレクトリの移動 |



## **cd**: 現在のディレクトリの変更
`cd`コマンドは、"change directory"の略で、現在の作業ディレクトリ（カレントディレクトリ）を変更するためのコマンドです。これは、ファイルシステム内を移動するための基本的なコマンドで、ディレクトリ間を移動するために頻繁に使用します。
```bash:cd:使用例
$ cd {"ディレクトリ名"}
```

## **pwd**: 現在のディレクトリの表示
`pwd`コマンドは、"print working directory"の略で、現在の作業ディレクトリ（カレントディレクトリ）のフルパスを表示するためのコマンドです。これは、自分がシステムのどの位置にいるのかを確認するのに使用します。

```bash:pwd:使用例
$ pwd
/home/user/Documents
```
この例では、ユーザーが`/home/user/Documents`ディレクトリにいることを示しています。

## **tree**: ディレクトリ構造を表示（別途インストールが必要）
`tree`コマンドは、ディレクトリとそのサブディレクトリをツリー構造で表示するためのコマンドです。これは、ディレクトリの構造を視覚的に理解するのに非常に便利です。
```bash:tree:使用例
$ tree
├── opt
├── run 
├── snap
│   ├── core20
│   │   ├── 1822
│   │   ├── 2015
│   │   ├── common
│   │   └── current -> 2015
│   ├── lxd
│   │   ├── 24322
│   │   ├── common
│   │   │   ├── config
│   │   │   ├── lxd  [error opening dir]
│   │   │   └── lxd-user
│   │   │       └── unix.socket
│   │   └── current -> 24322
│   └── snapd
│       ├── 18357
│       ├── 20290
│       ├── common
│       └── current -> 20290
```
また、treeコマンドにはいくつかの便利なオプションがあります。例えば、-aオプションを使用すると、ドットで始まる隠しファイルやディレクトリも表示されます。-Lオプションを使用すると、表示するディレクトリの深さを制限することができます。例えば、tree -L 2と入力すると、2階層までのディレクトリのみが表示されます。

## **mkdir**: ディレクトリの作成
`mkdir`コマンドは、"make directory"の略で、新しいディレクトリを作成するためのコマンドです。これは、ファイルシステム内で新しいディレクトリを作成するための基本的なコマンドで、ディレクトリの作成を行うために使用します。
```bash:mkdir:使用例
$ mkdir {"新しいディレクトリ名"} 
```

## **ls**: ファイル・ディレクトリの一覧の表示
`ls`コマンドは、"list"の略で、現在のディレクトリ内のファイルやディレクトリの一覧を表示するためのコマンドです。これは、どのようなファイルやディレクトリが存在するのかを確認するための基本的なコマンドで、ファイルやディレクトリの一覧を表示するために頻繁に使用されます。
```bash:ls:使用例
$ ls 
bin   dev  ethers  lib    lib64   lost+found  mnt  proc  run   snap  swap.img  tmp  var
boot  etc  home    lib32  libx32  media       opt  root  sbin  srv   sys       usr  wol
```
この例では、現在のディレクトリ内のファイルやディレクトリの一覧が表示されます。

## **rm**: ファイルやディレクトリの削除
`rm`コマンドは、"remove"の略で、ファイルやディレクトリを削除するためのコマンドです。これは、不要なファイルやディレクトリを削除するための基本的なコマンドで、ファイルやディレクトリの削除を行うために頻繁に使用されます。
```bash:rm:使用例
$ rm {"削除するファイル名"}
```
この例では、`ファイル名`という名前のファイルが削除されます。

## **mv**: ファイルやディレクトリの移動
`mv`コマンドは、"move"の略で、ファイルやディレクトリを移動する、または名前を変更するためのコマンドです。これは、ファイルやディレクトリの移動や名前の変更を行うための基本的なコマンドで、ファイルやディレクトリの管理を行うために頻繁に使用されます。
```bash:mv:使用例
$ mv {"現在のファイル名"} {"新しいファイル名"}
```
この例では、`現在のファイル名`という名前のファイルが`新しいファイル名`という名前に変更されます。

## おまけ vimの説明

 **vim ファイル名**: ファイルを作成、またはすでに作成されていた場合の書き換えに使用する。
`vim`は強力なテキストエディタで、ファイルの作成や編集に使用します。以下に基本的な操作方法を示します。
```bash
$ vim ファイル名
```
- `i`: 記述モードに変更 このモードでは、キーボード入力が直接テキストファイルに反映されます。
- `Esc`: 記述モード終了 このモードでは、コマンドを入力して操作を行います。
- `:wq`: 上書き保存して終了 変更した内容を保存してからエディタを終了します。
- `:q!`: 保存せずに終了 変更した内容を保存せずにエディタを終了します。新たにファイルを作成していた場合、そのファイルは削除されます。