Unix & Linux

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

1
start-stop-daemonが期待どおりに機能しない、pidファイルが書き込まれていません
私はPythonベースのプログラムを制御しようとしています(コンソールから自分自身を切り離しません) #!/bin/bash user=nobody pid=/var/run/xx.pid name=xx prog=/xx.py case $1 in start) /sbin/start-stop-daemon --start -b --oknodo --user "$user" --name "$name" --pidfile "$pid" --startas "$prog" --chuid nobody -- --daemon ;; stop) /sbin/start-stop-daemon --stop --oknodo --user "$user" --name "$name" --pidfile "$pid" --retry=TERM/5/KILL/1 ;; restart) ;; *) ;; esac 開始部分は正常に機能します。スクリプトが実行中であることは確認できますが、停止部分は確認できません。それは単に言うNo xx found running; none killed. …

3
tputの「setf」と「setaf」の違いは何ですか?
コマンドは、tput色を設定するための2つの異なるオプションがあり、setfそしてsetaf、まだそれらの両方が自分のコンピュータ上でうまく動作するようです: $ tput setf 2 && echo 'Hello world!' $ tput setaf 2 && echo 'Hello world!' 同様の二重性があるようですsetbとsetab。 2つのオプションの違いは何ですか?
17 tput 

1
.dディレクトリからの設定ファイルの番号プレフィックスは何ですか
xx.dフォルダー内の多くのUNIX構成ファイルには、次のように接頭辞が付いています。 $ ls /etc/grub.d/ 00_header 10_linux 30_os-prober 40_custom 05_debian_theme 20_linux_xen 30_uefi-firmware 41_custom この番号に規則はありますか?どういう意味ですか ? 名前の衝突を避けるためだけかもしれませんが、他に何かあるかどうか興味があります。

2
bashスクリプトを実行したユーザーの名前をsudoとして取得する方法は?
sudoで実行する必要があるが、それを実行した非sudoユーザーの名前を考慮する必要があるbashスクリプトを作成したい。したがって、ユーザーbobが実行した場合、それを実行したのが知りsudo ./myscript.shたいと思います。myscript.shbob 中を見てみましょうmyscript.sh: USER=$(whoami) # Do something that takes into account the username. プロセスを生成したユーザーの名前を知るにはどうすればよいですか?より具体的にはwhoami、取得する代わりに取得する代わりに何を使用する必要がbobありrootますか?


4
シェルスクリプトを実行するときに、rootとしてログインするようユーザーに要求する
私が得ている問題は、コマンドを入力すると、 su - root シェルスクリプトファイルの先頭で、ユーザーにパスワードを入力するように要求しますが、残りのシェルスクリプトは続行しません。次に、ターミナルを介してシェルスクリプトを手動で見つけて実行する必要があります。ユーザーがrootとしてログインすることを確認してから、残りのシェルスクリプトを続行するスクリプトが必要です。 つまり、スクリプトを任意のユーザーとして実行したいのですが、スクリプトの実行が開始されたらすぐに、ユーザーはrootに変更し、それが完了するまでスクリプトの残りをrootとして続行する必要があります。これはできますか?

4
サーバーで複数のIPアドレスを使用する利点は何ですか?
を使用して、単一のネットワークインターフェイスカードに複数のIPアドレスifconfigを設定できます。なぜ私はそれをしたいのですか、そしてどのようにソフトウェアがどのアドレスを使用するかをどのように知るのでしょうか? これまで、単一のIPアドレスを持つネットワークインターフェイスのみを使用しました。
17 networking  ip 

3
標準出力から標準エラー出力へ?
あるプロセスのstdoutを別のプロセスのstdinに送信したいのですが、コンソールにも送信したいのです。たとえば、stdoutをstdout + stderrに送信します。 たとえば、私はgit edit次のエイリアスを持っています: git status --short | cut -b4- | xargs gvim --remote ファイル名のリストを画面とに送信したいのxargsですが。 だから、teeこれを行うようなユーティリティがありますか?次のようなことができるように: git status --short | \ cut -b4- | almost-but-not-quite-entirely-unlike-tee | \ xargs gvim --remote

1
`sshfs -oworkaround = rename`は何をしますか?
私が取っているオペレーティングシステムクラスの場合、Freebsd5.4を実行する必要があります。gitがリリースされる前にリリースされたbsdのバージョンでgitをビルドしようとするのに苦労したくなかったのでgit、Arch over から使用するのが適切だと思いましたsshfs。 とにかく、私はオプションを与えることを示唆する回避策を見つけました。sshfs-o workaround=rename それはgit幸せに思えますが、私はちょうど今起こったことに関してかなり混乱しています... 回避策についてのすべてのマニュアルページには、 fix renaming to existing file しかし、私はそれが何を意味するかについて完全に困惑しています... そのオプションは正確に何をしますか?
17 sshfs 

2
引数 '-v'および '-x'はbashを意味しますか?
私は、次のシバンでいくつかのシェルスクリプトを見ました。 #!/bin/bash -x -v しかし、man bashどのようなこれらの引数を説明していない-xと-v、彼らが所属している場合は、静置bashすべてで。 それで、それら-xと-v(および他の可能な引数)はどういう意味ですか?
17 bash  shebang 

7
不変の属性が設定されたファイルを検索する方法は?
構成監査の理由により、不変の属性が設定されているファイルをext3ファイルシステムで検索できるようにしたい(経由chattr +i)。findこれを行うためのオプションまたは類似のオプションが見つかりません。この時点で、lsattr各ディレクトリの出力を解析するための独自のスクリプトを作成する必要があると思います。より良い方法を提供する標準ユーティリティはありますか?
17 find  ext3 

3
rsyslogがロギングしていません
これは奇妙な問題です。 RHEL7 VMでchrony / ntpサービスをテストし、その時間とホストの時間をリセットしていました。それに満足したら、私はそれをチェック/var/log/messagesし、しばらくの間変更されていないことに気付きました。 現在、rsyslogサービス自体を再起動する場合を除いて、何を実行しても何も記録されません。私がこれを取得するとき: Apr 15 13:59:43 mymachine1 rsyslogd: [origin software="rsyslogd" swVersion="7.4.2" x-pid="2847" x-info="http://www.rsyslog.com"] exiting on signal 2. Apr 15 13:59:59 mymachine1 rsyslogd: [origin software="rsyslogd" swVersion="7.4.2" x-pid="2853" x-info="http://www.rsyslog.com"] start Apr 15 14:00:11 mymachine1 rsyslogd-3000: sd_journal_get_cursor() failed: 'Cannot assign requested address' logger test記録しないなどのことを試してみてください。rsyslog自身のメッセージ以外は何もありません。-n -N1引数としてrsyslogを手動で実行すると、次のようになります: rsyslogd: version 7.4.2, config validation …

2
tmux:共有セッション、ペイン内の1人のユーザー、別のペイン内の別のユーザー、2つの異なるカーソル
私はtmuxを試してみることにしました。ドキュメントを読んで、いろいろなカーソルを使って2人のユーザーがセッションを共有する方法を見つけようとしていました。 ただし、ソケットに777権限を付与するか、グループを作成し、ソケットを作成しchgrpて両方のユーザーを追加すると、同じソケットを使用して1つのカーソルだけでセッションを共有できるようになります。同じカーソル位置。 現時点では、両方のユーザーがsshを介して同じホームサーバーにいます。アイデアは次のとおりです。 コマンドを入力できる左ペインのターミナル 右ペインの別の端末。自分の端末でコマンドを入力している別のユーザーを見ることができます 他のユーザーにも同じこと 私が今やっているのは、2つのセッション(共有されていない)と互いのキーストロークを読み取るためにちょっと動作するa script -fとtail -f組み合わせを使用していますが、おそらくtmux共有機能を使用してこれを行ういくつかの方法があると思います。 互いの端末で書き込みサポートを使用してこのアイデアを機能させる方法はありますか? これを行うためのより良い方法は何ですか?

3
タブ区切りファイルに値の列を追加する
特定の行数を持つファイルに値の列を追加するにはどうすればよいですか。次のような入力ファイルがあります。 入力ファイル: SPATA17 1 217947738 LYPLAL1 1 219383905 FAM47E 4 77192838 SHROOM3 4 77660162 SHROOM3 4 77660731 SHROOM3 4 77662248 出力ファイル: SPATA17 1 217947738 file1 LYPLAL1 1 219383905 file1 FAM47E 4 77192838 file1 SHROOM3 4 77660162 file1 SHROOM3 4 77660731 file1 SHROOM3 4 77662248 file1 この場合、ファイルの行数まで値の列を追加します。「file1」などの値は一貫したままです。 その理由は、これらのファイルが100個あるためです。各ファイルを開いて列を貼り付けたくありません。ディレクトリに移動して値の列を追加することで、これを自動化する方法もあります。値はファイル名に由来し、ファイルの各行の最後/最初の列に追加する必要があります。

2
lessからファイルに行を書き込む
表示中vimのファイルから別のファイルまでの一連の行を書き込むことができます。例えば、 :1,10 w outfile.txt 行1〜10をoutfile.txtに書き込みます。 を使用してファイルを表示しているときに同じ操作を実行できますlessか?
17 less  stdout 

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