![シェルとUNIXコマンドの未来 ~ これからの10年で起きるシェルスクリプトの変化 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/3d57aa49de1c6dd458aae52be2a81fe46bc9139c/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-f625e957b80c4bd8dd47b724be996090.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUUzJTgyJUI3JUUzJTgyJUE3JUUzJTgzJUFCJUUzJTgxJUE4VU5JWCVFMyU4MiVCMyVFMyU4MyU5RSVFMyU4MyVCMyVFMyU4MyU4OSVFMyU4MSVBRSVFNiU5QyVBQSVFNiU5RCVBNSUyMCVFRiVCRCU5RSUyMCVFMyU4MSU5MyVFMyU4MiU4QyVFMyU4MSU4QiVFMyU4MiU4OSVFMyU4MSVBRTEwJUU1JUI5JUI0JUUzJTgxJUE3JUU4JUI1JUI3JUUzJTgxJThEJUUzJTgyJThCJUUzJTgyJUI3JUUzJTgyJUE3JUUzJTgzJUFCJUUzJTgyJUI5JUUzJTgyJUFGJUUzJTgzJUFBJUUzJTgzJTk3JUUzJTgzJTg4JUUzJTgxJUFFJUU1JUE0JTg5JUU1JThDJTk2JnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkNtaWRkbGUmcz1mNGE5OTIyMzhhZTY0MDc5NTUxNjI1MTZhYjBjMDk0Yg%26mark-x%3D142%26mark-y%3D151%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTcxNiZ0eHQ9JTQwa28xbmtzbSZ0eHQtY29sb3I9JTIzM0EzQzNDJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTMyJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9MjZhY2FkZGZmYzRlOGQ5MWExNWExY2E0NzNjNjg1Mjk%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D143afcaa106675def8e43049ab9df837)
Unix 哲学的に考えれば、行を並び替える sort コマンドと重複行を取り除く uniq コマンドは別のコマンドであるべきなように思えます。しかし sort コマンドには -u オプションとして uniq コマンドに相当する機能が組み込まれています。なぜそうなっている(そうなってしまった)のかを「ソフトウェア作法(さくほう)」を参照しながらこの記事で明らかにしたいと思います。 関連記事 Unix哲学「一つのことをうまくやる」は単機能のコマンドを作ることではない 「誰」がuniq機能をsortコマンドに組み込んだ!? 熱烈的な Unix 哲学の信者は「どうせ Unix 哲学を理解しない GNU が便利だと思ってオプションを追加したのだろう」と考えるかもしれません。しかし uniq 機能が組み込まれたのは Version 7 Unix、つまり Unix の開発者が組み込んだのです。これは 1
【IIJ 2023 TECHアドベントカレンダー 12/16の記事です】 この記事について 背景:TCP はコンピュータネットワークの通信において広く利用されているプロトコル・標準化された通信規格です。コンピュータは TCP/IP スタックと呼ばれるようなソフトウェアを実行することで、定められた規格に則って通信を行います。汎用 OS 環境では、TCP/IP スタックは多くの場合、カーネル空間に OS 機能の一部として実装されています。 課題:通信に関するソフトウェアの研究コミュニティでは、そのようなカーネル空間に実装されている TCP/IP スタックは、近年の高速な NIC の性能を十分に引き出すことが難しいという課題が指摘されてきました。 テクニックの紹介:当記事では、近年の研究コミュニティにおいて比較的一般的な高速化テクニックとされている「カーネルをバイパス(迂回)して TCP 通信を
最近のWebサイトを表示する際は、サーバー証明書とTLSを利用したセキュアな接続が大半になってきました。これはセキュリティ意識の向上もさることながら、Let's Encryptに代表される「サーバー証明書の更新の自動化」もその一助となっていることでしょう。今回はこのLet's Encryptっぽいサービスをローカルネットワーク内部に構築してみましょう。 図1 step-caを使えば、自己署名証明書であってもLet's Encryptと同じ方法で自動更新できる Let's EncryptとACMEプロトコル Let's Encryptは無償でサーバー証明書を発行し、自動的に更新処理を行える認証局です。インターネットに関わる名だたる企業・団体の多くが参加することで、300万サイト以上という非常に多くの利用者を抱えているにも関わらず、10年以上に渡って無償でオープンな組織運営を続けています。 L
After using Azure Linux internally for two years and running it in public preview since October 2022, Microsoft this week finally made its distribution generally available. Azure Linux is an open-source container host OS for the Azure Kubernetes Service (AKS) that is optimized for Azure and aimed at making it easier for developers to use Microsoft's tools to deploy and manage container workloads.
シェルスクリプトで使用されるカッコいろいろ シェルスクリプト(コマンド)で使われるカッコにはそれぞれ異なる文法上の意味があります。ここでは8種類のカッコの使い方についてまとめます。 [] 角括弧、bracket、ブラケット [[]] 二重角括弧、double bracket、ダブルブラケット () 丸括弧、parenthesis、パーレン (()) 二重丸括弧、double parenthesis、ダブルパーレン $() ドル丸括弧、ドルパーレン $(()) ドル二重丸括弧、ドルダブルパーレン {} 波括弧、brace、ブレース ${} ドル波括弧、ドルブレース [] 角括弧、bracket、ブラケット [] ブラケットは test コマンドど等価のコマンドです。 【 test 】コマンド(基礎編)――ファイルの有無などを判定する:Linux基本コマンドTips(221) – @IT te
Kubernetes: cgroup v2 使用時に "failed to create fsnotify watcher: too many open files" エラーが発生する問題の対策cgroupskubernetescontainerdcgroup-v2 はじめに Kubernetes 1.25 で cgroup v2 が GA しました。Kubernetes で cgroup v2 に移行するとメモリ QoS が導入され、Pod のメモリ使用量が増加した際の安定性が向上するメリットがあります1。そこでクラスタを Kubernetes 1.25 にアップグレードする際に一緒に cgroup v2 に移行したのですが、移行後に kubectl logs -f コマンドやノードのホスト上で journalctl -f を実行した際に次のエラーが発生するようになりました。
欧州議会では、メールやチャットサービスの提供者に通信内容の監視を義務付ける「チャット規制法」が議論されています。このチャット規制法について「規制対象がオープンソースOSのパッケージ管理システムにも及んでおり、既存のOSが違法状態になる可能性がある」という懸念が指摘されています。 EUR-Lex - 52022PC0209 - EN - EUR-Lex https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=COM:2022:209:FIN EU chat control law will ban open source operating systems - Blog | Mullvad VPN https://mullvad.net/en/blog/2023/2/1/eu-chat-control-law-will-ban-open-sou
すでにQiitaにもいくつか記事があるが 1、Bashでの各種の括弧はそれぞれ意味がある。 自分でも知らなかったBashの括弧もあったので、改めてまとめてみた。 なお、Bashの話ではあるが、Bourne shell(/bin/sh)としても動くサンプルコードは sh コードとしてある。 bracket [ ] shからある伝統的なコマンドで、test と等価。式の結果を、0が真、1が偽の真偽値で返す。 if と組み合わせて用いることが多い。 そう、シェルでは[はコマンドなのである。2 [と] の前後にはスペースが必要で、後続のコマンドがある場合は;で終わらせなければならない。なぜなら前述のとおり [はコマンドで、[ から ] までが一連のコマンドと引数の組み合わせだからだ。(]は必須な引数という位置付け)
1. eBPFとは? eBPF(extended Berkeley Packet Filter)はLinuxカーネルが提供する機能の一つで、カーネル空間で動作する仮想マシン(Virtual Machine)で、主にネットワークパケットやシステム動作のトレーシング用途で提供されます。それ以外にも、システムのセキュリティ対策、そして近年では各種クラウドアプリケーションの高速化などでも利用されており、近年クラウド界隈を中心にホットな技術です。 より具体的には、カーネルモードで動作するサンドボックス化された仮想マシンにユーザが用意した任意のBPFバイトコードを流し込んでその仮想マシン上で実行し、カーネルのイベント(例えばカーネルの任意の関数が実行された、システムコール、特定のパケットを受信したなど)をフックしてそれらの情報をユーザランドのアプリケーションに通知およびデータ共有などが可能です。そのた
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く