Newer
Older
hello-programmer-world / src / pages / cli / 02-common-commands.mdx
@h.sakamoto h.sakamoto 22 days ago 3 KB cli
---
layout: "@/layouts/MarkdownLayout.astro"
---

import "github-markdown-css";
import Toc from "../../components/Toc.astro";
import Image from "../../components/Image.astro";

export const title = "ファイル操作の基本コマンド";

# {title}

## TOC

## ディレクトリの移動と確認

### pwd

現在のディレクトリ位置を確認します。

WindowsではExplorer、MacではFinderなどで、表示されている場所に相当します。

```bash frame=terminal
$ pwd
/home/user/projects
```

### ls

### cd

## ファイル・ディレクトリの操作

ターミナル上では、現在のディレクトリを基準にしてファイルやディレクトリの操作を行います。

### touch

### rm

### mkdir

### rmdir

### mv

### cat

## その他

### echo

## ジョークコマンド

### sl

### lolcat

### figlet

### cowsay

## ファイル操作でよく見る記号

### `/` (スラッシュ)

ディレクトリの区切りを表します。

なお、Windowsではバックスラッシュ (`\`) が使われます。  
また、環境によっては <code>&yen;</code>と表示されることがあります。  
これはバックスラッシュを表す番号に、<code>&yen;</code>の文字が割り当てられていた歴史的な経緯によるものです。

### `.` (ドット)

現在のディレクトリを表します。

```bash frame=terminal
$ pwd
/home/user/projects
$ cd .
$ pwd
/home/user/projects
```

### `..` (ドットドット)

現在のディレクトリの、1つ上のディレクトリを表します。

```bash frame=terminal
$ pwd
/home/user/projects
$ ls /home/user # 1つ上のディレクトリの内容を、明示的に指定して確認
projects projects2 sample.txt
$ ls ..         # 1つ上のディレクトリの内容を確認
projects projects2 sample.txt
```

組み合わせて使うこともできます。

```bash frame=terminal
$ pwd
/home/user/projects/src
$ ls ../..    # 2つ上のディレクトリの内容を確認
projects projects2 sample.txt
$ cd ../../projects2
$ pwd
/home/user/projects2
```

### `~` (チルダ)

ユーザーのホームディレクトリを表します。

```bash frame=terminal
$ pwd
/home/user/projects/path/to/somewhere
$ cat ~/sample.txt
これは、ホームディレクトリにあるsample.txtの内容です。
$ cd ~
$ pwd
/home/user
```

## 用語

### ルートディレクトリ (root directory)

ファイルシステムの最上位に位置するディレクトリのことです。  
これ以上上の階層は存在しません。

`/`で表されます。

なおWindowsでは、各ドライブ (C:やD:) がそれぞれ独立したルートディレクトリを持ちます。

`C:\` や `D:\` のように表されます。

### パス (path)

目的のファイルやディレクトリまでの道筋を示す文字列のことです。

### 絶対パス (absolute path)

[ルートディレクトリ](#ルートディレクトリ-root-directory)から始まるパスのことです。  
自分の現在位置に関係なく、常に同じ場所を指し示します。

```bash frame=terminal
$ cat /home/user/projects/sample.txt
これは、ホームディレクトリにあるsample.txtの内容です。
```

### 相対パス (relative path)

自分の現在位置を基準にしたパスのことです。

[絶対パス](#絶対パス-absolute-path)ではないパス全般を指すとも言えます。

```bash frame=terminal
$ pwd /home
$ cat user/sample.txt
これは、ホームディレクトリにあるsample.txtの内容です。
$ cat ./user/sample.txt
これは、ホームディレクトリにあるsample.txtの内容です。
```