Unix & Linux

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

1
(なぜ)ls -Aを使用して隠しファイルを一覧表示するのは悪いことですか?
現在のディレクトリにある隠しファイルを含むすべてのファイルを一覧表示したい。親(..)および現在の(。)ディレクトリを含めたくありません。 私はこれを見つけました: 現在のディレクトリと親ディレクトリを除くすべての隠しファイルをグロブする方法 最後に、誰かls -Aが行く方法であると述べていますが、それは反対です。ただし、動作するようです。何が問題になっていls -Aますか?
9 ls  filenames 


3
スクリプト出力の自己リダイレクトに相当するダッシュ
Bashでは、現在実行中のスクリプトの将来のすべての stdout出力をリダイレクトできます。たとえば、このスクリプトでは、 exec > >(logger -t my-awesome-script) echo 1 echo 2 echo 3 これはsyslogで終わります: Oct 26 01:03:16 mybox my-awesome-script[72754]: 1 Oct 26 01:03:16 mybox my-awesome-script[72754]: 2 Oct 26 01:03:16 mybox my-awesome-script[72754]: 3 しかし、これはBash固有であり、リダイレクトを備えたネイキッドexecはDashでは機能しないようです。 Syntax error: redirection unexpected Dashで、またはおそらく両方のシェルで機能させるにはどうすればよいですか?

2
bashおよびzshにおける&& vs&の優先順位
この質問に答えると、bashとの動作に非常に面白い(そして微妙な)違いがあることがわかりましたzsh。 でbash: romano@RRyS:~$ pwd /home/romano romano@RRyS:~$ alias x="cd /bin && ./echo A >/dev/null &" romano@RRyS:~$ x [1] 16611 romano@RRyS:~$ pwd /home/romano ご覧のとおり、エイリアスの実行はxサブシェルで実行されるため、現在のディレクトリは変更されません。 にないzsh: [romano:~] % pwd /home/romano [romano:~] % alias x="cd /bin && ./echo A >/dev/null &" [romano:~] % x [1] 16744 [1] + 16744 done ./echo A >/dev/null 1& …
9 bash  shell  zsh 

2
クリップボードの内容とそのMIMEタイプを表示できるアプリケーション?
クリップボードの内容の詳細を表示できるアプリケーションを探しています。 一部のデータをクリップボードにコピーすると、データは特定のMIMEタイプに関連付けられます。通常のテキストはtext/plain、バイナリデータはapplication/octet-streamなどとしてコピーできます。バイナリデータをコピーし、独自のMIMEタイプとしてタグ付けするアプリケーションがあります。それがどのタイプで、どのようなデータがあるかを確認したいと思います。 ターゲットはクリップボードオブジェクトのMIMEタイプがであると想定しているため、クリップボードの内容をターゲットのメモ帳のようなアプリケーションに貼り付けることはできませんtext/plain。 現在存在するすべてのMIMEタイプのオブジェクトをクリップボードに列挙するアプリケーションでも十分です。
9 x11  clipboard 

1
Ubuntuの非インタラクティブシェルでMySQL APTリポジトリを設定するにはどうすればよいですか?
Ubuntu 12仮想マシンを実行するTravis CIに MySQL 5.7をインストールしたい。 公式のMySQL APTリポジトリを使用したいと思います。 wget http://dev.mysql.com/get/mysql-apt-config_0.2.1-1ubuntu12.04_all.deb sudo dpkg --install mysql-apt-config_0.2.1-1ubuntu12.04_all.deb しかし問題は、このパッケージをインストールすると、次の質問をするインタラクティブメニューが開くことです。 Which Server version do you wish to receive? - mysql-5.6 - mysql-5.7-dmr インストールは自動化されたスクリプトの一部なので、私は質問に答えるためにターミナルの後ろにいるわけではありません。私がドキュメントで見つけることができる唯一のものは: メジャーリリースバージョンの選択 デフォルトでは、MySQLサーバーとその他の必要なコンポーネントのインストールとアップグレードはすべて、構成パッケージのインストール中に選択したメジャーバージョンのリリースシリーズからのものです(MySQL APTリポジトリの追加を参照)。ただし、インストールした構成パッケージを再構成することにより、サポートされている別のメジャーリリースシリーズにいつでも切り替えることができます。次のコマンドを使用します。 shell> sudo dpkg-reconfigure mysql-apt-config ただし、これでもインタラクティブメニューが開きます。 このAPTリポジトリをインストールmysql-5.7-dmrして、非対話型シェルでを使用するように構成するにはどうすればよいですか?
9 mysql  dpkg  debconf 

1
なぜbashは解析/実行のものも環境変数に入れるのですか?
bash のshellshockバグは、環境変数を介して機能します。正直なところ、次のような機能があることに驚きました。 「env varsによる関数定義の受け渡し」 したがって、この質問は完全に定式化されていない可能性がありますが、この機能が必要になる例またはケースを尋ねることですか? ボーナス。他のシェルzsh、ダッシュなどにもこの機能がありますか?

4
予期しないEOFおよび構文エラー
現在、3度目のシェルスクリプトを書いていて、問題が発生しました。これはこれまでの私のスクリプトです: #!/bin/bash echo "choose one of the following options : \ 1) display all current users \ 2) list all files \ 3) show calendar \ 4) exit script" while read do case in 1) who;; 2) ls -a;; 3) cal;; 4) exit;; esac done スクリプトを実行しようとすると、次のようになります。 line2 : unexpected EOF …

2
エコーテスト| stty -echo-> stty:標準入力:デバイスの不適切なioctl
私は次のようにユーザー入力を受け取るperlスクリプトで遊んでいました: system( qw( stty -echo ) ); $? == 0 or die "Error unable to disable character printing.\n"; print "$prompt: "; my $input = <STDIN>; echoを使用して応答をパイプすることができると思いましたが、stty -echoコマンドと競合し、次のエラーを生成します。 stty: standard input: Inappropriate ioctl for device perlスクリプトを変更せずに、入力を渡すためにbashで何ができるでしょうか?何が問題の原因ですか?
9 bash  perl  stty 

2
環境変数で関数を定義する機能自体がセキュリティリスクではないのはなぜですか?
私が理解しているように、一般に、環境変数に格納される情報を誰にでも提供しても安全だと考えられています。シェルショックの脆弱性はここでの問題です。これは、bashの新しいインスタンスが起動したときに環境変数内の関数定義の最後のコードが実行され、サーバー上で実行したいコードをだれにも実行させたくないということです。 。関数定義自体は明らかにセキュリティリスクではありませんが、コードを実行するには明示的に呼び出す必要があるため許可されています。 私の質問は、悪意のあるユーザーが悪意のあるコードを一般的なコマンドとして含む関数を単純に定義できずls、スクリプト(または実行されているもの)がいつかこのコマンドを使用することを期待できないのですか? 私が考えていることの例: $ export ls='() { echo "doing bad things..."; }' $ bash -c ls doing bad things...

2
プロセスがファイルへの書き込みを終了したことを確認するにはどうすればよいですか?
シェルから生成されたプロセスがあります。これは、バックグラウンド・プロセスとして実行されているとにおけるCSVファイルにDBをエクスポートしています/tmp。 バックグラウンドプロセスが完了(終了/終了)したとき、またはCSVファイルロックが閉じたかどうかを確認するにはどうすればよいですか?ファイルが書き込まれたら、別のホストにFTPで転送する予定ですが、ファイル転送を開始する前に完全なファイルが必要です。
9 files  process  lock 

2
埋め込まれたinitramfsを抽出する
1つのinitramfsが埋め込まれたカーネルがあります。抽出したいです。 私がするx86 boot sectorときに出力を得ましたfile bzImage このカーネルイメージ用のSystem.mapファイルがあります。 System.mapファイルを使用して、または使用せずに、このカーネルから組み込みinitramfsイメージを抽出する方法はありますか? システムマップファイルにある興味深い文字列は次のとおりです(役立つ場合に備えて)。 57312:c17fd8cc T __initramfs_start 57316:c19d7b90 T __initramfs_size

2
子サブボリュームを持つbtrfsサブボリュームのロールバック
子サブボリュームを持つサブボリュームスナップショットにロールバックする標準的な方法はありますか?したがって、たとえば、これは私のbtrfsボリュームレイアウトです。 ID 257 gen 59802 top level 5 path __active ID 258 gen 59784 top level 5 path __snapshot ID 259 gen 59802 top level 257 path home ID 260 gen 36538 top level 257 path opt ID 261 gen 59802 top level 257 path var したがって、home、opt、およびvarが__activeの子サブボリュームであることがわかります。これが私の新しいレイアウトになるように__activeをスナップショットすると: ID 257 gen …
9 btrfs  snapshot 

1
sedのN番目から最後の行以外をすべて印刷するにはどうすればよいですか?
の補完/反対をしたい sed 13q;d <file.txt より一般的には、この種の補数/逆数/逆数をこのようにすることは可能sedですか?または正規表現のみですか? 最後から3行目以外のすべてを印刷するにはどうすればよいですか。これには2 tacの値が必要であり、それを数える必要がありsedますか?それともsed、後ろから数える方法はありますか?

1
環境変数の場所がなぜそれほど異なるのですか?
Jack Ericksonによる本「ハッキング:悪用の芸術」を読んで、私はSHELLCODEプログラムを悪用するために環境変数のアドレスを概算しようとしています。 getenv("SHELLCODE");場所を取得するために実行するたびに、結果は完全に異なります。 私のシェルから抽出します: > for i in $(seq 10); do ./a.out SHELLCODE; done SHELLCODE is at 0xff9ab3a3 SHELLCODE is at 0xffcdb3a3 SHELLCODE is at 0xffb9a3a3 SHELLCODE is at 0xffa743a3 SHELLCODE is at 0xffdb43a3 SHELLCODE is at 0xfff683a3 SHELLCODE is at 0xffef03a3 SHELLCODE is at 0xffc1c3a3 SHELLCODE is at 0xff85a3a3 …

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