Unix & Linux

Linux、FreeBSDおよび他のUn * xのようなオペレーティングシステムのユーザーのためのQ&A

6
OSXで/ dev / urandomからtrが読み取れないのはなぜですか?
同僚は、次のコマンドを使用してランダムキーを作成することを提案しました。 tr -dc A-Za-z0-9_\!\@\#\$\%\^\&\*\(\)-+= < /dev/urandom | head -c 32 | xargs それは私にエラーを与えました: tr:不正なバイトシーケンス 私は/dev/urandom自分のシステムに持っていないことを心配しています。このファイルのインストール方法を把握するためにグーグル検索を試みましたが、空っぽになりました。私locate urandomも試してみて、空になりました。(まあ実際には、それはマニュアルページを見つけましたが、それは助けにはなりません) urandomMac OSXシステムで利用できるようにするにはどうすればよいですか?(ライオン)
35 osx  random  tr 


7
/ dev / sdデバイスをそれらが表すハードウェアに関連付けるにはどうすればよいですか?
ドライブが故障し始めており、/dev/sdbデバイスファイルの指定によってのみデバイスを知っています。そのデバイスファイルを実際のハードウェアデバイスに関連付けて、どのドライブを物理的に交換するかを知るために使用できる方法は何ですか? ボーナス:/dev/disk/このインストールにサブディレクトリがない場合はどうなりますか?(悲しいことに、私はしません)

3
SSH出力はラインバッファリングされていませんか?
このようなリモートマシンでスクリプトを実行しています。 ssh $host "pip install -r /path/to/requirements.txt" ただし、出力は行バッファリングされません。接続が終了すると、一度に1行が返されるのではなく、すべての行(〜10)がすべて一度に印刷されます。 これはどうしたの?それらを強制的に行バッファリングする方法はありますか? (また、明白に言うと:$hostコマンドをssh で実行して「手動で」実行すると、出力は期待どおりに行バッファーされます)
35 ssh 

1
X、Xorg、D-Bus:違いは何ですか?
GUIプログラミングで特定のことを行う方法を学習する過程で(たとえば、アプリケーション用に画面上のスペースを予約する)、通常はLinux上のX11であるWindow Managerについてさらに学習する必要があります(ディストリビューションがあるかどうかもわかりません) 、X11以外のものを使用しますが、まだ実装されていないWaylandについて聞いたことがあります。) 私はプログラミングを始めたばかりで、いらいらします。だから私はそれに飛び込んでいます。今、私はICCCMを読んでいます。もっと学びたいと思っています。ただし、このドキュメントは、私よりも(方法)を知っている大衆を対象としています。それで、私はいくつかの情報に出くわしました、そして、私はいくつかの説明を得たいです。 ICCCM引用のセクション2: 通常、所有者と要求者の間で転送されるすべてのデータは、Xバージョン11環境のサーバーを経由する必要があることに注意してください。クライアントは、別のクライアントが同じファイルを開いたり、直接通信したりできるとは想定できません。他のクライアントは、完全に異なるネットワークメカニズムを使用してサーバーと通信している場合があります(たとえば、1つのクライアントがDECnetと他のTCP / IPである場合があります)。したがって、データへの間接参照(ファイル名、ホスト名、ポート番号など)の受け渡しは、両方のクライアントが明確に同意した場合にのみ許可されます。 私の知る限り、X Window ManagerはTop of X Server上に構築されています(Wikipediaに感謝します)。上記の引用文では、クライアントはDECnetまたはTCP / IPを使用してサーバーと通信できると述べています。これまでのところ、「サーバー」はスピーチの図だと思っていましたが、今は疑問に思っています。Xサーバーは「Webサーバー」のようなサーバーですか。その機能/定義をどのように理解すればよいですか? 次に、X11、Xorg、X Server、X Window Manager、またはその両方への参照がしばしばあります。紛らわしい:X11はXorgとX Window Managerを含むバンドルですか?もしそうなら、このX11バンドルには他に何かありますか? Xは、マウスやキーボード、またはその他の種類の入力も必要です。Xサーバーの機能のこの部分もありますか?X Window Managerはディスプレイのみを厳密に監視していますか? 最後に、上記の引用では、クライアントが互いに通信しているかどうかについても言及しています。これは、学習目的で少し使用したD-Busを思い出しました。D-Busでは、ウィンドウイベントをトリガーすることもできます。それは、プログラムがどのように相互に通信するべきかに関して少し混乱させられます:* X Serverを使用して、またはD-Busを使用して相互作用するプログラムの違いは何ですか?* この情報がなんとなくあいまいなままであるのは残念ですが、学ぶのが難しくなりますが、これに少し光を当てることができれば幸いです:)ありがとう。

4
単一のtar呼び出しで複数の.tar.gzファイルを抽出します
私はtar、1回の実行で複数のファイルを抽出するように指示することが可能かどうか(そしてもちろん、どのように)考えていました。 私は数年経験のあるUnixユーザーであり、もちろん、使用したいfor、findまたはそのようなものを使用tarして、抽出したいアーカイブごとに1回呼び出すことができることを知っていますが、私の原因となったコマンドラインを見つけることができませんでしたtar2つの.tar.gzファイルを一度に抽出します。(そして、いいえ、何も悪いことはありませんfor、私は単にそれなしで行うことが可能かどうかを尋ねています。) 好奇心からではなく、この質問をしています tarこれをサポートする奇妙な分岐点があります 誰かが私が試したときに私に提案した-Mパラメータを使用する方法を知っていますtartar -zxv -f a.tgz -f b.tgz 我々はすべての盲目だし、それを行うのは全く簡単だ-しかし私は、任意の利用していないウェブでのヒントを見つけることができませんでしたforか、findまたはxargs様または。 返信しないでくださいtar -zxvf *.tar.gz(つまりはありませんので、ない仕事)とのみ、あなたがそれについて絶対に確信している場合は、「仕事をしません」と答える(そしておそらく良い説明持つ理由は、あまりにもを)。 編集:私はスタックオーバーフローに関するこの質問への答えを指摘されました。それは、現在のtar構文を破ることなしには不可能であると非常に詳しく述べていますが、それは真実ではないと思います。を使用するtar -zxv -f a.tgz -f b.tgzかtar -zxv --all-args-are-archives *.tar.gz、既存の構文を破壊しない、imho。
35 tar 

8
パーティション全体またはハードドライブをスパースファイルに複製する
パーティション全体またはハードドライブ全体をより大きな外部ディスクに複製したいのですが、スパースファイルを作成したいです。ddクローン作成によく使用しますが、スパースファイルはサポートしていません。回避策として、次のようなものを使用しました。 cp --sparse=always <(dd if=/dev/sda1 bs=8M) /mount/external/backup/sda1.raw しかし、これは私の趣味にはややトリッキーすぎて、中止された場合にプロセスを再開することはできません。このためのNTFSツールがあることは面白いですが(ntfsclone)、Linuxのネイティブファイルシステム(EXT2-4)にはそのようなツールは存在しません。 ddスパースをサポートするバリアントなど、これに適したツールはありますか?ディスクバックアップ用の独自のソフトウェアは探していませんが、必要に応じてループデバイスとしてマウントできるスパースクローンコピーを作成したいだけです。

5
オプションフラグをtarに渡すためにスーパーフロースダッシュ(-)を使用する理由
ディレクトリのtarファイル、作成するtarと、コマンドをcompress、verboseおよびfileオプションは、このように入力することができます。 $ tar -cvf my.tar my_directory/ ただし、次のように機能することもできます。 $ tar cvf my.tar my_directory/ つまり、オプションの前にダッシュ(-)を付けません。オプションリストにダッシュ(-)を渡すのはなぜですか?
35 utilities  tar 

8
ログを下から上に見て
Linuxコマンド、またはログを上から下ではなく下から見る方法がありますか?について知ってtail -n <number of lines>いますが、実際にスクロールして下から上に移動できるものはありますか?

7
ディレクトリを常にキャッシュに入れます
私はc ++プロジェクト全体をコンパイルするのにかかる時間を改善するために、さまざまな方法を試してきました。現在、約5分かかります。distcc、ccacheなどを試してみました。最近、プロジェクト全体をRAMドライブにコピーし、そこからコンパイルすると、コンパイル時間が元の30%(わずか1.5分)に短縮されることを発見しました。 明らかに、RAMドライブからの作業は実用的ではありません。だから、誰かがOSに特定のディレクトリを常にキャッシュしておくように強制する方法を知っていますか?私はまだ通常のようにディレクトリをディスクに同期して戻したいのですが、常にメモリ内のデータのコピーも必要です。これは可能ですか? 編集: 可能な解決策としてrsync、ディスクドライブをRAMドライブと同期するために10秒ごとに実行されるデーモンを起動することを考えました。次に、RAMドライブからコンパイルを実行します。rsync速く燃えるれるが、これは実際に動作しますか?確かにOSの方がうまくいく可能性があります。...

4
tmuxにはGNU Screenの「ログ」コマンドに相当するものがありますか?
特定の環境で変更を行っているときに、画面の「ログ」コマンドを頻繁に使用して、セッションの出力をファイルに記録します。tmuxのマニュアルページを検索しましたが、同等のものが見つかりませんでした。tmuxの同様の機能を知っている人はいますか、これを行うには独自のラッパースクリプトを作成する必要がありますか? 編集:私はセッションをログに記録することを可能にする「スクリプト」および他のユーティリティを知っています。画面の機能が非常に役立つ理由は、文字列エスケープを使用して各セッションを一意に識別するログファイル変数を定義する機能です。 たとえば、ホスト名を指定すると、新しい画面ウィンドウでそのホストにSSH接続し、ウィンドウタイトルをホスト名に設定するシェル関数があります。そのセッションのログを開始すると、ウィンドウタイトルがプレフィックスとして付けられます。 この機能がtmuxに存在しない場合は、新しいシェル関数のセットを作成して、記録するセッションの「スクリプト」を設定する必要があります。これはそれほど難しいことではありませんが、画面がすでに必要なことを正確に実行できることを考えると、努力する価値はないかもしれません。
35 gnu-screen  logs  tmux 

5
シェルでパイプスループットを測定する
データが通過する速度を測定できるシェルコマンドがあるため、パイプ内のコマンドの出力速度を測定できます。代わりに: $ somecommand | anothercommand 次のようなことができます: $ somecommand | ??? | anothercommand そして、スループット統計(バイト/秒)がstderrに出力されると思います。しかし、私は一生その命令が何であったかを思い出すことができません。


2
コンピュータの電源を入れるプロセスについて説明しているマニュアルページはどれですか?
数年前、私は端末を使用し、Linuxマニュアルのチュートリアルを(使用してman)電源を入れた後のコンピューターの動作について読みました。このプロセスでのBIOS、ROM、RAM、およびOSの役割を説明するプロセス全体を説明しました。 これはどのページですか?もう一度読むにはどうすればよいですか?
35 linux  boot  man 

2
「カーネルリングバッファー」、「ユーザーレベル」、「ログレベル」の概念は何ですか?
私はよく「カーネルリングバッファ」、「ユーザーレベル」、「ログレベル」、および他のいくつかの単語が一緒に表示されるのを見ました。例えば / var / log / dmesgカーネルリングバッファー情報が含まれます。 /var/log/kern.logすべてのログレベルのカーネルのメッセージのみが含まれます /var/log/user.logすべてのユーザーレベルのログに関する情報が含まれています それらはすべてログに関するものですか?それらはどのように関連し、異なっていますか? 「レベル」によって、複数のレベルの階層を想像できますか? 「ユーザーレベル」は「ユーザースペース」に関連していますか? それらは何らかの方法でランレベルまたは保護リングに関連していますか?
35 kernel  logs 

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