はじめに
みなさんこんにちはa_renrenです。
Linuxを学習し始めた時は、コマンドやオプションの多さに挫折しかけてしまうかと思います。
そんな方に向けてLinuxを扱う上で避けては通れない、Linuxファイル操作でよく使用する基本的なコマンドとオプションに絞って紹介していきます。
実際の使用例なども載せていますので、Linuxコマンドを実行できる環境をお持ちでしたら試しながら読み進めていただくと、コマンドの苦手意識が減ってくるかと思います。
ぜひ操作しながら読み進めてみてください。
Linuxファイル作成
touchコマンド
指定したファイルのタイムスタンプを更新するLinuxコマンドですが、存在しないファイルを指定すると空のファイルが作成されます。
空のファイルを手っ取り早く作成する際によく使用します。
# touch ファイル名
実際にコマンドを実行してみます。
[root@ren test]# ls [root@ren test]# touch sample.txt [root@ren test]# ls sample.txt
lsコマンドでディレクトリの中身を確認しています。
はじめは何もありませんでしたが、touchコマンドによってファイルが作成されていることが確認することができます。
また、以下のようにファイル名を半角スペースで区切ると一気に複数のファイルを作成することが可能です。
[root@ren test]# touch sample2.txt sample3.txt [root@ren test]# ls sample.txt sample2.txt sample3.txt
viコマンド
Linux標準のテキストエディタを起動するコマンドで、指定したファイルがあればそのファイルがviエディタで開かれ、指定したファイルがなければ新規作成します。 新しくファイルを作成しつつ、そのファイルに何か書き込みたい際は、touchコマンドよりviコマンドの方が便利です。
# vi ファイル名
viはコマンドモードと入力モードの二つがあり、コマンドモードでカーソルの移動ができ、入力モードでないと文字入力できないようになっています。
はじめは少しややこしいかと思いますが、慣れると高速にファイルの操作が行えるようになります。
実際に新規ファイルを作成しつつ、ファイルに文字を記述する流れは以下のようになります。
「i」を入力して入力モードに変更
※空のファイルが開いた際はコマンドモードになっています好きなように編集
入力が完了したらEscキーを押して、コマンドモードに戻す
[:wq]を入力すると保存されてviを終了
vi コマンドやLinuxの理解をより深めたい方へ以下関連おすすめブログ
- vi コマンド【使い方まとめ】
- よく使うLinuxコマンド一覧【最新版】
- 初心者のためのawkコマンド
- 実務で使える!基本的なシェル(Linux)コマンドの話 ~forとsed~
- 【Linux】今振り返りたい、プロセスって何?
Linuxファイル削除
rmコマンド
指定したファイルやディレクトリを削除できます。
# rm ファイル名
実際にファイルが削除されるか確認してみます。
touchコマンドの際に作成したsamle.txtを削除します。
[root@ren test]# rm sample.txt rm: 通常の空ファイル 'sample.txt' を削除しますか? y [root@ren test]# ls sample2.txt sample3.txt
削除時、上記のように確認されるので、対象ファイルに間違いがなければ「y」を入力します。
対象ファイルを間違えた場合は「n」を押せばキャンセルされます。
また、ファイルのみだけでなくディレクトリも削除することが可能です。
以下のように、mkdirコマンドでtestディレクトリを作成して、削除してみます。
オプションなしでは削除はできていませんが、-rオプションを付けることで削除することができていることがわかります。
[root@ren test]# mkdir test [root@ren test]# ls -l 合計 0 -rw-r--r-- 1 root root 0 5月 27 19:21 sample2.txt -rw-r--r-- 1 root root 0 5月 27 19:21 sample3.txt drwxr-xr-x 2 root root 6 5月 27 19:47 test [root@ren test]# rm test rm: 'test' を削除できません: ディレクトリです [root@ren test]# rm -r test rm: ディレクトリ 'test' を削除しますか? y [root@ren test]# ls -l 合計 0 -rw-r--r-- 1 root root 0 5月 27 19:21 sample2.txt -rw-r--r-- 1 root root 0 5月 27 19:21 sample3.txt
基本的に、ファイルやディレクトリを削除するときは上記のように削除するか問われますが、-fオプションを付けるとこの確認がなくなります。
わずらわしさはなくなりますが、気づかないうちに自分の意図しない大切なLinuxファイルを削除してしまい、最悪Linuxが起動できない事態にも陥る可能性があるので、-fオプションは使用しないことをおすすめします。
Linuxファイルのコピー、移動
cpコマンド
ファイルやディレクトリのコピーを作成する際に使用します。
# cp コピー元 コピー先
testdirディレクトリにsample2.txtファイルのコピーを作成してみます。 treeコマンドでディレクトリやファイルをツリー状に表示しています。
[root@ren test]# tree . ├── sample2.txt ├── sample3.txt └── testdir 1 directory, 2 files [root@ren test]# cp sample2.txt testdir [root@ren test]# tree . ├── sample2.txt ├── sample3.txt └── testdir └── sample2.txt 1 directory, 3 files
また、以下のようにコピー先のファイル名を指定することで名前を変更しつつ対象のディレクトリにコピーすることもできます。
[root@ren test]# tree . ├── sample2.txt ├── sample3.txt └── testdir └── sample2.txt 1 directory, 3 files [root@ren test]# cp sample2.txt testdir/rename-sample2.txt [root@ren test]# tree . ├── sample2.txt ├── sample3.txt └── testdir ├── rename-sample2.txt └── sample2.txt 1 directory, 4 files
-pオプションでコピー元のパーミッション(ファイルを閲覧したり実行したりする権限)の設定を保持したままコピーを作成できます。
そのため、基本的に-pを付けてコピーしたファイルの操作ができなくなることを防ぐことをおすすめします。
mvコマンド
ファイルやディレクトリを移動させる際に使用します。 cpコマンドと似ている点がありますが、コピーと違いファイルは移動元からはなくなります。
# mv 移動元 移動先
[root@ren test]# tree . ├── sample2.txt ├── sample3.txt └── testdir ├── rename-sample2.txt └── sample2.txt 1 directory, 4 files [root@ren test]# mv sample3.txt testdir [root@ren test]# tree . ├── sample2.txt └── testdir ├── rename-sample2.txt ├── sample2.txt └── sample3.txt 1 directory, 4 files
cpコマンドと同様に名前を変更しつつ、ファイルの移動をすることもできます。
Linuxファイル閲覧・テキスト処理
catコマンド
ファイルの中身を簡単に確認する際によく使用します。
# cat ファイル名
[root@ren test]# cat sample2.txt 1 2 3 4 5
tailコマンド
catコマンドと同様に、ファイルの中身を簡単に確認する際に使用します。
tailコマンドでは、ファイルの中身をすべて表示せずに最終行から指定された行数分表示します。(デフォルトでは10行)
ログの監視の際などによく使用します。
# tail ファイル名
1行目のコマンドでsample2.txtに、1から20の数字を20行分書き込んでからtailコマンドで実際に見てみます。
[root@ren test]# for i in `seq 20`; do echo $i >> sample2.txt; done [root@ren test]# tail sample2.txt 11 12 13 14 15 16 17 18 19 20
行数をしていないため、最終行から10行分表示されています。
行数を指定するには以下のように指定します。
[root@ren test]# tail -n 4 sample2.txt 17 18 19 20
指定された行数分表示されているのが確認できます。
-fオプションを付けると対象のファイルを監視して、ファイルを閉じたり再度開いたりせずに追記された内容を表示します。
[root@ren test]# tail -f -n 4 sample2.txt 17 18 19 20
この状態のまま、別ターミナルでsample2.txtに21、22を追記してみます。
[root@ren test]# tail -f -n 4 sample2.txt 17 18 19 20 21 22
追記した内容がしっかりと更新されているのがわかります。
このため、ログが正常に取れているかの確認やログの内容を監視したい際にとても便利なLinuxコマンドです。
grepコマンド
ファイルの中身を簡単に確認する際によく使用します。
grep 検索したい文字列 ファイル名
指定したファイルから特定の文字が含まれている行を抽出するLinuxコマンドです。
samloe2.txtファイルから5が記載されている行を抽出してみます。
[root@ren test]# grep 5 sample2.txt 5 15
5または6が記載されている行を抽出するような、複数条件を指定する場合には以下のように-eオプションを使用します。
[root@ren test]# grep -e 5 -e 6 sample2.txt 5 6 15 16
逆に指定した文字列以外を抽出するには、-vオプションを使用します。
[root@ren test]# grep -v 1 sample2.txt 2 3 4 5 6 7 8 9 20
おわりに
いかがでしたでしょうか。
Linuxファイル操作でよく使うような基本的なLinuxコマンドを中心に紹介しましたが、実際にコマンド操作をしないとなかなか覚えられないかと思います。
まずは、基本的なLinuxコマンドの操作に慣れることを優先し、ほかにも様々な便利コマンドがLinuxにはあるので、慣れてきたら徐々にほかのコマンドを試していきながらLinuxの学習を進めることをおすすめします。
ちなみに、「よく使うLinuxコマンド一覧【最新版】」も別にまとめておりますのでご参考ください。
Linuxの理解をより深めたい方へ以下関連おすすめブログ
・ls コマンド 【使い方 まとめ】
・find コマンド 【使い方 まとめ】
・iptables まとめ【Linux ファイアウォール】
・sed コマンド【使い方 まとめ】
・ vi コマンド【使い方まとめ】
・ 初心者のためのawkコマンド
・ 実務で使える!基本的なシェル(Linux)コマンドの話 ~forとsed~
・ 【Linux】今振り返りたい、プロセスって何?
エンジニア中途採用サイト
ラクスでは、エンジニア・デザイナーの中途採用を積極的に行っております!
ご興味ありましたら是非ご確認をお願いします。
https://career-recruit.rakus.co.jp/career_engineer/カジュアル面談お申込みフォーム
どの職種に応募すれば良いかわからないという方は、カジュアル面談も随時行っております。
以下フォームよりお申込みください。
rakus.hubspotpagebuilder.comラクスDevelopers登録フォーム
https://career-recruit.rakus.co.jp/career_engineer/form_rakusdev/イベント情報
会社の雰囲気を知りたい方は、毎週開催しているイベントにご参加ください!
◆TECH PLAY
techplay.jp
◆connpass
rakus.connpass.com