今回は、UNIXとLinuxの基礎的な知識や絶対に覚えておくべきコマンドについて解説していきます。
UNIX、Linuxとは?
UNIXやLinuxはオペレーティングシステム(OS)の一つです。
OSとは私たちが当たり前だと思っているコンピュータの土台となる機能(キーボードからの入力など)を提供してくれるソフトウェアのことです。
もっと詳しくOSについて知りたい人は、こちらのサイトを参考にしてください。
最近はLinuxを使う人が増えてますが、LinuxはUNIXを参考に作られたOSなのであまり大きな違いはありません。
ファイルとディレクトリ
基本的なコマンドの説明に入る前にUNIXやLinuxのファイルシステムについて軽く説明していきます。
UNIXやLinuxは階層的なファイルシステムを持ちます。Windowsでいうところのフォルダは、UNIXやLinuxではディレクトリと呼ばれています。
以下ではディレクトリがどのように階層的な構造を作っているのか図で描いたので参考にしてください。
ルートディレクトリ
ルートディレクトリとは全てのディレクトリの起点となる、最上位のディレクトリのことです。
上の図からも分かるように、\ でルートディレクトリを表します。
カレントディレクトリ
カレントディレクトリとは現在自分が作業を行っているディレクトリのことです。
'.' でカレントディレクトリを表します。ちなみに '..' は1つ上のディレクトリを表します。
ホームディレクトリ
ホームディレクトリとは各ユーザのディレクトリのことです。
ログイン直後はホームディレクトリがカレントディレクトリになっています。
基本的なコマンド
以下では頻繁に使うことになる基本的なコマンドを紹介します。いずれのコマンドもUNIXやLinuxを扱っていく上で必須のコマンドなので、是非使いこなせるようになってください。
cdコマンド(ディレクトリを移動する)
$cd directory ※イタリックの部分は任意
カレンとディレクトリから、directoryで指定したディレクトリに移動します。ディレクトリを指定しない場合はホームディレクトリに移動します。
lsコマンド(ディレクトリ内を表示する)
$ls (-al) ※カッコ内はオプション。他にも色々なオプションがある。
ディレクトリの中にあるファイルを表示します。
オプション
-a .....隠しファイルなども表示します。
-l .....ファイルをlong形式で表示します。
pwdコマンド(現在いるディレクトリ内を表示する)
$pwd
カレントディレクトリを表示します。
mkdirコマンド(新たにディレクトリを作成する)
$mkdir directory
directoryで指定した名前でディレクトリを作成します。
rmdirコマンド(ディレクトリを削除する)
$rmdir directory
directoryで指定したディレクトリを削除します。但し、ディレクトリ内が空でなければ削除できません。
rmコマンド(ファイルを削除する)
$rm file
fileで指定したファイルを削除します。Windowsでいうところのごみ箱などの機能はないので削除する時は注意して削除してください。
cpコマンド(ファイルをコピーする)
$cp file file1 $cp file directory
fileで指定したファイルをfile1やdirectoryにコピーします。
mvコマンド(ファイルの名前を変更、もしくはファイルを移動する)
$mv file file1 $mv file directory
fileで指定したファイルをfile1という名前に変更します。
もしくはdirectoryで指定したディレクトリにファイルを移動します。
catコマンド(ファイルの中身を表示する)
$cat file
fileで指定したファイルの内容を表示します。
more/lessコマンド(ファイルの中身を表示する)
$more(less) file
fileで指定したファイルの内容を一画面ずつ表示します。
このような機能をページャといいます。一画面進みたいときはf、一画面戻りたいときはb、終了したいときはqを押してください。
manコマンド(コマンドの詳しい機能を表示する)
$man command
commandで指定したコマンドの詳しい機能を表示してくれます。オプションなど詳細の機能を知りたい時などに使ってください。
まとめ
UNIXやLinuxには他にも様々なコマンドがありますが、ここにあるようなコマンドは日常的に使うものなのですぐに使えるようにしましょう。他にも良く使うコマンドがあるので、随時紹介していきます。
もっとUNIXやLinuxについて理解したい!って人は他の記事も是非読んでみてください!
今後も定期的にプログラミング系の記事を発信していくので、興味のある人は是非ブックマークして見にきてもらえると嬉しいです!!