SlideShare ist ein Scribd-Unternehmen logo
1 von 22
この章では、ファイル操作をするためのパスの指定、コマンドやアクセス権について学習していきます。
UNIX/Linuxのファイルには、「通常ファイル」と「ディレクトリ」、その他のファイルがあります。「通常ファイル」とは、一般的
なデータが記録されるファイルのことを指し、テキストデータや実行可能プログラムなどが該当します。
ディレクトリとは、Windowsでの「フォルダ」に相当し、ファイルを分類して収納しておく場所になります。
UNIX/Linuxでは、システム内のファイルをディレクトリの階層構造を利用して管理しています。
階層構造の一番上のディレクトリを、/(ルート)ディレクトリと呼びます。/(ルート)ディレクトリの下には、用途が決められたいく
つかのディレクトリを用いて、ファイルが分類されています。
何らかのファイル処理をするときはそのファイルがどこのディレクトリに保存されているかを指定する必要があります。ファイルの指定
方法には2種類あります。「絶対パス」による指定と「相対パス」による指定です。まずは、「絶対パス」による指定から説明します。
「絶対パス」とは、ルートディレクトリから目的のファイルまでの経路を書き表す方法です。また、経路にあたる各ディレクトリの間は
「/」(スラッシュ)で区切ります。一番先頭にある/(スラッシュ)は、ルートディレクトリを表します。「絶対パス」はユーザーがどのよう
な場所で作業していてもファイルを同じパス名で指定することができます。反面、常にルートディレクトリからの経路を全て指定するた
め、記述が長くなってしまうことが欠点です。
ユーザーは作業を行うとき、いずれかのディレクトリ上で作業を行います。その現在作業を行っているディレクトリのことを「カレント
ディレクトリ」といいます。「相対パス」とは、現在作業中のディレクトリ(カレントディレクトリ)から目的のファイルまでの経路を
指定する方法です。
「相対パス」では、スタート地点となるカレントディレクトリを「.」(ピリオド)で表します。また、カレントディレクトリの1つ上の
ディレクトリを親ディレクトリと呼び、「..」(ピリオド ピリオド)で表します。相対パスは、カレントディレクトリ以下のファイル
を表すときに便利です。なお、相対パスの先頭の「./」は、省略することもできます。
UNIX/Linuxのユーザーには自分用の専用のディレクトリが用意されます。これを「ホームディレクトリ」と呼び、ログインしたときには
ホームディレクトリがカレントディレクトリになります。
実際のLinuxの階層構造は/(ルート)ディレクトリの下に、用途ごとにディレクトリがいくつも用意されており、各ディレクトリにはシス
テムの様々なファイルが格納されています。
例えば、etcディレクトリには、システムの設定ファイル、varディレクトリにはログファイルやメールの情報、homeディレクトリには
ユーザのファイルなどが保存されています。
実際にファイルを使うときには、ディレクトリ階層を意識してファイルを指定する必要があります。
ディレクトリ・ファイル操作に利用するコマンドを学習していきます。まずは、ディレクトリを操作するコマンドから紹介します。
学習するコマンドは、pwdコマンド、lsコマンド、mkdirコマンド、cdコマンドです。
カレントディレクトリを確認するときはpwdコマンドを利用します。
ファイルを「相対パス」で指定するときは、カレントディレクトリを間違えると、正しくファイルが指定できません。
慣れないうちは、pwdコマンドで作業しているディレクトリを確認するといいでしょう。
ディレクトリ内のファイルの一覧を表示するにはlsコマンドを使用します。引数にディレクトリを絶対パスまたは相対パスで指定するこ
とで、指定したディレクトリ内のファイル一覧を表示することができます。また、引数を指定しない場合は、カレントディレクトリ内の
ファイルの一覧情報を表示します。
lsコマンドでよく使うオプションに「 l (エル)」オプションがあります。「 l (エル)」オプションを利用することで、ファイルの
所有者、サイズ、最終更新日付といった詳細な情報を確認することができます。
新しいディレクトリを作るときには、mkdirコマンドを使います。
引数には新しいディレクトリの名前を指定します。
ディレクトリ名をタイプミスすることもよくありますので、実行したあとはlsコマンドで確認するようにしましょう。
カレントディレクトリを別のディレクトリに変更するには、cdコマンドを使います。
引数に変更先のディレクトリの名前を指定します。
cdコマンドを引数なしで実行すると、ホームディレクトリにカレントディレクトリが戻ります。
次はファイルを操作するコマンドです。
ファイルを操作するコマンドとして、catコマンド、moreコマンド、cpコマンド、mvコマンド、rmコマンドを学習しましょう 。
ファイルの内容を表示するには、catコマンドを利用します。引数には内容を表示するファイルを指定します。なお、catコマンドは
複数のファイルを引数に指定することで、指定した複数のファイルを連結して表示することもできます。
また、行数の多いファイルの内容を参照する際は、moreコマンドが便利です。moreコマンドはファイルの内容を1画面ずつ表示す
るコマンドです。リターンキー(次の1行)やスペースキー(次の1ページ)を使い残りの内容を順番に表示することができます。
ファイルのコピーは、cpコマンドで行います。引数の指定の仕方により、いくつかバリエーションがあります。
①はカレントディレクトリ内で指定したファイルのコピーを行います。cpコマンドの1番目の引数には、コピー元のファイル名を、2番目の引数
には、新しいファイル名を指定して実行します。
②はファイルを別のディレクトリに同名でコピーします。引数には、コピー元のファイル名とコピー先のディレクトリを指定します。
③はカレントディレクトリのファイルを別のディレクトリに別名でコピーします。①と同様にコピー先のファイル名を記述します。
④はディレクトリのコピーを行います。ディレクトリ内のファイルをディレクトリごとまとめてコピーするには「r」オプションを使用しま
す。
ファイルを別の場所に移動するときには、mvコマンドを使います。
1番目の引数には移動したいファイル名、2番目の引数には移動先のディレクトリ名を指定します。
また、mvコマンドはファイルやディレクトリの名前を変更するときにも使います。
このときには、1番目の引数に変更前の名前、2番目の引数に変更後の名前を指定します。
ファイルの削除にはrmコマンドを使います。引数に削除したいファイルを指定します。また、複数のファイルを引数に指定し、同時に削
除することもできます。
なお、一度削除したファイルを元に戻すことはできないのでファイル名の指定を誤らないように気をつけてください。
また、ディレクトリを削除する際には「r」オプションを指定します。なお、ディレクトリを削除すると、ディレクトリ内のファイルも
全て削除されます。
UNIX/Linuxは複数の人が1台のコンピュータを共有できるマルチユーザーOSです。同じコンピュータの中には多くのユーザーのファイル
が保存されています。
そのため、UNIX/Linuxではファイルに対して行える操作を制限するための、ファイルを保護するアクセス権を設定することができま
す。ファイルにどのようなアクセス権が設定されているかは、lsコマンドの「l」オプションを使用して調べることができます。表示の
見方は、これから説明していきます。
UNIX/Linuxのファイルは、所有者・所有グループ・他人の3者に対してファイルのアクセス権をそれぞれ設定することができます。所有者
とはそのファイルの作成者のことです。また所有グループとは、自分と同じグループに属するユーザーのことを意味します。他人はそれ以
外のユーザーを表します。なお、だれがどのグループに属するのかは、スーパーユーザーが設定します。
lsコマンドの出力のうちアクセス権の表示欄は「rwx」の3文字の組が3組表示されています。この組が左から順番に所有者、グループ、他人
に対するアクセス権を表しています。「rwx」がどのようなアクセス権をあらわすのかを次で学習しましょう。
UNIX/Linuxではファイルに対して、3種類の権限を設定することができます。アクセス権の並びのことをファイルのモードと呼びます。
「r」は「read」を意味し、そのファイルが読み取り可能を表します。「w」は「write」を意味し、書き込み可能を表します。「x」は
「execute」を意味し実行可能を表します。モードはrwxの順で表し、禁止の部分には「-」が使われます。
例えば、「r--」の場合、読み取りのみ許可を表し、「rw-」は読み取りと書き込みの両方が許可されていることを表します。
従って、例のようにファイルのモードが「rw-r--r--」の場合は、所有者は読み書き可能、グループと他人には読み取りのみ可能を表してい
ます。
ファイルのモードはファイルの所有者とスーパーユーザーならば、変更することができます。ファイルのモードを変更するには、chmodコ
マンドを使います。
chmodコマンドの引数には保護モードの設定と設定対象のファイル名を記述します。保護モードは、3つのパートからなります。最初の
パートは誰に対して設定するかを表し、2つ目のパートはその設定が許可なのか、禁止なのかを表し、3つ目のパートは、何の権限を設定す
るのかを表します。上記の例では、「go-r」を指定し、「グループと他人に対して読み取りを禁止」に設定しています。
ファイルと同様にディレクトリに対してもモードが設定されています。ただし、モードの意味がファイルに対するものとは少し違いま
す。ディレクトリを読み取り可能に設定すると、そのディレクトリに格納されているファイルの一覧リストを得ることができるという意
味になります。つまり、そのディレクトリに対してlsコマンドが実行できるかどうかが決まります。ディレクトリを書き込み可能に設定す
ると、そのディレクトリ内にファイルやディレクトリを作成または削除できるという意味になります。つまり、そのディレクトリ内の
ファイルに対してmkdir、cp 、mv、rmコマンドを実行できるかどうかが決まります。ディレクトリを実行可能に設定すると、そのディレ
クトリ及びディレクトリ内のファイルへアクセスできるという意味になります。つまり、そのディレクトリに対して、cdコマンド等を実
行できるかが決まります。

Weitere ähnliche Inhalte

Mehr von Enpel

2 プロジェクトマネジメント 第5章 マネジメント実践(2)
2 プロジェクトマネジメント 第5章 マネジメント実践(2)2 プロジェクトマネジメント 第5章 マネジメント実践(2)
2 プロジェクトマネジメント 第5章 マネジメント実践(2)
Enpel
 
2 プロジェクトマネジメント 第5章 マネジメント実践(1)
2 プロジェクトマネジメント 第5章 マネジメント実践(1)2 プロジェクトマネジメント 第5章 マネジメント実践(1)
2 プロジェクトマネジメント 第5章 マネジメント実践(1)
Enpel
 
2 プロジェクトマネジメント ○第4章 PMBOKの9つの知識(4)
2 プロジェクトマネジメント ○第4章 PMBOKの9つの知識(4)2 プロジェクトマネジメント ○第4章 PMBOKの9つの知識(4)
2 プロジェクトマネジメント ○第4章 PMBOKの9つの知識(4)
Enpel
 
2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(3)
2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(3)2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(3)
2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(3)
Enpel
 
2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(2)
2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(2)2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(2)
2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(2)
Enpel
 
2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(1)
2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(1)2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(1)
2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(1)
Enpel
 
2 プロジェクトマネジメント 第3章 PMBOKのプロセス群
2 プロジェクトマネジメント 第3章 PMBOKのプロセス群2 プロジェクトマネジメント 第3章 PMBOKのプロセス群
2 プロジェクトマネジメント 第3章 PMBOKのプロセス群
Enpel
 
2 プロジェクトマネジメント 第2章 マネジメントとPMBOK
2 プロジェクトマネジメント 第2章 マネジメントとPMBOK2 プロジェクトマネジメント 第2章 マネジメントとPMBOK
2 プロジェクトマネジメント 第2章 マネジメントとPMBOK
Enpel
 
2 プロジェクトマネジメント 第1章 プロジェクトマネジメントの前提
2 プロジェクトマネジメント 第1章 プロジェクトマネジメントの前提2 プロジェクトマネジメント 第1章 プロジェクトマネジメントの前提
2 プロジェクトマネジメント 第1章 プロジェクトマネジメントの前提
Enpel
 
3 基礎UML言語 第3章 クラス図とオブジェクト図(2)
3 基礎UML言語 第3章 クラス図とオブジェクト図(2) 3 基礎UML言語 第3章 クラス図とオブジェクト図(2)
3 基礎UML言語 第3章 クラス図とオブジェクト図(2)
Enpel
 
1 システム開発の基礎 第2章 システム開発作業(3)
1 システム開発の基礎 第2章 システム開発作業(3)1 システム開発の基礎 第2章 システム開発作業(3)
1 システム開発の基礎 第2章 システム開発作業(3)
Enpel
 
1 システム開発の基礎 第2章 システム開発作業(2)
1 システム開発の基礎 第2章 システム開発作業(2)1 システム開発の基礎 第2章 システム開発作業(2)
1 システム開発の基礎 第2章 システム開発作業(2)
Enpel
 
1 システム開発の基礎 第2章 システム開発作業(1)
1 システム開発の基礎 第2章 システム開発作業(1)1 システム開発の基礎 第2章 システム開発作業(1)
1 システム開発の基礎 第2章 システム開発作業(1)
Enpel
 
1 システム開発の基礎 第1章 システム開発の基礎知識(2)
1 システム開発の基礎 第1章 システム開発の基礎知識(2)1 システム開発の基礎 第1章 システム開発の基礎知識(2)
1 システム開発の基礎 第1章 システム開発の基礎知識(2)
Enpel
 
1 システム開発の基礎 第1章 システム開発の基礎知識(1)
1 システム開発の基礎 第1章 システム開発の基礎知識(1)1 システム開発の基礎 第1章 システム開発の基礎知識(1)
1 システム開発の基礎 第1章 システム開発の基礎知識(1)
Enpel
 
3 基礎UML言語 第5章 演習問題
3 基礎UML言語 第5章 演習問題3 基礎UML言語 第5章 演習問題
3 基礎UML言語 第5章 演習問題
Enpel
 
3 基礎UML言語 第4章 シーケンス図
3 基礎UML言語 第4章 シーケンス図3 基礎UML言語 第4章 シーケンス図
3 基礎UML言語 第4章 シーケンス図
Enpel
 
3 基礎UML言語 第3章 クラス図とオブジェクト図(1)
3 基礎UML言語 第3章 クラス図とオブジェクト図(1)3 基礎UML言語 第3章 クラス図とオブジェクト図(1)
3 基礎UML言語 第3章 クラス図とオブジェクト図(1)
Enpel
 
3 基礎UML言語 第2章 オブジェクト指向の基本用語(3)
3 基礎UML言語 第2章 オブジェクト指向の基本用語(3)3 基礎UML言語 第2章 オブジェクト指向の基本用語(3)
3 基礎UML言語 第2章 オブジェクト指向の基本用語(3)
Enpel
 
3 基礎UML言語 第2章 オブジェクト指向の基本用語(2)
3 基礎UML言語 第2章 オブジェクト指向の基本用語(2)3 基礎UML言語 第2章 オブジェクト指向の基本用語(2)
3 基礎UML言語 第2章 オブジェクト指向の基本用語(2)
Enpel
 

Mehr von Enpel (20)

2 プロジェクトマネジメント 第5章 マネジメント実践(2)
2 プロジェクトマネジメント 第5章 マネジメント実践(2)2 プロジェクトマネジメント 第5章 マネジメント実践(2)
2 プロジェクトマネジメント 第5章 マネジメント実践(2)
 
2 プロジェクトマネジメント 第5章 マネジメント実践(1)
2 プロジェクトマネジメント 第5章 マネジメント実践(1)2 プロジェクトマネジメント 第5章 マネジメント実践(1)
2 プロジェクトマネジメント 第5章 マネジメント実践(1)
 
2 プロジェクトマネジメント ○第4章 PMBOKの9つの知識(4)
2 プロジェクトマネジメント ○第4章 PMBOKの9つの知識(4)2 プロジェクトマネジメント ○第4章 PMBOKの9つの知識(4)
2 プロジェクトマネジメント ○第4章 PMBOKの9つの知識(4)
 
2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(3)
2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(3)2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(3)
2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(3)
 
2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(2)
2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(2)2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(2)
2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(2)
 
2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(1)
2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(1)2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(1)
2 プロジェクトマネジメント 第4章 PMBOKの9つの知識(1)
 
2 プロジェクトマネジメント 第3章 PMBOKのプロセス群
2 プロジェクトマネジメント 第3章 PMBOKのプロセス群2 プロジェクトマネジメント 第3章 PMBOKのプロセス群
2 プロジェクトマネジメント 第3章 PMBOKのプロセス群
 
2 プロジェクトマネジメント 第2章 マネジメントとPMBOK
2 プロジェクトマネジメント 第2章 マネジメントとPMBOK2 プロジェクトマネジメント 第2章 マネジメントとPMBOK
2 プロジェクトマネジメント 第2章 マネジメントとPMBOK
 
2 プロジェクトマネジメント 第1章 プロジェクトマネジメントの前提
2 プロジェクトマネジメント 第1章 プロジェクトマネジメントの前提2 プロジェクトマネジメント 第1章 プロジェクトマネジメントの前提
2 プロジェクトマネジメント 第1章 プロジェクトマネジメントの前提
 
3 基礎UML言語 第3章 クラス図とオブジェクト図(2)
3 基礎UML言語 第3章 クラス図とオブジェクト図(2) 3 基礎UML言語 第3章 クラス図とオブジェクト図(2)
3 基礎UML言語 第3章 クラス図とオブジェクト図(2)
 
1 システム開発の基礎 第2章 システム開発作業(3)
1 システム開発の基礎 第2章 システム開発作業(3)1 システム開発の基礎 第2章 システム開発作業(3)
1 システム開発の基礎 第2章 システム開発作業(3)
 
1 システム開発の基礎 第2章 システム開発作業(2)
1 システム開発の基礎 第2章 システム開発作業(2)1 システム開発の基礎 第2章 システム開発作業(2)
1 システム開発の基礎 第2章 システム開発作業(2)
 
1 システム開発の基礎 第2章 システム開発作業(1)
1 システム開発の基礎 第2章 システム開発作業(1)1 システム開発の基礎 第2章 システム開発作業(1)
1 システム開発の基礎 第2章 システム開発作業(1)
 
1 システム開発の基礎 第1章 システム開発の基礎知識(2)
1 システム開発の基礎 第1章 システム開発の基礎知識(2)1 システム開発の基礎 第1章 システム開発の基礎知識(2)
1 システム開発の基礎 第1章 システム開発の基礎知識(2)
 
1 システム開発の基礎 第1章 システム開発の基礎知識(1)
1 システム開発の基礎 第1章 システム開発の基礎知識(1)1 システム開発の基礎 第1章 システム開発の基礎知識(1)
1 システム開発の基礎 第1章 システム開発の基礎知識(1)
 
3 基礎UML言語 第5章 演習問題
3 基礎UML言語 第5章 演習問題3 基礎UML言語 第5章 演習問題
3 基礎UML言語 第5章 演習問題
 
3 基礎UML言語 第4章 シーケンス図
3 基礎UML言語 第4章 シーケンス図3 基礎UML言語 第4章 シーケンス図
3 基礎UML言語 第4章 シーケンス図
 
3 基礎UML言語 第3章 クラス図とオブジェクト図(1)
3 基礎UML言語 第3章 クラス図とオブジェクト図(1)3 基礎UML言語 第3章 クラス図とオブジェクト図(1)
3 基礎UML言語 第3章 クラス図とオブジェクト図(1)
 
3 基礎UML言語 第2章 オブジェクト指向の基本用語(3)
3 基礎UML言語 第2章 オブジェクト指向の基本用語(3)3 基礎UML言語 第2章 オブジェクト指向の基本用語(3)
3 基礎UML言語 第2章 オブジェクト指向の基本用語(3)
 
3 基礎UML言語 第2章 オブジェクト指向の基本用語(2)
3 基礎UML言語 第2章 オブジェクト指向の基本用語(2)3 基礎UML言語 第2章 オブジェクト指向の基本用語(2)
3 基礎UML言語 第2章 オブジェクト指向の基本用語(2)
 

1 Linux入門 第3章 ファイル操作