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

デバイスは、Unix / Linuxデバイスの特殊ファイルに関する質問を指します。通常、これらは/ devの下にあります。このタグを物理デバイス(usbやpciなどを使用するデバイス)に使用しないでください。

5
Linuxは実際のファイルと存在しない(例:デバイス)ファイルをどのように区別しますか?
これはかなり低レベルの質問であり、尋ねるのに最適な場所ではないかもしれないことを理解しています。しかし、それは他のどのSEサイトよりも適切であるように思えたので、ここに行きます。 Linuxファイルシステムでは、いくつかのファイルが実際に存在することを知って/usr/bin/bashいます。たとえば:は存在するファイルです。しかし、(私の知る限りそれを理解したように)、いくつかは、実際よりのような存在とされていない仮想ファイルを、例えば:/dev/sda、/proc/cpuinfoなど私の質問は(彼らは2つですが、あまりにも密接に別の質問であることを関連します): 読み取りコマンド(またはそのような)が発行されたときに、これらのファイルが本物である(したがって、ディスクから読み取る)かどうかにかかわらず、Linuxカーネルはどのように動作しますか? ファイルが本物ではない場合:例として、read from /dev/randomはランダムデータを返し、read from /dev/nullはを返しEOFます。どのようにこの仮想ファイルからどのデータを読み取るのか(したがって、データが仮想ファイルに書き込まれたとき/場合に何をするのか)-各ファイルに適切な別々の読み取り/書き込みコマンドへのポインタを持つ何らかのマップがありますか?または、仮想ディレクトリ自体についても?したがって、のエントリ/dev/nullは単にを返すことができEOFます。


1
/ dev / nullと/ dev / zeroの違い
/dev/nullおよびにリダイレクトしようとすると/dev/zero、出力は破棄されます。両方のように見え、すべての入力/dev/nullを/dev/zero受け入れて破棄します。だから、何の違いである/dev/nullとは/dev/zero?
27 devices 

1
なぜ/ dev / zeroからIO_RBYTESとしてカウントしないのですか?
次のコマンドを使用して、Linux 4.x OSのハードドライブを空にします。 sudo sh -c 'pv -pterb /dev/zero > /dev/sda' そして、別のttyを開いて開始しsudo htop、これに気付きました: PID USER PRI NI CPU% RES SHR IO_RBYTES IO_WBYTES S TIME+ Command 4598 root 20 0 15.5 1820 1596 4096 17223823 D 1:14.11 pv -pterb /dev/zero の値IO_WBYTESは非常に正常なように見えますIO_RBYTESが、4 KiBのままであり、変更されることはありません。 他のいくつかのプログラムを実行しました、例えば dd if=/dev/zero of=/dev/zero cat /dev/zero > /dev/zero そして、それらのどれもが多くIO_RBYTESまたはを生成しないのに驚いたIO_WBYTES。 …
25 linux  devices  io  null 

3
ファイルを/ dev / nullにmvするとdev / nullが壊れる
私がする場合:touch file; mv file /dev/nullルートとして、/dev/null消えます。 ls -lad /dev/nullそのようなファイルまたはディレクトリはありません。これにより/dev/null、SSHなどに依存するアプリケーションが破損し、を実行することで解決できますmknod /dev/null c 1 3; chmod 666 /dev/null。通常のファイルをこの特別なファイルに移動すると、なぜ消失するの/dev/nullですか? 明確にするために、これはテスト目的のためであり、mvコマンドがどのように機能するかを理解しています。私が興味をls -la /dev/null持っているのは、通常のファイルに置き換える前に期待される出力が表示される理由ですが、その後/dev/null、元のmvコマンドでファイルが作成され、ファイルコマンドにASCIIテキストが表示されているにもかかわらず、存在しないことが示されています。これは、非特殊ファイルが文字/特殊ファイルを置き換えるときのlsコマンド動作と組み合わせたものでなければならないと思いdevfsます。これはMac OS Xで、動作は他のOSで異なる場合があります。
25 osx  devices  null 

2
Linuxではマウスイベントはどのように機能しますか?
これは主に好奇心からのものであり、イベント処理が低レベルでどのように機能するかを理解しようとしているので、私のためにそれを行うソフトウェアを参照しないでください。 たとえば、マウスクリックに反応するプログラムをC / C ++で記述したい場合、システムコールを使用して一部の機能をカーネルにフックする必要があるか、マウスのステータスを常にチェックする必要があると思います。知りません。 C / C ++ではほとんどすべてが可能であり、非常に低レベルなので、おそらく自分で実装する必要はないかもしれませんが、私はそれがどのように機能するかに主に興味があるので、それが可能だと思います。 問題は、Linuxでどのように機能するか、特定のシステムコール、Cライブラリなどがあるかどうかです。
25 linux  devices  input 

1
/ devにdevtmpfsを使用する
カーネルに次のオプションがあることに気付きました:CONFIG_DEVTMPFS Device Drivers -> Generic Driver Options -> Maintain devtmpfs to mount at /dev そして、Debianディストリビューションカーネルでデフォルトで有効になっていることがわかります 3.2.0-4-amd64 このオプションがもたらす違いを理解しようとしています。このオプションを指定しないと、/devとして実装されているtmpfsこのオプションを指定して、それは次のように実装されています、devtmpfs。それ以外は、違いは見当たりません。 helpいずれかの私のためにそれを明確にしませんでした。 これにより、起動時に早い段階でtmpfs / ramfsファイルシステムインスタンスが作成されます。このファイルシステムでは、カーネルドライバーコアは、割り当てられたメジャー/マイナー番号を持つすべての登録済みデバイスのデフォルト名とアクセス許可でデバイスノードを維持します。 完全に機能する/ devディレクトリを提供します。通常は、udevが最上位で実行され、権限を管理し、意味のあるシンボリックリンクを追加します。 非常に限られた環境では、それ以上のヘルプなしで十分な機能/ devを提供する場合があります。また、シンプルなレスキューシステムが可能になり、動的なメジャー/マイナー番号を確実に処理します。 誰かが使用CONFIG_DEVTMPFSと標準の違いを説明してもらえ/devますか?


2
ttyのボー速度を設定します
特定のtty(この場合はシリアルポート)のボー速度を設定するにはどうすればよいですか?使ってみた stty -F /dev/tty.iap ispeed 19200 しかし、Invalid argument9600(デフォルト)を除くすべての速度(2400、4800など)でエラーが発生します。を使用してCプログラムの速度を正常に変更できcfsetspeedます。ttysファイルのような別の場所で変更を加える必要がありますか?

3
デバイスファイルを削除するとどうなりますか?
/ devの下にあるファイルについては大体知っています。 2つのタイプ(文字/ブロック)があることを知っています。これらのファイルにアクセスすると、カーネル内のドライバーと通信します。 特に両方のタイプのファイルについて、1つを削除するとどうなるかを知りたいです。ブロックデバイスファイルを削除した場合、たとえば/dev/sda、もしあれば、どのような効果がありますか?ディスクをアンマウントしましたか? 同様に、削除すると/dev/mouse/mouse0どうなりますか?マウスが機能しなくなりましたか?自動的に置き換えられますか? これらのファイルを削除することもできますか?VMがセットアップされている場合は、試してみます。

2
/ dev / videoの操作
ビデオストリームを取得し、/dev/video0エフェクトや変更を適用し、結果をで利用できるようにしたい/dev/video1です。 /dev/video0 --->効果の適用---> /dev/video1 たとえば、ascii artのmplayer tv:// -vo caca出力を表示します/dev/video。/dev/video1デフォルトのウェブカメラフィードの代わりにスカイプで送信できるように、それを利用できるようにしたいと思います。 助言がありますか?
21 video  devices 


3
PCIeデバイスの電源をリセット/再投入する方法は?
コンピューターの電源が完全にオフになってから再びオンになったときにのみ正常に動作するPCIeデバイスがあります。シンプルrebootまたはreboot -pコマンドを発行しても、PCIeカードの電源が入れ直されないため、リブート後に機能しなくなります。 OSからPCIeスロットのデバイスの電源を入れ直す方法はありますか?で見つけることができます/sys/bus/pci/devices/0000*/が、ボードを適切にリセットする方法がわかりません。パワーの切り替えが唯一の方法のようです。 それを除いて、rebootコマンドのフルパワーサイクルを引き起こす設定をどこかで変更できますか? ところで、Ubuntu 12.10を実行しています。

3
/ dev / nvramへの書き込みは危険ですか?
nvramはBIOSのフラッシュ/バックアップに使用され、BIOS関連のデータが含まれているという情報を見つけました。うcat /dev/random > /dev/nvram永久レンガのコンピュータ?私はこのコマンドを入力したいのですが、どういうわけか自分のマシンにとってうまくいかないと思うので、このデバイスで遊んでいるのがどれほど危険か知りたいと思います。

1
/ etc / fstabの「nodev」が非常に重要なのはなぜですか?キャラクターデバイスをハッキングに使用するにはどうすればよいですか?
Linuxのセキュリティについて学び、キャラクターデバイスを搭載したUSBスティックが潜在的に危険な理由を理解するのに苦労しています。 rootがsetuidされたbash実行可能ファイルを含むUSBスティックを持っている場合、その危険性は明白です。 /dev/sdb1 /media/usbstick auto defaults 0 0 私の/etc/fstabでdefaults含まれていますsuid。 しかし、キャラクターデバイスはどうですか?キャラクターデバイスを搭載したUSBスティックがdevまたはでマウントされた場合、キャラクターデバイスを使用してルート権限を取得したり、defaults何かを壊したりするにはどうすればよいですか?

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