Unix & Linux

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

3
ファイル記述子のコピーなしでstdoutとstderrを同じファイルにリダイレクトするのは安全ですか?
空のディレクトリから始めます。 $ touch aFile $ ls aFile 次にls、2つの引数があり、そのうちの1つはこのディレクトリにありません。両方の出力ストリームをという名前のファイルにリダイレクトしますoutput。私が使う>>同時に書くことを避けるためします。 $ ls aFile not_exist >>output 2>>output $ cat output ls: cannot access 'not_exist': No such file or directory aFile うまくいくようです。このアプローチには危険がありますか?

3
Linux:カーネルスペースのスレッド/プロセスのみを表示できますか?
プログラムには、ユーザー空間とカーネル空間の2つの「レベル」があることを知っています。 私の質問は次のとおりです。カーネルプログラムのみを表示したい、またはもっと良いのはカーネルスペースのプログラムを表示したいです このアプローチは正しいですか? ps -ef|grep "\[" root 1 0 0 20:23 ? 00:00:00 init [4] root 2 0 0 20:23 ? 00:00:00 [kthreadd] root 3 2 0 20:23 ? 00:00:00 [ksoftirqd/0] root 5 2 0 20:23 ? 00:00:00 [kworker/0:0H] root 7 2 0 20:23 ? 00:00:06 [rcu_sched] root 8 2 …

2
なぜ `/ lib`と` / lib64`があり、 `/ bin`しかありませんか?
私のラップトップで: $ cat /etc/issue Ubuntu 18.04 LTS \n \l ライブラリには2つの別々のフォルダがありますx86とはx86_64: ~$ ls -1 / bin lib lib64 sbin ... バイナリにはディレクトリが1つしか存在しないのはなぜですか? PS私もAndroidに興味がありますが、その答えが同じであることを願っています。

3
nanoをインストールせずに、「nano not found」警告を取り除く方法は?
Debian Stretch(9.3)をインストールしました。Vimをインストールし、Nanoを削除しました。Vimがデフォルトのエディターとして選択されています。 実行するたびcrontab -eに、次の警告が表示されます。 root@franklin:~# crontab -e no crontab for root - using an empty one /usr/bin/sensible-editor: 25: /usr/bin/sensible-editor: /bin/nano: not found /usr/bin/sensible-editor: 28: /usr/bin/sensible-editor: nano: not found /usr/bin/sensible-editor: 31: /usr/bin/sensible-editor: nano-tiny: not found No modification made sensible-utilsパッケージを再構成しようとしましたが、入力は行われません(何をしても成功していることを示しています)が、警告は引き続き表示されます。 root@franklin:~# dpkg-reconfigure sensible-utils root@franklin:~# これらの警告は私が何もすることを妨げるものではありませんが、私はそれらを非常に迷惑に感じます。どうすればそれらを取り除くことができますか?
27 debian  vim  nano 

1
端末をrawモードに設定すると、予期しないインデント動作が発生します。これはなぜですか?
私が読んだ内容に基づいて、端末がrawモードの場合、文字は端末ドライバーによって処理されず、そのまま送信されます。 コマンドを使用して端末をrawモードに設定しましたが、stty rawスペースがなくなるまで毎回出力が右にインデントされることに気付きました。これは私が意味するものです: なぜこの動作が起こっているのですか?!
27 linux  shell  terminal 

3
「while:;」とはどういう意味ですか?
whileループとは何かを知っています。しかし、私はそれが動作するのを見ました: while [condition] while ![condition] while TRUE (infinite loop) 声明は、後にどこwhileのいずれかである必要がありますTRUEかFALSE。 という名前のシェル組み込みコマンドがあり:ます。それは、何もしないダミーのコマンドとして記述されているが、それはここでは同じである場合、私はそれができたとしても、知りませんTRUEかFALSE。何か違うかもしれませんが、何ですか?

1
Chromiumが1分以上DNSをキャッシュしないのはなぜですか?
Chromiumを使用していますが、DNSがキャッシュされないという問題があります。example.comドメインを取得します。DNS設定によると、このドメインはさらに26151秒間キャッシュされるはずです。 $ dig example.com ;; ANSWER SECTION: example.com. 26151 IN A 93.184.216.34 ただし、example.comをChromiumで開いてchrome:// net-internals /#dnsを開くと、IPは1分以内に忘れられます。 ChromiumがドメインのDNS設定のTTLに準拠していないのはなぜですか?有効期限が切れるまでDNSデータをキャッシュさせるにはどうすればよいですか?
27 dns  chrome  cache 

1
ターミナルでCtrl-sを永久に無効にする方法は?
ここで私は無効にすることを理解Ctrl+ コマンドを使用することができ、それが動作しますが、できるだけ早く私は、端末を閉じて、私が持っている別の開いてコマンドを再入力してください。 Sstty -ixon 永続的に無効にするCtrl+ コマンドを含むSを作成し、atで実行しますが、機能しません。 startup.shstty -ixoncrontab@reboot それでは、永続的にCtrl+を無効にする解決策は何でしょうSか?

4
シェルからライブラリコマンドを実行する方法
文字列の長さ(ハッシュ値)を単純に計算したかったのです。だから、私はターミナルを開いてこれをしました: $ apropos length それは、それらの末尾に追加(3)または(3ssl)追加されたコマンド/関数の束で私を返しました。さて、man manはこれらのsection numbers意味についての情報を提供してくれます。 3 Library calls (functions within program libraries) 好奇心から、これらのすべてのコマンドを試してみました(少なくとも1つが機能することを願って) strcspn (3) - get length of a prefix substring strlen (3) - calculate the length of a string strnlen (3) - determine the length of a fixed-size string strspn (3) - get length of a …
27 shell  libraries 

2
文字列が左括弧の場合のシェルブラケットテストのエラー
シェルが文字列を解析するのを避けるために、文字列を引用することは常に良い習慣であるという事実に自信を持っていました。 それから私はこれに出くわしました: $ x='(' $ [ "$x" = '1' -a "$y" = '1' ] bash: [: `)' expected, found 1 同じエラーを取得して、問題を特定しようとしています: $ [ '(' = '1' -a '1' = '1' ] bash: [: `)' expected, found 1 私はこのような問題を解決しました: [ "$x" = '1' ] && [ "$y" = '1' ] それでも、ここで何が起こっているのかを知る必要があります。
27 shell  test 

3
`:w!sudo tee%`の仕組み
vimに書き込む権限のないファイルを開いてから、変更する必要があると判断した場合、vimを終了せずに変更を書き込むことができます:w !sudo tee % 。これを解剖してください。 私はその:w部分を理解しています、それは現在のバッファをディスクに書き込みます、すでにそれに関連付けられたファイル名があると仮定しますよね? また!、sudo teeコマンドを実行し%、現在のバッファの内容を表すものを理解していますか? しかし、これがどのように機能するかまだ理解していない。
27 vim  sudo  tee 

4
if elseステートメントがlogicalおよび&&または||と同等 そして、どこよりもどちらを好むべきですか?
私は意思決定構造について学んでおり、これらのコードに出会いました: if [ -f ./myfile ] then cat ./myfile else cat /home/user/myfile fi [ -f ./myfile ] && cat ./myfile || cat /home/user/myfile 両方とも同じように動作します。ある方法を他の方法から使用する利点はありますか?

1
「#!」の「-」/ bin / sh-” shebang?
#!/ bin / sh- によって解釈されるスクリプトを使用することが推奨されるシバンです(または少なくともそうでした)/bin/sh。 なぜだけでは#! /bin/shないの#!/bin/shですか? それは何の-ためですか?

2
「ls」と「echo $(ls)」の違い
2つのシェルサンプルを検討します。 $ ls myDoc.html SomeDirectory someDoc.txt そして $ echo $(ls) myDoc.html SomeDirectory someDoc.txt ls私が理解しているように、現在の作業ディレクトリの内容をstdoutファイルに追加する最初の実行(ターミナルが表示するものです)。これは正しいです? 2番目は、lsコマンドの値(つまり、現在の作業ディレクトリの内容)を取得し、stdoutファイルに出力します。これは正しいです? 2つのコマンドが異なる出力を与えるのはなぜですか?
27 shell 


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