Linux

> Linixコマンド > Linuxコマンド【初級編】
Linuxコマンド【初級編】
ここでは、Linuxを使用するにあたって必須になるであろうコマンドを紹介する。
コマンド | 説明 |
---|---|
pwd | カレントディレクトリのパスを表示 |
cd | ディレクトリを移動 |
ls | ディレクトリの中身を表示 |
mkdir | ディレクトリを新規作成 |
cp | ファイルまたはディレクトリをコピー |
mv | ファイルまたはディレクトリを移動、名前の変更 |
rm | ファイルまたはディレクトリを削除 |
echo | ターミナル上に文字列を表示 |
> | リダイレクト |
vi | テキストファイルを編集 |
その他のコマンドについてはLinuxコマンド【中級編】及びLinuxコマンド【上級編】で紹介している。
pwd
pwd
は現在のディレクトリ(カレントディレクトリ)のパスを表示するコマンドである。
[user@local ~]$ pwd
/home/user
これにより、現在自分が/home/user
(userのホームディレクトリ)にいることが確認できた。
cd
cd
はディレクトリを移動するコマンドでcd ディレクトリ名
として使用する。
例えば、現在のディレクトリが/home/user
であり、この場所にあるstudy
というディレクトリに移動する場合、コマンドは次のようになる。
[user@local ~]$ cd study
[user@local study]$ pwd
/home/user/study
コマンドを実行すると、$
マークの前の表記が変わる。これは現在自分のいるディレクトリが変化したことを表す。
pwd
で確認すると確かにディレクトリを移動したことがわかる。
また、1つ上のディレクトリは..
で表すことができる。
現在のstudy
ディレクトリから/home/user
ディレクトリに戻る場合、..
を用いて次のようにする。
[user@local study]$ pwd
/home/user/study
[user@local study]$ cd ..
[user@local ~]$ pwd
/home/user
さらに、2つ以上ディレクトリを移動する場合は、移動先のディレクトリへのパス(相対パス)を用いる。
[user@local ~]$ cd study/gmx_tutorial
[user@local gmx_tutorial]$ pwd
/home/user/study/gmx_tutorial
[user@local ~]$ cd ../..
[user@local ~]$ pwd
/home/user
なお、$
マークの前にある~
はユーザーのホームディレクトリを表している(/home/user
と同じ意味)。
また、カレントディレクトリは.
で表すことができる。
ls
ls
は現在のディレクトリの中身を表示するコマンドである。
lsには様々なオプションがあるが、ここではその一部を紹介する。
lsオプション | 説明 |
---|---|
-l | ファイルやディレクトリの詳細(所有者、最終更新日など)も表示する。 |
-t | リストを更新時間順に表示する。 |
-r | リストを逆順に表示する(-tと組み合わせることが多い)。 |
-h | 単位を読みやすい形式で表示する。 |
-a | (隠しファイルも含めて)すべてのファイルとディレクトリを表示する。 |
[user@local gmx_tutorial]$ ls
1aki.pdb ions.mdp md.mdp minim.mdp npt.mdp nvt.mdp test
[user@local gmx_tutorial]$ ls -la test
-rwxr-xr-w. 11 user user 352 1月 29 00:06 .
-rwx------. 9 user user 288 1月 29 00:06 ..
-rwxr-xr-x. 14 user user 448 1月 28 22:34 .git
-rwxr-xr-x. 2 user user 1210 1月 23 20:00 test1.dat
ls
の実行結果を見ると、ここではディレクトリが青色で表示されている。
test
ディレクトリの中身をすべて詳細表示すると、ファイルの属性、所有者、サイズ、最終更新日などを見ることができる。
オプションは組み合わせて使うことができるのでls -ltrh
などを活用するのがおすすめである。
mkdir
mkdir
はディレクトリを新規作成するコマンドである。mkdir ディレクトリ名
として使用する。
[user@local gmx_tutorial]$ ls
1aki.pdb ions.mdp md.mdp minim.mdp npt.mdp nvt.mdp test
[user@local gmx_tutorial]$ mkdir analysis
[user@local gmx_tutorial]$ ls
1aki.pdb analysis ions.mdp md.mdp minim.mdp npt.mdp nvt.mdp test
上の例ではanalysis
というディレクトリを新規作成している。
mkdir
で指定するディレクトリが既に存在する場合はエラーとなる。
cp
cp
はファイルまたはディレクトリをコピーするコマンドである。
cp オリジナルファイル名 コピーファイル名
test1.dat
というファイルをtest2.dat
という名前でコピーするには、次のコマンドを実行する。
[user@local test]$ ls
test1.dat
[user@local test]$ cp test1.dat test2.dat
[user@local test]$ ls
test1.dat test2.dat
するとtest1.dat
がコピーされ、test2.dat
というファイルが生成する。
コマンドを実行する前にtest2.dat
が存在していた場合、警告なしで上書きされるので注意すること。
cp ファイル名 コピー先
test
ディレクトリにあるtest1.dat
というファイルを1つ上のディレクトリ(gmx_tutorial)にコピーするには、次のコマンドを実行する。
[user@local test]$ ls
test1.dat
[user@local test]$ cp test1.dat ..
[user@local test]$ ls
test1.dat
[user@local test]$ cd ..
[user@local gmx_tutorial]$ ls
1aki.pdb analysis ions.mdp md.mdp minim.mdp npt.mdp nvt.mdp test test1.dat
コマンドを実行すると、test1.dat
というファイルがgmx_tutorialにコピーされる。
この場合も先と同様に、コピー先にtest1.dat
が存在していた場合は上書きされるので注意する。
cp -r オリジナルディレクトリ名 コピーディレクトリ名
analysis
というディレクトリをanalysis_data
という名前でコピーするには、次のコマンドを実行する。
[user@local gmx_tutorial]$ ls
1aki.pdb analysis ions.mdp md.mdp minim.mdp npt.mdp nvt.mdp test test1.dat
[user@local gmx_tutorial]$ cp -r analysis analysis_data
[user@local gmx_tutorial]$ ls
1aki.pdb analysis analysis_data ions.mdp md.mdp minim.mdp npt.mdp nvt.mdp test test1.dat
ディレクトリをコピーする場合は-r
を指定してコマンドを実行する必要がある。
mv
mv
はファイルまたはディレクトリを移動するコマンドである。
また別の用法として、ファイルまたはディレクトリの名前を変更するコマンドでもある。
mv 移動するファイル名 移動先
test1.dat
というファイルをanalysis_data
というディレクトリの中へ移動するには、次のコマンドを実行する。
[user@local gmx_tutorial]$ ls
1aki.pdb analysis analysis_data ions.mdp md.mdp minim.mdp npt.mdp nvt.mdp test test1.dat
[user@local gmx_tutorial]$ mv test1.dat analysis_data
[user@local gmx_tutorial]$ ls
1aki.pdb analysis analysis_data ions.mdp md.mdp minim.mdp npt.mdp nvt.mdp test
[user@local gmx_tutorial]$ ls analysis_data
test1.dat
ディレクトリを移動する場合はcp
の時と同様、-r
を指定する必要がある。
コピーとは違ってファイルが移動するので、本当に移動してもよいファイルなのかを確認してから実行する。
また、移動先に指定したディレクトリが存在しない場合は後述する名前の変更が行われてしまうので注意すること。
mv 変更前の名前 変更後の名前
test1.dat
をanalysis_data.dat
という名前に変更するには、次のコマンドを実行する。
[user@local analysis_data]$ ls
test1.dat
[user@local analysis_data]$ mv test1.dat analysis_data.dat
[user@local analysis_data]$ ls
analysis_data.dat
名前の変更の場合はディレクトリでも-r
を指定する必要はない。
ただし、変更後の名前のファイルまたはディレクトリが既に存在していた場合、上書きされてしまうので注意する。
rm
rm
はファイルまたはディレクトリを削除するコマンドである。
rm ファイル名
として使用する。
ディレクトリを削除する場合はrm -r ディレクトリ名
とする。
[user@local gmx_tutorial]$ ls
1aki.pdb analysis analysis_data ions.mdp md.mdp minim.mdp npt.mdp nvt.mdp test test1.dat
[user@local gmx_tutorial]$ rm 1aki.pdb
[user@local gmx_tutorial]$ ls
analysis analysis_data ions.mdp md.mdp minim.mdp npt.mdp nvt.mdp test test1.dat
[user@local gmx_tutorial]$ rm -r analysis_data
[user@local gmx_tutorial]$ ls
analysis ions.mdp md.mdp minim.mdp npt.mdp nvt.mdp test test1.dat
コマンドを実行すると警告なしで完全に削除されるので注意すること。 また、ワイルドカード(*)を用いてファイル名を指定すると、*を任意の文字列とみなして一致するもの全てが削除される。
[user@local gmx_tutorial]$ rm *.mdp
[user@local gmx_tutorial]$ ls
analysis test test1.dat
echo
echo
は文字列をターミナル上に表示するコマンドである。
使い方は簡単で、echo 文字列
として使用する。
[user@local ~]$ echo Hello World
Hello World
なお、文字列をダブルクォーテーションで囲んだ場合echo "Hello World"
も同じ結果となり、中の文字列のみが出力される。
>(リダイレクト)
リダイレクト>
は主に、ターミナルへの出力をファイルに書き込む時に使用する。
ここではecho
と組み合わせた例を紹介する。
[user@local ~]$ echo Hello World > test.txt
コマンドを実行するとターミナル上に文字列は出力されず、代わりにtest.txtという名前のファイルが作成され、その中に文字列が書き込まれる。
リダイレクトを使用すると出力結果をファイルに保存することができるので、ログファイルの用途によく利用される。
余談であるが、>>
のリダイレクトを使用すると、ファイルが存在する場合にその続きに追記をすることができる。
test.txtに追記をし、次のvi
で確認してみよう。
[user@local ~]$ echo Computer Chemistry >> test.txt
vi(vim)
Linuxにはテキストファイルを編集するためのテキストエディタとして、Vimが標準でインストールされている。
Vimを使用するためにはvi ファイル名
として、ファイルの編集画面へ遷移する。
[user@local ~]$ vi test.txt
test.txt
Hello World
Computer Chemistry
test.txtにはecho
とリダイレクトで書き込んだ内容が正しく反映されている。
確認ができたらファイルを閉じることにする。
:q
と入力するとVim画面から元のコンソール画面に戻るだろう。
Vimの使い方はまた別に習得する必要があるが、Linuxコマンド【初級編】はここまでとしておく。