ターミナルでのコマンドの使い方。(超初心者向け)

投稿者: 
最終更新: 2010/11/20 03:00
3 139552 最終更新 2010/11/20 03:00

初心者向けに書いていますので、概念的に正しくない表記があります。


「コマンド、なんだそれ?」という人向けです。


バスと言うものを使用いたしますので、右記を事前にお読みください。「パスってなに。(超初心者向け)


練習に使用するファイルをデスクトップに作成してください。このドキュメントでは、削除しても良いように「テキストエディット」アプリケーションで名前はfile1.rtffile2.rtfの二つのファイルを使用することとします。



1 コマンドとは。


Mac OS Xでは「コマンド」と言われる、特定の文字を入力することにより、さまざまな処理をすることができます。コンピュータの歴史の中では、かなり古くから存在していました。というよりは、Macに代表されるグラフィカルなユーザインターフェイスが普及するまで、その操作法の主流でした。現在でも、特定のことを効率よく処理する場合に有用です。




「ターミナル」アプリケーションに入力して使います。ものすごくたくさんあります。


このドキュントでは、そのほんの一部、下記を取り上げます。しかも全ての機能を説明できませんので、ご了承ください。




ls cp sudo




コマンドは、半角英字で書きます。上記のコマンドを説明すると、


lsコマンド ファイルやフォルダの一覧を取得します(Mac OS Xの初期状態では画面に表示されます)。


cpコマンド ファイルやフォルダを複製(コピー)します。パスにより「どれを、どこに」複製するか指示します。


sudoコマンド 管理者権限といわれる「非常に強力」な権限で、他のコマンドを実行する際に使用します。使用するには、管理者のパスワードが必要です。




2 「ターミナル」アプリケーションの起動。


/Applications/Utilities」に有ります。通常のアプリケーションと同じように起動してください。


MacName:~ UserName$ が表示され、入力待ちの状態になっているはずです。MacNameはシステム環境設定「共有」のコンピュータ名、UserNameはご自分のアカウント名です。


~(ティルダ)」の文字は「~」(ホームフォルダ)にいます。と、言う意味の表示です。lsコマンドで補足しますので「今はそういうもの」とご理解ください。


コマンドは、


$


の後ろに入力します。と、いうより、ここにしか入力できません。


$ はシェルプロンプトといいます。コマンドを入力するときは下記(赤字部はApple Remote Desktop管理者ガイドバージョン3.3より抜粋)。




たとえば、次のようになります。


$ doit

このコマンドを使うときは、「ターミナル」ウインドウのコマンドプロンプトで、ドル記号なしで「doit」と 入力し、returnキーを押します。




3 まずは注意事項。


使う際に、超初心者の方が、つまづくものの一つに半角スペースの入力ミスがあります。例えば下記が微妙に表示が違うのが分かるでしょうか?


「」


「 」


上の行がスペース無しで、下の行が半角スペース1文字入りです。並べると分かりやすいですがコマンドを入力する際には、非常に見づらいです。しかしながら、その位置には、決まりがあります。



4 コマンドの使い方。


いよいよ本題のコマンドの使い方です。


一番最初の練習にlsコマンドを使用しましょう。このコマンドから始めるには理由があります。なぜなら、このコマンドは書込みをしません。間違ってもファイルを消したりできないので、手始めに一番です。




lsコマンド


lsコマンドは、基本的に下記の使い方をします。


$ ls [オプション] [パス]


では、下記を入力してみて下さい。


$ ls


ずらりとフォルダやファイルが表示されたでしょう。「どこの内容が、表示されたのかな?」と思った方も、いらっしゃるのではないでしょうか。表示されているのは、カレントディレクトリの内容です。カレントディレクトリについてはパスってなに。(超初心者向け)」をお読みください。


次に


$ ls ~/


と入力してみてください。半角スペースの位置に注意です。sの後ろ、「~」の前です。同じ物が表示されたと思います。これが、カレントフォルダの意味です。カレントフォルダがホームでパスも「~」ですから、ホームフォルダを差しています。なので、lsコマンドはフォームフォルダ内の「ファイルやフォルダの一覧」を表示したのです。では、次に下記を入力してみてください。


$ ls ~/Music


ログイン中のミュージックフォルダの中身が表示されたでしょう。このように、パスで指定した場所の一覧を表示します。




次に[オプション]に付いて説明しましょう。ここで、説明するのは、「-l」「-a」です。他にも[オプション]はたくさんあります。慣れたら、ネットで調べてみてください。


-l」は、より詳しく一覧を表示します。「アクセス権、リンク数、ユーザ、グループ、容量、変更日、ファイル名」が表示されます。


-a」はFinderで非表示のファイルも表示します。下記を実行してみてください。


$ ls -l ~/Music


$ ls -l -a ~/Music


$ ls -a ~/Music


このコマンドは、フォルダ内の状態を表示するだけですが、使い方によっては、非常に有用です。




cpコマンド


cpコマンドは、基本的に下記の使い方をします。


$ cp [オプション] [コピー元パス] [コピー先パス]


では、file1.rtfをミュージックフォルダにコピーしてみましょう。半角スペースの位置は「~」の前です(ファイルを別のフォルダにコピー)。


$ cp ~/Desktop/file1.rtf ~/Music


次に、file2.rtfをミュージックフォルダのfile1.rtfにコピーしてみましょう(ファイルをファイルにコピー)。


$ cp ~/Desktop/file2.rtf ~/Music/file1.rtf


ファイルをファイルにコピーするというのは、皆さん違和感が無いでしょうか。このコマンドの意味は、ファイルをファイルにコピーしているのでは無くfile2.rtffile1.rtfと言う名前でミュージックフォルダにコピーせよと言う意味なのです。


賢明な皆様は、お気づきでしょう。先にコピーした、~/Music/file1.rtf~/Desktop/file2.rtfで上書きされてしまったのです。


cpコマンドで注意すべきは、


[コピー元パス] [コピー先パス]を間違えない。


コピー先に同じ名前の物があれば、上書きされる。


です。



[オプション]に付いて説明しましょう。ここで、説明するのは、「-p」「-R」です。他にも[オプション]はたくさんあります。慣れたら、ネットで調べてみてください。


-p」はアクセス権を変更せずコピーします。


-R」はフォルダをコピーする際に指定します。「再帰的にコピーする」と表現されます。難しそうな用語ですが、やることは、ある意味、単純です。フォルダの中には、フォルダが入っていることがありますよね。それを「片っ端からコピーせよ」という意味なのです。とにかく、フォルダの中にフォルダ、その中にまたフォルダがあっても最後までコピーしていきます。途中で、勝手に止められたら困りますものね。


例えば、(下記のコマンドはいきなり、試してはいけません。試す前に良く理解してから)


$ cp -p -R /Users/Shared ~/


このコマンドは、アクセス権を変更しないで「共有フォルダをログインアカウントにコピーせよ」という意味です。ただし、共有フォルダは、ログインしているユーザ以外からもファイルを保存できるので、アクセス権でエラーが出るかも知れません。Permission deniedと言うエラーがそれです。「アクセス権がない!」と文句を言っています。これをクリアするのが、sudoコマンドです。


cpコマンドは、上手く使えば、緊急のバックアップに使えますね。


たいがいの物は、コピーするcpコマンドですが、エイリアスのコピーには注意して下さい。オプションを指定しない限りエイリアスがコピーされます。




sudoコマンド


sudoとは管理者(Super User)として実行(Do)、実効せよという意味です。Mac OS Xに置いては管理者権限は、絶対的な権限を持っています。



OSに不具合を引き起こさせるを指示するコマンドすら、実行させてしまいます。

OSを起動できなくすることも、使い方によっては簡単にできてしまいます。間違って使えば、恐ろしい結果が待っています。


注意して使ってください。



このコマンドは、単独ではなく、他のコマンドに力を与えるように使います。このコマンドを使用するには、管理者のパスワードが必要です。一度、sudoを実行してパスワードを入力すると、数分以内はパスワードが必要ありません。「間違いを」防ぐためsudo使用後、すぐコンピュータから離れる場合は、せめて「ターミナル」アプリケーションを終了してください。




sudoコマンドは、基本的に下記の使い方をします。


$ sudo [オプション] コマンド


では、下記を実行すると、どうなるか予想できますでしょうか。


$ sudo cp -p -R /Users/Shared ~/


上記のコマンドは、共有フォルダを「管理者権限で」ログインアカウントにコピーします。Permission deniedのエラーはでません。


lsコマンドにも使用できます(lsコマンドは、書き込みを行わないので「覗き見」するだけです)。


もし、lsコマンドでPermission deniedがでたら、sudoを付けて実行してみてください。そして何故、そのエラーが出るのか考えてみてください。

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple ID を使ってご参加ください。