Tag commandを表示しています。
2018.10.26 金
バージョン確認 $ psql —-version (ログインしてから、"# select version();") ログイン $ su - postgres $ psql (または psql -d postgres / psql -U postgres) postgres=# ログアウト postgres-# \q データベースに入る postgres-# psql DATABASE_NAME ユーザーを指定してデータベースに入る postgres-# psql -U USER_NAME DATABASE_NAME データベースの一覧 postgres-# \l (または $ psql -l) データベース切り替え(というか接続) postgres-# \c DATABASE_NAME (p...
2018.10.19 金
デバック方法は数ある中でも最終的に頼りになるデバック方法を備忘録として書いておこうと思いました。いろいろな武器はかなりの性能を発揮するのですが、それがいつでもどこでもどの環境でも使えるわけではないというわけで、とりわけサバイバルナイフ一本でどこまでできるかというような趣旨になります。 そして「プログラムは嘘をつかない、いつかは必ずみつかるバグ」をモットーにがんばりましょう! Grep いわずと知れたgrepコマンドですが、grepはシステムを制すなのです。 ほとんどの場合、他のコマンドをパイプでつないで使います。出力した内容をそのままパイプで渡して文字列検索をします。 パイプを使う $ cat index.php | grep -n "include" -nオプションを入れておくと行数が出て...
2018.8.20 月
すごい若い女の子にもらったレシピだけど、見てたら読みたkなってきたぞ。 Unix はじめてUNIXで仕事をする人が読む本 Linuxシステム[実践]入門 Web 「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか Webを支える技術 -HTTP、URI、HTML、そしてREST マスタリングTCP/IP 入門編 第5版 Datastore 達人に学ぶ DB設計 達人に学ぶ SQL徹底指南書 Datastore (advanced) SQL実践入門 高速でわかりやすいクエリの書き方 SQLアンチパターン プログラマのためのSQL 第4版 すべてを知り尽くしたいあなたに Cording ails tutorial ブジェクト指向設計実践ガイド オブジェクト指向...
2017.12.13 水
最近はhttpプロトコルでのアクセスが異様に多くて何でもかんでもhttp/httpsになってきているので接続の確認方法いろいろ紹介します。 やたらとプロキシ・サーバーがあったり妙なアクセス制限があったりFWの設定情報を開示してくれなかったり世の中いったいどうなってんでだというところではありますが、順を追えばわかったりしますので根気強くハックしましょう。 特定ホストに接続できない(返り値を得ることができない) 例えば以下のようなURLにアクセスできないとします。ステータスが403になってしまったなどです。 host.example.com digでIPを探す どういう理由かはわからないので、取り急ぎdigでIPアドレスを求めます。 $ dig host.example.com xxxxx.co...
2017.6.3 土
Laravelの開発時にpullしたりすると動かないときがあります。キャッシュ消したりいろいろやるわけですが、新しく追加したクラスなどなどうまいこと登録されていないことがあるので最適化してやらないとダメなときがあります。 デプロイ時にも同じような処理をしてあげるといいです。 最適化・高速化? // Laaravelのディレクトリに移動して.... php composer.phar dump-autoload php artisan clear-compiled php artisan optimize 各種キャッシュのクリア php artisan config:cache php artisan route:cache php artisan view:clear php artisan...
2016.12.26 月
改行コードの問題なので、CRLFをLFにしてあげるといいです。 cat -A xxx.sh 対象のshファイルを上記コマンドでみてみると^MがCRになってます。 UTF8でLFにしてやるとたいてい治ります。(とはいえ「コマンドが見つかりません」といわれるだけで実行には問題ないです。) sed "s/^M//g" xxx.sh > xxx.sh こんな感じで。 普通にローカル環境でなおしてあげるのでも全く問題ないです。 http://sunnydays-k.hatenablog.com/entry/2015/05/13/222825
2016.10.4 火
cronが設定されているかどうか確認する $ crontab -l で現在のcron設定が表示されます。cronはユーザー単位で設定されるので、スーパーユーザーの場合はrootがcronを設定することになりますので注意。設定が初めての場合、または何もない場合は、「no crontab for <ユーザー名>」と言われます。 $ crontab -l SHELL=/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/lib/gems/1.8/bin RAILS_ENV=production # m h dom mon dow command */30 * * * * perl /h...
2016.9.21 水
SSHはリモートホストをコントロールする通信方法ですが、言ってみれば相手先のサーバーにログインしてしまうと相手先のサーバー内の環境において作業をするということで…つまりはlocal環境で作業していることになります。remotehostにログインすると自分自身はlocalhostになる。ややこしいですが、そういうことです。 しかし、こちら側(localhost)からあちら側(remotehost)をリモート側としてコントロールすることはできるか?というとできます。 例えばこんな例を考えてみてください。 MySQLをDumpする。 tarでアーカイブする。 SCPで転送する。 tarを展開する。 restoreする。 この一連の動作をcronで行おうとするとき、1〜3はlocalhost側で作業...
2016.9.20 火
file_`date "+%Y%m%d_%H%M%S"`.txt file_20140409_111255.txtというファイルができます。私はたいていcronでバックアップファイルを作るときなんかに利用してます。 mysqldump -u user -h localhost -pPASSWORD sample_db sample_tbl > /tmp/dumpfile_`date "+%Y%m%d_%H%M%S"`.sql とかいうのもいいです。 dateコマンドにはフォーマットがいろいろあるでいろいろ使えます。 文字列 指定した文字列を表示する %H 時 (00〜23) %I 時 (01〜12) %k 時 ( 0〜23) %l 時 ( 1〜12) %M 分 (00〜59) %p A...
2016.8.4 木
findでファイル名を検索 findはファイル名を検索します。ほんとにごく頻繁に使う便利なコマンドです。ディレクトリとファイル名を指定して検索しますが、例によってfind / -name “*”こういうコマンドはナンセンスです。検索したいディレクトリに移動してその下位ディレクトリを再帰的に検索するのかベターかと思います。 $ find . -name "*.html" ファイル数を数える ファイル数を数えるコマンドとかあったかもわからないけど、面倒なので書きだして行数数える。diffとる時なんかはこうやって書き出して比べてみるといいです。余分なファイルとか足りないファイルがあったりなかったり。 $ find . -name "*.html" &gt; html...
2016.6.9 木
OSの確認(Linuxディストリビューション) CPUスペックの確認 メモリ容量の確認 HDD容量確認 Apacheの設定確認(設定情報、文字コード、モジュール) SSHの確認 MTAの確認 MySQLの確認 Perlのバージョン確認(Perlモジュールの確認(インクルードパスを調べる)) PHPのバージョン確認 ログインシェルの確認 OS確認 Debian GNU/Linux $ cat /etc/debian_version 4.0 Ubuntu あるいは、 $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=8.04 DISTRIB_CODENAME=hardy DISTRIB_DESCRIPTION="Ubuntu 8.0...
2016.5.9 月
dfコマンド 全体のHDD総量を測るのがdfコマンドです。最近は容量が大きいので-hでもってGB単位で表示するのが1番よいかなと思います。オプションなしだとデフォルトでKB単位で表示されます。-hがGB、-mがMB、-kがKBというオプションになります。 # df -h Filesystem Size Used Avail Use% Mounted on /dev/vda2 16G 7.9G 7.0G 53% / tmpfs 499M 0 499M 0% /dev/shm ディレクトリ単位の容量はこんなduコマンドを使います。オプション-sでサマリー、-hでGB単位表示です。続けて指定のディレクトリパスを書けばOKです。 # du -sh hogehoge 1.6G omnioo ファイル単...
2016.4.21 木
topコマンドというのがあって、現在のサーバーの状態をリアルタイムで表示してくれます。 top - 13:02:28 up 17 days, 20:31, 1 user, load average: 0.53, 0.54, 0.49 Tasks: 70 total, 3 running, 67 sleeping, 0 stopped, 0 zombie Cpu(s): 14.6%us, 0.7%sy, 0.0%ni, 84.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 3932160k total, 2380716k used, 1551444k free, 131892k buffers Swap: 0k total, 0k used, 0k free...
2016.4.14 木
ln -s ./top/index.html ./index.html ln -s <実体ファイルパス> <シンボリックリンクのファイルパス>という風になっています。-sオプションを忘れずに。 毎回忘れるんだけど、手前が実体ファイル、後ろがリンク。
2016.4.3 日
コマンドのエイリアスは、ユーザーディレクトリ内に.bashrcで作成します。私自身が最低限必要のは以下ぐらいでしょうか。 /home/USERDIR以下に隠しファイルで.bash_profileまたは.bashrcを新規で作成するか、既存のファイル内に追加します。(ひょっとしたら既存のファイル内のコメントアウトを外す作業になるかもしれません。) またOSによっては、.bash_profileに書かないと効かない場合もあるかもです。 alias ll='ls -al' alias la='ls -A' alias l='ls -CF' プロンプトも使いづらいことがあるので、[USER@HOSTNAME 00:00 $]みたいな形式にしておく。 PS1='\[\e[37m\]bluma@\u \...
2016.3.9 水
この時代にsedなんか使っている人がいるんだかいないんだかですが、やっぱり軽くていいです。置換ソフトは数あれど、比較的巨大なファイルも難なく一発置換してくれるのが、sedです。grepなんかと一緒に使ったりします。結構使う頻度多いかもです。Jeditで6MB超のファイルを置換したらフリーズしてしまうのでサーバ上で置換しました。 sed -e s/<置換対象文字列>/<置換語の文字列>/g <置換対象ファイル> <置換後のファイル> 今回はMySQLのDBからダンプしたファイルのURLをすべて置換というので、使いました。 sed -e s/www.example.com/home.example.com/g DB.sql > DB2.sql...
2016.3.9 水
Gitの作成時 gitのイニシャライズ $ git init gitのバージョン確認 $ git --version git version 1.7.1 ユーザーの作成 –globalをつけるとすべてのgitのユーザーになる。 $ git config --global user.name USERNAME (git config user.name USERNAME) Emailの登録 $ git config --global user.email USERNAME@example.com (git config user.email USERNAME@example.com) 端末操作時に色をつける(これいい) –globalありでOK。 $ git confi...
2016.3.6 日
Login 最近のバージョンでは-pの後にパスワードベタ書きができなくなったようです。-pPASSWORD こういうやつ。 -hのホスト名を省略すると自動的にlocalhostになります。 mysql -u [USERNAME] -p -h [HOSTNAME] DB DB名を表示する ログインしたユーザーが操作できる権限のDBが表示されます。rootだと全部。 mysql> show databases; DBを選択する DB選択しないと中身の操作できません。 mysql> use [DBNAME]; Table DB内のテーブルを表示する mysql> show tables; テーブル削除(要注意!) こっちは物理的にテーブルごと削除されます。 mysql> d...