タグ

UNIXに関するtzccinctのブックマーク (38)

  • シェルスクリプトのシバン(Shebang)にシェル以外のコマンドを記述したらどうなるのか? | ゲンゾウ用ポストイット

    ゲンゾウ用ポストイット シェル / Bash / Linux / Kubernetes / Docker / Git / クラウドのtipsを発信。 はじめにUNIX 上で動作するスクリプトは、1 行目に #! から始まる 1 行を記述します。 これによりスクリプトの実行系を認識させることができます。 シェルスクリプトの場合は #!/bin/sh 、 #!/usr/bin/bash 、 #!/usr/bin/env bash と記述します。 Ruby スクリプトの場合は #!/usr/bin/ruby 、 #!/usr/bin/env ruby と記述することが多いでしょう。 この 1 行目の記述のことを「 シバン 」とか「 Shebang 」と呼びますが、今ひとつこのあたりの仕組が理解できてなかったため、シバンでいろいろ遊んでみることにしました。 検証環境$ uname -moi x86

    シェルスクリプトのシバン(Shebang)にシェル以外のコマンドを記述したらどうなるのか? | ゲンゾウ用ポストイット
  • hdparmコマンドとddコマンドでハードディスクの簡易ベンチマークをする

    Linuxでハードディスクの簡易ベンチマークの手順 この記事では、以下2つの簡易ベンチマークの手法を紹介します。 hdparamコマンドによる読み込み速度の簡易ベンチマーク ddコマンドによる書き込み速度の簡易ベンチマーク どちらのコマンドもほぼデフォルトでLinuxサーバに入っているコマンドです。お手軽に簡易的なハードディスクなど記憶装置のベンチマークができます。サービスが稼働しているサーバで行うと、サービスのパフォーマンスに影響が出ると思うので、気をつけてください。 ■hdparmコマンドによる読み込みベンチマーク hdparm はLinuxでハードディスクのパラメータ調整を行うプログラムです。DMAのON/OFFなどをしてくれます。最近は自動設定が賢いのであんまり使わない印象です。 で、このhdparmはオプションを設定することで、ハードディスクのデータ読み込みに関するベンチマーク

    hdparmコマンドとddコマンドでハードディスクの簡易ベンチマークをする
  • UNIXができた頃のコンピューター事情

    UNIXができたころのことを話そうとするとその頃のコンピューター事情が今とだいぶ違うのでなかなか話が伝わりません。そこでそのころ(1970年ごろ)のコンピューター事情について、正確性はちょっと置いておいて、分かりやすいようにざっくりと説明したいと思います。 アポロ11号の月面着陸が1969年なのでその辺りの映画などに出てくるでかいコンピューターを想像するとイメージしやすいかもしれません。 ## 大雑把な分類 初期のUNIXが開発されたころ(1970年ごろ)に使われていたコンピューターは主に下記の二種類でした。 - メインフレーム - ミニコン(ミニコンピューター) このころ主に"コンピューター"といえば今で言う"メインフレーム"のことを指していました。 マイコン(マイクロコンピューター)/パソコンは1980年ごろ普及しました。しかしパソコンでUNIXを動かすのが実用的になったのは1990年

    UNIXができた頃のコンピューター事情
  • シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の本当の理由を知ると優れた文法が見えてくる - Qiita

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

    シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の本当の理由を知ると優れた文法が見えてくる - Qiita
  • インフラエンジニアを20年やってて初めて知ったtopコマンドの表示を劇的に見やすくする方法 | 株式会社ビヨンド

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

    インフラエンジニアを20年やってて初めて知ったtopコマンドの表示を劇的に見やすくする方法 | 株式会社ビヨンド
    tzccinct
    tzccinct 2021/10/09
    Ubuntu 20.04では~/.config/procps/toprc に設定が保存された。man によると~/.toprc に保存されるのはlegacy version とのこと。
  • 404

    File Not Found アクセスしようとしたページは 見つかりませんでした。 以下のような原因が考えられます。 記事が削除された URLが間違っている

    404
  • 単純作業を自動化して人類の無駄な時間をなくそう - 竹迫の近況報告

    このエントリーは Recruit Engineers Advent Calendar の 5日目の記事です。 www.adventar.org 目次 自己紹介 時間は有限、大切に使おう sshで30台のサーバをセットアップする expect コマンドを使おう StrictHostKeyChecking no chpasswdでパスワード設定 chmod u+sとSUID seqコマンドとbash拡張構文{1..9} Excel業務を自動化しよう Win32::GuiTest でキーボード入力を自動化 MouseMoveAbsPix でマウス操作を自動化 マインスイーパーの自動化 BadUSBによるキーボード入力の自動化 まとめ 1. 自己紹介 @takesakoです。最近、まつもとゆきひろさんと岸川克己さんが技術フェローと技術顧問に就任した会社で専門役員を担当しています。 会社ではホールデ

    単純作業を自動化して人類の無駄な時間をなくそう - 竹迫の近況報告
  • ttyとptsとptmxとpty - tweeeetyのぶろぐ的めも

    はじめに psコマンドなんかでも目にすることがあるttyやpts、 なんとなく知ってはいたけど説明できなかったのでメモ ptyだけなんか違う雰囲気だけどまぁいいか的な。 目にするやつ psコマンド # ps axu USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1691 0.0 0.0 4064 456 tty1 Ss+ 2013 0:00 /sbin/mingetty /dev/tty1 root 1693 0.0 0.0 4064 456 tty2 Ss+ 2013 0:00 /sbin/mingetty /dev/tty2 root 1695 0.0 0.0 4064 456 tty3 Ss+ 2013 0:00 /sbin/mingetty /dev/tty3 ・・・省略・・・ hoge 1818 0.0 0

    ttyとptsとptmxとpty - tweeeetyのぶろぐ的めも
  • テストにコケる度にシーザーが死ぬ仕組みを作りました - その手の平は尻もつかめるさ

    タイトルは釣りです。 App::WithSound をリリース致しました。 https://github.com/moznion/App--WithSound https://metacpan.org/module/MOZNION/App-WithSound-v1.0.2/with-sound (2013.03.06 追記) App::WithSound はv1.1.0 にバージョンアップしました。 コマンドの成功・失敗時だけでなく、コマンドの実行中にも音声を再生出来るようになっています。 https://metacpan.org/module/MOZNION/App-WithSound-v1.1.0/with-sound (追記ここまで) App::WithSound? コマンドが成功するか失敗するかによって、その結果に対応した音声が流れるアプリケーションです。 まず、このモジュールはm

    テストにコケる度にシーザーが死ぬ仕組みを作りました - その手の平は尻もつかめるさ
  • 俺のワンライナー改め CLI ツール群のステマ

    このエントリーは Perl 5 Advent Calender 2015 の3日目の記事です。 まだワンライナーで消耗してるの? Perl で書くワンライナーが便利というのはもうさんざん語られている気がするし自明だろうて、このたびはコマンドラインインターフェースで便利なツール群をドヤ顔でステマしたいと思います。怠惰ゆえ、もうワンライナー書くのも面倒になったらコマンドにしてしまえこのやろう、というノリですぜ、おとっつあん。 手前みそですが、できる限り便利そうなやつをピックアップするので、ひとつお付き合いください。ペコリ。 swoop まずは Statistics::Swoop をインストールすると付いてくる swoop コマンド。これは、ログのあるカラムの合計、最大、最小、レンジ、平均をさくっと算出してくれるコマンド。 $ cat log_file | swoop -f3 -d, .----

    俺のワンライナー改め CLI ツール群のステマ
  • The art of command line (日本語訳) | Yakst

    コマンドラインで素早い操作ができるのは、優れたエンジニアの資質の一つとも言える。そのためのテクニックを集めた珠玉のコマンド集。 原文のコミット bb0c38c0899339e836c37eead4a9534b06c56662 The Art of Command Line メタ情報 基 日常的に使うもの ファイルとデータの処理 システムのデバッグ ワンライナー 目立たないが便利なもの さらなるリソース 免責事項 コマンドラインで流れるように操作ができるということは、軽く見られたり他人から理解されないスキルだとみなされることもあるでしょう。しかしそのスキルは、明らかにかすぐ分かるようかは問わず、エンジニアとしてのあなたの柔軟性や生産性を改善してくれるものです。ここでは、Linuxでコマンドラインを使う上で便利だと思ったメモやTipsの数々を挙げてみます。あるものは基礎的ですが、非常に詳しい

    The art of command line (日本語訳) | Yakst
  • mvにサヨナラ!renameコマンドのイケメンぶりが半端ない

    なんですかこのイケメンコマンドは ファイル名の変更、ファイルの移動と言えば mvコマンドだ。初歩の初歩だ。 複雑なリネームはパイプやシェルスクリプトで実現するものだという思い込みから、 renameというイケメンコマンドを知らずにいた!なんてもったいない! とても簡単、そしてステキすぎる実行結果 $ ls file01.txt file02.txt file03.txt file04.txt file05.txt $ rename 's/.txt/.csv/' *.txt $ ls file01.csv file02.csv file03.csv file04.csv file05.csv これだけで、すべての .txtファイルの拡張子変更ができてしまった! 見ての通りrenameコマンドは、複数ファイルを一括でリネーム、移動するときに力を発揮する。 コマンドの記法は、以下の通り。 ren

    mvにサヨナラ!renameコマンドのイケメンぶりが半端ない
  • 同じサーバ上の他のターミナルウィンドウで何をやっているのかを見れる『ttylog』コマンド | 俺的備忘録 〜なんかいろいろ〜

    時折、ちょっとした好奇心でサーバ上の他のユーザーがどんな操作をしているのか、見てみたいと思うときもあるだろう。 そんなときは、perlスクリプト『ttylog』を用いると良いだろう。 それでは、実際にインストールし使ってみる事にしよう。検証には、CentOS 7を用いる。 1.インストール まずは、ttylogを利用する前提となるPerl 5などのパッケージをインストールする。 yum install perl perl-Time-HiRes perl-ExtUtils-MakeMaker strace インストール完了後、git cloneでttylogのファイルを取得、makeする。 git clone https://github.com/gitpan/ttylog cd ttylog perl Makefile.PL make make test make install これで、

  • grepについて

    6. 使用例1 今いるディレクトリ以下にあるファイルの中で "#pragma omp" を含むファイルを探したい $ grep -r "#pragma omp" . -r: 指定したディレクトリ直下だけでなく、 その下にあるディレクトリも再帰的に検索 7. 使用例2 リアルタイムにログをフィルタリングしたい $ tail -f error_log | grep --line-buffered "error" --line-buffered: バッファせずに1行ごとに出力

    grepについて
  • /usr/local とは何なのか - 破棄されたブログ

    ご用心: この記事を鵜呑みにせず、末尾に記載された一次ソースを確認してください。 ソースからソフトウェアをビルドしてインストールするときに使う /usr/local ディレクトリだけど、/opt ディレクトリとの住み分けとか、 そもそも標準はどうなっているのかとか、まともに知らんかったので Filesystem Hierarchy Standard を確認してみた。 /usr/local は何をすべきところなのか? 他のホストと共有されない 既存のシステムの破壊防止 FHS 準拠のソフトウェアをインストールする /usr/local ディレクトリ下自体が FHS 準拠になる /usr/local ディレクトリは、システム管理者がソフトウェアをローカルにインストールするために用いる。 /usr/local ディレクトリとして隔離されるため、同名のファイル名で既存のファイルを上書きするなどして

    /usr/local とは何なのか - 破棄されたブログ
  • README のファイル名が大文字である理由 - clock-up-blog

    README のファイル名は慣習的にすべて大文字(であることが多い) GitHubプロジェクトを作るときに README を作成するオプションを入れておくと、README.md というファイルができる。それ以外の場所のプロジェクトでも README.txt や README など、ファイル名がすべて大文字になっているものをよく見かける。 なんか気持ち悪いなぁ、って思ってました。 readme でいいじゃん、と。 詳解 Linuxカーネル 第3版 作者: Daniel P. Bovet,Marco Cesati,高橋浩和,杉田由美子,清水正明,高杉昌督,平松雅巳,安井隆宏出版社/メーカー: オライリー・ジャパン発売日: 2007/02/26メディア: 大型購入: 9人 クリック: 269回この商品を含むブログ (71件) を見る 調べてみた README - Wikipedia, th

    README のファイル名が大文字である理由 - clock-up-blog
  • ls のソースを読んでプログラマになりました - ablog

    タイトルは釣りですw*1 とあるテキストファイルを加工してCSVファイルを出力する Perl スクリプトがあり、ディレクトリ内のファイルをリストアップしてCSVファイルに出力しているのだが、なぜファイル名でソートされていないのか聞かれたので調べてみた。 その Perl スクリプトは File::DosGlob::glob でファイルリストを取得していたので、 yazekats% mkdir tmp yazekats% cd tmp yazekats% ls yazekats% touch 3 yazekats% touch 2 yazekats% touch 1 yazekats% ls 1 2 3 yazekats% perl -MFile::DosGlob -e 'map{print qq/$_\n/} File::DosGlob::glob(q/*/)'; 1 3 2 試してみると確

    ls のソースを読んでプログラマになりました - ablog
  • strace コマンドの使い方をまとめてみた : sonots:blog

    strace コマンドの使い方をまとめてみた : sonots:blog
    tzccinct
    tzccinct 2013/09/12
    「例えば、不審な時刻にシェルにログインしているユーザを発見した場合、そのシェルの pid に strace をアタッチすることで、そのユーザが何を実行しているのかがリアルタイムでわかります」。
  • データ集計コマンドを極めてシステム処理と業務速度を爆速化するお話 - Y's note

    Index データ集計コマンド 爆速で検索したいぜ! lookを使う LC_ALL=Cを設定する データのランダムサンプリングがしたいぜ! sedを使う awkを使う sortの--random-sortを使う Script言語を使う shufを使う ランダムサンプリング速度比較 合計と平均値を集計したいぜ! 列データ取得 重複行のカウント 合計値出力 平均値出力 複数ファイルのデータ結合がしたいぜ! 共通項目での結合 同じ行数での結合 まとめ データ集計コマンド joinコマンドが便利過ぎて生きるのが辛い - Yuta.Kikuchiの日記 lookコマンドによる二分探索が速すぎて見えない - Yuta.Kikuchiの日記 今日はデータ集計を行う上で絶対に覚えておいた方が良いコマンドと知識を紹介したいと思います。これを身につければシステム処理と業務効率化に大きく繋がると思います。この記

    データ集計コマンドを極めてシステム処理と業務速度を爆速化するお話 - Y's note
    tzccinct
    tzccinct 2013/08/03
    列の入れ替えはawk 。
  • 色付き tail: uyota 匠の一手

    特定のキーワードが tail で流れていて、目視では見つけられない。調べてみたら、以下の方法があった。どうもあちらこちらでミラーされていて元はどこだか判らない。 tail -f file | perl -pe 's/keyword/\e[1;31;43m$&\e[0m/g' This only works on ANSI terminals, but all others have become virtually extinct. \e[...m ist the ANSI escape sequence SGR "select graphic rendition". The "..." can be replaced by some semicolon-separated integers, with the meaning: 0 : all attributes off 1 : bol