タグ付けされた質問 「shell」

シェルは、Unixのコマンドラインインターフェイスです。シェルにインタラクティブにコマンドを入力するか、スクリプトを記述してタスクを自動化できます。/ bin / shおよび最も互換性のあるシェル(ash、bash、ksh、zshなど)に適用される質問には、このタグを使用します。エラーのあるシェルスクリプトについては、ここに投稿する前にhttp://shellcheck.netで確認してください。

7
別の(非ルート)ユーザーとしてGUIアプリケーションを実行する
2つのユーザーアカウントuser1とを持っているとしuser2ます。としてログインしてuser1からuser2を使用するようsuに切り替えると、コマンドラインプログラムを実行できますが、GUIプログラムは失敗します。 例: user1@laptop:~$ su - user2 user2@laptop:~$ leafpad ~/somefile.txt No protocol specified leafpad: Cannot open display: それでは、GUIアプリケーションをどのように実行できますか?
34 shell  x11  xorg  su 


4
コマンドラインから実際にシンボリックリンクの場所にいるかどうかを知る方法は?
フォルダーがあるとします: cd /home/cpm135/public_html シンボリックリンクを作成します ln -s /var/lib/class . 後で、私はそのディレクトリにいます: cd /home/cpm135/public_html/class pwd私はよ私に言うために起こっています/home/cpm135/public_html/class 私が「本当に」いることを知る方法はあります/var/lib/classか?ありがとう


6
clearコマンドはどのように機能しますか?
私は最近、シェルがどのように機能するかについてもっと知りたいと思っていて、clearコマンドがどのように機能するかを見ていました。実行可能ファイルが配置さ/usr/bin/clearれ、多数の空白行(端末の高さに等しい)を出力し、端末の左上にカーソルを置きます。 端末のサイズに関係なく、コマンドの出力は常に同じです。 $ clear | hexdump -C 00000000 1b 5b 48 1b 5b 32 4a |.[H.[2J| 00000007 まったく同じ効果を持つエコーで複製できます。 $ /bin/echo -e "\x1b\x5b\x48\x1b\x5b\x32\x4a\c" このコマンドの出力がコンソールのクリアにどのように変換されるのか、本当に興味がありました。
33 shell  terminal 

9
vi内のbashコマンド
viの中にbashコマンドを入力してstdoutを取得することは可能ですか? シェルで何かを調べたいという理由だけで、viを閉じて再度開くのは面倒です。
33 bash  shell  vim  vi 


3
入力データを「タブ化」するシェルツール
かなり前に、きれいにフォーマットされたテーブルに入力するコマンドを使用したことを覚えています。 たとえば、この入力の場合、 apple 1 100 orange 20 19 pineapple 1000 87 avocado 4 30 出力は次のようになります。 apple 1 100 orange 20 19 pineapple 1000 87 avocado 4 30 このツールの名前を知りたいです。
33 shell 


15
同じLinuxコマンドを複数のタブ/シェルで同時に実行するにはどうすればよいですか?
Linuxに複数のタブで同時にコマンドを実行するために使用できるツール/コマンドはありますか?同じコマンドを実行したい:./myprog argument1 argument2同時に複数のシェルで、スレッドプログラムでミューテックスが正常に機能しているかどうかを確認します。このプログラムのインスタンスの数を増やして、後でコードにストレスがかかるようにします。 壁のようなものを探しています。ttyを使用することも考えられますが、これをもっと多くのシェルに拡張する必要がある場合、それは非常に苦痛のように思えます。

4
シーケンスのシェルブレース展開で$ variableを使用するにはどうすればよいですか?
$var inbashで、範囲を持つシェルブレース拡張を使用します。単純に置くだけで{$var1..$var2}はうまくいかないので、「横向き」にした... 以下は動作しますが、少し面倒です。 # remove the split files echo rm foo.{$ext0..$extN} rm-segments > rm-segments source rm-segments もっと「通常の」方法はありますか?

8
ファイル名の拡張子を取得する
bashからファイル拡張子を取得するにはどうすればよいですか?ここに私が試したものがあります: filename=`basename $filepath` fileext=${filename##*.} それをすることでbz2、パスからの拡張を取得できます/dir/subdir/file.bz2が、パスに問題があります/dir/subdir/file-1.0.tar.bz2。 可能であれば、外部プログラムなしでbashのみを使用するソリューションをお勧めします。 質問を明確にするために、bashスクリプトを作成して、指定されたアーカイブを1つのコマンドだけで抽出しましたextract path_to_file。その圧縮を見たりタイプをアーカイブすることにより、スクリプトによって決定されますどのようにファイルを抽出するために、それは私が拡張子を取得する場合.bz2などI例えば、これは文字列操作を関与させるべきだと思う、.gzを、.tar.gzの可能性があり.gz、私はその後、.tar前に文字列があるかどうかを確認する必要があります.gz—その場合、拡張子はである必要があります.tar.gz。
33 bash  shell  filenames 

5
tar抽出はファイル名に依存しますか?
sourceforge.netからwgetでtarballをダウンロードすることがよくあります。 ダウンロードされたファイルには、たとえば SQliteManager-1.2.4.tar.gz?r=http:%2F%2Fsourceforge.net%2Fprojects%2Fsqlitemanager%2Ffiles%2F&ts=1305711521&use_mirror=switch しようとすると tar xzf SQliteManager-1.2.4.tar.gz\?r\=http\:%2F%2Fsourceforge.net%2Fprojects%2Fsqlitemanager%2Ffiles%2F\&ts\=1305711521\&use_mirror\=switch 次のエラーメッセージが表示されます。 tar (child): Cannot connect to SQliteManager-1.2.4.tar.gz?r=http: resolve failed gzip: stdin: unexpected end of file tar: Child returned status 128 tar: Error is not recoverable: exiting now ファイルの名前をfoo.tar.gz抽出に変更すると、完璧に機能します。 ターゲットファイルを抽出する前に毎回名前を変更することを強制されない方法はありますか?
33 shell  tar  gzip 



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