Unix & Linux

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

4
OS Xのmktempの修正または代替
私は誰かが書いたbashスクリプトを見ていますmktemp: TEMP=`mktemp --directory` ただし、この行は私のマシンでは動作しません(OS X 10.6)。 この行を修正して、un-x * -like-platform互換になるようにしますか?編集:代替コマンドでも十分でしょう。

8
$ *と$ @の違いは何ですか?
次のコードを検討してください。 foo () { echo $* } bar () { echo $@ } foo 1 2 3 4 bar 1 2 3 4 以下を出力します: 1 2 3 4 1 2 3 4 私はKsh88を使用していますが、他の一般的なシェルにも興味があります。特定のシェルの特殊性を知っている場合は、言及してください。 SolarisのKshのマニュアルページで次のことがわかりました。 $ *と$ @の意味は、引用符で囲まれていない場合、またはパラメーター割り当て値またはファイル名として使用されている場合は同じです。ただし、コマンド引数として使用する場合、$ *は `` $ 1d $ 2d ... ''と同等です。dはIFS変数の最初の文字で、$ @は$ 1 $ 2 ...と同等です。 …
73 shell  quoting  ksh  arguments 

3
プロセスが親の環境を継承する場合、なぜエクスポートする必要があるのですか?
ここexportで、シェルでの目的は、シェルから開始されたサブプロセスで変数を使用可能にすることであることを読みました。 しかし、私はまた、読んだことが、こことここにいることを「プロセスがその親(それを開始したプロセス)から自分の環境を継承します。」 この場合、なぜ必要なのexportですか?私は何が欠けていますか? シェル変数はデフォルトで環境の一部ではありませんか?違いはなんですか?

12
ディスクへのデータ書き込みの遅延の背後にある哲学は何ですか?
Linuxでは、cpまたはなどのコマンドの実行が終了しddても、データがデバイスに書き込まれたことを意味しません。たとえば、を呼び出すsyncか、ドライブの「安全な取り外し」または「取り出し」機能を呼び出す必要があります。 そのようなアプローチの背後にある哲学は何ですか?データが一度に書き込まれないのはなぜですか?I / Oエラーが原因で書き込みが失敗する危険はありませんか?

4
/ dev / null /へのcronジョブを完全に消音するにはどうすればよいですか?
Ubuntuデスクトップとdebianサーバーには、毎分実行する必要があるスクリプト(私のスペースオンラインbrowsergameの分ティックを呼び出すスクリプト)があります。 問題は、debian派生ではcronが/var/log/syslog実行するたびにログを記録することです。私はそれが繰り返し実行されたメッセージを繰り返し見ることになります/var/log/syslog: Nov 11 16:50:01 eclabs /USR/SBIN/CRON[31636]: (root) CMD (/usr/bin/w3m -no-cookie http://www.spacetrace.org/secret_script.php > /dev/null 2>&1) プログラムの出力を抑制するために/dev/null、たとえば、プログラムからすべてのエラーおよび警告メッセージを隠すためにリダイレクトできることを知っています。このようにcrontabに行を作成できます。 * * * * * root /usr/local/sbin/mycommand.sh > /dev/null しかし、私はcronジョブを実行し、生成されたすべての出力またはエラーがNULLにパイプされることを確認したいので、syslogでメッセージを生成せず、電子メールを生成しません 編集: cronログを変更して、ここで提案されているような別のログにリダイレクトするソリューションがあります/etc/syslog.conf しかし、欠点は、すべてのcronjobのすべての出力がリダイレクトされることです。 どういうわけか、単一のcronjobを個別のログファイルにリダイレクトすることはできますか?できれば、cron.hourlyファイル自体の内部で構成可能です。

4
「次のパッケージは保存されていません」とはどういう意味ですか?
を実行するapt-get upgradeと、「次のパッケージは保存されました」というメッセージが表示されることがあります。例えば: $ sudo apt-get upgrade Reading package lists... Done Building dependency tree Reading state information... Done The following packages have been kept back: linux-headers-server linux-image-server linux-server 0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. これはどういう意味ですか?明らかに、パッケージは抑制され、インストールされていませんが、なぜですか? 次の質問は、これらの保存されたパッケージをどのようにアップグレードしますか?
72 apt  upgrade 

3
シェルスクリプトのPOSIX準拠をテストするにはどうすればよいですか?
POSIXはすべての大学の中で共通の標準に最も近いことを考えると、POSIXを排他的にサポートするシェルがあるかどうかを知りたいと思っています。最新のシェルのほとんどはPOSIXをサポートしています(そしてPOSIX準拠のスクリプトを問題なく実行します)が、非準拠の機能を指摘することはうまくいきません。 非準拠の機能に対してエラーをスローするような方法で、POSIXおよびPOSIXのみを実装するシェルはありますか? 編集ポータブルシェルスクリプトを書くための一般的なヒントを求めていないことを明確にしたい。コメントで言及された関連する質問は、すでにこれをカバーしています。この質問にbashは、--posixオプションがありますが、それが一部の初期化動作にしか影響しないことを発見したとき、私が探しているものではないことがわかりました。

7
Set and Shopt-なぜ2つなのか?
setそしてshopt、さまざまなオプションを制御両方のシェル組み込みコマンドです。どのコマンドによってどのオプションが設定されるか、どのオプションが設定/設定解除(set -o/+o、shopt -s/-u)するかをよく忘れます。どうやら同じことをしているように見える(そしてそうするために異なる引数を持っている)2つの異なるコマンドがあるのはなぜですか?どのオプションがどのコマンドに対応するかを覚える簡単な方法/ニーモニックはありますか?
72 bash  settings  shopt 

7
コマンドラインを使用して音量を変更する方法は?
プログラミングスクリプトを使用してボリュームを制御しようとしています。Fedora 15、Ubuntu Linuxで次のことを行うにはどうすればよいですか? ミュート/ミュート解除 ボリュームアップとボリュームダウン 注:Web USBマイク/スピーカーとアナログマイク/スピーカーを使用していることに注意してください。確実にすべてに適用したいです。

4
組み込みコマンドとそうでないコマンドの違いは何ですか?
組み込みコマンドと、名目上は同じことを実行できる別のコマンドの間に本質的な違いはありますか? 例えば。ビルトインは「特別な」治療を受けますか?...それらを実行するオーバーヘッドが少ないですか?..または単に「組み込み」だけです; あなたの車のダッシュボードのような? ...そして、これらの組み込みの決定的な(現在の)リストはありますか?

5
Vimの内部からルートになる
時々/etc、Vim を使用して設定ファイルの編集を開始しますが、Vimのsudo起動に使用することを忘れています。避けられない結果は、編集を終了した後、ファイルを保存する権限がないという恐ろしい通知に遭遇することです。 ほとんどの編集は十分に小さいので、Vimを終了し、rootとしてすべてをやり直します。もちろん、書き込み可能な場所に保存してからルートとしてコピーすることもできますが、それはやや面倒です。 しかしsudo、変更を破棄することなく、Vimの内部からrootになるか使用する簡単な方法があると確信しています。メソッドがsudoユーザー用に設定されていることに依存しない場合は、さらに良いでしょう。
72 vim  sudo  root 

3
ユーザー空間とカーネル空間の違いは何ですか?
カーネルがユーザープログラム、つまりシステムコールに代わって実行されているときに、カーネルスペースが使用されていますか?それとも、すべてのカーネルスレッド(スケジューラなど)のアドレススペースですか? それが最初のものである場合、それは通常のユーザープログラムが3GB以上のメモリを持つことができないことを意味します(分割が3GB + 1GBの場合)?また、その場合、カーネルはどのようにしてハイメモリを使用できますか?なぜなら、1GBのカーネルスペースが論理的にマッピングされるため、ハイメモリのページはどの仮想メモリアドレスにマップされるのですか?
72 linux  kernel  drivers 

6
外部SMTPサーバーを使用するようにシステムメールを設定できますか?
Linuxボックスにシステムメールを設定して、別のSMTPサーバー経由で送信することは可能ですか?認証を使用しても可能ですか?もしそうなら、どうすればいいですか? それが不明な場合は、例を挙げましょう。コマンドラインで次のように入力した場合: cat body.txt | mail -s "just a test" myfriend@hisdomain.com Gメールのような外部SMTPサーバー経由で送信することは可能ですか? 私は「コマンドラインからGmailからメールを送信する方法」ではなく、特定のSMTPサーバーまたはSMTPサーバー上の1つのアカウントを使用するようにシステム全体を設定するオプションを探しています(送信元アドレスを上書きする可能性があります) 。
72 linux  smtp  email 


9
UbuntuでPython3のデフォルトバージョンを変更する
Ubuntu 16.04 LTSを使用しています。私がしているpython3インストールされています。2つのバージョンがインストールされpython 3.4.3ていpython 3.6ます。python3コマンドを使用するたびにpython 3.4.3、デフォルトでそれがかかります。で使用python 3.6したいpython3。 python3 --version ショー version 3.4.3 をansibleサポートするをインストールしていますversion > 3.5。したがって、端末でansibleと入力するたびに、次の理由でエラーがスローされます。python 3.4
72 ubuntu  python  python3 

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