Unix & Linux

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


3
産卵 - コマンドが見つかりません!
Mac OS X 10.9.4を使用しています。ローカルマシンから別のホストにファイルをコピーするスクリプトは次のとおりです。 #!/bin/bash #!/usr/bin/expect echo "I will fail if you give junk values!!" echo " " echo "Enter file name: " read filePath echo " " echo "Where you want to copy?" echo "Enter" echo "1. if Host1" echo "2. if Host2" echo "3. if Host3" read choice …

3
シェルスクリプトのboolean値を表すためのベストプラクティスは何ですか?
私は中にブール値があることを、知っているbashが、私は今まで彼らがどこにも使用され表示されません。 マシンで頻繁に検索される情報のラッパーを作成したいと思います。たとえば、この特定のUSBドライブが挿入/マウントされています。 それを達成するためのベストプラクティスは何でしょうか? 文字列? drive_xyz_available=true 数値(0はtrue、0はfalse)? drive_xyz_available=0 # evaluates to true 機能? drive_xyz_available() { if available_magic; then return 0 else return 1 fi } 私は主に、ラッパーを使用したい他の人に何が期待されるのだろうかと思います。ブール値、変数のようなコマンド、または呼び出す関数を期待しますか? セキュリティの観点からは、2番目のオプションが最も安全だと思いますが、あなたの経験を聞きたいと思います。

3
bashスクリプトで「1 >>」と「2 >>」はどういう意味ですか?
私が理解している>>から、次のbashスクリプトがあります。これはコマンドの出力を上書きではなく既存のファイルに追加するために使用されますが、この場合はどうしますか?このスクリプトは、ある形式から別の形式に変換するためにいくつかのexeファイルを呼び出しています。各ファイルには長年あるため、ファイル名を見て各ファイルをループします。また、このスクリプトを実行すると、「あいまいなリダイレクト」が発生します #!/bin/bash source $HOME/.bashrc jobout=${1} joberr=${2} # Set some paths and prefixes yr_bgn=2000 yr_end=2000 yr=${yr_bgn} pth_data='/mnt/' pth_rst='/mnt/' while [ ${yr} -le ${yr_end} ] do ./executable1 ${pth_data}file${yr}-${yr}.nc ${yr} ${pth_rst} 1>> ${jobout} 2>> ${joberr} ./executable2 ${pth_data}file${yr}-${yr}.nc ${yr} ${pth_rst} 1>> ${jobout} 2>> ${joberr} ./executable3 ${pth_data}file${yr}-${yr}.nc ${yr} ${pth_rst} 1>> ${jobout} 2>> ${joberr} let yr=${yr}+1 …

3
必要な場合にのみ、SSHキーのパスフレーズを要求される方法
(私はこのサイトで関連するように見える質問の多くを読んでおり、これは本当に新しい質問だと思います。) たくさんのサーバーにたくさんのキーがあり、それらはすべてパスフレーズで保護されています。 私はパスワードを入力するのと同じくらいパスフレーズを入力するのが好きです-それは本当の生産性の低下です。 ログインシェルでssh-agent + ssh-addコマンドを使用すると、ログイン時にパスフレーズを1回入力するだけで済みます。 キーチェーンを使用すると、ログアウト後もssh-agentを有効に保つことができます。たとえば、起動時にパスフレーズを1回入力するだけで済むようにしたり、1時間程度それを保持したりできます。 私が抱えている問題は、これらのソリューションの両方が通常シェルログインで開始されることです(例.zshrc)ロック解除する必要がない場合でも、ログイン時にパスフレーズを入力することに依存しています。(私は、キーチェーンがエージェントを無期限に生き続けることに満足していません。) 必要な場合にのみ、(エージェントの)パスフレーズの入力を求められます。 したがって、サーバーAにログインし、何らかの操作を行ってから、サーバーBにsshして、その時点でパスフレーズを要求することができます。サーバーBで何らかの操作を行い、ログアウトします。Aに戻って、さらに作業を行い、再びBにsshします。パスフレーズは必要ありません(エージェントが保持しています)。 これはGnomeのようなグラフィカルデスクトップで可能です。sshを試みるとすぐに、秘密鍵のロックを解除するパスフレーズを要求するポップアップが表示されます。だからこれは私がコンソールからのものです。
15 ssh  ssh-agent 

2
同じように準備されたUSBスティックが1バイト異なるのはなぜですか?
2つの同一のUSBスティック(TrekStor 16GB)をc't bankixイメージで次のように準備しました。 GPartedを使用した準備: 既存のパーティションを削除しました 新しいDOSパーティションテーブルを作成しました FAT32、プライマリパーティションでスティックをフォーマットしました を介してスティックに画像をロードしましたusb-creator-kde。 だから私は両方のスティックに対して同じ手順を実行しましたが、一方が起動し、もう一方がエラーメッセージでクラッシュします: (initramfs) mount: mounting /dev/loop0 on //filesystem.squashfs failed: No such device Can not mount /dev/loop0 (/cdrom/casper/filesystem.squashfs) on //filesystem.squashfs それから私はそれらを比較しようとしましたsudo cmp /dev/sdb /dev/sdc。その結果: /dev/sdb /dev/sdc differ: byte 441, line 5 ここで何が問題なのですか、どうすれば修正できますか?

2
OSXでのstatの出力
statコマンドを使用してファイルに関する情報を取得したい。これは私がしました: Josephs-MacBook-Pro:Desktop Joseph$ echo 'hello' > info.txt Josephs-MacBook-Pro:Desktop Joseph$ stat info.txt 16777220 21195549 -rw-r--r-- 1 Joseph staff 0 6 "Dec 21 20:45:31 2014" "Dec 21 20:45:30 2014" "Dec 21 20:45:30 2014" "Dec 21 20:45:30 2014" 4096 8 0 info.txt 3行目と4行目は、私が得た出力です。これは、statコマンドを使用するたびに発生します。一方、インターネット上の誰もが次のようなものを取得します。 File: `index.htm' Size: 17137 Blocks: 40 IO Block: 8192 regular …
15 osx  stat  portability 


5
アイテムがbash配列にあるかどうかをテストするにはどうすればよいですか?
簡単なスクリプトのヘルプ #!/bin/bash array1=( prova1 prova2 slack64 ) a="slack64" b="ab" if [ $a = $b ] then echo "$a = $b : a is equal to b" else echo "$a = $b: a is not equal to b" fi このスクリプトは単に機能しません。リストにslack64が存在するかどうかを確認し(配列を使用)、yesが存在するかどうかを指定するスクリプトが必要です。配列を単一の変数と比較する方法がわかりません。
15 bash  array 

1
cUrl:引数リストが長すぎます
エラーが発生しています:Argument list too longcUrlを使用して、JSONの本文内のbase64でファイルを送信しようとしています。 私はこのようなものを使用しています: DATA=$( base64 "$FILE" ) curl -X POST -H "Content-Type: application/json" -d '{ "data": "'"$DATA"'" }' $HOST JSONの本文にデータを取得する他の方法はありますか? ファイルシステム内のファイルを読み取り、base64に変換してから本文内に送信する必要があることを考慮してください。
15 curl 

3
btrfsエラー:バランシング中のエラー-デバイスにスペースが残っていません
Kubuntu 12.04システムでルートパーティションのスペースが不足し、起動しません。このコマンドdf -hは、使用可能な多くのスペースを表示します(37%しか使用されていません)。 /dev/sda2 45G 17G 29G 37% 次のページは、balanceコマンドを実行する必要があることを示しています。 https://btrfs.wiki.kernel.org/index.php/Problem_FAQ#I_get_.22No_space_left_on_device.22_errors.2C_but_df_says_I.27ve_got_lots_of_space $ sudo btrfs fi balance start -dusage=5 /mount/point これが最良のアプローチであるとは完全には確信していませんが、私が見つけた唯一のアプローチです。ただし、そのコマンドを実行すると、次のエラーが表示されます。 ERROR: error during balancing '/blah/blah/blah' - No space left on device 私は同じエラーを受け取ります: $ sudo btrfs fi balance start -dusage=1 /mount/point 適切なソリューションは何ですか?

1
CentOS 7にfail2banをインストールする
この質問に対する@GarethTheRedの回答を使用して、リモートCentOS 7サーバーにfail2banをインストールしています。私はtail -f /var/log/fail2ban.log、までのすべてのステップを完了することができます。その時点で、彼が答えを得るのとは異なる結果が得られます。 このステップで得られた結果は次のとおりです。 [root@remotecentosserver.com ~]# tail -f /var/log/fail2ban.log 2014-12-02 16:55:53,548 fail2ban.server.server[6667]: INFO Changed logging target to /var/log/fail2ban.log for Fail2ban v0.9.0 2014-12-02 16:55:53,550 fail2ban.server.database[6667]: INFO Connected to fail2ban persistent database '/var/lib/fail2ban/fail2ban.sqlite3' 2014-12-02 16:55:54,239 fail2ban.server.database[6667]: WARNING New database created. Version '2' 最後の行の後、カーソルを取得しますが、を入力しない限り、コマンドプロンプトは表示されませんCtrl-C。 と入力するとsystemctl status fail2ban、fail2banアクティブであることがわかります。システムからログアウトし、後で再度sshdログインすると、前回のログイン以降にログイン試行が何度も失敗したことがわかります。したがって、fail2banログがあるはずです。しかし、私はそれらを見つけることができないようです。 誰かがこの設定を取得してfail2ban追跡可能なログを生成する方法を教えてもらえますか?
15 ssh  centos  openssh  sshd  fail2ban 

3
現在のセッションのbash履歴
たぶん私は何かを見落としていますが、あなたが使用している現在のセッションの現在のbash履歴を取得する方法があります 私が走ったら ssh host $ pwd $ ls $ cd /tmp これら3つのコマンドだけを見たいです。


2
Unixサーバーで空いているポートのリストを取得する方法
Solarisマシンのすべてのポートがどのような種類のネットワーク通信にも自由に使用できるかを知る必要があります。 netstat -aコマンドを試しました。しかし、返された情報は、私が書いている新しいアプリケーションに使用できるすべてのポートの説得力のある結果を与えませんでした。この点で提供される支援に感謝します。
15 networking 

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