Unix & Linux

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

1
コマンドラインmv除外リスト
する方法があるmv、cpまたは私はすべてのファイルを指定することができるような任意のファイル操作していない影響を受けたいの? 例えば、私は、ファイルとフォルダを持っていると言うfile1、file2とfile3、と私は移動するfile1とfile2どこか。移動するファイルに明示的に名前を付けるのではなく(mv file1 file2 /path/to/destination)、移動しないファイルに名前を付けて、フォルダー内の他のすべてのファイルを移動させます(mv --some-switch file3 /path/to/destination)

1
ループバックインターフェイスとは
ループバックインターフェイスとは何ですか、それはeth0インターフェイスとどのように異なりますか? そして、ISOをマウントしたり、localhostでサービスを実行したりするときに、なぜそれを使用する必要があるのですか?

3
SSH経由のリモートforループ
スクリプトに次のものがあります for server in ${servers[@]}; do echo ${server} ssh user@${server} "for i in /tmp/foo* ; do echo ${i}; done" done しかし、それは機能しません。奇妙なことに、$ Iの改行が表示されます。したがって、10個のファイルがある場合、10行の空白行が表示されます。
11 bash  ssh  quoting 

2
マシンでKDEとGnomeを使用できますか?
起動時に、KDEとGnomeのどちらを使用するかを指定できるように、KDEとGnomeをマシンに(Fedoraを使用して)インストールできますか? 再起動せずに2つを切り替えることができればさらに良いでしょう。可能だと思います。これどうやってするの?
11 gnome  kde 

4
アルパインで新着メール通知をカスタマイズするにはどうすればよいですか?
私は主なメールリーダーとしてalpineを使用しています。私は一日のほとんどをターミナルまたはEmacsで過ごしていますが、notify-binを使用して新着メールのかなりの通知を受け取るのは素晴らしいことです。新しいメールを受信したときにカスタムコマンドを実行するようにアルパインを構成する方法はありますか?

5
UbuntuからopenSuseに切り替えるとどうなりますか[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 おそらくほとんどの人がUbuntuを長年使っているようです。私はエキスパートではありませんが、Ubuntuに落ち着くまで、さまざまなディストリビューションを使用しています。 私はSuSE 5.x、Conectiva(後でMandrivaになったようです)、RedHat、Mac OS X(そうですね、Linuxではありません)とUbuntuを使用しており、Ubuntuは過去2年間でほとんどVMとして実行されていました。 しかし、SUSEがSUSE Studioをリリースして以来、私はSUSE Studioに切り替えたくなりました。インストールをクラウドに保存し、システムをダウンロードしてすぐに使用するのは、あまりにも便利です。 これが私の質問です。スイッチから何を期待するか。SUSEがパッケージマネージャーとしてRPMを使用していることは知っています。Ubuntuと比較してリポジトリが完全であるかはわかりません。 VMでopenSUSEを試してみると、sudoコマンドも見逃してしまいましたが、私の設定が少なかったに違いありません。 それで、他に何が違うのでしょうか?私のLinuxの主な用途は、デスクトップと、JavaとRubyのプログラミングです。

5
なぜこのネットワーク接続はとても遅いのですか?
Ubuntu 9.10を実行しているLinuxサーバーのネットワークパフォーマンス速度に問題があります。すべてのタイプのトラフィックの転送速度は、1000 Mbpsの有線イーサネット接続で約1.5 MB /秒です。このサーバーは最近、sambaを介して55MB / sを達成しています。ハードウェアやネットワークの設定は変更していません。私は定期的に更新を実行しており、Ubuntuのリポジトリからの最新かつ最高のものがこのマシンで実行されています。 ハードウェアのセットアップ デスクトップWindows PC-1000スイッチ-1000スイッチ-Linuxサーバー すべてのスイッチはネットギアであり、接続はすべて1000mbit / sであることを意味する緑色のライトで示されます。接続がわずか100 Mbpsの場合、ライトは黄色になります。その他の診断情報: root@server:~# ifconfig eth0 Link encap:Ethernet HWaddr 00:0c:6e:3e:ae:36 inet addr:192.168.1.30 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::20c:6eff:fe3e:ae36/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:28678 errors:0 dropped:0 overruns:0 frame:0 TX packets:73531 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX …

1
「キャッシュされた」メモリは事実上無料ですか?
を実行cat /proc/meminfoすると、上部に次の3つの値が表示されます。 MemTotal: 6291456 kB MemFree: 4038976 kB Cached: 1477948 kB 私の知る限り、「キャッシュ」の値はLinuxシステムによって作成されたディスクキャッシュであり、アプリケーションがより多くのRAMを必要とするとすぐに解放されるため、MemFreeとCachedの両方がゼロになるまでLinuxがメモリ不足になることはありません。 残念ながら、 "MemAvailable"は/ proc / meminfoによって報告されません。これは、おそらく仮想サーバーで実行されているためです。(カーネルバージョンは4.4) したがって、すべての実用的な目的のために、アプリケーションで使用可能なRAMはMemFree + Cachedです。 その見方は正しいですか?
11 linux  memory  cache  meminfo 

2
pwdが--physicalのような長いオプションを受け入れないのはなぜですか?
pwdコマンドのマニュアルを表示すると、などの長いオプション--physicalがサポートされていると表示されます $ man pwd PWD(1) User Commands PWD(1) NAME pwd - print name of current/working directory SYNOPSIS pwd [OPTION]... DESCRIPTION Print the full filename of the current working directory. -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks ただし、次のように入力すると失敗します $ pwd --physical -bash: …
11 bash  rhel  pwd 

1
コマンドとそのオプションへの引数として中括弧{}の使用
例 私は最近{}、開始括弧と終了括弧の間に何もない、括弧のペアをコマンドの引数として、さらにはオプションの引数として使用する例を見つけました。 cat foo | xargs -I{} echo {} find . -size 0 -exec rm -i {} \; ドキュメントなし 私の問題は、上記の例のようなコンテキストでのの使用法を説明するドキュメントがGNU Bashマニュアルに見つからないこと{}です。 のようにパラメータ展開では、括弧が括弧で囲まれている必要があるため、これはパラメータ展開ではないと思います${}。 これはブレース展開にすることもできません。なぜなら、それは{x..y[..incr]}、where の形式をとっており、オプションxでyはないからです。 また、は引数として使用されるため、コマンドグループにすることもできません{}。 ご質問 括弧で囲まれたペアは、{}それを受け入れるコマンドの引数として、一般的にどういう意味ですか? {}引数の使用法を説明したドキュメントはどこにありますか?
11 bash  shell 

1
manページ内のハイフンを含むパターンを検索する方法は?
すべてのmanページ内のハイフンを含むパターンを検索するコマンドを見つけようとしています。 私はを見てman man、これらの3つのオプションを見つけました: -K、 --global-apropos すべてのマニュアルページでテキストを検索します。これはブルートフォース検索であり、時間がかかる可能性があります。可能であれば、セクションを指定して、検索する必要があるページの数を減らす必要があります。検索語は、単純な文字列(デフォルト)、または--regexオプションが使用されている場合は正規表現です。 -w、--where、--path、--location マニュアルページを実際に表示するのではなく、フォーマットされるソースnroffファイルの場所を印刷します。 -S list、-s list、t--sections=list リストは、検索する注文固有の手動セクションのコロンまたはコンマ区切りのリストです。このオプションは$MANSECT環境変数を上書きします。(-sスペルはSystem Vとの互換性のためです。) 私はそれらを組み合わせて、でmark-modified-lines説明されているreadlineオプションであるパターンを検索しようとしましたman bash: $ man -s1 -Kw mark-modified-lines しかし、ページは見つかりません。 No manual entry for mark-modified-lines そして、コマンドはコードで終了します16。 コマンドの構文が間違っている可能性があると思いましたが、このコマンドは次の単語を含むシステム上の5つのmanページを正しく検出するため、そうではありませんguitar。 $ man -s1 -Kw guitar /usr/share/man/man1/ffmpeg-all.1.gz /usr/share/man/man1/ffserver-all.1.gz /usr/share/man/man1/ffplay-all.1.gz /usr/share/man/man1/ffmpeg-filters.1.gz /usr/share/man/man1/ffprobe-all.1.gz 多分単語のハイフンが問題を引き起こしたと思いました。でman bash、--regex次のようなオプションが見つかりました。 --regex のように、名前または説明のいずれかの部分が各ページ引数に一致するすべてのページを正規表現として表示しapropos(1)ます。通常、正規表現を検索するときに「最適な」ページを選択する合理的な方法がないため、このオプションはを意味し-aます。 このオプションを使用して、単語mark-modified-linesを正規表現に置き換えようとしましmark.modified.linesた。ハイフン自体は、.任意の文字と一致するメタ文字に置き換えられます。 $ man -s1 -Kw --regex 'mark.modified.lines' それでもページは印刷されませんが、テキストがbashmanページに書かれていることは知っています。 …
11 man 

2
子プロセスが作成直後にexec()またはexit()を呼び出すときにvfork()が使用されるのはなぜですか?
オペレーティングシステムの概念とAPUEは言う vfork()を使用すると、親プロセスは一時停止され、子プロセスは親のアドレス空間を使用します。vfork()はコピーオンライトを使用しないため、子プロセスが親のアドレススペースのページを変更した場合、再開すると、変更されたページが親に表示されます。したがって、vfork()は、子プロセスが親のアドレス空間を変更しないように注意して使用する必要があります。 vfork()は、子プロセスが作成直後にexec()またはexit()を呼び出すときに使用することを目的としています。 最後の文をどのように理解できますか? vfork()呼び出しによって作成された子プロセスの場合、新しいプログラムをロードすることにより、親プロセスのアドレス空間を変更exec()しませんexec()か? vfork()呼び出しによって作成された子プロセスが、子を終了するときに親プロセスのアドレス空間を変更exit()しませ exit()んか? 私はLinuxを優先します。 ありがとう。
11 linux  process  exec  exit  vfork 

2
fs:[0x28](スタックカナリア)を設定するものは何ですか?
この投稿からFS:[0x28]、スタックカナリアであることが示されています。この関数でGCCを使用して同じコードを生成しています。 void foo () { char a[500] = {}; printf("%s", a); } 具体的には、このアセンブリを取得しています。 0x000006b5 64488b042528. mov rax, qword fs:[0x28] ; [0x28:8]=0x1978 ; '(' ; "x\x19" 0x000006be 488945f8 mov qword [local_8h], rax ...stuff... 0x00000700 488b45f8 mov rax, qword [local_8h] 0x00000704 644833042528. xor rax, qword fs:[0x28] 0x0000070d 7405 je 0x714 0x0000070f e85cfeffff …
11 linux  security  gcc  stack 


2
posixシェル:環境変数名のリストを出力します(値なし)
複数の実装で機能するposix互換の方法で、現在定義されている環境変数のリストをそれらの値なしで出力するにはどうすればよいですか? 一部の実装(mksh、freebsd / bin / sh)では、export単独で使用するだけで十分です。 $ export FOO2 FOO ただし、他の一部の実装(bash、zsh、dash)ではexport、値も表示されます。たとえば、bashの場合: $ export export FOO2='as df\ asdk=fja:\ asd=fa\ asdf' export FOO='sjfkasjfd kjasdf:\ asdkj=fkajdsf:\ :askjfkajsf=asdfkj:\ safdkj' $ printenv | sed -n l FOO2=as\tdf\$ asdk=fja:\$ asd=fa\$ asdf$ FOO=sjfkasjfd kjasdf:\$ asdkj=fkajdsf:\$ \t:askjfkajsf=asdfkj:\$ safdkj$ 他のオプションのような、envまたはprintenv値のない変数名のみを出力するオプションはありません。少なくとも、私が試したlinuxおよびfreebsdプラットフォームではそうではありません。 awk / sed / etcへのパイピング。または、パラメーター展開手法(例:)を使用してリストをトリミングする${foo%%=*}こともできますが、行をまたがる可能性が=あり、値に空白が含まれる可能性がある値を処理する必要があります(上記の例を参照)。 特定のシェル実装に固有の回答は興味深いですが、私は主に実装間で互換性のあるものを探しています。

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