Unix & Linux

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

2
fork爆弾のfork()はどこにありますか:(){:|:&};:?
警告:ほとんどのシェルでこのコマンドを実行すると、システムが破損し、修正するには強制シャットダウンが必要になります。 再帰関数:(){ :|: & };:とその機能を理解しています。しかし、フォークシステムコールがどこにあるのかわかりません。よくわかりませんが、パイプの中で疑ってい|ます。

5
systemd Arch LinuxでSyslogメッセージを受信する
当たり前のことを見落としているように感じますが、リモートシステムからメッセージsystemdを受信して​​ログに記録するためにを使用するArch Linuxサーバーを取得する方法がわかりませんsyslog。 Cisco 678 DSLモデムとDD-WRT WAPがあり、syslog形式のメッセージを他のマシンに送信するように両方を構成できます。そのマシンをArch Linuxサーバーにしたいのですが。 私はあちこち探してみましたが、「systemdがsyslogに置き換わる」、またはもう実行する必要がsyslogないか、質問と同様に無関係なものを見つけただけです。 更新 Archフォーラムで質問したところ、関連する回答はありませんでした。UDPポート514でリッスンするためだけにsyslog-ngをインストールしました。syslog-ngはCisco 678からのメッセージと、持っているDD-WRT WAPを書き込みます。残念ながら、メッセージはsystemdのジャーナルではなく、フラットファイルに保存されます。したがって、正確な解決策はありませんが、回避策があります。むしろ、フラットファイルではなく、ジャーナルにsyslogメッセージが必要です。

2
gnome-terminal、tmux、vimでソラリゼーションカラースキームを機能させるにはどうすればよいですか?
これについては多くの質問がありますが、それは非常に多くの変数があるためです。これが機能する前に、多くのサイトから指示をつなぎ合わせる必要がありました。 まず、gnome-terminalで16個のソラライズされた色の定義を簡単に設定できませんでした(順序/マッピングが正しくないことを理解するためだけに、手動/クリックでそれを行いました)。私が先に進んだことを修正したら... それから、vim OK-ishで機能するソラリゼーションカラーを使用しましたが、特定のハイライト表示に奇妙な黒い背景が表示されました。それを修正したら、次に進みました... それから、tmux内で実行するとvimがv。winkyになったことに気付きました。これは大いに議論されていますが、答えはほとんどありません(ほとんどがに設定TERMすることを言っていますxterm-256colors)。私も最終的にそれを修正しました。 ソラライズドは非常に素晴らしいパレットです(ただし、最も高いコントラストを好むため、最も暗いベース色を暗くし、最も明るくしましたが、キャリブレーションされた画面でtmuxの「白」がはるかに黄色すぎることがわかりました-典型的な未キャリブレーションのラップトップ画面では問題ありません」たいてい青すぎます!)、この質問とその答えを投稿して、学習結果を共有しています。

2
Bashスクリプト-戻り値が0になるまでループする
スクリプトで何かをアンマウントする必要がありますが、すべてのデータのコピーが完了してアンマウントが失敗する前にアンマウントされることがあります。「ブロッキング」マウントを行う方法を探しましたが、何も見つかりませんでした。そのため、アンマウントできるようになるまでループするスクリプトを作成しようとしましたが、機能しません。 while [ `sudo umount mount` ] do sleep 0.1 done rmdir mount 実行出力の場合: umount: /home/evantandersen/mount: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1)) rmdir: failed to remove `mount': Device or resource busy の戻り値sudo umount mountが0になるまでループしないでください。つまり、正常にアンマウントされました。

2
CentOの「www-data」に相当するものは何ですか?
CentOsはwww-dataを認識しませんが、ファイルフォルダーの所有権を変更したいです。現時点では、すべてのフォルダはルートによって所有されています。apacheが所有すべきものと、rootユーザーである私が所有するものに関して混乱していますか?また、root rootと言うとき、それはrootユーザーmeとグループApache rootを意味しますか
25 chown 

10
EOFで複数の改行を削除する方法は?
1つ以上の改行で終わるファイルがあり、1つの改行のみで終わる必要があります。Bash / Unix / GNUツールを使用してこれを行うにはどうすればよいですか? 不良ファイルの例: 1\n \n 2\n \n \n 3\n \n \n \n 修正されたファイルの例: 1\n \n 2\n \n \n 3\n 言い換えると、EOFとファイルの最後の非改行文字との間に改行が1つだけあるはずです。 参照実装 ファイルの内容を読み取り、最後にさらに2つの改行がなくなるまで1つの改行を切り取り、書き戻します。 #! /bin/python import sys with open(sys.argv[1]) as infile: lines = infile.read() while lines.endswith("\n\n"): lines = lines[:-1] with open(sys.argv[2], 'w') as outfile: for line in lines: …
25 bash  sed  awk  ed 

8
sedは「二重」改行文字を削除できますか?
空の行が多いドキュメントがあります。 一緒に2つ以上ある場合、どうすれば削除できますか。 sed "s/\n\n//"ファイルを試しましたが、うまくいきませんでした。エラーなし。
25 sed 


7
Emacsでカーソルの下の現在の単語を置き換える方法
Emacsでカーソルの下の現在の単語を置き換えるにはどうすればよいですか? 私はquery-replaceまたはreplace-stringを使用できることを知っていますが、そのたびに置換する文字列全体を入力する必要があり、これは単に迷惑です。 Viには同等のコマンドcwordがあり、ショートカットを使用してカーソルの下の単語をプルして置換できます。 nmap <leader>z :%s#\<<C-r>=expand("<cword>")<CR>\># 誰もがEmacsでそれを行う方法を知っていますか?
25 emacs  search  replace 

6
拡張子の前にファイル名にテキストを追加する
ファイル名の最後に、拡張子の前にテキストを追加したいと思います。今、私はしようとしています、 for f in *.shp; do echo $f_poly; done 出力は、 Quercus_acutifolia.shp_poly Quercus_agrifolia.shp_poly Quercus_corrugata.shp_poly Quercus_cortesii.shp_poly Quercus_costaricensis.shp_poly Quercus_havardii.shp_poly Quercus_hemisphaerica.shp_poly Quercus_kelloggii.shp_poly Quercus_knoblochii.shp_poly Quercus_laceyi.shp_poly なりたい Quercus_acutifolia_poly.shp Quercus_agrifolia_poly.shp Quercus_corrugata_poly.shp Quercus_cortesii_poly.shp Quercus_costaricensis_poly.shp Quercus_havardii_poly.shp Quercus_hemisphaerica_poly.shp Quercus_kelloggii_poly.shp Quercus_knoblochii_poly.shp Quercus_laceyi_poly.shp
25 bash  rename  filenames 

5
Linuxカーネルパニックの原因の特定
Ubuntu 12.04派生(amd64)を実行していますが、最近非常に奇妙な問題を抱えています。一見、一見Xが完全にフリーズし(1〜3分?)、システムが再起動します。このシステムはオーバークロックされていますが、Windowsで確認されているように非常に安定しているため、カーネルパニックまたはモジュールの1つに問題があると思われます。Linuxでも、LINPACKを実行でき、CPUにばかげた負荷がかかってもクラッシュすることはありません。クラッシュは、マシンがアイドル状態であっても、ランダムに発生するようです。 システムのクラッシュをデバッグするにはどうすればよいですか? それがプロプライエタリのNVIDIAドライバーであるかもしれないと思うと、私はドライバーの安定したバージョンであるバージョン304にまで戻りましたが、それでもクラッシュを経験します。 クラッシュ後の良いデバッグ手順を誰かが教えてもらえますか?サムドライブから起動して、クラッシュ後のすべての構成ファイルを投稿できればうれしいです。どうなるかわかりません。システムがクラッシュする原因を調べるにはどうすればよいですか? ここに、ログの束、通常の犯人があります。 .xsession-errors:http : //pastebin.com/EEDtVkVm /var/log/Xorg.0.log:http://pastebin.com/ftsG5VAn /var/log/kern.log:http://pastebin.com/Hsy7jcHZ / var / log / syslog:http : //pastebin.com/9Fkp3FMz クラッシュの記録さえまったく見つけられないようです。 クラッシュのトリガーはそれほど単純ではなく、GPUが一度に複数のものを描画しようとしているときに発生するようです。YouTubeビデオを全画面表示にしてしばらく繰り返し表示したり、大量のGIFをスクロールしてSkype通知がポップアップしたりすると、クラッシュすることがあります。これで頭をひっかきました。 CPUは4.8GHzにオーバークロックされますが、完全に安定しており、昨日1回クラッシュすることなく、巨大なLINPACKの実行と9時間のPrime95に耐えました。 更新 私がインストールされてきたkdump、crashとlinux-crashdumpだけでなく、私のカーネルバージョン3.2.0-35のカーネルデバッグシンボル。apport-unpackクラッシュしたカーネルファイルを実行してcrashからVmCoreクラッシュダンプを実行すると、次のように表示されます。 KERNEL: /usr/lib/debug/boot/vmlinux-3.2.0-35-generic DUMPFILE: Downloads/crash/VmCore CPUS: 8 DATE: Thu Jan 10 16:05:55 2013 UPTIME: 00:26:04 LOAD AVERAGE: 2.20, 0.84, 0.49 TASKS: 614 NODENAME: mightymoose RELEASE: 3.2.0-35-generic VERSION: …

5
Javaプログラムをトレースする方法は?
システム管理者として、私は時々、プログラムが異常に動作する状況に直面しますが、エラーをまったく作成しないか、意味のないエラーメッセージを作成します。 過去-javaが登場する前に-2つの対策がありました。 他に何も助けなければ-RTFM ;-) 1でも解決しない場合-システムコールをトレースし、何が起こっているかを確認します 私は通常strace -f、Linuxでこのタスクに使用します(他のOSには同様のトレースツールがあります)。現在、これは通常、昔ながらのプログラムではうまく機能しますが、javaプロセスで同じことをするとトレースは非常に曖昧になります。実際のアクションとは無関係に見えるシステムコールが非常に多いため、このようなダンプを検索するのは恐ろしいことです。 それを行うためのより良い方法はありますか(ソースコードが利用できない場合)?
25 linux  java  trace 

1
vimがコマンド履歴を保持しない原因は何ですか?
私が実行した他のディストリビューションでは、vimはセッション間でもコマンド履歴を記憶しています。これは、異なるファイルに対して同様の操作を多数行う場合に特に便利です。 何らかの理由で、Ubuntu 12.04でフラッシュされており、その理由がわかりません。ここに私の:set情報があります: :set --- Options --- background=dark helplang=en history=1000 nomodeline scroll=27 showmatch ttyfast expandtab hidden incsearch ruler showcmd softtabstop=4 ttymouse=xterm2 backspace=indent,eol,start fileencoding=utf-8 fileencodings=ucs-bom,utf-8,default,latin1 printoptions=paper:letter runtimepath=~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles,/usr/share/vim/vim73,/usr/share/vim/vimfiles/after,/var/lib/vim/addons/after,~/.vim/after suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc

4
エコーを使用した色付きテキストの印刷
エコー、たとえば赤色を使用して色付きのテキストを印刷する場合、コードは次のecho -e "\e[1;31m This is red text \e[0m" とおりです。この例では、31が赤色のコードであり、他の色の数が次のとおりであることを知っています。 Black 0;30 Dark Gray 1;30 Blue 0;34 Light Blue 1;34 Green 0;32 Light Green 1;32 Cyan 0;36 Light Cyan 1;36 Red 0;31 Light Red 1;31 Purple 0;35 Light Purple 1;35 Brown 0;33 Yellow 1;33 Light Gray 0;37 White 1;37 背景色の場合、numは40〜47です。 何をん:私の質問はこれです\eと[し、m(31の後に)正確にここに意味ですか?\ …

4
find -exec呼び出しでのユーザー定義関数の実行
私はSolaris 10を使用していますが、ksh(88)、bash(3.00)、およびzsh(4.2.1)で以下をテストしました。 次のコードは結果を生成しません。 function foo { echo "Hello World" } find somedir -exec foo \; (交換することによって示されるように検索には、いくつかのファイルが一致しない-exec ...と-print)、およびから外部に呼び出されたときに機能が完璧に動作findコール。 man findページの内容は-exec次のとおりです。 -exec command実行されたコマンドが 終了ステータスとしてゼロ値。の終わり コマンドはエスケープされた セミコロン(;)。コマンド引数{}は 現在のパス名に置き換えられます。もし -execの最後の引数は{}であり、あなたは セミコロン(;)ではなく+を指定します。 コマンドの呼び出し回数が少ない {}はパス名のグループに置き換えられました。もし コマンドを呼び出すと、 終了ステータスとしてゼロ以外の値、検索 ゼロ以外の終了ステータスを返します。 私はおそらくこのようなことをして逃げることができます: for f in $(find somedir); do foo done しかし、私はフィールドセパレーターの問題に対処することを恐れています。 呼び出しからシェル関数(同じスクリプトで定義され、スコープの問題に煩わされないようにする)をfind ... -exec ...呼び出すことは可能ですか? 私は両方でそれを試してみました/usr/bin/findし、/bin/findそして同じ結果を得ました。

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