Unix & Linux

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

5
tailはファイル全体を読み取りますか?
tail25 GBのテキストtailファイルにしたい場合、コマンドはファイル全体を読み取りますか? ファイルはディスク上に散らばっているかもしれないので、そうする必要があると思いますが、そのような内部をよく理解していません。
113 tail 


7
書き込み権限のないファイルへのstdoutのリダイレクト
書き込み権限を持たずにファイルを変更しようとすると、エラーが発生します。 > touch /tmp/foo && sudo chown root /tmp/foo > echo test > /tmp/foo zsh: permission denied: /tmp/foo rootとしてコマンドを実行するため、sudoingは役に立ちませんが、シェルはstdoutのリダイレクトを処理し、とにかくファイルを開きます: > sudo echo test > /tmp/foo zsh: permission denied: /tmp/foo ルートとしてシェルを開き、その方法でファイルを操作する以外に、書き込み権限のないファイルにstdoutをリダイレクトする簡単な方法はありますか? > sudo su # echo test > /tmp/foo

12
行内の差分
違いを調べているSQLダンプがいくつかあります。diff明らかに2つの行の違いを示すことができますが、カンマ区切り値の長いリスト内のどの値が実際に行が異なるのかを見つけようとしています。 特定のファイルの2行間の正確な文字の違いを指摘するには、どのツールを使用できますか?
113 command-line  diff 

2
Vimはコピーアンドペースト攻撃の影響を受けませんか?
あなた必要がありますウェブから自分の端末に貼り付けることはありません。代わりに、テキストエディターに貼り付け、コマンドを確認してからターミナルに貼り付けてください。 大丈夫ですが、Vimが私のテキストエディタである場合はどうでしょうか。Vimをコマンドモードに切り替えて悪意のあるコマンドを実行するコンテンツを偽造できますか?

6
Linuxがカーネルのみの場合、最初のバージョンはどのように使用されましたか(ディストリビューションなし)?
Linuxは単なるカーネルであり、ユーザーがそれを使用する場合は、完全なディストリビューションが必要です。そうは言っても、Linuxディストリビューションがなかったとき、Linuxの最初のバージョンはどのように使用されましたか?

7
「/ dev」Linuxファイルはどのように作成されますか?
Linuxには、実際にはファイルではない特別なファイルがあります。 これらの最も注目すべき明確な例は、次のdevような「ファイル」フォルダーにあります。 /dev/null -ファイルに書き込んだものはすべて無視します /dev/random -ファイルの内容の代わりにランダムなデータを出力します /dev/tcp -ネットワーク経由でこのファイルに書き込むデータを送信します まず第一に、これらの種類の「ファイル」の名前は何ですか?実際には何らかのスクリプトまたはバイナリの変装です。 第二に、それらはどのように作成されますか?これらのファイルはカーネルレベルでシステムに組み込まれていますか、それとも自分で「マジックファイル」を作成する方法はありますか(どう/dev/rickrollですか?)。
112 linux  files  devices 


1
nohup.out以外のログファイルにnohup出力をリダイレクトする方法はありますか?
nohupプロセスがハングアップの影響を受けないように、プログラムを頻繁に使用します。したがって、プログラムprogramをハングアップの影響を受けないようにするには、コマンドを使用します nohup program & &プロセスをバックグラウンドで配置する場所。 起動時にnohup、次のメッセージが表示されます。 nohup:出力を「nohup.out」に追加します 出力をファイルに送信する方法はありますnohup.outか?多くのnohup場合、を使用して同じディレクトリで多くのプロセスを実行しますが、これを行うと、すべての出力が1つのnohup.outファイルにまとめられます。 マニュアルページ(たとえば、ここ)には、ログファイルを指定するオプションがないようです。これを確認してもらえますか?また、この問題をどのように回避できるかについての考えはありますか?

4
2つのディレクトリをコピーマージする方法は?
Linuxには、この構造を持つ2つのディレクトリimagesとimages2があります。 /images/ad /images/fe /images/foo ...およびその他の4000フォルダー そして、他のようなものです: /images2/ad /images2/fe /images2/foo ...およびその他の4000フォルダー これらの各フォルダには画像が含まれ、imagesおよびimages2の下のディレクトリ名はまったく同じですが、内容は異なります。次に、4000個すべてのフォルダーで、/ images2 / adの画像をimages / adにコピー/マージし、/ images2 / fooの画像をimages / fooにコピーする方法を知りたいと思います。


6
Linuxは複数の連続したパス区切り文字(/ home //// username /// file)をどのように処理しますか?
ファイルの場所をscpサブプロセスに渡すpythonスクリプトを作成しています。それで十分ですが、パスに二重の 'が含まれるように、パスとファイル名を連結する可能性/があります。複数のファイル区切り文字がある場合、bashは気にしないことを知っていますが、それがどのように正確に修正されるのか疑問に思っています。余分な/sを削除するのはbash ですか、それとも本当に重要ではありませんか? /連結中に余分なs をチェックするために数行のコードが保存されるので、お願いします。大したことではないことは知っていますが、私も興味があります。私はcd //usr(ではなくcd /usr)行を持つbashスクリプトを持っていますが、これは/パスで複数のs を使用することに意味があるかもしれないことを暗示しているようです

20
2台のコンピューター間で大量のデータを送信する最速の方法は何ですか?[閉まっている]
これは私が頻繁にいる状況です: 内部に320GBのハードドライブと16GBのRAMを備えたソースサーバーがあります(正確な仕様はここで入手できますが、これは他のマシンでも頻繁に遭遇する問題であるため、 「合理的な」Linuxマシン) 数テラバイトのハードドライブ領域を備えたバックアップサーバーがあります(正確な仕様はこちら、上記の免責事項を参照) ソースサーバーからターゲットサーバーに320 GBのデータ(具体的にはからのデータ/dev/sda)を転送したい。 2台のコンピューターは物理的に隣り合っているので、ケーブルを接続できます。 私はLAN上にいて、新しいルーターを使用しています。これは、ネットワーク速度が「理想的には」1000Mビットであるべきだということです。 セキュリティは問題ではありません。私はローカルネットワーク上にあり、ルーターを含むネットワーク上のすべてのマシンを信頼しています。 (オプション)データの署名付きチェックサムは必ずしも必要ではありませんが、基本的なエラーチェック(ドロップされたパケットやドライブが読み取れなくなるなど)は、出力に消えるのではなく、検出する必要があります。 この質問をオンラインで検索し、いくつかのコマンドをテストしました。最も頻繁に表示されるのはこれです: ssh user@192.168.1.100 'dd bs=16M if=/dev/sda | gzip' > backup_sda.gz このコマンドは遅すぎることが判明しました(1時間実行し、データで約80GBしか得られませんでした)。1GBのテストパケットには約1分22秒かかり、圧縮されていない場合は2倍の速度になりました。また、転送されたファイルがソースシステムのRAM容量よりも少ないという事実によって、結果が歪められた可能性があります。 さらに(これは1GBのテストピースでテストされました)、gzipコマンドとdd; を使用すると問題が発生します。結果ファイルは、直接パイプされた場合とは異なり、ターゲットで抽出されたときとは異なるチェックサムを持ちます。私はまだこれが起こっている理由を解明しようとしています。

4
現在のディレクトリに関連するシンボリックリンクを作成します。
外付けHDD上のディレクトリを指すシンボリックリンクをホームディレクトリに作成しようとしています。 次のように指定すると正常に機能します。 cd ~ ln -s /run/media/name/exhdd/Data/ Data しかし、これを試してみると、リンクに障害が発生します: cd /run/media/name/exhdd ln -s Data/ ~/Data これは、私がcd入ることができないリンクを作成します。 私が試してみると、bashは文句を言います: bash: cd: Data: Too many levels of symbolic links ls色付きの出力を表示するように設定されている場合、自宅のデータシンボリックリンクも赤色で表示されます。 なぜこうなった?その方法でリンクを作成するにはどうすればよいですか?(別のディレクトリの作業ディレクトリにあるディレクトリへのシンボリックリンクを作成したい。) 編集:この StackOverflowの回答によれば、2番目の引数(私の場合は〜/ Data)が既に存在し、ディレクトリである場合、そのディレクトリ内にlnターゲットへのシンボリックリンクが作成されます。 しかし、私は同じ問題を次のように経験しています: ln -s Data/ ~/
110 directory  symlink  ln 

5
ログファイルの最後のn行のみを監視する方法は?
最後の15行のみを表示したいログファイルが増えています。私ができることは次のとおりです。 tail -n 15 -F mylogfile.txt ログファイルがいっぱいになるとtail、最後の行が表示に追加されます。 最後の15行のみを表示し、更新後の最後の15行より前の行を削除するソリューションを探しています。アイデアはありますか?
110 logs  monitoring  tail 

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