Unix & Linux

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

16
シンプルなコマンドライン計算機
問題: 時々、コマンドライン環境で簡単な算術演算を行う必要があります。EGは次の出力を与えました: Disk /dev/sdb: 256GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 106MB 105MB fat32 hidden, diag 2 106MB 64.1GB 64.0GB ext4 3 64.1GB 192GB 128GB ext4 5 236GB 256GB 20.0GB linux-swap(v1) パーティション3と5の間の未割り当て領域のサイズをコマンドラインで計算する簡単な方法は何ですか? 私がすでに試したこと: 紀元前 bc bc 1.06.95 …
19 shell  calculator 

2
特定の拡張子を持つファイルをscpでコピーする
.jpgとで.pngファイルをコピーしたいのですが、コピー元とscp同じフォルダに異なる拡張子のファイルがあります。私は次のことをしています: scp user@someRemoteHost.com:/folder/*.{jpg,png} . 拡張機能タイプごとにパスワードを入力するよう求められます。パスワードを一度だけ入力するような方法でこれを行う方法はありますか?
19 scp 

6
存在しない場合にファイルを作成するシェルスクリプトですか?
ファイルの存在をチェックし、ファイルが存在しない場合は作成し、次のコマンドに進むか、次のコマンドに進むシェルスクリプトを作成する必要があります。私が持っているものはそれをしません。 #!/bin/bash # Check for the file that gets created when the script successfully finishes. if [! -f /Scripts/file.txt] then : # Do nothing. Go to the next step? else mkdir /Scripts # file.txt will come at the end of the script fi # Next command (macOS preference setting) defaults …
19 bash  shell-script  osx 


6
多くのファイルでコマンドを実行する
多くのファイル(xyz1、xyz2、xyz5025まで)を含むフォルダーがあり、それらのすべてでスクリプトを実行し、xyz1.faa、xyz2.faaなどを出力として取得する必要があります。 単一ファイルのコマンドは次のとおりです。 ./transeq xyz1 xyz1.faa -table 11 それを自動的に行う方法はありますか?たぶん、フォーコンボですか?


4
ゾンビプロセスを殺す別の方法
CentOS 6.8(Final)のゾンビプロセスに気づき、それらを強制終了しようとしましたが、まだそこにあります。 [root@host user]# ps -ef | grep git tomcat 746 1 0 Jul18 ? 00:00:00 git clone https://github.com/angular/bower-angular.git -b v1.3.20 --progress . --depth 1 tomcat 747 746 0 Jul18 ? 00:00:00 [git-remote-http] <defunct> root 20776 20669 0 09:03 pts/3 00:00:00 grep git tomcat 29970 1 0 Jul18 ? 00:00:00 …
19 process  kill 

3
1つのtmuxセッションで複数の端末x-windowsを使用する
私は通常、非常に垂直に配置されていない2つのモニターで作業します(左のモニターの下にベンチトップ電源があります)が、画面に4つのターミナルウィンドウを並べて、簡単に循環できるようにしたいです: この配置は、キーボードだけでは4つすべてを簡単に循環させることができないため、非常に悲しくなります(4つすべてのウィンドウの「順序付け」を保持しないため、alt-tabはそれをカットしませんalt-tabを繰り返し押します。最近使用した2つのウィンドウ間でバウンドします) tmuxに2番目のx-windowを生成させて、それぞれに2つのtmuxペインがある2つのx-windowを作成する方法はありますか?
19 terminal  tmux 

2
Bash .hushlogin、最終ログイン時刻とホストを保持
私の会社では、いくつかのサーバーにログインすると、最後のログインと大きなバナーが表示されます。 me@my-laptop$ ssh the-server Last login: Mon Feb 8 18:54:36 2016 from my-laptop.company.com ************************************************************************ * * * C O M P A N Y I N F O R M A T I O N S Y S T E M S * * * * !WARNING! Your connection has …
19 bash  login  motd 

6
`dd if = / dev / zero of = / dev / sda`は何をしますか
編集済み:データを破棄する場合を除き、これを実行してテストしないでください。 誰かが私が得たものを理解するのを手伝ってもらえますか? dd if=/dev/zero of=/dev/sda bs=4096 count=4096 Q:なぜ特に4096 countですか? dd if=/dev/zero of=/dev/sda bs=512 count=4096 seek=$(expr blockdev --getsz /dev/sda - 4096) Q:これは正確に何をしますか?
19 udev  dd  disk 

4
$ IFS変数を「バックアップ」するのは正しいアプローチですか?
それは$IFSグローバルを破壊しているので、私はいつも混乱するのを本当にheしています。 しかし、多くの場合、文字列をbash配列にロードすると、簡潔かつ簡潔になります。また、bashスクリプトの場合、簡潔さを実現するのは困難です。 だから、開始内容$IFSを別の変数に「保存」して$IFS、何かに使い終わったらすぐにそれを復元しようとすると、何よりも良いかもしれません。 これは実用的ですか?それとも本質的に無意味IFSですか、それ以降の使用に必要なものに直接戻す必要がありますか?

3
シャットダウン時のメッセージ:ウォッチドッグは停止しませんでした!
シャットダウン時によくメッセージが表示されます watchdog did not stop! そして、ラップトップはシャットダウンせずに他の数行後にフリーズします。 これを修正する方法についてのアイデアはありますか?最近、それは非常に頻繁に起こりました。通常、ラップトップの電源がしばらく入れられていたときです。 Asus UX32LAでDebian 8を使用しています このsystemdファイルを見つけました(shutdown.targetとの競合を示しています)。私の印象では、問題はバックライトを修正しようとしている私に起因する問題に依存しているということです(実際にはgrubパラメータ「acpi_osi =」でのみ動作します) [Unit] Description=Load/Save Screen Backlight Brightness of %i Documentation=man:systemd-backlight@.service(8) DefaultDependencies=no RequiresMountsFor=/var/lib/systemd/backlight Conflicts=shutdown.target After=systemd-readahead-collect.service systemd-readahead-replay.service systemd-remount-fs.service Before=sysinit.target shutdown.target [Service] Type=oneshot RemainAfterExit=yes ExecStart=/lib/systemd/systemd-backlight load %i ExecStop=/lib/systemd/systemd-backlight save %i

2
tmux強制ウィンドウのサイズ変更
通常、特定のWindowsサーバー(W1)からリモートLinuxサーバーに接続します。Windows側ではパテを使用し、Linux側ではtmuxを起動します。 時折、別のWindowsサーバー(W2)を使用して、同じtmuxセッションに接続する必要があります。 問題:W1でパテウィンドウのサイズを設定した場合、W2でこのサイズを超えることはできません。パテウィンドウを最大化すると、余分なスペースは使用できなくなり、〜文字で埋められます。 W1が部分的な出力のみを表示することを意味する場合でも、W2でサイズ変更を「強制」する方法はありますか?または、W1をtmuxセッションから切断する方法ですか?
19 tmux 

4
bash:プロセス置換でエラーを伝播する方法は?
シェルスクリプトを使用して実行されたコマンドが失敗するたびにシェルスクリプトが失敗するようにします。 通常、私はそれを以下で行います: set -e set -o pipefail (通常、私set -uも追加します) 問題は、上記のいずれもプロセス置換では機能しないことです。このコードは「ok」を出力し、リターンコード= 0で終了しますが、失敗させたいと思います。 #!/bin/bash -e set -o pipefail cat <(false) <(echo ok) 「pipefail」に相当するものがありますが、プロセスの代替はありますか?コマンドの出力をファイルであるとしてコマンドに渡す他の方法がありますが、これらのプログラムのいずれかが失敗するたびにエラーが発生しますか? 貧乏人の解決策は、これらのコマンドがstderrに書き込むかどうかを検出することです(ただし、一部のコマンドは成功したシナリオでstderrに書き込みます)。 posix準拠のもう1つのソリューションは、名前付きパイプを使用することですが、コンパイル済みコードからオンザフライで構築されたonelinersとして、それらのコマンドを使用するプロセス置換を実行する必要があり、名前付きパイプを作成すると物事が複雑になります(余分なコマンド、削除など)

2
ビジーディスクを読み取り専用モードに再マウントします
ディスクパーティションを強制的に読み取り専用モードにし、30分以上読み取り専用にしたい。 私が試したもの: mount -o remount,ro (partition-identifier) (mount-point) -t (filesystem) 問題:一部のプロセスがパーティションを使用しているため、デバイスビジーエラーが発生しました。ディスクを使用しているプロセスを強制終了したくありません。プロセスがまだ使用しているときに、突然読み取り専用になるディスクをシミュレートしたいと思います。 以下のようなマジックsysrqキーを使用しました echo u > /proc/sysrq-trigger 問題:これにより、すべてのディスクパーティションが読み取り専用になります(ただし、デバイスはビジー状態になります)。しかし、20〜30分後、マシンは自動的に再起動します。一部のマシンは、このコマンドが実行されるとすぐに再起動します。このリブートの原因はまだわかりません。マシンを自動的に再起動させたくないので、ディスクを30分以上読み取り専用モードに維持する必要があります。 質問:単一のディスクパーティションを強制的に読み取り専用にし、その状態で30分維持し、プロセスを再起動せずに読み取り/書き込みモードに戻すより良い方法はありますか?

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