ぽれいんのブログ

エンジニアになるために覚えたことを日記に付けます。

Linuxの基本操作

 

はじめに

4月からプログラミングを学んでおります。ポレインと申します。

私事ではございますが、7月からインフラエンジニアとして働くことになりました。

プログラミングスクールにて主にHTML、CSSRubyMySQL等について学びました。

また、今後は研修で学んだことをまとめていきたいと思っております!

※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。

<前回の記事>

porain.hatenablog.com

 

 

 

 

Linuxとは

開発者:リーナス・トーバルズによってカーネル部分(核)が作られたサーバOS。

サーバOSの7,8割はLinuxが使用されている。他のサーバOSとしてはWindowsWindows ServerやUNIXSolarisがある。

Linuxオープンソースとしてリリースされ無償で配布されているため、企業の導入コストを抑えることができ、多くの企業に愛用されている。

ディストリビューション

○○Linuxのこと。流派としてRedHat系、Slackware系、Debian系があるが、ほとんどの現場でRedHat系のEnterprise(RHEL)やCentOSAmazon Linuxの3点のうちどれかが使われている。(同じ流派のためどれか1つを学んでいれば応用が効く)

SSH接続

Linuxでは複数での使用を前提としており、誰がシステムを使用したか分かるようにユーザの概念があります。そのため、システムを利用するにはユーザ登録を行い、ログインすることで「認証」される必要があります。

SSH接続は各種サーバ機器が遠隔にある状態でも安全にインターネット経由で接続することができます。

ルートユーザー

ルートユーザは絶対的権限を持つユーザ。神。GOD。

ルートユーザでのログイン方法。

ユーザログインしている際は、

①exit を実行してログアウト

②sudo su - を実行することでルートユーザとしてログインできます。

 

Linuxの基本操作

コマンドの基本的な入力方法は以下のようになります。

 

[porain@xxxXXXX ~]$ コマンド (-オプション) 引数1 引数2 ・・・

※間にはスペースの挿入が必要。(スペースがないとどこまでがコマンドか分からないため)

シェル (Windowsでいうエクスプローラ

ユーザとのやり取り(仲介)を行う。

人間ではハードウェアを直接制御できない。ハードウェアを制御、コントロールするのはカーネルカーネルへの指示だしのための命令もちょっと人間業では難しい…。)

ファイルの構造

Linuxディレクトリはルートディレクトリを頂点とするツリー構造になっている。

頂上をルートディレクトリ(/)と言い、枝分かれするように様々なディレクトリが広がっている。

また、自身が作業を行っている基点ディレクトリのことをカレントディレクトリという。確認する際は、pwdコマンドを使用する。

カレントディレクトリの移動(cdコマンド)ChangeDirectoryの略称
cd /home … /homeディレクトリに移動
cd .. … 一つ上のディレクトリに移動
cd - … 直前のディレクトリに戻る
cd … ユーザのホームディレクトリに戻る
cd . … カレントディレクトリに移動(移動しない)

当たり前ですが他のユーザのディレクトリには移動できません。

ファイルとディレクトリの一覧表示(lsコマンド)listの略称
ls              … 引数なしのためカレントディレクトリにあるディレクトリを表示
ls -a … -aオプションで隠しファイル、隠しディレクトリ含め表示
ls /user/local … 引数に取ったディレクトリにあるファイルを表示
ls -l … -lオプションはファイル、ディレクトリの詳細を表示
絶対パス相対パス

絶対パス…ルートディレクトリ(頂上)からの道筋を示したもの

相対パス…カレントディレクトリからの道筋を示したもの

郵便局で表すと、名古屋市の郵便局からはがきを出す場合、富山市宛は富山県から記入が必要(絶対パス)ですが名古屋市宛は名古屋市から書き始めても続きます。(相対パス

みたいな認識でいます。

 ファイルとディレクトリの操作コマンド(touch,cp,mv,mkdir,rm,ln)
touch touchfile         … touchfileを新規作成する
cp touchfile copyfile … touchfileをコピーしcopyfileを新規作成する
mv touchfile renamefile … touchfileをrenamefileに改名する
mkdir dir1 … ディレクトリdir1を新規作成する
cp copyfile dir1 … copyfileのコピーをディレクトリdir1内に同名で作成する
cp -r dir1 dir2 … dir1をコピーしたdir2を作成する
mv renamefile dir2 … renamefileをディレクトリdir2内に移動する
rm dir2/copyfile … dir2下のcopyfileを削除する

cpコマンドやrmコマンドは基本的にファイルを扱うものでオプションを指定しなければディレクトリを扱うことができません。 -rオプションで格納しているファイルやディレクトリをあつかうことができます。

シンボリックリンク

パスを短く省略化する方法としてシンボリックリンクがあります。

シンボリックリンクファイルには参照したいファイルのパス情報が登録され、長いパス名を省略できます。シンボリックリンクは、”㏑”コマンドで作成できます。 

シンボリックリンク ≒ (Windowsの)ショートカット という認識でいます。

テキスト表示とファイルの閲覧(echo,cat)
echo hello              … 引数に指定した文字列を表示
echo hello > test1 … 引数の”hello"をtest1というファイルに書き込む
cat test1 … テキストファイルの内容を確認
ファイルの検索(find)
find /etc -name resolv.conf … resolv.confという名前のファイルを検索

 エラー

No such file or directory … そのようなファイルはありません
command not found … そのようなコマンドはありません
Permission denied … パーミッションの設定ミス
ページャ(less)
less /var/log/dmesg  … ページをめくるようにファイルを閲覧

catと区別することができる。

ex. cat → 短い文章 less → 長い文章

コマンド入力の省略化
【↑】  … ヒストリ機能。以前入力したコマンドを参照し使用できる。
     この情報はユーザごとに別。
【Tab】 … 補完機能。コマンドとディレクトリ名やファイル名の補完をする
    入力間違い防止につながる。

 PATH変数

変数…Linuxの動作を決める設定値を入れておく「箱」

変数にはいろいろありますが、Tab補完に関するものとして、PATH変数があります。

この変数の中にはいくつかディレクトリが登録されています。

以下コマンドで確認できます。

echo $PATH

これらのディレクトリの中に含まれているコマンドは「パスが通っている」という状態でこれ以外は「パスが通っていない」という状態になります。

(パスが通っていないとTab補完できない)

 

                                     以上