Unix & Linux

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

4
変数内の文字を置き換える最短の方法
変数内の文字を置き換えるには多くの方法があります。 私が見つけた最短の方法はtrこれまでのところです: OUTPUT=a\'b\"c\`d_123and_a_lot_more OUTPUT=$(echo "$OUTPUT"|tr -d "'\`\"") echo $OUTPUT もっと速い方法はありますか?そして、これは'、"および `のような引用に対して安全です?
18 bash  string  variable 

1
他のユーザーにアクセスを許可せずに、特定のユーザーにデバイスへのアクセス許可を与える
にカードリーダーを取り付けてい/dev/sdbます。 私がやっていることは、所有者、グループ、そして世界のその他の人々にすべての許可を与えることです: sudo chmod 777 /dev/sdb 別の組み合わせを使用して、所有者(私)のみがカードリーダーを使用できるようにすることはできますか? ユーザーアカウントは1つだけです。


1
マシンを再起動した後、スクリプトを続行する方法は?
私はbashでシェルスクリプトを書いています。スクリプトのある時点で、続行する前にマシンを再起動する必要があることを検出します。以下を発行します。 sudo reboot マシンが復旧すると、このスクリプトで必要な作業がさらにあります。このスクリプトで作業を続行するために何かを構成するにはどうすればよいですか? 次の再起動時に実行されるようにシェルスクリプトを記述できる場所があると想定しています。そのような場所はどこですか?cronには@rebootディレクティブがあります。また、Apacheなどのサービスは、起動時に起動時に起動されることも知っています。どちらかが適切なメカニズムでしょうか?もしそうなら、どのようにトリガーされますか? このスクリプトは、再起動のたびに実行されるのではなく、1回実行するだけで済みます。そのため、次の再起動時に実行される場所に移動するか、実行後に自身を削除する必要があります。 この質問では、再起動後にアプリケーションの状態を保存する方法について尋ねられます。私のスクリプトにはあまり状態がないので、それを管理できます。次回の再起動後にこのスクリプトで何かを実行させる方法を知る必要があるだけです。 私の特定のバージョンはUbuntu Linux 14.04です。元のスクリプトは、システム管理者がコマンドラインで起動します(cronから実行するのではありません)。

4
Linuxでファイル名に名前を付けるときに特定の特殊文字を使用するのは正しいですか?
それはように、特定の特殊文字を使用するために正しいことを+、&、'、.(ドット)と,ファイル名に、基本的には、(カンマ)。 私はあなたが使用できることを理解-し、_何の問題もなく、私は他のシンボルについての明確な何かを見つけることができなかったいくつかの研究を行っています。あなたができると言う人もいれば、できないと言う人もいれば、それらを使用することが「推奨されていない」と言う人もいます(それが何であれ)。

2
Debianの内部時計を(NTPサーバーと)同期させる方法は?
最新のDebian 7.5(wheezy)インストールを実行するホームサーバーがあります。 サーバーの内部クロックが将来 ±3分に設定されていることがわかりました。 NTPを使用してDebian(およびマザーボードの内部時計)をNTPと同期できることはわかっていたので、フランス語のDebian Wikiに記載されている手順に従ってNTPをインストールしました(英語のページはあまり詳しくありません)。 次のコマンドを使用して、内部クロックを同期しました。 ntpdate -B -q 192.168.0.254 クロックは正常に調整されました。しかし、これは一時的な解決策なので、NTPデーモンをインストールし、/etc/ntp.confファイルにローカルサーバーを追加しました。 # pool.ntp.org maps to about 1000 low-stratum NTP servers. Your server will # pick a different set every time it starts up. Please consider joining the # pool: <http://www.pool.ntp.org/join.html> # added server 192.168.0.254 server 0.debian.pool.ntp.org iburst server 1.debian.pool.ntp.org …
18 debian  ntp  ntpd 

1
resize2fsを使用してパーティションのサイズを変更できない
最近、VMWare ESXiでVMのハードドライブのサイズを150 GBから500 GBに変更しました。これを行った後、Gpartedを使用して、このイメージのパーティションのサイズを効果的に変更しました。今、私がしなければならないことは、ファイルシステムのサイズを変更することです。なぜなら、まだ古い値が表示されているからです(の出力からわかるようにdf -h): Filesystem Size Used Avail Use% Mounted on /dev/mapper/owncloud--vg-root 157G 37G 112G 25% / udev 488M 4.0K 488M 1% /dev tmpfs 100M 240K 100M 1% /run none 5.0M 0 5.0M 0% /run/lock none 497M 0 497M 0% /run/shm /dev/sda1 236M 32M 192M 14% /boot ただし、実行sudo resize2fs …

2
chown(1)POSIX仕様の説明
chownユーティリティのPOSIX仕様では、その理論的根拠のセクションでchown user:group構文(以前はchown user.group)(強調マイン)について言及しています。 所有者とグループの両方を指定する4.3 BSDメソッドは、POSIX.1-2008のこのボリュームに含まれています。 chgrpおよびchown(ユーザーIDのみを変更した)ユーティリティを使用して目的の終了条件を達成できない場合があります。(現在の所有者が目的のグループのメンバーではなく、目的の所有者が現在のグループのメンバーでない場合、chown()関数は、所有者とグループの両方が同時に変更されない限り失敗する可能性があります。) user:group構文は便利だと思いました。さて、上記のことは、chown user:groupできないこととできないことがあることを暗示していますchgrp group; chown user 今、そのテキストは私には意味がありません。4.3BSDでは、rootのみが所有者をファイルに変更できるため、どのような場合でも彼ができることには制限がありません。 SysVと他のいくつかのシステムでは、ファイルの所有者がファイルのユーザーとグループを任意に変更できます(または許可するために使用されます)が、これらのシステムでも、上記のテキストは意味がありません。OK、ファイルの所有者ではなくなったため、後でchown someone-else the-file行うことはできませんがchgrp something-else the-file、chgrp最初(ファイルの所有者にとどまる)chown以降を行うことを妨げるものは何もありません。上記のテキストは正確に言っています。 私は、現在のグループのメンバーではなく、希望する所有者が問題にどのように関係しているかを理解していません。 では、所有者とグループの両方が同時に変更されない限り、chown()関数が失敗する可能性がある条件は何ですか?
18 posix  chown 

6
今すぐSSHセッションで実行されるプログラムからの出力を停止する
問題 SSHを介して大量の情報を出力するコマンドを実行します。たとえば、100万回実行されるループ内にデバッグ情報を愚かに追加するか、単にcat /dev/urandomキックのために実行します。 端末には情報が殺到しています。 コマンドをできるだけ早く終了し、プログラムを修正したい。何が印刷されるかは気にしません。さて、問題はCtrl+ CASAP を押すことです(上記の例ではコマンドを実行した直後にそれを押しました)が、不要な情報もすべて印刷するには時間がかかります。 私が試したこと Ctrl+ Cを強く押して、ターミナルがついに追いついたときに面白い結果が得られました。 OUTPUT HERE^C rr-@burza:~/xor$ ^C rr-@burza:~/xor$ ^C rr-@burza:~/xor$ ^C ^C^C ^C^C^C^C^C^C^C^C^C^C^C ^C^C^C^C^C^C^C^C^C^C ^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C ^C^C^C^C^C^C^C ^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C ^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C ^C^C^C^C^C^C^C^C^C^C^C^C^C rr-@burza:~/xor$ ^C rr-@burza:~/xor$ ^C rr-@burza:~/xor$ ^C rr-@burza:~/xor$ ^C rr-@burza:~/xor$ ^C rr-@burza:~/xor$ ^C rr-@burza:~/xor$ ^C rr-@burza:~/xor$ ^C rr-@burza:~/xor$ ^C 私も読んCtrl+ Sどうやら、端末伝えるために使用される「停止出力を、私は追いつくために必要がある」どうやら、それは何もしません。 その他の詳細 実行しているプログラムがそのようになる可能性があることを覚えていなくても、実行するコマンドを変更したくないので、どんな状況でも自分を救うことができます。 SSHクライアントはCYGWIN_NT-6.1-WOW64 luna …
18 ssh  terminal  cygwin 

2
I / OとCPUも記録する「時間」のようなものはありますか?
プロセスの実行時間を次のようにしてかなり迅速に監視できますtime。 x@y ~ $ time foo real 0m14.299s user 0m4.770s sys 0m0.440s 引数のI / OとCPU使用率について同じデータを取得し、STDOUTに記録する方法はありますか?次のような単純なコマンドまたはユーティリティtimeが理想的です。実行したいものの引数を渡すだけです。 x@y ~ $ stats foo wallclock runtime 0m14.299s I/O reads 290,420 KB I/O writes 239,429 KB peak CPU usage 18.62% mean CPU usage 1.44% # etc.

2
ポータブルスクリプトを記述することが重要なのはいつですか?
私が書くコードのほとんどはPHPにあります。最近、シェルスクリプトの学習を始めました。私が出会ったほとんどのリソースとチュートリアルは、Bashに固有のものです。バシズムについて警告する人もいれば、警告しない人もいます。私はこことStack Overflowについてたくさん読んでいます。 答えがbashismsを使用するときは常に、誰かが次のようにコメントすることは避けられません。 <bashismをここに挿入>は使用しないでください。ポータブルではありません。 これは、質問にがタグ付けされている場合でも発生しbashます。私にとって、それはPHP 4で使用できないため、PHP 5の新しいコードを使用すべきではないことをPHPプログラマーに伝えるようなものです。 Windowsで。 PHPで作成する場合、最小要件を選択し、前方互換コードを作成します。下位互換性について心配する必要はありません。 #!/bin/bashシバンとして使用する場合、なぜバシズムを使用してはいけないのですか?私は、一部の人々がちょうどそれのためにバシズムをバッシングすること(意図されたしゃれ)を好むという印象を受け始めています。 多くの場合bash、shellbashは多くのシステムでデフォルトのシェルであるという事実により、人々は頻繁に使用し、交換可能です。したがって、コードがバシズムを使用していることを警告するコメントを追加することは理解できますが、それらを使用することは間違っているという意味を理解していません。 明らかに、私が個人的に使用するためだけにスクリプトを書いている場合、私は好きな言語でそれを書くことができます。しかし、私が書いたコードの一部は他の人にとっても役立つと思いたいです。 投稿する前に質問の答えを探してみました。移植性をテストする方法に関する多くの情報を見つけましたが、そうすることが重要な場合については何も見つかりませんでした。 それで、いつ移植可能なスクリプトを書くことが重要ですか? 例えば、 どんな種類のスクリプトを可能な限り移植可能にするべきですか? Bashがインストールされていないシステムはどのくらい一般的ですか? システムにBashがインストールされている場合、GNUバージョンのfindおよびその他のユーティリティもありますか?


1
ファイルを同期する最良の方法-既存のファイルのみをコピーし、ターゲットよりも新しい場合のみ
Ubuntu 12.04でこの同期をローカルで実行しています。ファイルは通常、小さなテキストファイル(コード)です。 私はから(mtimeのスタンプを保存)をコピーしたいsourceのディレクトリtargetが、私はのみで、ファイル場合コピーしたいtarget すでにが存在している高齢の1以上source。 ですから、sourceでは新しいファイルのみをコピーしていますが、に存在している必要targetがあります。そうしないとコピーされません。(。sourceより多くのファイルがありtargetます。) 実際sourceに複数のtargetディレクトリからコピーします。ソリューションの選択に影響する場合に備えて、これについて言及します。ただし、target必要に応じて、新しいコマンドを毎回指定して、コマンドを複数回簡単に実行できます。

4
なぜホイールとオペレーターにルートがあるのですか?グループに所属するルートはこれまでに違いをもたらすことができますか?
FreeBSDマシンで、rootがwheelとoperatorにあることに気づきました。UID 0がグループ内にあると、...なんでも...何にも影響する状況を考えようとしています。さらに、rootは/ etc / passwdにプライマリログイングループを必要としますか?または、ユーザーが空のプライマリグループフィールドを持っている場合、login(3)は窒息して死にますか? (明確にするために、ファイルにはグループ所有者が必要なので、「root」グループの存在の目的を理解しています。ユーザーroot / toor / whateverがそのグループメンバーシップを持っていることの重要性を理解していません。) これは何十年も前のことなのでしょうか、それとも本当の理由がありますか?
18 freebsd  login  root  group 

3
grep出力から非常に長いテキスト行を持つファイルを除外します
私は頻繁にgrepコマンドを実行してコード内の項目を見つけますが、Webプロジェクトの問題は、1行の巨大なテキスト行を作成する圧縮されたJavaScriptファイルとCSSファイルがあることが多いため、一致が見つかった場合、ターミナルウィンドウ全体が1000行を超えて入力されているため、探しているものを見つけるのは非常に非現実的です。 だから、200文字以上のテキストの単一行と言っているファイルを避ける方法はありますか?
18 grep 

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