Linuxでのファイル操作
筑波大学農林工学系 奈佐原(西田)顕郎
注: Ubuntu Linux 16.04を想定しています。
ファイルの操作
次に、ファイルの操作法を学ぼう。コンソールを立ち上げ, 以下のコマンドを打ってみよう。( )は説明なので打たないでね!
$ cd ~ (ホームディレクトリに移動) $ echo Hello! > hello.txt $ ls -l hello.txt
詳細は省くが, ここでは2番めのechoというコマンドで, hello.txtというファイルを新しく作った。それを4行目のls -lで確認している。
ファイル操作の基本コマンド: cat, cp, mv, rm
では続けて以下を打っていこう:
$ cat hello.txt (次の行にHello!と表示が出るはず)
このcatというコマンドは, ファイルの中身を表示するコマンドである。
$ cp hello.txt hello2.txt $ ls -l hello* (hello.txtとhello2.txtの情報が出るはず)
このcpはファイルをコピーして新しく別のファイルを作るコマンドである(cpはcopyの意味)。3行目は, helloということばから始まるファイル名を持つファイル全てについてls -lをする。こうやって, 新しく作ったファイルを確認していくのだ。
$ mv hello2.txt hello3.txt (hello2.txtというファイルを、hello3.txtというファイルに移動(名前変更)) $ ls -l hello* (hello.txtとhello3.txtの情報が出るはず。hello2.txtは消えてる!!) $ cat hello3.txt
このmvは, ファイルやディレクトリの名前を変更したり, 別のディレクトリの中に移動するコマンドである。
$ rm hello3.txt (hello3.txtというファイルを消去) $ ls -l hello* (hello.txtの情報だけが出るはず。hello3.txtは消えてる!!)
このrmは, ファイルを消去するコマンドである。
ここに出て来た、以下のコマンドは, ファイルを操作するときに頻出する。必ず覚えよう:
cat ファイルの内容を表示 (concatenateの略) mv ファイルやディレクトリを移動(または名前変更) (moveの略) cp ファイルやディレクトリのコピー (copyの略) rm ファイルやディレクトリの削除 (removeの略)
ファイルの編集
続けて以下を打っていこう:
$ gedit hello.txt (hello.txtというファイルを編集)
すると, 新しいウィンドウが出て, ワープロみたいな画面になり, hello.txtの内容が表示される。それを次のように編集してみよう:
hello!!!! good bye!!!
そして, ファイルを保存し, 終了。その後, hello.txtの中身をcatコマンドで確認してみよう:
$ cat hello.txt
上の編集結果がちゃんと反映されているだろうか?
geditはテキストエディタというソフトであり, テキストファイルを編集するのに使う。プログラミングでよく使う。
ファイルの種類と拡張子
ファイルはその機能や種類をわかりやすくするために、名前に拡張子というものがついている。たとえば、"test.txt"や"test.pdf"のような名前の、ドット以降の3〜4文字(.txtや.pdfなど)がその拡張子で、.txtはテキストファイルを意味し, .pdfはPDF型式のファイルを意味する。
代表的な拡張子として、以下のようなものがある:
.txt テキストファイル (textの略) .csv CSV形式のテキストファイル(よくデータ出力に使われる) .jpg JPEG型式の画像ファイル 例 .png PNG型式の画像ファイル (Portable Network Graphicsの略) .pdf Adobe社の文書型式(Adobe PDF)の文書ファイル (Portable Document Formatの略) 例 .sh シェルスクリプト(後述) .py pythonというプログラミング言語で書かれたプログラム .doc MS-Word形式の文書ファイル .xls MS-Excel形式の表計算ファイル .ppt MS-PowerPoint形式のプレゼンテーションファイル .odt OpenDocumentFormat (ODF)の文書ファイル .ods OpenDocumentFormat (ODF)の表計算ファイル .odp OpenDocumentFormat (ODF)のプレゼンテーションファイル
Keyword(s):
References:[Unix/Linux入門] [2018_実用解析]