Unix & Linux

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

3
Debianにパッケージが存在するかどうかをbashから確認する方法
MySQLサーバーをインストールするインストールbashスクリプトを記述したいと思います。 Linux Mintでは、私はコードに従っていました: apt-get -y --force-yes install mysql-server-5.6 しかし、私は新しいDebian 8をインストールしましたが、ありませんmysql-server-代わりにありmariadbます。 パッケージが存在するかどうかを確認するにはどうすればよいですか? 私はdpkg -s、パッケージがインストールされているかどうかを判断する必要があることを知っています。
12 bash  apt  deb 

1
duの出力が間違っていますか?
私のduコマンドは混乱していると思います。 % du -shc DIR ... ... 6123941496 total % du -shc DIR ... ... 6.1G total % du -sc --si DIR ... ... 6.6G total 私が与えて試してみたLANG=Cとスプレッドシートの結果をダブルチェック。-hはすでに1000の累乗(--si)を使用して出力しているように見え、-siは間違った答えを出します。正しい答えは、-hの場合は5.7G、-siの場合は6.1Gであると思います。ここで何が起こるのでしょうか? % du --version du (GNU coreutils) 8.20 ... % uname -a Linux XXX 3.9-1-amd64 #1 SMP Debian 3.9.8-1 x86_64 GNU/Linux
12 disk-usage 

3
ZshとBashの間で履歴を共有または同期する
私はよくBashとZshを切り替えて、履歴検索機能を使用してコマンドを復元します。 ただし、BashとZshには異なる履歴ファイルがあるため、検索しているコマンドが他のシェルで実行されたことがよくあります。 2つの間で履歴を共有または同期する方法はありますか?

1
「cp -R --reflink = always」がbtrfsファイルシステムで標準コピーを実行するのはなぜですか?
Btrfsはコピーオンライトをサポートしています。私はその機能を使用してディレクトリを複製しようとしました: cp -R --reflink=always foo_directory foo_directory.mirror コマンドはほぼ瞬時に(のようにbtrfs subvolume snapshot)完了すると予想していましたが、cpコマンドは低速で標準的なコピーを実行しているようです。 マニュアルページによると、私は--reflink=alwaysコピーオンライトを実施することを期待していました: --reflink [= always]が指定されている場合、軽量コピーを実行します。データブロックは変更された場合にのみコピーされます。これが不可能な場合、コピーは失敗するか、または--reflink = autoが指定されている場合は、標準のコピーにフォールバックします。 質問: なぜ--reflink=always動かないのか知っていますか? 代わりにどのオプション(または他のコマンド)を使用すればよいですか?
12 cp  btrfs 

3
exec関数でファイル名を2回渡す必要があるのはなぜですか?
StevensによるUNIX環境での高度なプログラミングの第 8 章を読みました。6つのexec関数をすべて読んで理解しました。 私が気づくのは、すべてのexec関数で: 最初の引数はファイル名/パス名です(exec関数によって異なります)。 2番目の引数はmain()、取得するargv [0]です。これは、ファイル名自体です。 したがって、ここでは関数でファイル名を2回渡す必要があります。 それには理由がありますか(最初の引数からパス名からファイル名を取得できないなど)?



3
ブレース(順列)と配列拡張を同時に使用できますか?
Bashの{}ブレース展開構文により、簡単な順列を作成できます # echo {b,c,d}{a,e,i,o,u} ba be bi bo bu ca ce ci co cu da de di do du しかし、それは非常に厄介な使用を除き、アレイと一緒にこれを使用することが可能ですか/場合私にははっきりしていない$() echoとeval 中括弧(順列)展開で配列を使用する簡単な方法はありますか? たとえば、次のようなものを想像してみてください(もちろん機能しません)。 CONS=( b c d ) VOWEL=( a e i o u ) echo {${CONS[@]}}{${VOWEL[@]}}

2
Dropboxフォルダーに読み込まれたときにinotifywaitを使用してファイルを移動する
CentOSのドロップボックスに表示されたらすぐにファイルを別のフォルダーに移動する方法を探しています。 私はいくつかの手がかりを求めてインターネットを調査しましたがinotify、表示されたとおりにファイルを処理するスクリプトを呼び出すために使用する必要があるという事実以上のことはできません。 私のBASHの知識は非常に限られているので、これをPHPで記述できるかどうかは疑問です。 つまり、使用して表示されたらすぐにファイルを別のフォルダに移動するにはどうすればよいinotifyですか?
12 bash  centos  inotify 


1
DNFを使用して、Fedoraの別のリリースで利用可能なパッケージバージョンを見つける方法は?
dnfFedoraの異なるリリースのリポジトリを検索するために(または別のユーティリティを)使用することは可能ですか? たとえば、私の現在のリリースで、私が実行できるパッケージのすべてのバージョンを検索しますdnf --showduplicates list <package name>。次のように何かを行うことは可能ですか? dnf --showduplicates list [--fedora29] <package name> 引数[--fedora29]を使用して、検索するFedoraのバージョンを指定できますか? これを使用して実行できない場合、使用できるdnf別のコマンドラインツールはありますか?
12 fedora  repository  dnf 

2
シェル組み込みコマンドについて
中には、bashのマニュアル、次のことが書かれています Builtin commands are contained >>> within <<< the shell itself また、この答えは、 A built-in command is simply a command that the shell carries out itself, instead of interpreting it as a request to load and run some >>> other program <<< compgen -b上bash 4.4で実行すると、すべてのシェル組み込みコマンドのリストが表示されます。私はその一例を参照[し、killシェルの組み込みコマンドであることを記載されています。しかし、実際の場所は次のとおりです。 /usr/bin/[ /bin/kill builtinコマンドが/bin/bash実行可能ファイルにコンパイルされるという意味だと思いました。だから私を本当に混乱させているのは何builtinですか:私を訂正してください、しかしそれが実際にシェルの一部ではない場合、どのようにして別のコマンドをにすることができますか?

1
CentOS 7でsystemctlサービスが開始されなかった理由を知るにはどうすればよいですか?
CentOS 7を使用しています。サービスの開始に失敗する理由を知るにはどうすればよいですか?このサービスを作成しました [rails@server ~]$ sudo cat /usr/lib/systemd/system/nodejs.service [Unit] Description=nodejs server [Service] User=rails Group=rails ExecStart=/home/rails/NodeJSserver/start.sh ExecStop=/home/rails/NodeJSserver/stop.sh [Install] WantedBy=multi-user.target ファイルはこれを指しています [rails@server ~]$ cat /home/rails/NodeJSserver/start.sh #!/bin/bash forever start /home/rails/NodeJSserver/server.js このファイルだけで問題なく実行できます。しかし、サービスの一部として実行しようとすると、nodeJSサーバーが起動していないことがわかります。「sudo systemctl --state = failed」をチェックしても、エラーは表示されません... [rails@server ~]$ sudo systemctl enable NodeJSserver [rails@server ~]$ sudo systemctl start NodeJSserver [rails@server ~]$ [rails@server ~]$ [rails@server ~]$ forever …

3
Bash =〜regexおよびhttps://regex101.com/
https://regex101.com/を使用して、文字列内の最初のIPアドレスを返す正規表現を作成しました。 RegExp: (?:\d{1,3}\.)+(?:\d{1,3}) 区切り文字を含むRegExp: /(?:\d{1,3}\.)+(?:\d{1,3})/ 次のテスト文字列で: eu-west 140.243.64.99 次の完全一致を返します。 140.243.64.99 アンカーなどで何を試しても、次のbashスクリプトは生成された正規表現では機能しません。 temp="eu-west 140.243.64.99 " regexp="(?:\d{1,3}\.)+(?:\d{1,3})" if [[ $temp =~ $regexp ]]; then echo "found a match" else echo "No IP address returned" fi

2
サブオブジェクト内のすべてのjq印刷キーと値
オブジェクト内のすべてのキーを出力するためのソリューションを備えたこのQ / Aを見つけました。 jq -r 'keys[] as $k | "\($k), \(.[$k] | .ip)"' 私の場合、上記を実行したいのですが、サブオブジェクトに対して: jq -r '.connections keys[] as $k | "\($k), \(.[$k] | .ip)"' これを行うための適切な構文は何ですか?
12 json  jq 

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