はじめに bash などのシェルには [ ... ] と [[ ... ]] の二種類の比較方法があります。(( ... )) を含めると三種類です。一つ目はコマンドで残りはシェルの文法なのですが、具体的に何が違うのでしょうか? そもそもなぜ似ている機能があるのでしょうか? この記事は言語設計者の気持ちになって考えることで、その理由を解き明かそうという記事です。 なお、違いについての簡単な説明については「test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出しBlog 」の記事がよくまとめられていますので紹介します。一通りの違いを素早く知りたい方はこちらを参照してください。 参考 シェルの歴史や種類については「シェルの歴史 総まとめ(種類と系統図)と POSIX の役割」に詳しくまとめています(系統図とか頑
![シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita](/image.pl?url=https%3a%2f%2fcdn-ak-scissors.b.st-hatena.com%2fimage%2fsquare%2f60ebb4347f7bc38408cff32d927a5150627dac27%2fheight%3d288%3bversion%3d1%3bwidth%3d512%2fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fqiita-user-contents.imgix.net%25252Fhttps%2525253A%2525252F%2525252Fcdn.qiita.com%2525252Fassets%2525252Fpublic%2525252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%25253Fixlib%25253Drb-4.0.0%252526w%25253D1200%252526blend64%25253DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnFpaXRhLWltYWdlLXN0b3JlLnMzLmFtYXpvbmF3cy5jb20lMkYwJTJGNTQ5MTglMkZwcm9maWxlLWltYWdlcyUyRjE0NzM2OTM1Mjg_aXhsaWI9cmItNC4wLjAmYXI9MSUzQTEmZml0PWNyb3AmbWFzaz1lbGxpcHNlJmJnPUZGRkZGRiZmbT1wbmczMiZzPWE4NWVmYWZlYzFkZjcyYTVmYWIyN2ZmOGViMjQ1Nzdi%252526blend-x%25253D120%252526blend-y%25253D467%252526blend-w%25253D82%252526blend-h%25253D82%252526blend-mode%25253Dnormal%252526s%25253D40c4de7a2283f8493d0f8cd798df1ed7%253Fixlib%253Drb-4.0.0%2526w%253D1200%2526fm%253Djpg%2526mark64%253DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9JUUzJTgyJUI3JUUzJTgyJUE3JUUzJTgzJUFCJUUzJTgyJUI5JUUzJTgyJUFGJUUzJTgzJUFBJUUzJTgzJTk3JUUzJTgzJTg4JUUzJTgxJUFFJTIwJTVCJTIwJTVEJTIwJUUzJTgxJUE4JTIwJTVCJTVCJTIwJTVEJTVEJTIwJUUzJTgxJUFFJUU5JTgxJTk1JUUzJTgxJTg0JUUzJTgyJTkyJUU2JUFEJUI0JUU1JThGJUIyJUU3JTlBJTg0JUUzJTgxJUFCJUU4JUE3JUEzJUU4JUFBJUFDJTIwJUUzJTgwJTlDJTIwJUU4JUE4JTgwJUU4JUFBJTlFJUU4JUE4JUFEJUU4JUE4JTg4JUU4JTgwJTg1JUUzJTgxJUFFJUU2JUIwJTk3JUU2JThDJTgxJUUzJTgxJUExJUUzJTgxJUFCJUUzJTgxJUFBJUUzJTgxJUEzJUUzJTgxJUE2JUU3JTkwJTg2JUU4JUE3JUEzJUUzJTgxJTk3JUUzJTgyJTg4JUUzJTgxJTg2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LXBhZD0wJnM9MzEyODUyODU4MjgxMTcxY2M3NTdiZmU2N2RkZTAxZWI%2526mark-x%253D120%2526mark-y%253D112%2526blend64%253DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDBrbzFua3NtJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LXBhZD0wJnM9ODVlMzIyOWJiNjA2ZTE4YzM2ZmM0MzNjMTk0ZjJkMmI%2526blend-x%253D242%2526blend-y%253D480%2526blend-w%253D838%2526blend-h%253D46%2526blend-fit%253Dcrop%2526blend-crop%253Dleft%25252Cbottom%2526blend-mode%253Dnormal%2526s%253Ddf308e423089538851f7751014302c70&f=jpg&w=240)
LinuxにRustを導入するかどうかという議論は終わりを迎えた。Rustの実装は既に始まっている。Linuxの父であるLinus Torvalds氏は電子メールによる筆者との対話の中で「何かおかしなことが発生しない限り、それ(Rust)は6.1で導入される」と述べた。Linuxカーネルの記述言語としてプログラミング言語Rustを導入するという議論は、かなり前から存在していた。Linuxカーネルの開発者らは、年次カンファレンス「Linux Plumbers Conference(LPC)2020」の場で、Linuxの新たなインラインコードでのRustの使用について検討を開始していた。また、「Android」(それ自体がLinuxのディストリビューションだ)の開発言語としてRustを支持しているGoogleは、2021年4月にLinuxカーネルへのRust導入の動きを後押しし始めていた。

最初に断っておくと今回は万人向けの記事ではないです。面白かったので自分が忘れないようにまとめているだけです。本記事の位置付け はじめに 発見経緯 CRCのエラー HTTPアクセスログ 壊れたgzipのtrailerを見てみる 壊れたファイルの法則性 月次ログファイルの生成Linuxカーネルのバグの可能性 バグ混入の歴史 ログ破損の原因 8バイトの謎 PoCの制約 まとめ本記事の位置付け Dirty Pipe(CVE-2022-0847)三部作の最後です。ダークナイト三部作で言うとダークナイト ライジングにあたります。ダーティとダークって似てませんか。 spliceを使って高速・省メモリでGzipからZIPを作る 20分で分かるDirty Pipe(CVE-2022-0847) Dirty Pipe(CVE-2022-0847)の発見経緯が面白かった(本記事) 上の1, 2を前提知識と

「MacはLinuxだった」って本当? 「そうだね……」元Mac雑誌編集者は昔語りを始めた:ヤマーとマツの、ねえこれ知ってる?(1/4 ページ) 経歴だけは長いベテラン記者・編集者の松尾(マツ)と、幾つものテック系編集部を渡り歩いてきた山川(ヤマー)が、ネット用語、テクノロジー用語で知らないことをお互い聞きあったり調べたりしながら成長していくコーナー。交代で執筆します。 マツ 「MacはLinuxだった」という趣旨のツイートが話題になっていて、ああそういうこともあったなあ、と思い出したので、ちょっと昔語りしようかなと。茶でも飲みながら。 ヤマー 私は紅茶を用意してきます。 戻ってきました。macOSは何がベースになっているかって話ですよね。 マツ 結論から言っちゃうと、現在のmacOSはUNIX系列のOSではあるけど、Linuxではないです。macOSのベースになっているのはDarwin。

はじめに シェルスクリプトの変数代入で = の前後にスペースを置くことができない理由は、検索すれば「プログラマーの君! 勘違いするな! シェルスクリプトでは読みやすさのためにスペースを置くな!! という話」のような記事がすぐに見つかります。記事に書いてあるとおり変数代入とコマンド呼び出しと区別がつかないからです。それは間違いではないんですが、私はもう少し説明が足りないと感じています。そこで今回は = の前後にスペースを置けない本当の理由を解説したいと思います。 の前に皆さんにはこの話を読みながら、自分がシェルスクリプトの言語設計者だったとしたら、どういう言語仕様にするかを考えて欲しいです。なぜかと言うとシェルスクリプトの文法は優れているという結論につながるからです。私には今のシェルスクリプトの言語を超える文法(根本から大きく改善するという意味)は思いつきませんが、皆さんはどうでしょうか?

こんにちは、カナダに来て1年弱ですが、いまだに"how are you?"にアイムファインセンキューと返してしまう全然英語が上達してない聖賢です。インフラエンジニアならみんな大好きtopコマンド、おそらくビヨンドの中ではサーバ運用の中で最初に覚えるコマンドじゃないでしょうか。 実は結構奥が深いコマンドでいろんなことができるので、これまでドヤ顔で「こんなこともできるんやで」と上司の威厳、、、もとい先輩としての経験を後進に伝えていたのですが私も最近になって初めて知った超便利な使い方を紹介したいと思います。 ちょっと長いですがお付き合いください。 普通にtopコマンドを実行すると以下のような画面が表示されます 結構これだけでもサーバ運用には重要な情報が詰まっているのですが、topコマンドの見方などは他でも色々と紹介されていると思うので今回は割愛します 今回はこのtopコマンドの表示を最終的にこ

linux-hugepage-summary.md Huge Page まとめ この文書では、Linux カーネルの機能を中心に、 huge page に関連するメモ リ管理の機能についてまとめる。概観とキーワードの把握、およびリファレン スの提供を目的である。特に non-trasparent な huge page と transparent huge page の違いとそれらの境界を把握することをひとつの主眼としている。 そのため、詳細さと網羅性はスコープ外である。 前置き、または免責 Intel x86_64 上でLinux を動かす状況を想定している。アーキテクチャ 依存、カーネル依存な事項は、一部触れられている部分もあるが、それ以上 ではない。Linux kernel について、バージョン依存、config 依存な部分はスコープ外 である。動作確認は CentOS 7.2

はじめに 昨今では1行につき、1つの JSON を出力する様なログファイル形式も珍しくはありません。 grep しやすい データベース化しやすい これらの理由で各所で多く使われています。僕も仕事で普通に使っているのですが、ある日突然そのログファイルを集計するスクリプトで以下の様なエラーが出始めました。

Microsoftの最高経営責任者(CEO)を務めるSatya Nadella氏は、同社が5月にオンラインで実施した開発者向けイベント「Build 2020」で、「Windows Subsystem forLinux(WSL)2.0」が近々、LinuxのGUIとアプリケーションをサポートするようになると発表していた。そして、9月に開催された「X.Org Developers Conference」で、同社のパートナー開発リードであるSteve Pronovost氏が、WSL内でグラフィカルなLinuxアプリケーションを実行できるようになったことを明らかにした。 これまでも、グラフィックエディターの「GIMP」、電子メールクライアントの「Evolution」、オフィススイートの「LibreOffice」など、GUIを使用するLinuxアプリをWSL上で動作させることは可能だった。しかし、そ

25 August 2019 UEFIのWindows 10マシンにUbuntu 18.04を追加インストールしデュアルブート化するLenovo ThinkCentre M720qを購入し、1TB SATA HDDの全領域を用いているプリインストール版のWindows 10のパーティションを縮小し、Ubuntu 18.04を追加インストールした時の記録 UEFI BIOSでセキュア・ブートを無効化するPC起動時にF1キー連打によりUEFI BIOS設定画面を表示し、Security - Secure Boot の設定ページでセキュア・ブートを有効から無効に変更する。Security - Secure Boot(この画面では初期値のEnabledになっているが、これをDisabledに変更する) さらに、確認事項としてSATA HDDがSATAモードに設定されていることを再確認しておく
Windows boot loaderを活かしたままWindows10とDebian8とのマルチブート環境を作ります。 まえがき 自分のX220はWindows10とDebian8とのマルチブート環境になっているのですが,WindowsとLinuxのマルチブート環境を作る時のブートローダーとして次の選択肢があると思います。 ドライブのMBAにgrubをインストール ドライブのMBAにWindows boot loaderをインストールし,チェーンブートで パーティションのMBAにインストールされたgrubを呼ぶ 1の選択肢はWindowsを入れた後で何も考えずにLinuxをインストールするとこうなりますが, 多分SecureBoot絡みでWindows8以降は面倒になるんじゃないかなと 実は試していない。(そんなに問題ないのかもしれないけど。 2の選択肢はLinuxを入れるときにMBAに

HiDPI (High Dots Per Inch) ディスプレイとは、比較的小さい型で高解像度を誇るディスプレイのことで、Apple の "Retina Display" の名称でも知られています。Apple の製品やハイエンドの "ultrabook" でよく使われています。 今のところ全てのソフトウェアが高解像度モードで上手く動作するわけではありません。以下では HiDPI の画面での作業を快適する一般的な設定を記載しています。デスクトップ環境 GNOME HiDPI を有効にするには、Settings > Devices > Displays から有効にするか、gsettings を使ってインターフェイスのスケールファクタを設定します: $ gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "[

Linuxの生みの親であるLinus Torvalds氏は5月、Linuxカーネルメーリングリスト(LKML)で、次期バージョンである「Linux 5.7-rc7」の最近の開発状況について説明した。同氏はその中で、「15年ぶりに自分のデスクトップをIntelベースではないマシンにした」と述べている。最新の開発用マシンには、「AMD Threadripper 3970X」が搭載されているという。しかし、CPUがどれだけ高速でも、コンピューターの性能はそれだけでは決まらない。筆者は同氏にインタビューして、新マシンの詳しい構成を聞いてみることにした。 まず、同氏は既に新しいマシンのパフォーマンスに感動しているという。AMD Threadripper 3970Xのコア数は32コアだ。このプロセッサーはAMDの7ナノメートル「Zen 2」コアアーキテクチャーで作られており、PCIe 4.0のレーン

Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? タイトルは「Linuxの「かな漢字変換」」です。ひらがなの文字列を普通の漢字かな混じり文にするソフトウェアの話です。 はじめに この記事ではLinuxの日本語入力を歴史の中で特にかな漢字変換の部分の歴史についての概要です。その時代に広く使われていたと筆者が独断で思う物のみに触れます(触れてない物の中には筆者の友人知人の作品も含まれていて心苦しい点もありますが…)。Linux以前 - 国産ワークステーションの時代 80年代後半から90年代前半にかけて国内の複数の会社がワークステーションを製造販売していました。各社ではそれぞれのアーキテク

私が最近注目しているプログラミング言語がある。Rustだ。Rustとは、錆のことである。何が錆なものか。JJだ。RustはMozillaが開発しているプログラミング言語である。恥ずかしいことに私はRustの存在をつい最近まで知らなかった。私がRustの存在を知ったのはkernelvmでのことである。発表をustで聴いたあと自分で調べるとなるほどこれは私の望んでいた言語だと思った。そしてそれは、Linuxコミュニティが望んでいた言語でもあったのだ。 昨今、Go言語なるものが流行っている。猫も杓子もDockerの実装言語として採用されているためだ。しかし、Goは私のテイストに合わない。プログラミング言語というのは、異性のようなもので、一目見ただけで良いとか悪いとか感じるものである。これがまさにテイストということであり、言語にこだわりがないなんて人は、「誰でも良い」と言ってるようなものである。

このたびラップトップを新調しました。6年ほど前に中古のノートにLinuxを入れてつかってましたが、新品のWindowsノートに乗り換えました。そこで以前から気になっていたWindows SubsystemLinuxを使って、Windows上にLinuxの開発環境を用意してみたところ、セットアップもすごく簡単かつ快適な開発環境になったので、詳細を少し調べてみました。その結果と実際の開発現場における利用シーンについて紹介します。 ※現段階ではPreview版OSへのアップデートが必要。WSL2を利用するにはbuild 18917以上のOSバージョンが必要です。それにはtheWindows Insider Programというプログラムに登録した上で、OSをPreview版にアップデートする必要があります。 ターミナルを開くとそこはもうLinuxでした 近頃の私が個人的なLinux環境でやる

第10回 いちばん惹かれる問いは。 ----ヒマネンさんは哲学者ですけれども、 誰かほかの哲学者から影響を受けた、 ということはありますか。 ヒマネン 「ふたりの哲学者から、強い影響を受けています。 でも、だからって、そのふたりと同じように ぼくがものを考えるということじゃないし、 同じイデオロギーに 染まってるというわけじゃないです。 個人として、 ものごとを常に驚きの目で見て、 その見て考えたことを、 まさに自分の理念として生きて、 人が何と言おうと果敢に表現した という姿勢では、まず、 プロトタイプのハッカーとも言えるのが、 ソクラテスだと思います。 それから、ブッダ。 このふたりは、ずいぶん影響を受けました。 ----どうして影響を受けたのかを、 もう少し詳しくおしえていただけますか。 ヒマネン 「ぼくはソクラテスともブッダとも、 考えをシェアしていないかもしれないです。 でも、ど
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く