Unix & Linux

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

4
CSVファイルから重複したエントリを削除する
重複したデータが再印刷された[csv]ファイルがあります。つまり、同じデータが2回印刷されます。私が使って試したソートのuniqのを でsort myfile.csv | uniq -uしかしに変化がないmyfile.csv、また、私が試していないてきたsudo sort myfile.csv | uniq -uが、何の違いは。 だから現在私のcsvファイルは次のようになります a a a b b c c c c c そのようになりたい a b c

8
ネットワーク上のデバイスの名前を取得する
ネットワーク上のすべてのデバイスの名前を知りたいのですが。私はすでに多くのコマンドをWebで見つけて大成功せずに試しましたが、思ったように機能するものはありませんでした。 基本的に、ルーターの設定を入力すると、ネットに接続されているデバイスの名前を取得できます。一部のアプリケーションでも取得できるので、何らかの方法で実行できると思います。 コマンドラインを介してWi-Fiネットワークに接続されているすべてのデバイスの名前のリストが必要です。 ありがとう pi@raspberrypi ~ $ nmap -sP 192.168.4.0/24 Starting Nmap 6.00 ( http://nmap.org ) at 2015-03-05 13:55 UTC Nmap scan report for 192.168.4.1 Host is up (0.0055s latency). Nmap scan report for 192.168.4.2 Host is up (0.42s latency). Nmap scan report for 192.168.4.4 Host is up (0.045s latency). …

2
制御端末の本名を取得するにはどうすればよいですか?
制御端末の実際の名前(ある場合はエラー)をパス名として取得するにはどうすればよいですか? 「本名」とは、を意味/dev/ttyし、同じ端末を参照するために他の任意のプロセスで使用することはできません。可能な場合は、単純なシェルコード(以下の例のような)として、そうでない場合はC関数として、答えを好みます。 これは、標準入力がリダイレクトされても機能する必要があるので、ttyユーティリティを使用できないことに注意してください。標準入力に接続された端末のファイル名を出力するだけなnot a ttyので、このような場合はエラーにttyなります。 Linuxでは、以下を使用できます。 echo "/dev/`ps -p $$ -o tty | tail -n 1`" しかし、これは移植性がありません。POSIXによると、端末名の形式は指定されていません。 C関数に関してctermid (NULL)は/dev/tty、ここでは役に立たないを返します。 注:zshドキュメントによれば、 zsh -c 'echo $TTY' しかし、現在(バージョン5.0.7)は、標準入力と標準出力の両方がリダイレクトされると失敗します。 $ zsh -c 'echo $TTY > /dev/tty' < /dev/null /dev/pts/9 $ zsh -c 'echo $TTY > /dev/tty' < /dev/null > /dev/null /dev/tty

3
nologinユーザーでsshを介してコマンドを実行できますか?
ユーザーが持ってloginShell=/sbin/nologinいる場合でも、 ssh user@machine [command] ユーザーが認証に使用できるホームディレクトリに適切なsshキーを持っていると仮定しますか? 私の目標は、ユーザーをnologinとして維持することですが、ネットワーク上の他のいくつかのマシンでコマンドを実行でき( 'sudo -u'を使用した場合と同様)、これが妥当なコースかどうか疑問に思っています。

10
lsb-releaseなしでDebianコードネームを取得する方法
私はそれをsources.listファイルにエコーできるように、debianコード名を出力する必要があるスクリプトを作成しようとしています。 私はこのスクリプトをDebianのどのバージョンでも動作させるようにしているので、リリースコードネームのbash変数を設定したいと思っていました。これは簡単です(lsb_release -cを使用)。ただし、デフォルトではデプロイメントイメージにlsb_releaseが含まれていません。sources.listを修正するためにこのスクリプトが必要なため、apt-getを使用してlsb-releaseをインストールすることはできません。 。 システムに関するリリース番号やその他の情報を取得する方法はたくさんありますが、コードネームを取得するための信頼できる場所が見つかりません。 どんなアイデアでも大歓迎です! (私がこれをテストしているOSはDebian Squeezeです)
13 debian  version 

4
JSON配列の1つのフィールドをbash配列に解析します
変数に格納されたオブジェクトのリストを含むJSON出力があります。(私はその権利を表現していないかもしれません) [ { "item1": "value1", "item2": "value2", "sub items": [ { "subitem": "subvalue" } ] }, { "item1": "value1_2", "item2": "value2_2", "sub items_2": [ { "subitem_2": "subvalue_2" } ] } ] bashスクリプトをubuntu 14.04.1で実行するには、配列内のitem2のすべての値が必要です。 結果全体を配列に入れる方法がたくさん見つかりましたが、必要なアイテムだけではありません

7
netcat出力をgrepする方法
からライブテキストストリームをgrepしようとしていますnetcatが、うまくいきません。 netcat localhost 9090 | grep sender 何も返さないが、そうするべきだと私は確信している。 netcat出力をファイルにリダイレクトし、遅延を追加した場合(実際の環境をシミュレート)-機能します。 $ (sleep 5; cat netcat_output; sleep 5) | grep sender {"jsonrpc":"2.0","method":"GUI.OnScreensaverDeactivated","params":{"data": "shuttingdown":false},"sender":"xbmc"}} 追加も試みました--line-bufferedが、成功しませんでした。 私は何を間違っていますか? 編集: 同じ問題に気づきましたsed、出力が空です。 しかし、たとえば、hexdumpテキストを16進ライブに変換します。 $ netcat localhost 9090 | hexdump -C 00000000 7b 22 6a 73 6f 6e 72 70 63 22 3a 22 32 2e 30 22 …
13 grep  netcat 

2
ppp0とwwan0の違い
RaspberryPiでRaspianを実行しています。 GSMモデムを接続すると、wwan0とppp0の 2つのインターフェイスが表示されます。 wwan0 GSMモデムが接続されているが接続されていない場合でも存在する ppp0 GSMモデムが接続されている場合にのみ存在します ご質問 何の違いであるwwan0とはppp0、なぜ私は見ていますppp0に加えてwwan0? なぜIPアドレスが割り当てられているにppp0していないwwan0接続が確立された後?

5
どうすればすぐにsudo suしてディレクトリを変更できますか?
次のようなエイリアスを作成したいと思います。 alias userYYY='sudo su userYYY; cd /a/path/that/only/userYYY/has/access' それで、コマンドラインからsudoユーザーでuserYYYログインしuserYYYてpwdい/a/path/that/only/userYYY/has/accessます。エイリアスを入力して、シェルがでログインされるようにします。 どうやってやるの?これuserYYYはいくつかのプロセスを実行するためのものであり、そのホームには何かがなければなりません。したがって、次のコマンドを使用して$ HOMEを変更してみました。 sudo usermod -m -d /a/path/that/only/userYYY/has/access userYYY そして、私のシェルから私のsudoerファイルを使用しましたsudo su userYYY。しかし、それはうまくいきませんでした。機能したのは1つだけでしたsudo su -l userYYYYが、元のシェル(-bash-4.1$ ....)内に新しいbashが開きました。 要約すると、私が欲しいのは、シェルに2行を記述する必要を単に回避することです。 sudo su userYYY cd /a/path/that/only/userYYY/has/access 何か案は?
13 bash  shell  sudo  su 

2
-bash:cd:.ssh /:権限が拒否されました
cd .ssh端末に入力すると、で戻ります-bash: cd: .ssh/: Permission denied。現在、sshキーをsshに追加できません。 私がタイプssh-add ~/.ssh/idnameすると、それは言う/Users/Dan/.ssh/idname: Permission denied。 私がls -dこれをターミナルに入力する前に機能したので、私はタイピングと関係があると思いますか?
13 ssh  permissions  ls 

2
gitを使用して/ etcを管理していますか?
私は/etc、リモートgitリポジトリで追跡されているシステムについて考えています。私はgitワークフローを考えています。そこでは、すべてのホストマシンに異なるブランチがあります。 すべてのマシンの以前のすべてのバージョンを簡単に追跡、比較、マージできます。 /etc変更を多くのマシンでコミットする必要がある場合、いくつかのマージスクリプトによって簡単に行うことができます。 「望ましくない」/etc変更の場合、これはよく見える可能性があります(それを監視するようにアラームスクリプトを調整することもできます)。 誰かがすでにそのような構成を使用していますか?セキュリティ上の問題はありますか?

5
menuconfigの観点から2つのカーネル構成ファイルを比較しますか?
2つのカーネル構成ファイル(同じカーネルソース用)がある状況があります。どちらにも必要な機能の一部があります(一方では、USBは正しく機能し、もう一方では、2番目のI2Cが機能します)。 menuconfigの観点から見ると、2つの構成ファイルの違いには、選択されたオプションのほんの一部しか含まれていないことを知っています。(しかし、どれがわからない) ただし、構成ファイルを手動で比較する場合(2つの.configファイル間で融合)、違いを特定するのは簡単ではありません。私はそれらを手動でマージしようとしましたが成功しませんでした。私は最終的に成功すると確信していますが、ファイルがmenuconfigに表示される方法で比較された場合、プロセスははるかに簡単になると考えています。 これは達成できますか?そうであれば、どのように?

4
すべてのmanページを無効にできますか?
特にRaspberry pi(Raspbian Wheezyを実行)では、一般的に、すべてのmanページを無効にできますか? これは、保存されたmanページ、「man-dbのトリガーの処理」などがないことを意味します。マニュアルページは常にインターネットで利用できるので、実際にインストールする必要はありません。それらを生成して保存する必要はないようです。

1
md5sumコマンドのバイナリモードとテキストモード
GNU md5sumコマンドには、バイナリモードとテキストモードの2つのモードがあります。違いは改行文字の処理方法だけだと思いますか?私は正しいですか? GNU / Linuxでは、2つのモードは常に同じ結果を生成するため、-bおよび-tオプションの唯一の使用は、ファイル名の前に使用されるフラグ(*または)を示すことですか? どのような状況でモードが異なる結果を生成できますか?Windows / MacOSシステムでは?(これらのプラットフォームのバージョンは入手可能ですか?)
13 binary  text  hashsum 

4
OpenSSH RemoteForwardに動的に割り当てられたポートを決定する
質問(TL; DR) リモート転送(-Rオプション)のためにポートを動的に割り当てる場合、リモートマシン上のスクリプト(たとえば、からソース.bashrc)は、どのポートがOpenSSHによって選択されたかをどのように判断できますか? バックグラウンド 私は(両端で)OpenSSHを使用して、他の複数のユーザーと共有している中央サーバーに接続します。私のリモートセッション(今のところ)では、X、cups、pulseaudioを転送したいと思います。 最も簡単なのは、-Xオプションを使用してXを転送することです。割り当てられたXアドレスは環境変数に保存され、DISPLAYそこからほとんどの場合、対応するTCPポートを特定できます。しかし、Xlibが名誉を与えられてDISPLAYいるので、私はほとんど必要としません。 cupsとpulseaudioにも同様のメカニズムが必要です。両方のサービスの基本は、それぞれ環境変数CUPS_SERVERとの形式で存在しPULSE_SERVERます。次に使用例を示します。 ssh -X -R12345:localhost:631 -R54321:localhost:4713 datserver export CUPS_SERVER=localhost:12345 lowriter #and I can print using my local printer lpr -P default -o Duplex=DuplexNoTumble minutes.pdf #printing through the tunnel lpr -H localhost:631 -P default -o Duplex=DuplexNoTumble minutes.pdf #printing remotely mpg123 mp3s/van_halen/jump.mp3 #annoy co-workers PULSE_SERVER=localhost:54321 mpg123 mp3s/van_halen/jump.mp3 …

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