Help us understand the problem. What is going on with this article?

【Linuxコマンドまとめ】ファイルの操作

概要

Linuxコマンドでファイルを操作するコマンドをまとめました。

ファイルの中身を表示する

catコマンド:concatenate
【書き方】$ cat ファイル名

// 例1 /etc/testファイルの中身を表示する
$ cat /etc/test

// 例2 ファイルの中身と行番号も表示する
$ cat -n /etc/test

// 例3 複数のファイルも表示できる
$ cat /etc/test /etc/hosts

ファイルの中身をスクロール表示する

lessコマンド:less - opposite of more
【書き方】$ less ファイル名

※長いファイルの中身を見るときに使えます。

// 例1
$ less /etc/hosts

参考:スクロール表示の操作

キー 内容
f 1画面下にスクロール
b 1画面上にスクロール
j 1行下にスクロール
k 1行上にスクロール
q lessコマンドを終了

参考:検索の操作

キー 内容
/文字列 下方向に向かって検索
?文字列 上方向に向かって検索
n 次の検索結果に移動
N 前の検索結果に移動

空のファイルを作成する

touchコマンド:touch
【書き方】$ touch 新規ファイル名

※ファイル名が存在しているときは、上書きはされずタイムスタンプだけ更新される。

// 例1 index.htmlファイルを作成する
$ touch index.html

// 例2 複数のファイルを作成する
$ touch index.html style.css

ファイル・ディレクトリを削除する

rmコマンド:remove
【書き方】$ rm ファイル名

// 例1 index.htmlファイルを削除する
$ rm index.html

// 例2 ディレクトリも合わせて削除する
$ rm -r dir

// 例3 ファイルを削除する際に警告文を表示しない
$ rm -f file

// 例4 ファイルの削除前に確認を表示する
$ rm -i file

ファイル名を変更する/ファイルを移動する

mvコマンド:move
【書き方】
ファイル名の変更:$ mv 元のファイル名 変更後のファイル名
ファイル名の移動:$ mv 移動元 移動先

// 例1 ファイル名を変更する
$ mv file file1

// 例2 ファイルを移動する
$ mv file dir/ 

// 例3 上書きする前に確認する
$ mv -i file file1

ファイル・ディレクトリをコピーする

cpコマンド:copy
【書き方】
ファイルのコピー:$ cp コピー元 コピー先
ディレクトリのコピー:$ cp -r コピー元 コピー先

// 例1 ファイルをコピーする
$ cp file file1

// 例2 ファイルをディレクトリ内にコピー
$ cp file dir 

// 例3 上書きする前に確認する
$ cp -i file file1

// 例4 ディレクトリをコピーする
$ cp -r dir dir1

リンクを貼る

lnコマンド:link
【書き方】
ハードリンク:$ ln 元のファイル名 ハードリンク名
シンボリックリンク:$ ln -s 元のファイル名 シンボリックリンク名

Linuxでは、ファイルに別名をつけることができ、それを「リンクを貼る」といいます。Windowsで言うショートカットのようなものです。長いパス名を省略したいときや、複数のバージョンの中から最新のものにアクセスしたいときに使うと便利です。ハードリンクには、制限が多いためシンボリックリンクを使うことが多いです。

ハードリンクとは?
ファイルに複数の名前をつけることができる機能のことです。元のファイルを削除しても、ハードリンクを削除しない限りハードリンクは消えません。

シンボリックリンクとは?
ファイルを参照できるリンク先が書かれた特殊なファイルのことです。元のファイルを削除すると、シンボリックリンクから元のファイルを参照できなくなります。

// 例1 ハードリンクを貼る
$ ln file file1

// 例2 シンボリックリンクを貼る
$ ln -s file file1

ファイルを検索する

findコマンド:find
【書き方】$ find 開始ディレクトリ 検索条件 アクション
※アクションは省略すると、-printの挙動となる。-printは検索結果のパス名を表示する。

// 例1 カレントディレクトリから拡張子.htmlを検索して表示する
$ find . -name '*.html'

// 例2 複数の条件で検索する
$ find . -type l -name '*.html'

検索条件

検索条件 内容
-name ファイル名(大文字小文字を区別する)で検索
-iname ファイル名(大文字小文字を区別しない)で検索
-type f ファイルの種類が通常ファイルのものを検索
-type l ファイルの種類がシンボリックリンクのものを検索
-type d ファイルの種類がディレクトリのものを検索
-a 複数の条件を組み合わせて検索(省略可)

ファイル内の文字列を検索する

grepコマンド:global regular expression print
【書き方】$ grep 正規表現 ファイル名

// 例1 text.txt内の文字列abcを検索する
$ grep abc text.txt

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした