タグ付けされた質問 「utilities」

コマンドラインで特定のジョブを実行するために使用される小さなプログラム

2
ディレクトリ全体をコピーするためのインストールコマンドの問題
だから私は私の設定ファイルのいくつかとリポジトリを持っていると私はmakefilehomedirにそれらをインストールするために作成しようとしています。私が抱えている問題は、bashで次のコマンドを直接実行すると install -m 755 -d ~/path/to/dotfilesDir/ ~/ 一見何も起こらない install -m 755 ~/path/to/dotfilesDir/{file1,file2,...} ~/ 意図したとおりに動作します。 最初の(より簡単でクリーンな)ソリューションが機能しないのはなぜですか?

4
コマンドの出力をリングバッファに保存する
stdoutで大量の出力を生成する長時間実行コマンドがあります。たとえば、最後の3日間または最後のギビバイト(中央の線を切断しない)のみを保持したいのですが、可能であれば、20 MiB以下のファイルチャンクに保持します。各ファイルチャンクには、数値の接尾辞またはタイムスタンプが付けられています。 何かのようなもの: my-cmd | magic-command --output-file-template=my-cmd-%t \ --keep-bytes=1G \ --keep-time=3d \ --max-chunk-size=20M \ --compress=xz 書くだろう: my-cmd-2014-09-05T10:04:23Z 20Mに達すると、圧縮して新しいファイルを開くなど、しばらくすると、最も古いファイルの削除が開始されます。 そのようなコマンドは存在しますか? 私はlogrotate他のアプリケーションによって書き込まれたファイルを管理する能力を知っていますが、cronジョブのセットアップ、ルールの指定、プロセスの一時停止などを必要としない、よりシンプルなものを探しています。

3
頭が余分なキャラクターを食べる
次のシェルコマンドは、入力ストリームの奇数行のみを出力するものと想定されていました。 echo -e "aaa\nbbb\nccc\nddd\n" | (while true; do head -n 1; head -n 1 >/dev/null; done) ただし、代わりに最初の行を出力しますaaa。 -c(--bytes)オプションを使用した場合、同じことは起こりません。 echo 12345678901234567890 | (while true; do head -c 5; head -c 5 >/dev/null; done) このコマンド1234512345は期待どおりに出力します。ただし、これはユーティリティのcoreutils実装でのみ機能しheadます。busyboxのの出力がちょうどあるので、実装はまだ、余分な文字を食べます12345。 この特定の実装方法は、最適化のために行われていると思います。行の終わりがわからないため、読む必要がある文字数がわかりません。入力ストリームから余分な文字を消費しない唯一の方法は、バイト単位でストリームを読み取ることです。ただし、一度に1バイトずつストリームから読み取るのは遅い場合があります。したがってhead、入力ストリームを十分な大きさのバッファに読み込んでから、そのバッファ内の行をカウントすると思います。 --bytesオプションが使用される場合にも同じことは言えません。この場合、読み取る必要があるバイト数がわかります。したがって、このバイト数を正確に読み取ることができますが、それ以上はできません。corelibsの実装は、この機会を使用しますが、busyboxのの 1にはない、それはまだバッファに必要以上のバイトを読み取ります。おそらく実装を簡素化するために行われます。 質問です。headユーティリティが入力ストリームから要求されたより多くの文字を消費することは正しいですか?Unixユーティリティには何らかの標準がありますか?そして、もしあれば、この動作を指定しますか? PS を押しCtrl+Cて上記のコマンドを停止する必要があります。Unixユーティリティは、以降の読み取りで失敗しませんEOF。押したくない場合は、より複雑なコマンドを使用できます。 echo 12345678901234567890 | (while true; do head -c 5; head -c …

4
マシンの一般的な状態を調べるツールはありますか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 閉じた3年前。 私はマシン上で何が起きているのかという一般的なアイデアを与えてくれるLinux用のツールを切望しています。探している情報の例: インストールされるデーモン(www、db、その他) それらのサービスの構成場所 実行しているサーバーのカーネルとディストリビューション、およびディストリビューションの古さ(ディストリビューションがまだサポートされているかどうかをツールが通知してくれると嬉しいです) RAM、CPU、およびディスク容量の情報 マウントされたドライブ/パス 私のアカウントに関する情報:私は、sudoerであり、他の有用な情報です 一般的なネットワーク情報(ブロックされた、または開いているポート) 編集: インストール済みのインタープリター/コンパイラーとそのバージョン(C、Pythonなど) XバージョンとインストールされているDE

2
moreutilsのスポンジ-シェルリダイレクトの違いは何ですか?便利な例?
> brew install moreutils ==> Downloading https://homebrew.bintray.com/bottles/moreutils-0.55.yosemite.bottle.tar.gz ######################################################################## 100.0% ==> Pouring moreutils0.55.yosemite.bottle.tar.gz 🍺 /usr/local/Cellar/moreutils/0.55: 67 files, 740K spongeは標準入力を読み取り、指定されたファイルに書き出します。シェルリダイレクトとは異なり、スポンジは出力ファイルを書き込む前にすべての入力を吸収します。これにより、同じファイルを読み書きするパイプラインを構築できます。 分かりません。便利な例をいくつか教えてください。 何を吸い上げるを意味ですか?

1
「who -a」コマンドの出力を理解する
私はこの質問をしています。なぜなら、インターネットにwho -aは選択肢があることを示す多くの答えがありますが、誰も出力の読み方を説明していないからです。これを説明するオンラインサイトへのリンクを提供できれば、それも同様に素晴らしい答えでしょう。解読したい例を次に示します。 [bo@hostname ~]$ who -a Jun 17 03:47 590 id=si term=0 exit=0 system boot Jun 17 03:47 run-level 3 Jun 17 03:47 last=S Jun 17 03:48 4424 id=l3 term=0 exit=0 LOGIN tty1 Jun 17 03:48 5503 id=1 LOGIN tty2 Jun 17 03:48 5504 id=2 LOGIN tty3 Jun 17 03:48 …
14 sshd  utilities 



3
「dd」に代わるものはありますか?
切り捨て、シーク、スキップを使用してファイルを読み書きするために使用する他のツールは何ですか。ddのコマンドラインオプションは不便で異質なようであり、低速だが正確なシークモード(bs=1)と高速だが柔軟性のないモード(bs=4kまたはその他)を選択するのは好きではありません。 あるファイル(またはパイプまたはソケットまたはdev)から位置31337から555バイトを読み取り、位置128205で他のファイルに(ブロック512 + 43を使用して)切り捨てありまたはなしで書き込むための最新のツールはありますか?
13 files  utilities  dd  binary 

2
`test`と` [`-異なるバイナリ、違いはありますか?
私は別の質問に答えているときに気付いたのですがtest、それ[は異なるバイナリですが、[マンページにはがありtestます。終了の要件に加えて、]違いはありますか?そうでない場合、なぜシンボリックリンクではなくバイナリを分離するのですか?(これらもbashビルトインでありbash、違いもありません。)

2
色をサポートするウォッチの代替
phpunit色付きの出力があるコマンド()があります。によるとwatch、コマンドを使用して、--colorフラグを使用してカラーレンダリングをパススルーできるようにする必要があります。ただし、これは機能しません。これを解決する他の方法はありますか?
12 bash  utilities  watch 

3
perl -iをシンボリックリンクでなくする方法はありますか?
私の友人は、あなたがそうするなら: perl -pi.bak -e 's/foo/bar/' somefile 「somefile」が実際にシンボリックリンクである場合、perlはドキュメントが行うと言っていることを実行します。 入力ファイルの名前を変更し、元の名前で出力ファイルを開き、その出力ファイルをprint()ステートメントのデフォルトとして選択することにより、これを行います。拡張子が指定されている場合、その拡張子を使用して、古いファイルの名前を変更し、バックアップコピーを作成します[...] これにより、変更されていない実ファイルを指す新しいシンボリックリンク "somefile.bak"と、変更された新しい変更された通常ファイル "somefile"が作成されます。 多くの場合、シンボリックリンクをたどるのは望ましい動作です(たとえ.bakファイルの正しい場所があいまいなままであっても)。ラッパー内のシンボリックリンクをテストし、適切にケースを処理する以外に、これを行う簡単な方法はありますか? (sedそれが価値があることのために、同じことをします。)

4
バイトオフセットから行番号を取得する
ファイルのバイトオフセットがある。 このバイトの行番号を提供するツールはありますか? 最初のバイトは1ではなく0です。 1から始まる行番号。 ファイルには、プレーンテキスト、「バイナリ」ブロブ、マルチバイト文字などの両方を含めることができます。しかし、興味があるセクション:ファイルの終わりにはASCIIしかありません。 例、ファイル: 001 002 003 <<-- first zero on this line is byte 8 004 8私にラインを与えるバイトオフセットを持っています3。 行番号を見つけるためにこのようなものを使用できると思います: a。tail -c+(offset + 1) file | wc -l、ここ+1でtailは1から数えます 。wc -l file c。次にtail -n+num どこnumにa - b + 1 しかし...私にnum直接与えることができるかなり一般的なツールはありますか? 編集、エラー:またはより明白な: head -c+offset file | wc -l


2
chmodは何の略ですか?
コマンドを記憶するには、通常、そのコマンドの名前がどこから来たかを知ることをお勧めします。たとえばcp、コピーから来ています。usermod「ユーザー変更」を意味します(少なくとも私はそう思います)。 chmodはどこから来たのですか、それはどういう意味ですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.