Unix & Linux

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

4
各擬似端末(PTY)コンポーネント(ソフトウェア、マスター側、スレーブ側)の責任は何ですか?
ttyがどのように機能するかを把握しようとしています1(各要素のワークフローと責任)。私はそれについていくつかの興味深い記事を読みましたが、まだいくつかのぼやけた領域があります。 これは私がこれまでに理解していることです: エミュレートされた端末は/dev/ptmx、擬似端末のマスター部分であるに異なるシステム呼び出しを行います。 擬似端末のマスター部分は、/dev/pts/[0-N]廃止されたシリアルポートに対応するにファイルを割り当て、スレーブ擬似端末をそれに接続します。 スレーブ擬似端末は、セッションID、フォアグラウンドジョブ、画面サイズなどの情報を保持します。 私の質問は次のとおりです。 スレーブ部分を割り当てる以外に、ptmxにはどんな目的がありますか?何らかの「インテリジェンス」を提供しますか、またはエミュレートされた端末(たとえばxterm)が端末のように動作するすべてのインテリジェンスを備えていますか? xtermはスレーブパーツのstdoutとstdinのみを転送するため、マスターパーツと対話する必要があるのはなぜですか?なぜptsファイルから直接読み書きできないの ですか? セッションIDは常に1つのPTSファイルに添付されますか?psコマンドを入力して、同じ/ dev / pts / Xの2つのsessionIdを見つけられますか? ptsストアには他にどのような情報がありますか?Xtermはすべてのフィールドを自分で更新しますか、それともptm何らかの「インテリジェンス」を追加しますか? 1. Linus Akessonによって謎解かれたTTYとAndries Brouwer投稿によるLinux Kernelに、これらのサイトの他のいくつかの質問のように、私の理解の基礎を置きます。

2
「トップ」はどの時間単位を使用しますか?
「top」コマンドを発行し、次のような結果を受け取った場合: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 00001 bob 25 0 77380 1212 1200 R 95.8 0.0 89122:13 fee 00002 bob 25 0 77380 1196 1184 R 95.4 0.0 88954:14 fi 00003 sam 18 0 427m 16m 6308 R 30.0 0.1 54:46.43 fo 00004 …
59 man  time  top 

2
共有ライブラリが実行可能なのはなぜですか?
なぜほとんどすべての共有ライブラリに/usr/lib/実行許可ビットが設定されているのですか?それらを実行するためのユースケースは見当たりません。main短い著作権とバージョンノートを印刷するためになんらかの形式の関数を接続することもできますが、多くはそれを実行せず、実行時にセグメンテーション違反を起こします。 それで、これを設定する意味は何xですか?すべてのライブラリパッケージャーがそれを行う必要がありますか?権限dlopen()を持つ共有ライブラリを使用するとどうなり0644ますか?


2
端末エミュレーターはTTY 1-6と同じくらい高速ですか?
最近、組み込みのgnome-terminal、aterm、xterm、wtermからrxvtまで、さまざまなターミナルエミュレーターを試しています。私が行ってきたテストは次の順序です。 2つのペインでtmuxウィンドウを開きます 左ペインには、次のような詳細な集約型の作業になりますgrep a /et/c -rか、単純なtime seq -f 'blah blah %g' 100000 右側のペインは、構文がオンのvimウィンドウになり、100行を超えるコードを持つファイルを開きます。 左ペインが大量の出力を印刷しているとき、右ペインは非常に遅く応答しないようです。vimでスクロールしようとしましたが、変更するには1〜2秒かかります。CtrlC左ペインを押すと、停止するまで10秒以上待機します TTYで同じこと(CTRL+ ALT+(F[1-6])を押す)を行うと、それは起こらず、両方のペインが非常に反応します。 アンチエイリアスフォント、カラーリングの有効化、デフォルト設定の使用、xmonadおよびopenboxへの変更など、いくつかの設定を変更しましたが、何も変更しません。 結果はtime seq -f 'blah blah %g' 100000これらの端末間で実際に違いはありませんが、特にspitted pane tmux(または他のマルチプレクサ)を実行している場合、応答性は本当に異なります。参考までに、私はそれらすべてを最大化モードで実行しています。 フレームバッファターミナルについて読んだことがありますが、どのように機能するか、またターミナルエミュレータを高速化するためにどのように使用できるかはわかりません。 私の質問は、ターミナルエミュレータがTTYよりもはるかに遅くなるのはなぜですか?TTYと同じくらい速くする可能性はありますか?ハードウェアアクセラレーションか何か?私が知っていることの1つは、最大化されたターミナルエミュレータを実行しているときのXサーバーでの解像度は1920x1080であり、TTYを実行しているときはそれよりも小さくなりますが、これがパフォーマンスにどのように影響するかわかりません。
59 terminal  tty 


3
「tail」コマンドの「-f」パラメーターはどのように機能しますか?
$ tail -f testfile コマンドは、指定されたファイルの最新のエントリをリアルタイムで表示することになっていますか?しかし、それは起きていません。私がやろうとしていることが間違っている場合は、私を修正してください... 新しいファイル「aaa」を作成し、テキスト行を追加して閉じました。次に、このコマンドを発行しました(最初の行): $ tail -f aaa xxx xxa axx 最後の3行はファイルaaaの内容です。コマンドがまだ実行されているので(使用したため-f)、GUIを介してファイルaaaを開き、手動でさらに数行追加し始めました。しかし、ターミナルはファイルに追加された新しい行を表示しません。 ここで何が問題なのですか?tail -fそれらはシステムによってのみ書かれている場合は、コマンドは新しいエントリを示して?(ログファイルなど)

9
Linuxの小さなものごとに「sudo」を書く必要をなくす方法はありますか?
私はまもなくかなりの量のPHP作業を行う予定であり、RoRの学習に興味があるので、VirtualBoxにLinux Mint 12をインストールしました。 スイッチの最もイライラする側面は、これまでのところ、Linuxの許可を扱うことです。sudoを介してルートになりすまさないと、(たとえば、Symfony2 tarballをダウンロードディレクトリからドキュメントルートにコピーして抽出するなど)何か便利なことはできないようです。 Linuxに特定のディレクトリへの制限のないアクセスを許可する簡単な方法はありますか?

18
「少なく」なったときに「猫」を使用する理由はありますか?
以前はcatファイルの表示に使用していました。それから、私はそれlessが通常はより良いことを学びました、そして、ファイルが数十行より長いなら、それは必須です。 私の質問:cat代わりに使用する理由はありlessますか?catより良い解決策がある状況はありますか?
59 less  cat 

8
Linuxのメーカーのようなディスクの詳細を表示する方法
ではsfdisk -s、次のように私は、ディスク容量を見ることができます: $ sfdisk -s /dev/cciss/c0d0: 143338560 total: 143338560 blocks ディスクの製造元のようなディスクの詳細を表示するにはどうすればよいですか?試しましhdparmたが、エラーが発生しました: $ hdparm -i /dev/cciss/c0d0 /dev/cciss/c0d0: HDIO_GET_IDENTITY failed: Inappropriate ioctl for device

6
強打をエコーする方法!
echoエディターで開くのではなく、コンテンツをファイルに入れてスクリプトを作成しようとしました echo -e "#!/bin/bash \n /usr/bin/command args" > .scripts/command 出力: bash:!/ bin / bash:イベントが見つかりません 私はこの奇妙な行動を強打に隔離しました。 $ echo ! ! $ echo "!" bash: !: event not found $ echo \#! #! $ echo \#!/bin/bash bash: !/bin/bash: event not found なぜbangはこれを引き起こしていますか? bashが参照するこれらの「イベント」とは何ですか? この問題を乗り越えて画面またはファイルに「#!/ bin / bash」を印刷するにはどうすればよいですか?

11
ヘッドレスサーバーの起動中に暗号化されたLVMを復号化するSSH
Ubuntu 10.04をインストールし、現在10.10をインストールしたときに、ハードドライブで「暗号化されたLVM」を有効にするオプションが提示されました。そのオプションを選択した後、起動中にLVMを復号化するためのパスワードの入力を求められます。 今、私はLinux(必ずしもUbuntuではない)を実行するヘッドレスサーバーをセットアップすることを考えていますが、サーバーがヘッドレスであるため、起動中に解読できないことを心配しています。ブート中にSSHで暗号化LVMのパスワードを入力できますか?もしそうなら、どのように設定しますか?それとも別の解決策がありますか?繰り返しますが、この質問はUbuntuに固有のものではありません。ありがとう。
59 ssh  boot  encryption  lvm  headless 

6
scpが非常に遅いのはなぜですか?
ファイルのバッチをコピーしようとしていますが、scp非常に遅いです。これは10ファイルの例です: $ time scp cap_* user@host:~/dir cap_20151023T113018_704979707.png 100% 413KB 413.2KB/s 00:00 cap_20151023T113019_999990226.png 100% 413KB 412.6KB/s 00:00 cap_20151023T113020_649251955.png 100% 417KB 416.8KB/s 00:00 cap_20151023T113021_284028464.png 100% 417KB 416.8KB/s 00:00 cap_20151023T113021_927950468.png 100% 413KB 413.0KB/s 00:00 cap_20151023T113022_567641507.png 100% 413KB 413.1KB/s 00:00 cap_20151023T113023_203534753.png 100% 414KB 413.5KB/s 00:00 cap_20151023T113023_855350640.png 100% 412KB 411.7KB/s 00:00 cap_20151023T113024_496387641.png 100% 412KB 412.3KB/s …
59 scp  time  batch-jobs 


4
列を使用して、スペースではなくタブで区切るにはどうすればよいですか?
Unix columnコマンドを使用してテキストをフォーマットしたいと思います。タブで区切られたフィールドがありますが、各フィールド内にはスペースもあります。column空白(タブとスペース)で区切ります。区切り文字としてタブのみを使用する列を作成するにはどうすればよいですか? 私はタブを区切り文字として指定しようとしました: cat myfile | column -t -s"\t"

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