タグ

UNIXに関するmasutaka26のブックマーク (77)

  • POSIXコマンドチートシート(を作る) - Qiita

    この記事の説明 POSIX規格で用意されているコマンドとその概要が一覧できるページ(チートシート)が欲しいという要望をもらった。もちろんThe Open GroupのPOSIXのページへ行って、1つ1つのコマンドのページを開けばわかることはわかるのだが、概要という形では一覧できない。 確かにそうだと思ったので、生成することにした。もちろんPOSIX原理主義(極力POSIXの範囲のコマンド)1で。 そこはやっぱ意地でしょ。 というわけで、まずは生成したチートシートをどうぞ。 これが、POSIXの範囲で使えるコマンド一覧だ! admin - create and administer SCCS files (DEVELOPMENT) alias - define or display aliases ar - create and maintain library archives asa -

    POSIXコマンドチートシート(を作る) - Qiita
  • あなたの知らない less の世界 - Qiita

    最近 prezto 入れたんですよ。prezto。そしたらいつものシェル世界が見違えるほど使いやすくなって身長も 3 メートルくらい伸びたんですが、それは余談でして、prezto 入れた後に less 使ってみたら余りの変わりっぷりに驚いたんです。 これを機に man page を読み直してみたら更に驚き。less ってこんなスゴイ物だったのか!みたいな。今回はそんな less の底力を紹介します。 環境変数 $LESS less には様々なオプションがあるのですが、これを予め環境変数 $LESS に設定しておくと、毎度 less ファイル名 と打つだけでそれが有効になります。更に、後述しますが、この設定は less 起動中にオン・オフして切り替えることが可能です。 # 最低限でもこれくらいは設定しておこう export LESS='-i -M -R' # 僕は後述の物を全部付けてます(-

    あなたの知らない less の世界 - Qiita
    masutaka26
    masutaka26 2016/10/10
    設定することにした。
  • Filesystem Hierarchy Standard

    All trademarks and copyrights are owned by their owners, unless specifically noted otherwise. Use of a term in this document should not be regarded as affecting the validity of any trademark or service mark. Permission is granted to make and distribute verbatim copies of this standard provided the copyright and this permission notice are preserved on all copies. Permission is granted to copy and d

    masutaka26
    masutaka26 2016/03/16
    /etc とか /usr とか /opt とかは何かを定義した FHS 最新の仕様
  • /usr は何の略か – ビットログ

    Unix系OSのルートディレクトリ直下にある “/usr” はなんの略なのか。 巷の意見はおおよそこんな感じです。 「もちろん “USeR” の略でしょ。」 「あまいな。 “User Services and Routines” の略だ。」 「その “User S*R*” の略だっていうソースはあるの?」 どうもはっきりしません。そこで調べ始めたら、思いのほか深入りしてしまったので、今回調べたことを書いておきます。 0. Unixユーザグループの機関誌に載っていた説 Unixユーザグループの機関誌に “User Services and Routines” の略だと書いてあったという情報が散見しますが、ここではそれをソースとして認めません。その記事に「XXXのドキュメントに書いてある」とか、「IEEE NNN.N で決まっている」とか書いてあれば一件落着なのですが、原典を見つけることはでき

    masutaka26
    masutaka26 2015/12/03
    そうなのか... “Unix系OSの “/usr” が “User S*R*” の略であるという裏付けは見つかりませんでした。それがない限りは、 “USeR” の略とするのが自然であるというのが今のところの結論です。”
  • POSIX sh準拠のシェルスクリプトを書くときに checkbashisms が便利。 | おそらくはそれさえも平凡な日々

    http://sourceforge.net/projects/checkbaskisms/ 「#!/bin/sh なのにbashでしか動かないシェルスクリプトを書くな!」みたいなことはよく言われるわけですが、僕はゆとりなので正直どうでもええやろとか思ったりもしてました。実際、CentOSだと、/bin/sh は /bin/bash へのリンクだし、OSXでも /bin/sh の実態はbashだしね。 しかしそこで立ちふさがるのがUbuntu。Ubuntuだとデフォルトで /bin/sh は /bin/dash だったりするわけです。dashはPOSIX準拠のsh実装で、bash独自の記述があると見事に動かない。 とはいえ、それで困るのだったら、デフォルトシェルをbashにしたVMテンプレートを作ればいいんじゃないかって思うやろ。僕もそう思う。 しかしそこで立ちふさがるのがTravisで、

    POSIX sh準拠のシェルスクリプトを書くときに checkbashisms が便利。 | おそらくはそれさえも平凡な日々
    masutaka26
    masutaka26 2015/09/23
    良い!と思ったけど、sourceforge的なリンクの分からなさに心が折れた
  • 今、伝えたい、UNIXの知恵 シェルしぐさ

    「大人たちは、なぜ、こんなすばらしい『シェルしぐさ』が日にあったことを今まで教えてくれなかったんですか」。USO法人シェルしぐさ理事長の法螺貝シェル子さんは、中学校の生徒たちを前に講演した折、こんな質問を受けたことがある。子供たちの鋭い感性に感激するとともに、シェルしぐさの語り部という使命を改めて感じたという。

    今、伝えたい、UNIXの知恵 シェルしぐさ
  • 5704! — cheatsheet for crontab

    I sometimes edit the crontab when I forget always crontab format. So I created cheatsheet, In Japanese(Searched for crontab cheatsheet, most seemed those of English).for Print(PDF): Cheatsheet for crontab

  • /tmp と /var/tmp の違い - しょぼんメモリ (´・ω・`)

    どちらも一時ファイルを保存するディレクトリだけれど、ちゃんと説明があったのでメモ。 /tmp ・再起動するとファイルは消える ・定期的に削除される(10日) /var/tmp ・再起動してもファイルは消えない ・定期的に削除される(30日) CentOS 6.xの場合・・・ 再起動後の処理は、/etc/rc.d/rc.sysinit で行われる。 定期的に削除する処理は、/etc/cron.daily/tmpwatch で行われる。 これらの用途は、FHS(Filesystem Hierarchy Standard(ファイルシステム階層標準)に記載されている。 Filesystem Hierarchy Standard http://www.pathname.com/fhs/ FHS 2.3によると・・・ /tmp:P.15 The /tmp directory must be made

    /tmp と /var/tmp の違い - しょぼんメモリ (´・ω・`)
  • 1日が1秒増える「うるう秒」を2015年に追加決定、うるう秒バグを回避できるのか?

    By Chris Halderman 1日の長さは通常24時間ですが、2015年7月1日はうるう秒(閏秒)が挿入されることで通常より1秒長い「24時間1秒」になります。うるう秒とは、現行の協定世界時(UTC)と地球の自転のズレを調整するために追加・削除される時間のことで、2012年7月1日に実施された際にはインターネット上でうるう秒バグが発生しました。 INTERNATIONAL EARTH ROTATION AND REFERENCE SYSTEMS SERVICE(IERS) http://hpiers.obspm.fr/iers/bul/bulc/bulletinc.dat フランスのパリに部を置く国際地球回転・基準系事業(IERS)は、「うるう秒」を2015年6月30日(世界標準時)に実施することを発表しました。これにより2015年6月30日は23時59分59秒の後に23時59分

    1日が1秒増える「うるう秒」を2015年に追加決定、うるう秒バグを回避できるのか?
  • 第25回 cron周りのベストプラクティス(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはsongmuさんこと松木雅幸さんで、テーマはcronです。 なお稿のサンプルコードは、誌サポートサイトから入手できます。 cronとは? cronは指定日時にジョブの自動実行を行うジョブスケジューラです。UNIX系のOSであれば実装の違いこそあれ、ほぼ標準でインストールされています。 作業自動化や、タスクを自動実行したいなどといった場合にcronは避けては通れません。Perlでバッチ処理を書く際などに多くの人が活用していると思いますが、ベストプラクティスがわからず恐る恐る使っている人も多いのではないでしょうか。 稿では、cron活用におけるベストプラクティスについてお話します。 cronの使いどころ cronの使い途は、主に次の3つが考えられます。 a.アプリケーションのジョブの実行 b.システムに関わる

    第25回 cron周りのベストプラクティス(1) | gihyo.jp
  • What's "LANG=C" ?

    はてなブログ」に移行しました。 1日1更新……を目指せなくなってきてるブログ。自分の勉強のために作りました。継続は力なり。 今は主にUbuntuとAndroidネタが中心です。 コマンドを、日語環境でなく英語環境で実行したいとき、LANG=Cと付けて実行してやったりする。 $ dateと$ LANG=C dateのそれぞれの実行結果を見比べると一目瞭然。 しかし、このCってのがよくわからん。英語環境を表すのにはenというのも用意されていて、実際に$ LANG=en dateとやると、やはり英語で表示してくれる。 じゃあ、Cって何なのよ。と思い調べてみた。 それで見つけたのが、次のページのこの記述 http://mailman.linuxchix.org/pipermail/techtalk/2002-November/013691.html 'LANG=C' sets the loca

  • ターミナル操作の記録(ttyrec)からGIFアニメを生成するツールを作った - すぎゃーんメモ

    ttyrec で録画したデータを使ってターミナル上で再生しつつ、そのスクリーンキャプチャを使ってアニメーションGIFを生成するツールをGoで作ってみた。 https://github.com/sugyan/ttygif Releases Mac, Linux Desktopで動作。再生速度はオプションで変更可能。 背景 percolを使ってターミナル操作を早く、便利に。 - すぎゃーんメモ のような記事を書いたりする際に、ターミナル操作を録画してGIFアニメにしたい需要があり。 そういった用途に使える汎用のデスクトップ録画ツールとしてはLICEcapやGifzoなどがある。 Cockos Incorporated | LICEcap http://gifzo.net/ これらはWindows, OSXあたりが対象で、Linuxの場合はまた他のツールがあるらしい(よく知らない)。 汎用的なキ

    ターミナル操作の記録(ttyrec)からGIFアニメを生成するツールを作った - すぎゃーんメモ
    masutaka26
    masutaka26 2014/07/21
    ttyrec懐かしいね
  • Talpa memorandum

    橘玲の『「読まなくてもいい」の読書案内』を読んだので、感想とメモをまとめておく。 この、タイトルは『「読まなくてもいい」の読書案内』だが、実際には「読まなくていい」はほとんど紹介されていない。紹介されているのは、当たり前の話かもしれないが読むべきだ。他の読書案内と異なっているのは、”こういうは読まなくて良い”と、ばっさり切り捨てているところ。読むべきか・読まなくてもよいかの基準は、20世紀後半に爆発的に進歩した科学研究の成果に置いている。著者は、この時期に起きた科学研究の大幅な進歩を”知のビッグバン”、”知のパラダイム転換”と呼び、これ以前に書かれたは(とりあえず)読む必要がないと言い切る。古いパラダイムで書かれたは捨てて、新しいパラダイムで書かれたを読もうという話だ。ちょっと乱暴な分け方ではあるが、1980年代に大学生だった私には案外納得できるものだった。学生時代に最

    masutaka26
    masutaka26 2014/06/25
    変態...なのか
  • 「UNIXという考え方」を読んだ - その手の平は尻もつかめるさ

    「UNIXという考え方」をAmazonのwish listに入れていたらid:kenjiskywalkerさんが贈ってくださったので読みました.お陰でUNIXという考え方を学べました.ありがとうございます! 書では一貫して「プログラムを小さく作る」という事と「1つのプログラムには単一のことだけを上手くやらせる」という事について言及されています. プログラムを小さく作るということによって,そのプログラムはコンピュータのリソースに対して優しくなり,なおかつ巨大なプログラムと比較して人間が理解するのが簡単になるので保守がしやすくなり,かつ他の部品と組み合わせやすくなるという論旨です. プログラムを小さく作ると,必然的にそのプログラムは多くの責務を負えなくなる為,自然とプログラムは単一の機能のみを持つようになります.従ってこれら2つの考え方は対になっていると言えるでしょう. 書で言われている「

    「UNIXという考え方」を読んだ - その手の平は尻もつかめるさ
  • 読み取り権限がなく実行権限だけのファイルが実行できるのはなぜ? - カーネルのソースを読む - - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    きっかけはこのツイート。 基礎的なことなんだろうけど理解できてないこと。 読み取り権限のない実行権限だけのファイルってどういう扱いになるんだろう。— ゑぬぽい改@電探が出(ん)たん? (@NPoi) March 27, 2014 実際にやってみるとわかるけど、実行権限だけついてるファイルは実行可能です。でも、「読み込めないのに実行できる」というのは直感に反するような気もしますね。だって、実行するためにはプログラムをメモリに読み込む必要がありますから!ではなぜ実行権限だけのファイルが実行できるのか、その仕組みを解説します。 実行とはなにか、どういう仕組みなのか Linux において実行とは「forkしてexecする」です(そのへんの詳しい話は プロセスさん を読もう!)。 fork も exec もシステムコール(正確には execve がシステムコールで exec はそのフロントエンドだけ

    読み取り権限がなく実行権限だけのファイルが実行できるのはなぜ? - カーネルのソースを読む - - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
  • GNU grep 2.18リリース: 10倍速くなったと思ったら今度は200倍遅くなっていた | はむかず!

    先日の記事 いまさらgrepが10倍高速化したのはなぜか が思わぬ閲覧数を稼いでしまい、トルコ語の知識を日に広めるのに大きな貢献をしたような気がしますが、みなさんいかがお過ごしでしょうか。 実は先日の記事を書いた時にはすでに2.18がリリースされてたのだが、今回は2.17のときと違って日の大手メディアが取り上げてなかったので、ついつい見落としていた。しかし実は2.18でも大きな変更が!! リリースノート抜粋: grep -i in a multibyte, non-UTF8 locale could be up to 200 times slower than in 2.16. [bug introduced in grep-2.17] なんということでしょう。-iオプションでUTF8のときは2.17で10倍速くなっていたのだが、それ以外のマルチバイトロケールのときは200倍遅くなって

    masutaka26
    masutaka26 2014/02/26
    忙しい
  • いまさらgrepが10倍高速化したのはなぜか – はむかず!

    最近GNU grepコマンドの最新バージョンがリリースされ、速度が10倍になったとのアナウンスがあった。それを聞いて、なんであんな枯れた技術に10倍もの高速化の余地があったのだろうと不思議に思った人も多いだろう。 ニュース記事:grepコマンド最新版、”-i”で10倍の高速化 家のリリースノート:grep – News: grep-2.17 released [stable] 今回のリリースでは正確には、マルチバイトロケールで、-iオプション(–ignore-case、つまり大文字小文字を区別しないオプション)をオンにした時の速度が10倍くらいになったそうだ。 なぜそんなに速くなったのか?逆を言えば今までなぜそんなに遅かったのか? そもそも、多くの日人にとって「大文字小文字の区別」というと英語のアルファベットか、せいぜいフランス語とかドイツ語とかのアクサン記号・ウムラウトがついたものく

    masutaka26
    masutaka26 2014/02/25
    migemo方式かー
  • パスワードが漏洩しないウェブアプリの作り方 〜 ソルトつきハッシュで満足する前に考えるべきこと

    ■■序論 徳丸さんのスライド「いまさら聞けないパスワードの取り扱い方」に見られるように、昨今、ウェブアプリケーションの設計要件として、サーバ内に侵入された場合でもユーザーのパスワードをできるだけ保護すべきという論調が見受けられるようになってきました。 上掲のスライドでは、その手法としてソルトつきハッシュ化を勧めています。しかしながらスライドに書かれているとおり、ソルトつきハッシュには、複雑なパスワードの解読は困難になるものの、単純なパスワードを設定してしまっているユーザーのパスワードについては十分な保護を提供できないという問題があります。そして、多くのユーザーは適切なパスワード運用ができない、というのが悲しい現実です。 ソルトつきハッシュを使った手法でこのような問題が残るのは、ウェブアプリケーションサーバに侵入した攻撃者がユーザーの認証情報をダウンロードして、認証情報をオフライン攻撃するこ

  • 最近の tar には a (--auto-compress) オプションなるものが追加されたために人類の生産性がおよそ1%程度(当社比)向上する - Cry’s Diary

    最近の tar には a (--auto-compress) オプションなるものが追加されたために人類の生産性がおよそ1%程度(当社比)向上する - Cry’s Diary http://d.hatena.ne.jp/Cryolite/20120329#p2 知らんかった…$ tar acf hoge.tar.bz2 foo bar $ tar acf hoge.tar.gz foo bar $ tar acf hoge.tar.xz foo bar$ file hoge.tar.* hoge.tar.bz2: bzip2 compressed data, block size = 900k hoge.tar.gz: gzip compressed data, from Unix, last modified: Wed Dec 5 00:02:07 2012 hoge.tar.xz: XZ

    最近の tar には a (--auto-compress) オプションなるものが追加されたために人類の生産性がおよそ1%程度(当社比)向上する - Cry’s Diary
    masutaka26
    masutaka26 2013/10/26
    知らんかった!
  • sudo してコマンドを実行するシェルスクリプトの書き方 - わからん

    toolbelt.heroku.com の heroku コマンドインストールスクリプト が、sudo してコマンドを実行するシェルスクリプトの書き方の参考になりました。 # https://toolbelt.heroku.com/install-ubuntu.sh echo "This script requires superuser access to install apt packages." echo "You will be prompted for your password by sudo." # clear any previous sudo permission sudo -k # run inside sudo sudo sh <<SCRIPT # add heroku repository to apt echo "deb http://toolbelt.hero