【Linux】ディレクトリ・ファイルの閲覧、コピー、移動の方法(hands-on形式)

Linux
スポンサーリンク

※本サイトにはプロモーション・広告が含まれています(はづきのブログより)

※この記事は初心者向けに平易に解説しています。正確な理解をしたい人は専門書・専門家をあたっていただければと思います。また、この記事の情報におけるCPの動作結果については自己責任でお願いします。

はづき
はづき

こんにちは!はづきです

文系から一部上場IT企業に就職し、エンジニアをやっています

この記事では以下のLinux操作について解説していきます!
hands-on形式になっているので、実際に操作しながら確認してみてください!

  1. catでファイルの内容を表示する
  2. lessでファイルの内容を閲覧する
  3. cpでファイル/ディレクトリをコピーする
  4. mvでファイル/ディレクトリを移動する

 

<共有>
Linuxに関するまとめ記事は以下になります!
環境構築、Linuxの概要、コマンドごとの詳細、を記事にしています。ぜひご参考ください

<前提>
1.この記事はLinux hands-onシリーズの第4回となります
 第1~3回の知識を前提としますのであらかじめご了承ください

 第1回:【Linux】hands-onで学ぶ|ディレクトリの種類とパスについて

 第3回:【Linux】vimエディタでテキスト編集する方法

2.Linuxを動かすための環境構築ができていない方は以下をご参考ください

 参考:Ubuntuのインストール方法を解説~Windows PCでLinuxを動かす~

3.この記事ではLinuxターミナル画面の様子を以下のように表現します

スポンサーリンク

ファイルの内容の表示(cat)

catはファイルの内容をターミナル画面に表示するコマンドです

引数としてファイル名を指定することで簡単に使えます。短い行数で構成されたファイルを閲覧したい場合には、catが便利です

cat {オプション} {ファイル名}

 

ここからは下記の2つのcat操作を実際に試していきます!

  1. catでファイルの内容を表示する
  2. catで2つのファイルを連結表示する

事前準備として、2つのテキストファイルをvimエディタでホームディレクトリ配下に作成します

<ファイル1>
 ・ファイル名:sample1
 ・ファイル内容:以下、参考

hazuki blog sample text1

<ファイル2>
 ・ファイル名:sample2
 ・ファイル内容:以下、参考

HAZUKI BLOG SAMPLE TEXT2
hazuki blog sample text2

↓2つのファイル作成までのターミナル画面のコマンドは以下のようになります

#以下、Linuxターミナル画面(Ubuntu)
hazukiblog@hazukiBlog:~$ pwd #ホームディレクトリであることを確認
/home/hazukiblog
hazukiblog@hazukiBlog:~$ vim sample1 #vimでファイル内容を記述し保存(:wq)
hazukiblog@hazukiBlog:~$ vim sample2 #vimでファイル内容を記述し保存(:wq)
hazukiblog@hazukiBlog:~$ ls #2つのファイルが作成されたことを確認
sample1  sample2
hazukiblog@hazukiBlog:~$

 

【実践1】catでファイルの内容を表示する

catコマンドの引数に「sample1」を指定して、ファイルの中身を表示してみます

#以下、Linuxターミナル画面(Ubuntu)
hazukiblog@hazukiBlog:~$ cat sample1
hazuki blog sample text1 #←catによりファイル内容が表示できました!
hazukiblog@hazukiBlog:~$

「-n」オプションを指定すると行数が表示されるようになります。「sample2」の行数を表示させてみましょう

#以下、Linuxターミナル画面(Ubuntu)
hazukiblog@hazukiBlog:~$ cat -n sample2 #行数が表示されるようになる
     1  HAZUKI BLOG SAMPLE TEXT2
     2  hazuki blog sample text2
hazukiblog@hazukiBlog:~$

 

【実践2】catで2つのファイルを連結表示する

catは「concatenate」の略省です。連結が主な働きになります

そのため、以下のように2つのファイルを指定することで、ファイルの内容を連結して表示させることができます。あくまで、"表示させている"だけであり連結したテキストは保存されません

#以下、Linuxターミナル画面(Ubuntu)
hazukiblog@hazukiBlog:~$ cat sample1 sample2
hazuki blog sample text1 #←sample1の内容
HAZUKI BLOG SAMPLE TEXT2 #←sample2の内容
hazuki blog sample text2 #←sample2の内容
hazukiblog@hazukiBlog:~$

 

他にも標準入出力を使った応用操作や便利なオプションなど、活用場面が多いです。もっと詳細を知りたい方は以下の記事をご参考ください!

ファイルの内容の閲覧(less)

lessコマンドはファイルを閲覧できるコマンドです

catと異なり閲覧専用の画面でファイル内容を表示できるため、長文ファイルを読む際に向いているコマンドとなります

また、文字列検索やgrep検索といった便利な使い方もできます

less [オプション] [閲覧したいファイル名※複数指定可]

 

【実践3】lessで長文ファイルを閲覧する

まずは閲覧する長文ファイルを探します。ディストリビューション内に既に用意されている3KB以上のファイルが良いでしょう

WindowsにLinux環境を構築している人は以下のように「/etc」配下にある3KBのファイルを探してみてください

この記事では「adduer.conf」という名前の設定ファイルをlessで閲覧してみます。以下を参考に閲覧するファイルを絶対パスで指定してlessを実行してみてください

#以下、Linuxターミナル画面(Ubuntu)
hazukiblog@hazukiBlog:~$ less /etc/adduser.conf

すると、以下のようなlessの閲覧画面に遷移します

この閲覧画面ではコマンドでスクロールして、ファイルを閲覧することができます。以下の表にコマンドをまとめたので、実際にいろいろ試してみてください!この画面を終了したい場合は「q」を押してください

コマンド用途
f , スペース, page down1画面分進む
b, page up1画面分戻る
j, e, Enter, ctrl+n, ↓1行分進む
k, y, ctrl+p, ↑1行分戻る
qlessコマンドを終了する
:p前のファイルに切り替える※複数ファイル指定時のみ
:n次のファイルに切り替える※複数ファイル指定時のみ
gファイルの先頭を表示する
Gファイルの終端に移動する

 

先ほどのlessの閲覧画面では文字列検索Grep検索、便利なオプション、などの応用操作もあります!詳しく知りたい方は以下の記事をご参考ください

ファイル/ディレクトリのコピー(cp)

cpはファイル/ディレクトリをコピーするためのコマンドです

コピー元ファイル/ディレクトリとコピー先のパスを指定すれば複製することができます

cp {オプション} {コピー元※複数可} {コピー先}

 

【実践4】ファイルをコピーする

先ほどcatコマンドで閲覧していたsample1ファイルをdir1ディレクトリ配下にコピーしてみます

コピーのためのコマンドは「cp sample1 dir1/sample1_cp」です。わかりやすいようにコピーしたファイルの名前を「sample1_cp」とします

実行後は、コピー元とコピー先のファイルの内容が一致することを確認するため「cat」コマンドで2つのファイルの内容を閲覧しました

※事前に「mkdir dir1」を実行してdir1という名前のディレクトリを作成しています

#以下、Linuxターミナル画面(Ubuntu)
hazukiblog@hazukiBlog:~$ ls
dir1 work  sample1  sample2
#↑dir1,workというディレクトリとsample1,sample2というファイルがあることを確認
hazukiblog@hazukiBlog:~$ cat sample1 #sample1の内容を確認
hazuki blog sample text1
hazukiblog@hazukiBlog:~$ cp sample1 dir1/sample1_cp #コピーを実行
hazukiblog@hazukiBlog:~$ ls dir1 #dir1配下にsample1_cpファイルが増えたことを確認
sample1_cp
hazukiblog@hazukiBlog:~$ cat dir1/sample1_cp
hazuki blog sample text1
#↑ファイルの中身がコピー元(sample1)と同じことを確認

 

【実践5】ディレクトリをコピーする

次にディレクトリをコピーします!

dir1というディレクトリをdir2としてコピーします。このときdir1配下に存在するsample1_cpファイルも一緒にコピーします

コピーのためのコマンドは「cp -r dir1 dir2」です。「-r」オプションを指定しないとディレクトリはコピーできません。以下のようなエラーが出てしまいます

#以下、Linuxターミナル画面(Ubuntu)
#-rを指定しないと以下のようなエラーになる
hazukiblog@hazukiBlog:~$ cp dir1 dir2
cp: -r not specified; omitting directory 'dir1'

実際にdir1をdir2としてコピーします

#以下、Linuxターミナル画面(Ubuntu)
hazukiblog@hazukiBlog:~$ ls #コピー前の状況を確認
dir1  work  sample1  sample2
hazukiblog@hazukiBlog:~$ cp -r dir1 dir2 #dir1をdir2としてコピー
hazukiblog@hazukiBlog:~$ ls #dir2が増えている
dir1  dir2  sample1  sample2  work
hazukiblog@hazukiBlog:~$ ls dir2
sample1_cp
#dir2配下にはdir1と同様にsample1_cpファイルがある(=dir1をコピーできている証拠)

 

cpコマンドは既存ファイルをコピー先として指定すると上書きされてしまいます。また、既存ディレクトリをコピー先として指定すると既存ディレクトリ配下にコピー元ファイル/ディレクトリがコピーされます

このあたりの細かい挙動や便利なオプションを知りたい方は以下をご参考ください

ファイル/ディレクトリの移動(mv)

mvはファイル/ディレクトリを別階層に移動させるコマンドです

ファイルやディレクトリの名称変更をするときにも、このコマンドが使われます

mv {オプション} {移動元※複数可} {移動先}

 

【実践6】ディレクトリを移動させる

mvコマンドを使ってディレクトリを移動させてみます

具体的には「mv dir2 work」コマンドを実行して、dir2ディレクトリをworkディレクトリ配下に移動させます。"dir2"の部分にファイル名を指定すれば、ファイルを移動させることも可能です

#以下、Linuxターミナル画面(Ubuntu)
hazukiblog@hazukiBlog:~$ ls #移動前の状況を確認
dir1  dir2  work  sample1  sample2
hazukiblog@hazukiBlog:~$ mv dir2 work #dir2をwork配下に移動させる
hazukiblog@hazukiBlog:~$ ls #dir2がなくなったことを確認
dir1  work  sample1  sample2
hazukiblog@hazukiBlog:~$ ls work #work配下にdir2があることを確認
dir2

 

【実践7】ファイルの名称を変更する

mvコマンドはファイル/ディレクトリの名称を変更することもできます

以下では「mv sample1 SAMPLE1」を実行してsample1ファイルをSAMPLE1ファイルという名前に変更します。名前を変更しているだけなので、ファイルの中身は変わりません

#以下、Linuxターミナル画面(Ubuntu)
hazukiblog@hazukiBlog:~$ ls #名称変更前の状況を確認
dir1  work  sample1  sample2
hazukiblog@hazukiBlog:~$ cat sample1 #sample1ファイルの内容を確認
hazuki blog sample text1
hazukiblog@hazukiBlog:~$ mv sample1 SAMPLE1 #sample1をSAMPLE1という名称に変更 
hazukiblog@hazukiBlog:~$ ls #sample1がなくなり、SAMPLE1になっている
SAMPLE1  dir1  work  sample2
hazukiblog@hazukiBlog:~$ cat SAMPLE1 #SAMPLE1の内容はsample1と変わらない
hazuki blog sample text1

mvコマンドはバックアップファイルを作成することもできます。このような応用操作や便利なオプションを知りたい方は、以下をご参考ください

 

以上で、ファイルの閲覧、ファイル/ディレクトリのコピー・移動コマンドの使い方解説は終わりです!

みなさんのお役に立てば幸いです。最後まで読んでいただきありがとうございました

おしまい

<共有>
1.もっと詳しい使い方・オプションについて知りたい方は以下のまとめ記事から「コマンドごとの解説ページ」をご参考ください

コメント

タイトルとURLをコピーしました