Unix & Linux

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

5
catと「>」の違いによるファイルのゼロ化
これらの2つのコマンドは、ファイルのゼロ化についてどのような違いがありますか?後者は前者を行うより短い方法ですか?舞台裏で何が起こっていますか? 両方 $ cat /dev/null > file.txt $ > file.txt 産出 -rw-r--r-- 1 user wheel 0 May 18 10:33 file.txt

1
systemdと他のinitシステムの違いは何ですか?
公式ではありませんが、systemdがDebianにやってくるようです。その決定に関する白熱したメーリングリストの議論を読んだ後、Linuxユーザーの間でsystemdが二極化する性質に興味があります。私はDebian(sysvinit)およびGentoo(OpenRC)システムを実行しており、systemdについて具体的なことは何も知りませんが、私の方法が近づいているように見えます。 systemd対upstartの長所と短所を尋ねるこの関連する質問を見てきましたが、その質問が投稿されてから3年が経ち、その間に状況が変わったと確信しています。 私の質問は次のとおりです。systemdは他のinitシステムと比較してどうですか? 他のinitシステムではできないことで何ができるのでしょうか? 別の初期化システムからそれに切り替えることで失うものはありますか? systemdの管理は他と比較してどうですか?

5
「リモートホストIDが変更されました」という警告をsshに強制的に出力させない
このようなssh印刷警告メッセージを回避する方法はありますか? "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r", "@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @\r", "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r", リモートホストのIDは変更されましたが、問題ないことを知っており、この警告を取り除きたいだけです。
23 ssh 


6
一意の文字を含む10文字すべての単語の正規表現
私は10文字のすべての単語を表示する正規表現を作成しようとしていますが、どの文字も繰り返されていません。 これまでのところ、私は持っています grep --colour -Eow '(\w{10})' これは、質問の最初の部分です。「一意性」を確認するにはどうすればよいですか?後方参照を使用する必要があることを除けば、本当に手がかりはありません。

3
duは同じファイルに対して2つの異なる結果を与えます
私は、Linuxクラスターにアクセスできる計算化学の大学院生です。クラスターは非常に大きな(25 TB)ファイルサーバーで構成されており、数十の計算ノードが接続されています。各計算ノードは、8〜24個のIntel Xeonコアで構成されています。各計算ノードには、約365 TBのローカルディスクも含まれています。 ファイルサーバーは研究グループの数十人のユーザーによって日常的にアクセスされるため、ファイルサーバーは主に長期のファイルストレージに使用されます(計算ノードのローカルディスクはバックアップされませんが、夜間にバックアップされます)。したがって、システム管理者は、他のユーザーのファイルサーバーを遅くしないように、ファイルサーバーよりも高速なI / Oを持つローカルディスクでシミュレーションを実行するように指示しました。 そのため、ローカルディスクでシミュレーションを実行し、それらが終了したら、軌道ファイルをコピーします-分子動力学(MD)シミュレーションを実行しています-をファイルサーバーに保存します。traj.trrノードのローカルディスク上のディレクトリで呼び出されるトラジェクトリファイルがあるとします/home/myusername/mysimulation1/traj.trr。長期保存のために、私は常にtraj.trrファイルサーバーのディレクトリにコピーします。~/mysimulation1/traj.trrここ~で、ファイルサーバーのディレクトリを表し/export/home/myusernameます。コピー後、ファイルサイズがと同じでdu -hあることを確認するために習慣的に使用し/home/myusername/mysimulation1/traj.trrます~/mysimulation1/traj.trr。これにより、ファイルサーバーへの転送が成功したことを少なくとも合理的に確信できます。例えば: cd /home/myusername/mysimulation1/ cp -v traj.trr ~/mysimulation1/ du /home/myusername/mysimulation1/traj.trr -h du ~/mysimulation1/traj.trr -h 2つの呼び出しでdu -h人間が読み取れるファイルサイズが同じである場合、転送/コピーが成功したことは合理的に確信できます。(私の典型的なtraj.trrファイルは、実行した正確なシミュレーションに応じて、サイズが約15〜20 GBの範囲です。)2つのファイルでdu(-hスイッチなしで)実行した場合、traj.trr通常、バイト単位のサイズは非常に似ています- -通常、わずか数バイト以内。過去1年半、この全体的な方法を問題なく使用しています。 ただし、最近、次の問題にdu -h遭遇しました。2つのtraj.trrファイルのサイズが数GB異なることが報告されることがあります。以下に例を示します。 cd /home/myusername/mysimulation1/ # this is the local disk cp -v traj.trr ~/mysimulation1/ du traj.trr -h cd ~/mysimulation1/ # this is the fileserver du …
23 disk-usage 

3
この新しいArchインストールでサウンドを有効にするにはどうすればよいですか?
Arch Beginner's Guideをフォローしています。 Archを実行しています。現在、インストール後の手順に取り組んでいます。最初の部分の1つは、スピーカーのミュートを解除することです。ここが私の問題です。 最初に、alsamixerをインストールしました pacman -S alsa-utils それからこれ amixer sset Master unmute 私はこのエラーを受け取ります: amixer: Unable to find simple control 'Master',0 どうすればいいのかわかりません。 編集: # cat/proc/asound/cards 0 [MID]: Hda-Intel - HDA Intel MID HDA Intel MID at 0xf7e14000 irq 63 1 [PCH]: Hda-Intel - HDA Intel PCH HDA Intel PCH at …
23 arch-linux  audio  alsa 

5
2つのフォルダーを比較し、その違いを3番目のフォルダーにコピーするにはどうすればよいですか?
次の3つのフォルダーがあります。 現在のフォルダーには、現在のファイルが含まれています 同じファイルの古いバージョンを含むフォルダold フォルダーの違い、これは単なる空のフォルダーです どのように比較するか、古いと現在とで異なる(あるいは全く新しい)しているファイルをコピー電流をに違い? 私はあらゆるところを検索しましたが、取り組むのは簡単なように思えますが、特定の例ではうまくいきません。ほとんどのソースはrsyncの使用を提案しているので、私は次のコマンドになりました。 rsync -ac --compare-dest=../old/ new/ difference/ ただし、これにより、すべてのファイルがnewからdifferenceにコピーされます(oldと同じファイルであっても)。 それが役立つ場合(コマンドが正常で、障害が他の場所にある場合)、これは私がこれをテストした方法です: 3つのフォルダーを作成しました。 私は中に異なる内容で複数のテキストファイルを作った古いです。 ファイルをoldからnewにコピーしました。 いくつかのファイルの内容を新規に変更し、いくつかの追加ファイルを追加しました。 上記のコマンドを実行し、結果の違いを確認しました。 私は過去数日間解決策を探していましたが、私はいくつかの助けを本当に感謝しています。必ずしもrsyncを使用する必要はありませんが、可能であれば、間違っていることを知りたいです。
23 files  rsync  diff  file-copy 

4
sshが終了したときにsshによって生成されたプロセスを強制終了する
これは、ここだけでなく、スタック交換ネットワークの他のサイトでも何度か取り上げられた質問です(たとえば、sshを中断したときにリモートプロセスを強制終了するためにsshを作成する方法は? )。しかし、私はどのソリューションも私のために機能させることはできません。 sshを介してコマンドを実行しています。sshを終了するたびに、コマンドも停止するようにします。このコマンドはktserverと呼ばれるデーモンであり、Ctrl-Cを押すまで無期限に実行されます。 次のように実行します。ssh -t compute-0-1 ktserver実際、Ctrl-Cを押すと、プロセスは正常に終了し、sshセッションが終了します。 ただし、Ctrl-Cを押す代わりに、killコマンドを使用して(たとえば、SIGINTまたはSIGHUPを送信して)sshプロセスを強制終了すると、ktserverプロセスは存続します。 どうすれば殺さktserverれる方法に依存せずに常に死ぬことができsshますか? 編集:のktserverような完全に異なる何かを実行する代わりにgedit、すべてが魅力のように機能する場合(つまり、geditが接続が切れたときに死ぬ)。したがって、プロセス自体に何か問題がある可能性があります。たとえば、SIGHUPまたはSIGINTを無視しているのではないかと考えました。ただし、kill -1 ktserverまたはを実行するkill -2 ktserverと、プロセスは期待どおりに終了します。 EDIT2:Mark Plotnickが指摘しているように、この問題は、sshチャネルで循環している通信がないという事実に関連しています。ssh -t <host> readその後、sshプロセスを実行して終了することで確認しました。readまだ生きていて蹴っていました。
23 ssh  kill 

4
Wineはどのようにエミュレーターではありませんか?
エミュレータを(簡単な方法で)理解しているので、システムXの機能を使用するプログラムの関数呼び出しを、プログラムが実行されるシステムYで使用される機能に変換または置き換えます。Wineプロジェクトは、Wineはエミュレータではないと主張しています。 仮想マシンやエミュレーターのような内部Windowsロジックをシミュレートする代わりに、WineはWindows API呼び出しをオンザフライでPOSIX呼び出しに変換し、他のメソッドのパフォーマンスとメモリペナルティーを排除し、Windowsアプリケーションをデスクトップにきれいに統合できるようにします。 さて、エミュレータと仮想マシンは、Windows以外のホストシステムで内部Windowsロジックをどのようにシミュレートしますか?それは、Windowsシステムコールをホストのそれぞれのコールに変換することではないでしょうか?エミュレーターと非エミュレーター(Wineなど)の違いは、エミュレーターがオペレーティングシステム全体をエミュレートし、アプリケーションがエミュレーターと通信していることを知らずにそのシステムAPIを使用するのに対し、非エミュレーターはアプリケーションの呼び出しをホストの(そして、アプリケーションもそれを知らないかもしれません)?エミュレーターとWineの違いは、間接レベルの追加だけですか?
23 wine  emulation 


4
Linux Kernel> 3.0に障害のあるディスクを完全に無視するように指示する方法は?
私は、バス上の一台のSATAハードディスクと三星ラップトップ(クロノスS7)を有するata:1として検出され、/dev/sda上に8G SSDをata:2、/dev/sdbSATAインターフェースの残りの部分に、および様々な他のデバイス。 問題は、SSDディスクが メインボードにはんだ付け(移動不可) 破壊された(すべての操作でI / Oエラーが発生する) BIOSには表示されません(おそらく壊れているため) 今、このディスク: 障害のあるディスクの調査を試みるブートを3〜5分遅らせますが、これは迷惑です。 しかし、最も厄介なのは、システムが失敗したために中断/dev/sdbできないことです。 起動時の遅延に耐えることができることに注意してください---私が心配しているのは、再開/一時停止のことです。 質問は次のとおりです: ata:2でデバイスをプローブすることさえ避けるようにカーネルに指示できますか? 古いカーネル(<3.0)では、まだソースを少し掘り下げることができたが、hdb=ignoreそのトリックを実行するスタイルのコマンドラインパラメーターがありました。 私はすべてして以下に提案トリックしようとしているudevとlibata:force無駄に、カーネルパラメータを。具体的には、以下は機能しません。 次/etc/udev/rules.d/のファイルの1つに追加する(初期実行のように、00-ignoredisk.rulesまたは後期99-ignoredisk.rulesまたはその両方で) SUBSYSTEMS=="scsi", DRIVERS=="sd", ATTRS{rev}=="SSD ", ATTRS{model}=="SanDisk iSSD P4 ", ENV{UDISKS_IGNORE}="1" また KERNEL=="sdb", ENV{UDISKS_IGNORE}="1" また、多くの中間ソリューション---これにより、ブート後にディスクにアクセスできなくなりますが、ブート時にプローブされ、サスペンド時にチェックされます---サスペンドが失敗します。 システムファイルを編集する/lib/udev/rules.d/60-persistent-storage.rules(そしてudisks、udisks2)変更 KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|dm-|md", GOTO="persistent_storage_end" に KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|dm-|md|sdb*", GOTO="persistent_storage_end" 繰り返しになりますが、これはユーザー空間からディスクをマスクする何らかの効果がありますが、ディスクはまだカーネルに見えます。 すべての可能な組み合わせでのブート(だけでなく、それらの多く)のlibata:force(例えば見つけパラメータここ無効DMA、低速または任意の障害が発生したディスクについて---動作しないために)。パラメーターは使用されますが、ディスクは引き続きプローブされ、失敗します。 http://paste.ubuntu.com/6186145/に完全udevadm info -a -n /dev/sdb貼り付け smartctl -i /dev/sdb -T permissive 与える: root@samsung-romano:/home/romano# …


2
端末の空のスペース/背景を、ASCII文字のランダムな(しかしきれいな)パターンに置き換えることはできますか?
コンテキストと質問 端末とシェル環境を色付けする方法はたくさんあります。などの個別のコマンドの出力lsとはgrep、また、色付けすることができます。直接関連するわけではありませんが、コンソールでメディアを再生するという概念は興味深いものですが、これはウィンドウシステム上のフレームワーク(ライブラリ)に依存しているようです。次の質問は、bashシェルとそのLinuxターミナルフレームワークでの実装とその基盤のみを対象としています。 2D ゲームのシーンのASCII「レンダリング」の次のモンタージュを検討してください。 これらは、ランダムに生成されたシーンではありません。私が選択したすべてのセグメントは、実際には、ASCII文字を使用してこのようなオブジェクトを表現するゲームの「草地」地形(樹木、低木、低木、花、草など)を表します。最後の4シーンは、ユーザーが作成したタイルセットを示しています。タイルセットは、基本的に色仕様のASCII文字のリマップです(詳細は簡単です。これは、視覚とパターン")。 モンタージュ共有のこれらのシーンの一般的な機能は次のとおりです。 最大で5〜6個の異なるASCII文字(カンマ、引用符、その他いくつか) 使用される2-4色 キャラクターのために 場合によってはキャラクターの背景について-最後の例は、パターンを作成するためのキャラクターをほとんどまたはまったく持たないカラーシェードの使用、つまりカラーモザイクの使用を示すためのものです。 現在VMにあるのはArch Linuxで、質問はディストリビューション固有のものではありませんが、ファイルをカスタマイズするためのドキュメントを調べました/etc/bash.bashrc。多くの説明がプロンプトの外観と一般的にすべての前景要素の構成に進むことがわかります。背景の設定に関する情報はほとんどありませんが、通常これらの設定やヒントなどの単色の場合を除きます。 # Background On_Black='\e[40m' # Black On_Red='\e[41m' # Red On_Green='\e[42m' # Green On_Yellow='\e[43m' # Yellow On_Blue='\e[44m' # Blue On_Purple='\e[45m' # Purple On_Cyan='\e[46m' # Cyan On_White='\e[47m' # White コンソールを使用するときに入力しなかった空/空白/背景の「スペース」、つまり「何でできているのか」を概念的に把握していません。いわば。特に、プロンプトに表示されず、エコーされるコマンドをラップするもの。アクティブな行で発生することに関してbash、「行指向」の方法で動作し、一部の操作がアクティブな行のクリアをトリガーすることを示すことができfor i in $(seq 1 $(expr $(tput lines) \* $(tput cols))); do …
23 bash  terminal  colors  tty 

5
「sed」インプレース変更を報告する方法
sedインプレースで文字列を置き換えるために使用する場合、(古いファイルと新しいファイルの差分に依存せずに)変更を報告する方法はありますか? たとえば、コマンドラインをどのように変更できますか find . -type f | xargs sed -i 's/abc/def/g' その場で行われた変更を見ることができますか?

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