Linux

home

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.datanalysis_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コマンド【初級編】はここまでとしておく。

PREVIOUS

TOP NEXT