Unix & Linux

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

2
sed-複数のファイルに変更を適用
「</foo:bar>」を含む何百ものファイルがあります cc bb aa </foo:bar> dd xx vv 一度に全部変えたい cc bb aa </foo:bar> 正確なファイル名を指定すると、sedはうまく機能します sed -i "/ </ foo:bar> / q" 99999.txt しかし、一度にすべてを変更しようとすると、結果が得られません。 sed -i "/<\/foo:bar>/q" *.txt

4
DebianでGnomeログイン画面をカスタマイズする方法
私は先週最初にDebianを使用しており、いくつかのデスクトップオプションをgnome-tweak-toolsで構成することができましたが、ログイン画面をカスタマイズしようとして立ち往生しています。 私が行った調査の間に、Ubuntu、Linux Mint、またはArch Linuxでこれを行うことについて多くの情報を見つけましたが、「Debianの方法」についての情報はあまりありませんでした。 Gnomeはログイン画面にDebian-gdmユーザーの構成を使用していると思いますが、実際に変更する方法がわかりません。他のユーザーと同様に、gnome-tweak-toolsを使用して変更しようとしましたが、 「/etc/gdm3/greeter.dconf-defaults」ファイル構成も編集してみました。「picture-uri」行に、背景として必要なファイルへのパスを追加します。「picture-options_'none '」も何もしないようです。 それをカスタマイズする最も簡単な方法はどれですか? 私はgnome-shellバージョン3.14.4とdebianバージョン8.6を使用しています
11 debian  gnome 

1
update-command-not-foundが機能しない
私はDebianテストを実行しておりcommand-not-found、Ubuntuのその機能が大好きなので、パッケージをインストールしました。それをインストールして、ターミナルを再起動すると、利用可能なパッケージのキャッシュを更新する必要があると言われました。だから私はしました。私は次のコマンドを試しました: sudo update-command-not-found sudo /usr/sbin/command-not-found su and update-command-not-found su and /usr/sbin/update-command-not-found しかし、それは単に終了して何もしません。出力なし。何もない。試してみると、キャッシュをもう一度更新する必要があると表示されます。

1
NCがファイルの転送をいつ完了したかを知る方法
netcatがマシン間でファイルの転送をいつ完了したかを知る方法はありますか? 現在のコマンド: マシン#2: nc -lp 5555 > test.txt マシン#1: nc MachineIP Port < test.txt 転送は行われますが、転送が完了したことを示す視覚的な兆候はありません。
11 netcat 

3
特定の文字列で始まる列を出力する
次のようなファイルがあります。 ID101 G T freq=.5 nonetype ANC=.1 addinfor ID102 A T freq=.3 ANC=.01 addinfor ID102 A T freq=.01 type=1 ALT=0.022 ANC=.02 addinfor ご覧のように、各行にはわずかに異なる数の列があります。具体的には、列1、列2、列3、列4、および次で始まる列が必要です。ANC= 望ましい出力: ID101 G T freq=.5 ANC=.1 ID102 A T freq=.3 ANC=.01 ID102 A T freq=.01 ANC=.02 私は通常、awkコマンドを使用してファイルを解析します。 awk 'BEGIN {OFS = "\t"} {print $1, $2, $3, $4}' …

1
Centosがyumをdnfに置き換えるのはいつですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 閉じた3年前。 DnfはすでにRhel / centosのテストベッドであるfedoraにありますが、centos 7がまだyumを使用しているのはなぜですか?
11 linux  centos  dnf 

2
スーパーユーザーは読み取り専用ファイルに書き込むことができますか?
FreeBSDでの(私にとっての)驚くべき許可動作に遭遇しました。root以外のユーザーとして操作しているとしましょう。ファイルを作成し、そのアクセス許可を読み取り専用に設定してから、書き込みを試みます。 $ touch f $ chmod 400 f $ ls -l f -r-------- 1 user wheel f $ echo a >> t t: Permission denied. ここまでは順調ですね。今私はルートと同じことをして、ファイルに書き込みます: # ls -l f2 -r-------- 1 root wheel f2 # echo a >> f2 # echo $? 0 それはバグですか、それとも意図された動作ですか?これがすべてのUnixとLinuxで機能すると思いますか?

4
インタラクティブでないログインシェルが存在する可能性はありますか?
このフローチャートの解釈 私はそれを男バッシュで見つけました: bashが対話型ログインシェルとして、または--loginオプション付きの非対話型シェルとして呼び出されると、ファイル/ etc / profileが存在する場合、そのファイルからコマンドを最初に読み取り、実行します。 これは、対話型ログインシェルが/etc/profile(--noprofileなしで)読み取ることを示しています また、オプションreadを持つ非インタラクティブシェル--login/etc/profile これは、非インタラクティブ(スクリプトを実行する、おそらくのように単純な)で(ソース)を読み取れない可能性がある一部のログインシェル(で$0始まる-)を残すようです。date/etc/profile このアイデアを確認または拒否するには: 最初に、最初の文字としてsu -l -a を使用してログインシェルを開始するを使用しようとしましたが、-非対話型にすることができません(それをテストするためのテストを提示できます)。 のようなものを呼び出す $ bash -c 'date' -bash ログインシェルであることを報告しません(最初の文字がであっても-)。 これを試して詳細を明らかにしてください: $ bash -c 'echo "$0 $- ||$(shopt -p login_shell)||";date' -bash -bash hBc ||shopt -u login_shell|| Fri Aug 19 06:32:31 EDT 2016 の最初の文字$0はa -でありi、の値には(インタラクティブ)$-はありませんが、login_shell(-u)としては報告されません。この場合、/ etc / profileは読み取られませんでしたが、これが正しいテストであるかどうかはわかりません。 この質問には十分具体的ではありませんが、この回答には「まれな非対話型ログインシェル」についての言及もあります。 この男の結論は、/etc/profile常に読まれているということです。 …
11 bash  login  startup  bashrc 

2
シェルスクリプトがソースにするファイル拡張子の公式の標準/規則
実行する代わりにソースしたいシェルスクリプトのファイルタイプ拡張子に規約があるかどうか疑問に思いました。例えば: このスクリプトをサブシェルで実行する場合。 ./script.sh 現在のシェルからこのスクリプトを実行することを覚えておきたい場合。 . script.source 2番目の例のファイルタイプには(POSIXなどの)規則がありますか?.sourceまたはのような何か.sourceme? 更新 この質問はいかなる意見についても尋ねるものではありません。この種のスクリプトに標準化されたファイル拡張子があるかどうかを知りたいと明確に述べました。この質問は、同様の問題についてよく寄せられるこの質問よりも意見ベースではありません(bashスクリプトには.shまたは.bash拡張子を使用しますか?)。

3
サブシェルを使用せずにシェルコマンド置換を実行することは可能ですか?
サブシェルを使用せずにコマンド置換を要求するシナリオがあります。私はこのような構成を持っています: pushd $(mktemp -d) 次に、一時ディレクトリを一度に終了して削除します。 rmdir $(popd) ただしpopd、ポップされたディレクトリが返されない(新しい現在の現在のディレクトリが返される)ため、およびサブシェルで実行されるため、これは機能しません。 何かのようなもの dirs -l -1 ; popd &> /dev/null ポップされたディレクトリを返しますが、次のようには使用できません。 rmdir $(dirs -l -1 ; popd &> /dev/null) これはpopdサブシェルにのみ影響するためです。必要なのは、これを実行する機能です。 rmdir { dirs -l -1 ; popd &> /dev/null; } しかし、それは無効な構文です。この効果を達成することは可能ですか? (注:一時ディレクトリを変数に保存できることはわかっています。そうする必要をなくし、プロセスの中で何か新しいことを学ぼうとしました!)
11 shell  directory 

3
コマンドラインから画面の半分をクリアする
ターミナルをクリアする方法はありますか?プロンプトを画面上部に残す代わりに、中央に残しますか?clear基本的にすべてのコマンドラインパラメータを無視するように見えます。 これを行うにはいくつかの方法があると思いましtputたが、見つかりません。
11 terminal  tput 

1
現在または外部のファイルシステムを変更/変更せずに外部ZFSファイルシステムをマウントする方法
ファイルシステム(zroot01)としてrootでZFSを使用して、FreeBSD 10.2を使用しています。一時的にマウントして読み取り専用にしたい別のFreeBSD 10.2システム(zroot02)の ZFSファイルシステムを備えた外付けハードディスクがあり、そこからいくつかのファイルを取得して、後で切断することができます。私はしませんクロバーに外部ZFSシステムをしたいか、私の現在のファイルシステムを置き換え、また私は、外部のデータがいずれかの変更/破損している可能性がしたいです。 私が達成しようとしていることを示すために、UFSを使用している場合は、次のようにします。 mount -t ufs -o ro /dev/ada0s2 /mnt/my-fun-mountpoint ...どこ/dev/ada0s2私の外付けドライブ上のパーティションがあると/mnt/my-fun-mountpointしている/mnt私の既存のオペレーティングシステムのディレクトリ。 すべての検索とmanページの読み取りは、そうするための明確な方法を提供していません。私が見つけた答えは、結局、現在のファイルシステムを乗っ取って、修復できないほど破損してしまいました。明らかに、私が探している結果ではありません。しばらく前に試したので、残念ながら、どのコマンドを試したか覚えていません。 これを行う方法について明確なガイダンスを提供していただけますか?よろしくお願いします。
11 mount  zfs 

2
2つのLinuxホスト間で10GbpsのIP over USB 3.1 Type-Cは可能ですか?
これができるかどうかを自分で決めることはできませんでした。Type-Cコネクタを備えたUSB 3.1を備えた2つのLinuxシステムを接続して、標準で許可されているフル10Gbpsでポイントツーポイントネットワーク(IPまたはイーサネット+ IP)をセットアップできるかどうか疑問に思っています。ホストアダプタはこれをサポートしていますか?新しいLinuxカーネル/ツールはこれをサポートしていますか?通常のケーブルは使用できますか? ギガビットは十分に高速ではなく、USB 3.1カードは安価で、新しいマザーボード(私のような)に組み込まれています。10 Gbpsイーサネットは私の2番目の選択肢だと思いますが、新しいハードウェアをすべて購入する必要があるため、中古品を購入する必要があります。
11 linux  networking  usb  ip  ethernet 

3
一部のLinuxシステムで、ルートファイルシステムがmtabで/ dev / <実際のデバイスノード>ではなく/ dev / rootとして表示されるのはなぜですか?
さまざまなLinuxシステムで、実際のデバイスノード(例:)ではなく/dev/sda1、ルートデバイスがとして表示される/dev/rootか、実際のファイルシステムでmtabはなく、それが呼び出されたファイルシステムrootfs(で実際のファイルシステムとして表示される)であると述べていますが/proc/filesystems、にはコードがありません&lt;linux-kernel-source-tree&gt;/fs)。特定の属性を使用して実際のルートデバイスノード(rdevやChromium OS rootdevなど)を決定するために、さまざまなユーティリティが作成されています。非常に小さな組み込みデバイスが/devルートデバイス用のデバイスノードを常に持つ必要がないことをどこかで読む以外に、これに対する論理的な説明はありません。(これは本当ですか、もしそうなら、それが私の質問への答えですか?)なぜmtabが時々言う/dev/root(そして私はそれが言うのを見たかもしれないと思う)rootdev1回)実デバイスノードの代わりに、常に実デバイスノードを常に表示させるにはどうすればよいですか?カーネルは、最初にコマンドrootラインのパラメータに従ってルートデバイスをマウントし、次にinit/systemdに従って再マウントしfstabます、正しいですか?もしそうなら、私はinit維持すると思いますmtab。私の理論が正しい場合、どのinitようにして実際のルートデバイスノードに書き込むことができますmtabか?これ/etc/mtabは実際にはへのシンボリックリンク/proc/mountsであることに気づきました。これはmtab、カーネルによって維持されることを意味します。では、ルートデバイスのノードパスが/dev/rootであるのではなくmtab、実際のデバイスノードが含まれているとカーネルを構成/パッチするにはどうすればよいですか?

2
findmntはどのようにバインドマウントを一覧表示できますか?
Linuxはバインドマウントに関する情報を保持していないため、それらとそのソースのリストを取得する方法はないと多くの人が言い続けています。ここではいくつかの例を示します。 ここのコメントの1つから: IIRCこの情報はどこにも保持されませんmount --bind。2つのコピーは同等であり、もう一方よりも「オリジナル」なものはありません。結局のところ、すでにマウントを解除して/mntいると、オリジナルは存在しません。 このサイトの回答から: したがって、どのマウントがバインドマウントであったかを記憶する唯一の方法は、に残って/etc/mtabいるマウントコマンドのログです。バインドマウント操作は、バインドマウントオプションで示されます(ファイルシステムタイプが無視されます)。しかし、mountには、特定のオプションセットでマウントされたファイルシステムのみをリストするオプションはありません。 Debianのバグレポート: これは意図的なものです。両方のマウントポイントはすべての点で完全に等しいため、カーネルはそれらを区別するためのフラグを保持しません。 上記はナンセンスです。このツールfindmntは、バインドマウントのソースパスを一覧表示できます(の形式で、デバイスではなくソースパスのみdevice[source-path]を一覧表示することも試みています)。Linuxカーネルがバインドマウントを維持する場合は、その情報をどこかに保存する必要があります。それ以外の場合は、バインドされていることがわかりません。では、このデータはどこにあるのでしょうか?RAMのあいまいな領域に格納されていますか?DOESはに見てどこか?/home/usersfindmnt/proc

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