Unix & Linux

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

4
どのパッケージにも所有されていないファイルを見つける方法は?
私のシステムでは、どのパッケージにも属していないファイルがあります。それらは私のものであるか、またはでインストールされたコンパイル済みプログラムからのものmake installです。どのパッケージにも属していないすべてのファイルを見つけるにはどうすればよいですか?
12 debian  apt  repository 

3
下部にプロンプ​​トを表示してXTermを起動する方法は?
XTermを起動すると、プロンプトは端末の最初の行から始まります。コマンドにそれが底に達する、とまでダウンプロンプト移動を実行している場合、その上に、その後そこから(もないままShift- Page Downまたはマウスがこれを変更することができます)。端末のライフタイムの開始を「特別」にするのではなく、プロンプトは常に端末の下部にある必要があります。複数行のプロンプトがあることに注意してください。 もちろん、それ以外は以前と同じように機能するはずです(サイズ変更可能、スクロール可能、出力に不要な改行がない、出力が不可解に消えないなど)PROMPT_COMMAND='echo;echo;...'。ソリューションは、理想的にはシェル固有のものであってはなりません。 編集:現在のソリューションは、単純な例での作業中に、いくつかの問題があります。 それはだバッシュの特定。理想的なソリューションは、他のシェルに移植可能でなければなりません。 他のプロセスが変更するPS1と失敗します。1つの例はvirtualenvです。これは(virtualenv)、の最初に追加され、PS1その後、常に折りたたみの真上で消えます。 Ctrl- l今削除歴史の最後のページを。 XTermをフォークする以外に、これらの問題を回避する方法はありますか?
12 bash  terminal  xterm 

6
メジャー/マイナー番号のペアでデバイスノードを取得する
配下の各デバイスノードに/devは、独自のメジャー/マイナー番号のペアがあります。次のように、を使用してデバイスノードからこの番号のペアを取得できることを知っていますstat。 stat -c 'major: %t minor: %T' <file> または、ls -lこれらの数値も表示されます。 しかし、メジャー番号とマイナー番号を指定してデバイスノードを取得するにはどうすればよいですか?私の知る唯一の方法は、いくつかの種類であるls -l+ awkトリックが、私は本当によりよい解決策があると願っています。
12 udev 

2
パス内の実行可能ファイルのbashのキャッシュを無効にする
これは重複していないことに注意してください。キャッシュをクリアするのではなく、キャッシュを無効にすることを求めています。クリアするキャッシュがある場合、それは明らかに無効ではありません。 まれに、bashがパスで見つけたもののキャッシュに気づく場合があります。それは、それが役に立ったからではなく、流血の迷惑なためです。例: ~ dc$ export PATH=$HOME/bin:$PATH ~ dc$ cat bin/which #!/bin/bash echo "my which" ~ dc$ which my which ~ dc$ rm bin/which ~ dc$ which which -bash: /Users/dc/bin/which: No such file or directory 別のシェルで... ~ dc$ which which /usr/bin/which このキャッシングは、ディスクが遅く、メモリが高価で制限されていたため、あまりキャッシュできなかった古き良き時代には理にかなっていると思います-パスをキャッシュすることは、コマンドを見つけるために必要なすべてのディスクブロックをキャッシュするよりも安価です。 。しかし、最近では目立った利点はなく、解決する以上の問題を引き起こしています。バグであることをあきらめて、それは間違った機能です。 そして、それを無効にする方法すら見つけられません。ポインタはありますか?
12 bash 


1
XFCEでプライマリモニターを設定しますか?
私は監視する必要があります: ------ ------ |VGA-1| |HDMI-1| ------ -------- なんらかの理由でVGA-1はデフォルトでプライマリモニタに設定されています。これは私がこれを修正しようとしたものです: 設定の編集に移動し、HDMI-1のプライマリをTrueに設定します これ:Fedoraプライマリモニターの選択 "xrandr --current"によると、HDMI-1がプライマリであるため、トリックを実行したようです。ただし、パネルはまだ左側(VGA-1)モニターにあり、HDMI-1がプライマリであるかどうかはわかりません。 これはバグですか、ここで何か間違っていますか?

3
bashの条件式の-aと-eの違いは何ですか?
からman bash: CONDITIONAL EXPRESSIONS [...] -a file True if file exists. [...] -e file True if file exists. だから、何の違いである[ -a $FILE ]とは、[ -e $FILE ]任意の場合は、? 実際の違いがない場合、同じ目的で2つのフラグが存在するのはなぜですか?
12 bash  shell  test 

3
リンクでリンクされたディレクトリに移動する
Iときcdリンクは、私の現在のパスではなく、へのリンクリンクディレクトリのパスよりも、リンクのパスが付いています。例えば ~/dirlinks/maths$ ls -l logic lrwxrwxrwx 1 tim tim 71 Jul 27 10:24 logic -> /windows-d/academic discipline/study objects/areas/formal systems/logic ~/dirlinks/maths$ cd logic ~/dirlinks/maths/logic$ pwd /home/tim/dirlinks/maths/logic ~/dirlinks/maths/logic$ cd .. ~/dirlinks/maths$ 現在のパスをリンクされたディレクトリのパスに変更して、リンクされたディレクトリの親ディレクトリも操作できるようにしたいと考えています。lsリンクされたディレクトリを見つけてそこcdに移動するリンクのほかに、それを達成するためのいくつかの簡単な方法は何ですか?たとえばcd、リンクに入った後、現在のパスをリンクされたディレクトリのパスにどのように変更しますか?

1
カーネルとBusyBoxを備えた最小限のLinux:/ etc / inittabは無視され、/ initのみが実行されます
カーネル(デフォルトオプションでコンパイルされた)とBusyBox(デフォルトオプション+静的でコンパイルされた、すべてのアプレットが存在することを含む/sbin/init)のみを含む、小さくて機能的なライブLinux CDを作成することができました。私が作成する全く問題なかったinitrdと移入を/dev、/procと/sysも私は私と全く問題がなかった/initシェルスクリプト。 最近、BusyBoxが/etc/inittab構成を(少なくともある程度)サポートしていることを読んだので、次のいずれかを実行したいと思います。 私の/initシェルスクリプトを忘れて、完全に/etc/inittab構成に依存します。 /initシェルスクリプトと/etc/inittab設定の両方を使用します。 今実際の問題- /etc/inittab私のディストリビューションが起動するときそれは完全に無視されているようです。症状は次のとおりです。 削除して/initそのままにしておく/etc/inittabと、カーネルパニックが発生します。私の想定では、カーネルはまったく実行さ/sbin/initれないか、または/sbin/init検出(または読み取り)されません/etc/inittab。 BusyBoxがなくても正常に動作することを確認しました/etc/inittab。だから、私は両方を削除/initして/etc/inittab、何を推測-再びパニックカーネル。 私が実行しようとした/sbin/init私のシェルから、付属のいくつかの推測の後exec /sbin/init、setsid /sbin/initそしてexec setsid /sbin/init私は、カーネルパニックになってしまいました。ファイルシステムに/ etc / inittabが存在する場合と存在しない場合の両方。 これが私の/initシェルスクリプトの内容です: #!/bin/sh dmesg -n 1 mount -t devtmpfs none /dev mount -t proc none /proc mount -t sysfs none /sys setsid cttyhack /bin/sh この時点では/etc/inittab、構成が実際に機能していることを知る方法がある限り、その内容がどうなるかは気にしません。ここで/etc/inittab見つけた情報に基づいて、いくつかの構成を試しました。 最低限、私の/ etc / inittabには次の1行だけが含まれています。 ::sysinit:/bin/sh 繰り返しますが、カーネルパニックに陥り、/etc/inittab無視されたようです。 私の小さなライブディストリビューションをBusyBoxで正常に動作させる方法についての提案/etc/inittabは高く評価されています! 更新: 明確にするために、現在のシェルスクリプトを使用してもしなくても、カーネルパニックの問題は発生しません。それはすべて正常に機能し、コンソールは非常に機能し、予期しない問題は発生しません。上で説明したように、唯一の問題は完全に無視されることです。/init/etc/inittab/bin/ash/etc/inittab …

1
コマンドの最後で停止するようにbashシェルPS1カラーを停止するにはどうすればよいですか?
実際のシェルコマンドが異なる色で表示されるカスタムPS1カラーがあるので、入力したコマンドをすばやく確認して、コマンド出力自体から区別することができます。 PS1の色がコマンドプロンプトで「青」に設定され、シェルのデフォルトの色が白であるとします。 lsなどのコマンドを入力します(ls -lは青色になっています)。 それが生成する出力、最初の行はまだ青です 残りのすべての線は白になります 私が欲しいのは、コマンドの後のすべての出力が「白」になることです。 もう一つの例: コマンド「cat」を入力すると、色が青になります 出力が来て、出力全体が青色です 「blue」と入力したコマンドプロンプトを維持しながら、出力を「白」にしたい 一部のコマンドでは問題ありませんが、他のコマンドでは、同じ色が出力の最初の行にオーバーフローしてから、デフォルトの色が適用され、他のいくつかのコマンドでは、出力全体(catなど)が同じ色になります。 入力したコマンドのみを1つの色で、残りをデフォルトに保つ方法はありますか? 私はOSXを使っています。 編集#1 @derobertがコメントでリンクしているスクリーンショットは、私が探しているものを示しています。
12 bash  prompt 

5
404を取得した後、「wget」をどのように停止しますか?
でブレース展開を使用するとwget、連番の画像を簡単に取得できます。 $ wget 'http://www.iqandreas.com/sample-images/100-100-color/'{90..110}'.jpg' これは、番号の最初の10個のファイルフェッチ90.jpgする99.jpgだけで罰金を、しかし、100.jpg以降返し404:ファイルが見つかりません(私はサーバー上に保存された100枚の画像を持っている)エラーが発生しました。これらの{00..200}存在しないファイルは、存在しないファイルが100個あるなど、より大きな範囲を使用する場合、より「問題」になり、スクリプトの実行時間が増加し、わずかな負担(または少なくとも煩わしさ)になることさえあります。サーバー。 wget最初の404エラーを受け取った後に停止する方法はありますか?(または、別の理由で範囲内にファイルが欠落している場合は、続けて2つ続けてください)中括弧の展開を使用する必要はありません。ループも結構です。

2
scpおよびファイル所有者
scpサーバー間でファイルの所有権を変更した後にファイルの所有権を変更できる理由は何ですか? ファイルの所有権が「owner」から「apache」に変更されました。使用しましたscp -p。ユーザー ' owner 'は両方のサーバーに存在し、同じUIDを持っています。
12 files  scp  chown 

1
SSHFSでinotifyまたは名前付きパイプを使用するにはどうすればよいですか?
sshfs魔法のおかげで、リモートサーバーからホームディレクトリをマウントできます。 sshfs user@server:/home/user ~/remote 楽観的には、ローカルプログラムがリモートログの変更に対応できるように、ローカルinotifyフックを~/remote/logFile(sshfsマウント内に)設定すると思いました。 cd ~/remote touch logFile # create remote file inotifywait logFile & # set up local inotify-hook ssh user@server -x touch /home/user/logFile # touch file from remote 何も起こりません。ローカルにファイルがinotifywaitない限りtouch、サイレントです。名前付きパイプへの書き込みも同様に失敗します。 どうしてこれなの?どうすればこのギャップを埋めることができますか? 私は可能性が実行しinotifywait、リモートのファイルシステム変更のシリアル化戦略をハックし、地元への接続を維持したが、その後、私はよ基本的にSSHFSを再実装します。そして、それは抽象化を完全に殺します。
12 sshfs  inotify  fifo 

3
vimへの貼り付けを高速化できますか?
HTMLの一部をWebページからコピーして、ファイルに保存したいと考えました。そのためvim に、コマンドラインで(新しい)ファイル名を指定してターミナルウィンドウで新しいセッションを開始し、ヒットiして挿入モードにした後、CtrlShift+ Vを押し[-- INSERT --]て、下部に表示されて待機していました... vim私は、一瞬の中に現れたテキストを(貼り付けAccessoiriesメニュー→アプリケーションから「テキストエディタ」を開いて新しい名前で保存し、閉じられ、Vimのセッションそれを殺し、数秒後に無反応でした1.5分後でもまだ行われていませんでした。テキストの量は3200行で186Kであり、過度に長くはありませんでした。 これらの種類の挿入を高速化する方法はありますvimか、および/または、これが他の恐ろしいマウス指向のテキストエディターの使用と比較して非常に遅い理由の説明はありますか? (によると、%CPU topは5%を超えていませんが、システムにいくつかのプロセッサが空いているため、ファイルから同じテキストを読み取るときに存在しない、I / Oバウンドの問題である可能性があります) バージョン情報: Ubuntu 12.04 Vim:7.3、Ubuntu 12.04提供のパッチを 適用bash:4.2.25 gnome-terminal:3.4.1.1
12 vim  clipboard 

1
コマンドの正確な動作は何ですか:ip address change?
私はIPv6とアドレスのライフタイムをいじっています。このvalid_lft属性を使用すると、正しく使用すると、v6アドレスが自動的に消えることがわかりました。アドレスの寿命を延ばすために ip addr change 1:2:3:4::1/112 dev eth0 valid_lft 86000 の使用は、ip addr change私がアクセスできる(Debian、Ubuntu、およびオンライン)のマンページにも、公式ドキュメントにも記載されていません。2009年からipv6-opsメーリングリストへの電子メールを参照している記事でそれを見つけました。 私が遊んでいると判断できたことから、のip addr change代わりにいつでも使用できると思いip addr addます。アドレスが存在しないip場合ip addr addは、使用された場合でもアドレスが追加されるためです。 それは正しいですか、つまり、正確に何ip addr changeが行われ、どのように異なるのかを誰かが説明できip addr addますか?

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