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

4
/ dev / nullへのリダイレクト
私はサンプルのbashシェルスクリプトを読んでいます: #!/bin/bash # This script makes a backup of my home directory. cd /home # This creates the archive tar cf /var/tmp/home_franky.tar franky > /dev/null 2>&1 # First remove the old bzip2 file. Redirect errors because this generates some if the archive # does not exist. Then create a new …
144 bash-script  null 

9
/ dev / nullがファイルなのはなぜですか?その機能が単純なプログラムとして実装されていないのはなぜですか?
Linuxでの特殊ファイルの概念を理解しようとしています。しかし、/dev私の知る限り、Cのいくつかの行でその機能を実装できる場合、特別なファイルを持っているのはばかげているように見えます。 さらに、ほぼ同じ方法で使用することもできます。つまりnull、にリダイレクトする代わりにパイピングし/dev/nullます。ファイルとして持つ特定の理由はありますか?同じファイルにアクセスするプログラムが多すぎるなど、他の多くの問題をファイルにしないのですか?

1
Bashでnullバイトを使用するにはどうすればよいですか?
Bashのファイルパスにはヌルバイト(ゼロ値のバイト、$'\0')以外の任意の文字を含めることができるため、セパレータとしてヌルバイトを使用するのが最善であると読みました。たとえば、の出力findを別のプログラムに送信する場合、-print0オプションを使用することをお勧めします(findそのバージョンの場合)。 しかし、このようなものは正常に機能しますが(改行で区切られたファイルパスを印刷します。心配する必要はありません。これは単なるデモであり、実際のスクリプトでは実際に実行していません)。 find -print0 \ | while IFS= read -r -d $'\0' ; do echo "$REPLY" ; done このようなものは機能しません: for file in * ; do echo -n "$file"$'\0' ; done \ | while IFS= read -r -d $'\0' ; do echo "$REPLY" ; done for-loop部分だけを試すと、nullバイトを間に入れずに、すべてのファイル名を一緒に印刷することがわかります。 どうしてこれなの?どうしたの?
33 bash  null 

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
出力ファイルが/ dev / nullのときにtarがファイルの内容をスキップするように見えるのはなぜですか?
400 GiB以上のデータを含むディレクトリがあります。私はすべてのファイルがエラーなしで読めることを確認したかったので、私が考えた簡単な方法はにtarそれをすること/dev/nullでした。しかし、代わりに次の動作が見られます: $ time tar cf /dev/null . real 0m4.387s user 0m3.462s sys 0m0.185s $ time tar cf - . > /dev/null real 0m3.130s user 0m3.091s sys 0m0.035s $ time tar cf - . | cat > /dev/null ^C real 10m32.985s user 0m1.942s sys 0m33.764s 上記の3番目のコマンドは、かなり長い間実行された後、Ctrl+ によって強制的に停止されましたC。さらに、最初の2つのコマンドが機能している間、ストレージデバイスのアクティビティインジケータ.はほとんど常にアイドル状態でした。3番目のコマンドを使用すると、インジケータが常に点灯し、極度の忙しさを意味します。 そのためtar、その出力ファイルが/dev/nullであることがわかると、書き込みを/dev/null行うファイルハンドルを持つように直接開かれた場合tar、ファイル本文はスキップされたように見えます。(vオプションを追加tarすると、tar「赤」のディレクトリ内のすべてのファイルが印刷されます。) なぜこれがそうなのだろうか?何らかの最適化ですか?はいの場合、なぜtarそのような特別な場合にそのような疑わしい最適化をしたいのでしょうか? Linux …
21 tar  null 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.