タグ

unixに関するmas-higaのブックマーク (43)

  • 元々は /usr は user の略に決まってるじゃん?ホームディレクトリを置く場所だったんだから - Qiita


    Twitter調/usr /bin  /usr 使Unix System Resources  DeepL  Unix  URL1972 Version 1 Unix (1971)  12 idata: / root 41. 140016 .byte 7,1 9f-.-2 41. <..
    元々は /usr は user の略に決まってるじゃん?ホームディレクトリを置く場所だったんだから - Qiita
    mas-higa
    mas-higa 2024/06/20
    そう言えば、初めて Unix 使ったとき /usr/local が NFS の先にあり、他の Unix マシンもそれを共有していて local とは? となったな
  • なぜsortコマンドはuniq機能を含んでいるのか?(Unix哲学はどこ行った!?) - Qiita

    Unix 哲学的に考えれば、行を並び替える sort コマンドと重複行を取り除く uniq コマンドは別のコマンドであるべきなように思えます。しかし sort コマンドには -u オプションとして uniq コマンドに相当する機能が組み込まれています。なぜそうなっている(そうなってしまった)のかを「ソフトウェア作法(さくほう)」を参照しながらこの記事で明らかにしたいと思います。 関連記事 Unix哲学「一つのことをうまくやる」は単機能のコマンドを作ることではない 「誰」がuniq機能をsortコマンドに組み込んだ!? 熱烈的な Unix 哲学の信者は「どうせ Unix 哲学を理解しない GNU が便利だと思ってオプションを追加したのだろう」と考えるかもしれません。しかし uniq 機能が組み込まれたのは Version 7 Unix、つまり Unix の開発者が組み込んだのです。これは 1

    なぜsortコマンドはuniq機能を含んでいるのか?(Unix哲学はどこ行った!?) - Qiita
    mas-higa
    mas-higa 2024/05/20
    "理屈的に考えると sort + uniq は総 CPU 使用量は多いが実時間は短くなる" / ソフトウェア作法なつかしい / uniq 使ったことない人が意外と多い?
  • CLIツールを作るとき、ユーザー設定ファイルやデータをどこに配置するか - $shibayu36->blog;


    chat-hatenablogpip install - $shibayu36->blog;chat-hatenablogpip install.envindex.pickle使 調  ~/.chat-hatenablog/.env~/.chat-hatenablog/index.pickle ) ~/.asdf~/.docker~/.gem XDG Base Directory沿~/.config/chat-hatenablog/.en
    CLIツールを作るとき、ユーザー設定ファイルやデータをどこに配置するか - $shibayu36->blog;
    mas-higa
    mas-higa 2023/05/02
    ~/.config はなかったけど ~/.local/share は存在した!
  • A4用紙40枚で1969年から2022年までのUNIXの歴史「Unix History」を一望してみた


    OSOSUNIX50UNIX HistoryÉric LévénezA4 UNIX History https://www.levenez.com/unix/ UNIX HistoryA4PDFA4 A4PDF A44040 40A440
    A4用紙40枚で1969年から2022年までのUNIXの歴史「Unix History」を一望してみた
    mas-higa
    mas-higa 2022/12/05
    昔印刷したことあるなぁ。10年くらい前に難波のジュンク堂コンピュータ書の壁に貼ってるの見た気がする。
  • シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita

    はじめに bash などのシェルには [ ... ] と [[ ... ]] の二種類の比較方法があります。一つはコマンド、もう一つはシェルの文法なのですが、具体的にはこの二つは一体何が違うのでしょうか? そもそもなぜ似ている機能が二つもあるのでしょうか? この記事は言語設計者の気持ちになって考えることで、その理由を解き明かそうという記事です。 なお、違いについての簡単な説明については「test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog 」の記事がよくまとめられていますので紹介します。一通りの違いを素早く知りたい方はこちらを参照してください。 参考 シェルの歴史や種類については「シェルの歴史 総まとめ(種類と系統図)と POSIX の役割」に詳しくまとめています(系統図とか頑張って書いたので見

    シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita
  • 『manがあるコマンドは偉いし、manを付けるべき - Lambdaカクテル』へのコメント

    ブックマークしました ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください Twitterで共有

    『manがあるコマンドは偉いし、manを付けるべき - Lambdaカクテル』へのコメント
    mas-higa
    mas-higa 2022/10/13
    Unix では table を tab と略す慣習があるよね。fstab とか。
  • シェルスクリプトで安全簡単な二重起動防止・排他/共有ロックの徹底解説 - Qiita

    はじめに シェルスクリプトで二重起動防止やロックをする方法を検索すると、いろいろな方法や書き方が見つかりますが、どれを使えばよいのか、当に正しく動くのか、不安になりますよね? ディレクトリ (mkdir) やシンボリックリンク (ln) を使った独自実装の例も見かけますが、エラー発生時や予期せぬ電源断、CTRL+C で止めたときなどでも問題は発生しないのでしょうか? まず、ディレクトリやシンボリックリンクを使った独自実装はしない。これを肝に銘じてください。シェルスクリプトでのロック管理はとても難しく、一般的な排他制御の知識に加えて、シェルスクリプト特有の問題、シグナルやトラップ、サブシェルや子プロセスの問題、さらには特定のシェル固有の仕様やバグなどさまざまな問題に対処する必要があり大変です。独自実装の例では古いロックファイルが残ってしまい、それをいつどのタイミングで片付ければ安全なのか?

    シェルスクリプトで安全簡単な二重起動防止・排他/共有ロックの徹底解説 - Qiita
    mas-higa
    mas-higa 2022/09/28
    読めば読むほど mkdir や ln の優位性が感じられる
  • シェルスクリプトを書くのをやめる - blog.8-p.info

    今年から、できるだけシェルスクリプトを書くのをやめようとしている。私が毎日 zsh に打ち込んでいるのも広義のシェルスクリプトだし、自分用の雑なスクリプトを書くことはあるけれど、チームの他の人も将来に使ったり改変したりするようなものは、なるだけ他の言語を使っている。 シェルスクリプトを書くのは難しいし、その難しさは、学ぶに値しないといったら言い過ぎかもしれないけれど、2021年に初心者が取り組むべき問題とは言い難いと思う。 シェルは悪いプログラミング言語である Bash Strict Mode とかを使ってみても、シェルスクリプトには落とし穴が多すぎる。自分で書いたものを自分で使っている分には大丈夫なのだけど、スクリプトがチーム内で使われるようになると、考慮していなかったところ、例えばファイル名に空白文字が含まれるとか、そういうレベルの微妙なところで、ちゃんと書かれていないスクリプトは壊れ

    mas-higa
    mas-higa 2021/09/16
    "このスクリプトはそこまで大袈裟なことをしていたっけ?" Python とか Ruby を使う程の? 適材適所。
  • コマンドラインツールを作るときに参考にしている資料 | SOTA


     - YAPC::Asia Tokyo 2014  YAPC   UNIX UNIX Mike GancarzUNIX  
    mas-higa
    mas-higa 2018/03/12
    UNIX 哲学はカーニハンとプローガーがソフトウェア作法で20年ほど先に書いてるんだけどね。
  • 「新しいLinuxの教科書」をMacで実践する


    LinuxLinuxLinux(CUI)CUI1980CUI使(GUI) LinuxUnixOSCUIUnix使 OS X UnixBSDUnixUnixUnixOSLinux OS X 
    「新しいLinuxの教科書」をMacで実践する
    mas-higa
    mas-higa 2016/01/12
    「BSD原理主義者なので」
  • man は長すぎるので「tldr」

    たとえば, curl で JSON を POST したいとき, オプション記述を覚えてないので man. 長すぎて探すのが面倒で結局ぐぐってしまう. ssh でポートフォワードしたいとき, 結局これもぐぐってしまう. TLDR 【略】 =Too long. Didn't read. 長過ぎ。読みませんでした。/長文うざい(と言う人のための要約)。 そんな名前のすばやく調べるコマンドがありますよ. 分かりやすくうざくない長さで説明してくれます. tldr-pages/tldr ちなみに「tldr」で「tldr」は以下.

    man は長すぎるので「tldr」
    mas-higa
    mas-higa 2016/01/04
    tldr がタイプしづらい
  • process-book


     *nix  gist github       prefork  kill  epub  pdf epubpdf release thanks to mitukiii & moznion       -  3.0 
  • Go言語によるCLIツール開発とUNIX哲学について - ゆううきブログ


    20148 Go Mackerel mkr 調mkr   @deeeet YAPC Asia 2014   UNIX  71 使   
    Go言語によるCLIツール開発とUNIX哲学について - ゆううきブログ
    mas-higa
    mas-higa 2014/12/09
    最近パイプの中を流れているのはバイト列ではなく JSON らしい
  • パイプとフィルタ ~ソフトウェア工学における有用なアーキテクチャ~ | POSTD


     便UNIX1970 | 使 cat /usr/share/dict/words | # Read in the system's dictionary. grep purple | # Find words containing 'purple' awk '{print length($1), $1}' | # Count the letters in each word sort -n | # Sort l
    パイプとフィルタ ~ソフトウェア工学における有用なアーキテクチャ~ | POSTD
    mas-higa
    mas-higa 2014/11/25
    pressure というプロダクトの宣伝。$PIPESTATUS とか mkfifo とかで満足した人がそこまで読んだかどうか。
  • mac ストレージ その他 の圧迫をサクッと解決する方法 - ゆるぶろ


     Macbook使   Mac    apple Mac   使 
    mac ストレージ その他 の圧迫をサクッと解決する方法 - ゆるぶろ
    mas-higa
    mas-higa 2014/07/24
    "通常どおりに使用していても.core(コアダンプファイル)を作りまくっている" いや、死んでるから core 吐いてるんやろ。
  • Rubyでシェルもどきを作る - tmtms のメモ


    Ruby Ruby 10      1  Ruby  while true print '-> ' #  cmd = gets or break #  cmd.chomp! #  pid = Process.fork do #  Process.exec [cmd, cmd] #  end Process.waitall #  end Process
    Rubyでシェルもどきを作る - tmtms のメモ
  • そのファイル、安全に更新できていますか?(アトミックなファイル操作:前編)

    ハートビーツ最年長エンジニアの滝澤です。以前、弊社CTOにシニアおっさんエンジニアから若手エンジニアに向けて何か書いてくれと言われた気がしたので、アトミック(atomic)なファイル操作について3編に分けて紹介します。この内容は弊社の社内勉強会で話した内容をまとめ直したものです。 そのファイル、安全に更新できていますか?(アトミックなファイル操作:前編)←今回 そのファイル、安全に作成できていますか?(アトミックなファイル操作:中編) そのファイル、安全にロックできていますか?(アトミックなファイル操作:後編) 今回は「みなさん、安全にファイルの更新ができていますか?」ということについて、考えてみましょう。 あなたはあるサーバ上のファイルの更新を依頼され、もらったファイルをサーバ上でコピーして上書きしました。しばらくして、データに異常が発生したので調べて欲しいと言われました。さて、何が起き

    そのファイル、安全に更新できていますか?(アトミックなファイル操作:前編)
    mas-higa
    mas-higa 2013/10/11
    ファイルは簡単にアトミックな操作ができるけど、ディレクトリを差し替えたいときは、どうすんのが正解なんかねぇ?
  • du で見つからない巨大ファイルは lsof で見つけるの術 - HsbtDiary(2013-07-24)


     du  lsof   disk usage 90%  logrotate du調 30% ! @hiboma  lsof fd  td-agent tail 60%  kill fd disk usage
    du で見つからない巨大ファイルは lsof で見つけるの術 - HsbtDiary(2013-07-24)
    mas-higa
    mas-higa 2013/07/25
    プロセスが握ってるファイルを rm すると、そのプロセスにだけ使える隠しファイルになるっていうアレですね。
  • 僕がMacのホームディレクトリを削除するに至った経緯と、復元するまでの道のり | CreativeStyle

    最初に結論から申し上げますと、僕 @kadoppe はアホです。大馬鹿者です。 この度、仕事にフル活用しているMacBook Proのホームディレクトリ(/Users/<ユーザ名>)を削除するという愚行を働いてしまいました。 具体的に何をしたのか。それは、以下のコマンドの実行です。 コマンドにあまり詳しくない人のために説明すると、この短いコマンドをターミナルを開いて実行するだけで、有無を言わさずホームディレクトリの削除が開始されてしまう、恐怖のコマンドです。良い子は危険だから真似しちゃダメだよ! ではここからは、僕は何故こんなことをしてしまったのか、その経緯を言い訳がましく説明したいと思います。恥ずかしいですが、二度とこんなことを繰り返さないようにするために。 「~」という名前のディレクトリ 通常「~」(チルダ)という記号はホームディレクトリを表します。~/はMacだと実際には/Users

    僕がMacのホームディレクトリを削除するに至った経緯と、復元するまでの道のり | CreativeStyle
    mas-higa
    mas-higa 2013/04/09
    bash なら ls ./~ とかして、確認してから rm -rf !$
  • なるほどUnixプロセス ― Rubyで学ぶUnixの基礎


    Unix  RubyUnix Jesse Storimer, (), ()  3,520 (3,200+) Working with Unix ProcessesUnixRubyUnix #naruhounix   Working With Unix Processes - Learn the Fundamentals of Unix ProgramminginRubyUnix Ruby
    なるほどUnixプロセス ― Rubyで学ぶUnixの基礎
    mas-higa
    mas-higa 2013/04/08
    もくじ見ると面白そうだけど Rails 向けの何かなの? サンプル見てから決めよう。