頭弱いがPCの勉強する

正真正銘のPC初心者。勉強ノートのつもり。
ITなんてトンチンカン、だから書くことやること全部適当。

LPICの勉強をするPart1

2016-07-23 17:13:57 | Linuxの勉強
今までLPICの参考書をページの順番通りに読み進めてきましたが、こんなんじゃいつまでたっても終わらない上に、記憶する範囲も広過ぎます。正直って挫折寸前です。
ということで、このページにに載っていることを参考にしながら重点的に勉強していきたいと思います。
このページによると、まずは「シェルの操作およびコマンド」の勉強をするべきらしい、
今回は単に丸写しするだけではなく、自分が見返した時に勉強に使えるように書いて行きたい、、、けど無理そう。

シェルとは
Linux上でコマンドを入力すると、そのコマンドに対応するプログラムが実行され、その結果が表示される。
ユーザーからのコマンドを受け付け、必要なプログラムを実行しているのがシェルというプログラム。つまりは私達がコマンドを打つと様々な便利な機能が発動するのは、このシェルというやつが頑張ってくれてるからってことですかね。
シェルには様々な種類がある。ユーザーの好みによって種類を選ぶことができる。
代表的なシェル
・Bourmeシェル UNIXの標準シェル
・bash Boutmeシェルの改良版、bashはLinuxディストリビューションの多くで標準シェルとして採用されている
・Cシェル(csh) C言語に似たスクリプトが利用できるシェル
・tcsh cshを拡張したもの
・kornシェル(ksh) Bourneシェルを拡張したもの
・zsh kshにbashやtcsh機能を取り入れた高機能シェル

・ログインシェルとは、システムにログイン直後に起動されるシェル
・ユーザーごとのログインシェルは/etc/passwdファイルに記述されている。
・ユーザーがログインしたあとに表示される「$」「#」←これをプロンプトという。
・ユーザー名@ホスト名 カレントディレクトリ
これのような表示形式を自由に設定することができる。この設定は環境変数PS1で行う。

シェルの補完機能
・シェルの補完機能はコマンドラインでの入力を支援し、入力ミスを軽減する。
・例えばcatでlinuxotintinというファイル名を入力したい場合、「cat linuxot」まで入力した状態でTabキーを押すと、残りの部分が自動的に補完される。

カーソルの移動
・Ctrlキー + Aキー =カーソルが行頭に移動する。
・Ctrlキー + Eキー =カーソルが行末に移動する。
コマンドライン上での編集
・Ctrlキー + Dキー =カーソル部分の1文字を削除する。
・Ctrlキー + Hキー =左側にある1文字を削除する。
・Ctrlキー + Lキー =一旦画面をクリアしてから、カレント行を再表示する。

実行制御
・Ctrlキー + Cキー =処理を中断
・Ctrlキー + Zキー =一時停止状態にできる
・Ctrlキー + Sキー =画面をロックしてキー操作を一切受け付けなくなる
・Ctrlキー + Qキー =ロックを解除。

ディレクトリの指定
・bashではディレクトリを表す特殊記号(メタキャラクタ)を扱うことができる。
・~ ホームディレクトリ
・. カレントディレクトリ
・.. 1つ上のディレクトリ

・例えばユーザ名が「せんとくん」なら
~ ホームディレクトリ → /home/せんとくん
. カレントディレクトリ → /home/せんとくん/work/lpic
.. 1つ上のディレクトリ → /home/せんとくん/work
~/tmp /home/せんとくん/tmp

・↑これらの表示されるディレクトリはユーザーによって異なります。
 例えば「太郎」というユーザーがcat ~を実行すると太郎のホームディレクトリが表示される。
・rootで表示するrootのユーザーディレクトリが表示する

シェル変数と環境変数
・シェルはユーザーとLinuxシステムとの対話を司る。そのためにユーザーのホームディレクトリやログイン名など、ユーザーに関する情報を保持していなければならない。Linuxはこのような情報は変数に保存される。
・変数は、有効範囲(スコープ)によって、シェル変数と環境変数に分けられる。

・シェル変数の有効範囲は、その変数を定義したシェル、プロセスのみ。当該のシェルプロセスを終了するとシェル変数は失われる。
・別のシェルを新しく起動した場合は、新しいシェルから元のシェルで定義した内容を参照することができない。

・環境変数は、その変数を定義したシェル上、及びそのシェルで実行されるプログラムにも引き継がれる変数。
・環境変数は、シェル変数をexportコマンドでエクスポートすることによって設定できる。

・おもな環境変数
PATH コマンドやプログラムを検索するディレクトリ
PWD カレントディレクトリ
HOSTNAME ホスト名
USER 現在のユーザー
LANG ロケール(言語処理方式)
HOME カレントユーザーのホームディレクトリ
LOGNAME ログインシェルのユーザー名
PS1 プロンプトの表示文字列
PS2 複数行にわたる入力時のプロンプト
HISTSIZE コマンドの履歴の最大値
HISTFILE コマンドの履歴を格納するファイル
HISTFILESIZE HISTFILEに保存する履歴数
TERM 端末の種類

・echo 文字列または$変数名
 $echo Linux
 Linux
・echoコマンドに変数lpiを指定すると次のように実行される
 $ lpi=`Linux Profissional Institube`
 $ echo $lpi
 Linux Professional Institute
・変数を削除するにはunsetコマンドを使う。←この時千数名の先頭には$記号は付けない。
unset lpi


・定義されている環境変数を一覧するにはenvコマンドやprontenvコマンドを用いる。
・環境変数とシェル変数を療法設定したい場合にはsetコマンドを使います。

そろそろバイトの休憩時間が終わるので、終わりにします。

ArchLinuxでUSBメモリを見るのだけで一苦労

2016-07-22 15:34:13 | 日記
このサイトの通りファイルを書き換えてみたけど、マウントされているのかよくわからないし、第一USBメモリの開き方がわからない
もう少し調べてみるとこのサイトで、上記のやり方が駄目だったこととその対処法が書かれていたので、書いてあるとおりDevmonってやつをインストールしてみたけどよくわからない。マウントされているとしてどこを開けば良いのだろうか初心者の私にはよくわからなかった。
内容が難しすぎて私はあまり利用できないArchwikiを見てみると、

デバイスをマウントするディレクトリを作成する必要があります:
# mkdir /mnt/usbstick
次のコマンドで root でデバイスをマウント (device_node は確認したパスに置き換えてください):
# mount device_node /mnt/usbstick
または:
# mount -U UUID /mnt/usbstick
mount がデバイスのフォーマットを認識できないときは -t 引数を使うことができます。詳しくは man mount を参照。
ノート: メモリーのマウントが出来ない場合、パーティションしなおすこともできます。ファイルシステム#デバイスのフォーマットを参照。

頭が悪いせいか全然わからない。。。
パスってどうやって確認するの?UUIDってなに?
いや、全然わからないってわけでもない、
とりあえず
mount USBデバイス マウント先のディレクトリ名
って感じで打てば良いんだろう程度には理解できた。
そして、お世話になったのがこのサイト
手動だけどめちゃくちゃわかりやすい。大抵の場合の最初に挿したUSBデバイス名はsdb1、きっと2つめに挿したUSBメモリはsdb2、3つめはsdb3みたいになっていくんだろう。
そして、/mnt/usbを開けばUSBメモリの中身を見ることができる。
多分Archwikiに書いてあったのも同じ内容だろう、しかし2つのサイトに書かれているマウントするディレクトリ名が違うということは、マウントするディレクトリ名は何でも良いということだろうか。

ArchのUSBマウントは、調べると自動化のやり方ばかり書いてあって、とてつもなく難しいものだと思っていたが、手動でやる分には意外と簡単で安心した。

アホな勘違いしてました

2016-07-22 10:31:22 | 日記
先日VirtualBoxがフリーズするという事を書きましたが、原因がわかりました。
原因はメモリの少なさでした。
自分は今使っているPCのメモリは5GBだと思っていました。なぜならもともと1GBだったところに4GBのメモリを付け足したからです。
しかし、自分はあることを忘れていました、その付け足したメモリは新品だったのにもかかわらず、わずか数ヶ月で壊れてしまい、泣く泣くこのパソコンから取り除いたということを。
しかもこのパソコンはグラフィックボードが刺さっているわけではなく、GPUが内蔵されているので、VRAMに少し持っていかれてしまうのです。
要するに、このパソコンで今自由に使えるメモリは760MBだったということです。

……
………
なんか、ごめんない。
そりゃ固まりますよね、しかも仮想マシンに割り当てていたメモリは512MBですよ。
そりゃLubuntuだって固まりますわ。
一か八かで、おかしくなっていたメモリをつけ直したら普通に使えました。
やはりVRAMに少し持って行かれていますが、以前ビデオカードを挿した際に電源が不安定になり突然シャットダウンするようなことが頻繁に起こりましたのでやめておきます。メーカー品のPCですし当たり前ですが。
これでArchですらGUI上だと重いと感じていたのが少しは改善されるでしょう。

ArchLinuxに帰ってきました

2016-07-21 22:42:51 | 日記
数時間前に、ArchからVineに乗り換えたと書きましたが、もうArchに帰ってきました。
VineLinuxに一度は乗り換えようとした私ですが、どうしてもArchを使いたくて、VineにVirtualBoxを導入してArchをVine上で動かそうと考えました。
しかしなぜかVineLinuxでは動いてくれませんでした。
Kernel driver not installed (rc=-1908)
と表示されて仮想マシンの起動ができないのです。
ubuntuだと解決策らしい
sudo /etc/init.d/vboxdrv setup
sudo /etc/init.d/vboxdrv restart
もVineLinux上では無理でした。

でもubuntuでの解決策があるならubuntuに乗り換えれば良い!と何故か考えた私はVineLinuxを消してLubuntuを入れました。
しかしここでも問題発生です。
なんとLubuntu上のVBにArchをインストールしている途中に必ずフリーズしてしまうのです。なんど仮想マシンとイメージを作り直しても結果は同じでした。
しかもたちの悪いのが、フリーズしている間はマウスとキーボードの操作がきかなくなり、時間が経つと勝手にVBを終了してロックをかけてしまうのです。
なぜか設定を変えても勝手に画面をロックする設定は変わりませんでした。

こんなよくわからない不具合に遭遇しているうちにあることに気付きました。
Archで起こる不具合は大抵CUI上で起こるから、コマンドを調べて打てば対応できるけど、そのほかのディストリビューションは何か起きたらArch以上に面倒だな、と。
ということでArchに帰ってきました。
インストールも日本語化も無事に終え、今はこうしてArchからブログを書いています。
日本語が打てない不具合がまたしても起きたので、こちらの記事に追記しておきました。

Arch LinuxからVine Linuxに乗り換えた感想

2016-07-21 13:17:48 | 日記
第一印象、楽!
第二印象、nanoが標準で入ってない!?
こんな感じです。
まぁ、lubuntuも使っているので別に初めてってわけじゃないですけど、GUI上で必要なソフトウェアを探せてワンクリックでインストールできるってのがとてもらくちんです。
インストールも全部GUI上で簡単にできちゃうし、なんというか、とても楽で嬉しいのですが、なんかサボってしまっている罪悪感みたいなのを感じます。
それとメモ帳と違ってめんどくさいテキストエディタの中でも一番初心者と仲良しなnanoが入っていなくて一苦労、
標準で入っているvimはなんかよく分かんないので、使い方調べて、そのとおりやってみても何故か文字が打てない、終了できないなんてことが起きて泣きたくなりました。
しかもキーボードレイアウトはUS配列、前回Archで同じ状況になった時Fcitx-mozcの設定を変えたら直ったので、ibusの設定を開いてみたがそんな設定はない。
直すためにファイル書き換えなきゃいけなくなったのに、vimを使いこなせない。
途方に暮れながら、設定を開いてみたらマウスでポチポチするだけで簡単に直せました。
そしてnanoもsynapticパッケージマネージャから簡単にインストールできました。
Archだと面倒だったVirtualBoxのインストールも、アプリケーションの追加と削除から簡単にできました。
Vineだけだとなんだか寂しいので、今度VB上にArchを導入してみたい思います。仮想マシン上でやった方が成功しそうですし。