Linuxのコマンドって便利なんだけど、

覚えないと不便だよねー。


毎度、何度やっても覚えられないのでメモメモ。


■ファイルのリストを表示させたい

ls(list)

 ファイルのリストを表示させる。


 ファイルサイズなどの詳細を表示させたいときは,
ls -l

 隠しファイルも表示したいときは
ls -a

■ディレクトリを移動

cd (change directory)

cd /home/guest

とすると/home/guestディレクトリに移動する。


cd .. とするとひとつ上のディレクトリに移動する。「..」がひとつ上の意味。



■どこで作業してるか確認

pwd(print working directory)

 現在作業しているディレクトリを表示させる。

 どのディレクトリで作業しているか、確認するために使用。

常に、「どこか」のディレクトリ中で作業している、ことを認識して下さい。以下のファイル操作も、その作業ディレクトリの中だけで行えます。



*以上のコマンドで、必要な目的のディレクトリに移動し、そのディレクトリに含まれているファイルのリストを表示さ
 せることができます。

*ファイル名を知るだけならば「ls」コマンド、ファイルサイズなどの「プロパティ」を知るには「ls -l」を使用します。Windowsの詳細表示にあたります。ファイルの属性(例えば書き込みを許す、許さない)を細かく指定できるのがLinux(UNIX)の特徴です。「cd」は特定のフォルダを開く、「ls」はその中のファイルを表示させると言うWindowsの操作に対応します。


■コピー

cp


$ cp hoge.txt hoge2.txt
とすれば,hoge.txtがhoge2.txtという名前のファイルにコピーされます。

同じディレクトリの中にコピーされることに注意。



■ファイルやディレクトリを移動

mv


$ mv hoge.txt hoge2.txt

で,sapmple.txtがなくなり,同じ内容のhoge2.txtが作られます(rename)。

$ mv hoge.txt ディレクトリ名

で、現在のディレクトリにあるsapmple.txtが別のディレクトリに移動します。


■ファイルを削除

rm


$ rm hoge.txt
 で、hoge.txtが削除されます。


 ディレクトリを削除したいときは、
$ rm -r hogedir
で、hogedirディレクトリ以下のファイルとディレクトリが削除されます。


■ディレクトリを作成

mkdir 


$ mkdir newdir


で,newdir と言う名前のディレクトリが現在のディレクトリの下に作られます。


■ファイルの内容を表示

less


$ less hoge.txt
とすれば,hoge.txtを閲覧することができます。
 more もありますが、lessの方が多機能。
 主なキー操作は次の通り。
f:次のページへ w:前のページへ e:次の行へ y:前の行へ q:終了

■ファイル・ディレクトリの属性変更

chmod

 
$ chmod go-w hoge.txt
とすると,g:グループとo:その他の人の書き込み属性を削除し,書き込みはできなくなります。
 オプションの意味は次の通りです。
u:ユーザー g:グループ o:その他 a:すべて
+:属性追加 -:属性削除
r:読み込み w:書き込み x:実行

■ファイル・ディレクトリの所有者を変更

chown


$ chown mine hoge.txt
とすると,hoge.txtの所有者がmineというユーザーに変更されます。
 ディレクトリ以下のすべてを変更するならば
$ chown -R mine hogedir
とすれば,hogedirディレクトリとその下のファイルすべての所有者が変更されます。


■ファイル・ディレクトリの所有グループ変更

chgrp


$ chgrp user hoge.txt
とすると,hoge.txtの所属グループがuserというグループに変更されます。
 ディレクトリ以下のすべてを変更するならば
$ chgrp -R user hogedir
とすれば,hogedirディレクトリとその下のファイルすべてのグループが変更されます。

初心者なら誰しもスクリプトソースを表示したいと思ったことがあるはず。

ないのかなと思ってググったらやっぱりあるのねー。


    <?php

    class HogeClass {

    public function
    printMessage() {
    echo
    "HogeClassを表示しました。";
    }
    }

    show_source($_SERVER["SCRIPT_FILENAME"]);

    ?>

■ 解説
    show_source('phpのファイルパス')

下記サイトを参考にしましたー

※http://f3.aaa.livedoor.jp/~matukazu/convenience/show_source.php

リファラーの取得は、勝手に大変だと思っていたけど意外に簡単に取れるんだ♪

$_SERVER[’HTTP_REFERER’]


想像通りsmartyなら

{$smarty.server.HTTP_REFERER}


だそうですぅ~。


<?php


  print $_SERVER[’HTTP_REFERER’];


?>


見たいな感じ♪

apacheのログいじるのよく分からないので

取りあえずPHPとMySQL使って役立てていきます~



これも何度やっても覚えられないのでメモ


特定のPHPセッションを消したいとき


<?php

session_start();

unset( $_SESSION["DATA"] );

?>


でも、全部完全に削除してしまいたいときは↓


<?php

session_start();

$_SESSION=array();
session_destroy();


?>


※参考にさせて頂きました:http://www.php-ref.com/web/02_session_destroy.html

前回引っかかった文字化け問題解決にチャレンジ!!




スクリプトファイル ⇒ 保存するときに指定


PHP ⇒ ini_set()で指定


MySQL ⇒ DBをcreateする段階で文字コード指定



■MySQLのデータベースの文字コードは

SHOW CREATE DATABASE データベース名

で調べられるそうな。
※参考:http://mysql.javarou.com/dat/000573.html


■my.cnfで設定されている文字コードの設定は

show variables like "char%";
で調べられるそうな

※参考http://fg-180.katamayu.net/archives/2006/09/22/023614


■データベースの文字コードの変更は

alter database ~DB名 character set utf8
で出来るそうな。

などなど、色々調べていたけど試す前に原因発見!!


何のことはない、データを入力するページのHTMLの文字コードの宣言がJIS

表示するページのHTMLの文字コードの宣言がSJISとしていたため文字化けしていたようです。。。


こんな事で引っかかるとは(涙)もっと修行が必要です。。。


でも、まだ「表示」とか「芸能人」という単語は文字化けのまま。

いつかちゃんと解決しよう!!


ちなみに文字コードの宣言参考にさせて頂きました。

※参考http://www.mozilla.gr.jp/standards/webtips0022.html

引き続き文字化けと格闘中。。。。。


試したい関数を発見。。

mysql_set_charset関数!!


詳しくは↓

http://itpro.nikkeibp.co.jp/article/COLUMN/20080929/315647/


っと思ったけど、エラった・・・・・。


調べてみると、PHP 5.2.4 以降じゃないと動かないらしい。

でも、PHPは現状yumでは5.1.6までしかupdate出来ない。。。


でも、ググルと親切なサイトを発見!!

http://d.hatena.ne.jp/allspice/20080301


ものの数分でupdate完了しますた!



一応、コピペ↓ すみませんm(_ _)m

====================================

CentOSでPHP5.2.5をソースからではなくrpmでインストールする方法。

CentOSのBaseRepoをupdateしてから

下記のRPM-GPG-KEYをインストール。

rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

/etc/yum.repos.d/utterramblings.repo に下記の内容をコピー。

[utterramblings]

name=Jason's Utter Ramblings Repo

baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/

enabled=1

gpgcheck=1

gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

コピーが終わったら、yum update でPHP、MySQLがアップデートされる。

update 後は、enabled=0 としてアップデート必要時に enabled=1 に変更する。

というわけで、IEでソースコードを見るときにいらいらするのがデフォルトの

エディタしていができない。 怒 怒


んで、軽く調べたら新設なさいと発見!!

http://www2a.biglobe.ne.jp/~qpon/html/ie_edit.htm


さくさくと数分で設定が完了。

大好きなpeggyでソースが開けました。


ただ、レジストリをいじるのでちょっと不安です。。。。


いじる際はくれぐれもご自身の責任のもとお願いします。

ここ数日、文字コードの問題に完全にはまってます。


どうも スクリプトファイル ⇒ PHP ⇒ MySQL ⇒ ブラウザ と受け渡しされる中でそれぞれの文字コードが

バラバラな為に発生する見たい。。。


おなじみK君に相談してみると


ファイルの保存文字コード

PHPの文字コード

MySQLの文字コード

ブラウザにあわせた文字コードにコンバート


して表示させると幸せになれるかもw


だそうだ。



幸せになりたいw



ちなみに

ああああああああ」 と入力すると

$B$"$"$"$"$"$"$"$"(B」と素敵な感じで表示されています。。。。

どうもたまにmb_detect_encodingでSJISにエンコードしているのに

UTF-8で表示される。


でも、そうすると正しくPCでは表示される。

無論携帯では、文字化け。。。


何か文字エンコードを明示的に指定できていないのでは?という疑念が。。。


現在のデフォルトの文字設定は

スクリプトファイル ⇒ SJIS 

PHP         ⇒ php.iniによれば、 default_charset  no value

MySQL       ⇒ default-character-set = utf8



対応としては、次らしい


スクリプトファイル ⇒ 保存するときに指定

PHP ⇒ ini_set()で指定

MySQL ⇒ DBをcreateする段階で文字コード指定


やってみよ~


今回は、すべてEUCに統一。

表示するときのみSJISにする事にしてやってみる。



次回は実際にチャレンジ

テーブルタグで空のセルがあると

aaaa aaaa
aaaa

見たいに崩れてしまう。。。


だけど、<td><br></td>とすると


aaaa aaaa
aaaa


のようにきれいに表示されるとな。


ん~、知らなかった。

よく考えてみれば、そりゃそうだ。


表示する物がないんだから、線が重なっちゃってたわけだ。


でも、気づかない俺は超努力してた、、、


※このサイトを参考にしました。

http://www.tohoho-web.com/html/table.htm

これも何度やっても覚えられないのでメモ(笑)


■カラムの追加
ALTER TABLE [テーブル名] ADD [カラム名] [型] ;

例)
ALTER TABLE hoge_table ADD hoge_huga int ;

これからも【alter】のメモはここに追加していきまーす



■テーブル名の変更

ALTER TABLE [旧テーブル名] RENAME TO [新テーブル名];


■カラム型の変更

ALTER TABLE テーブル名 MODIFY [COLUMN] カラム名 新カラム型;

※ちなみにこちら参考にさせて頂いています

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/mysql_07.htm

http://f32.aaa.livedoor.jp/~azusa/index.php?t=mysql&p=add#a_change_type