Unix & Linux

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

3
ファイルシステムをナビゲートするときに、Unixはユーザーの作業ディレクトリをどのように追跡しますか?
UNIXシステムのシェルにログインして、コマンドをタップし始めたとします。最初はユーザーのホームディレクトリで開始します~。そこからcdディレクトリまで行くかもしれませんDocuments。 ここで作業ディレクトリを変更するコマンドは、直感的に理解するのが非常に簡単です:親ノードには、アクセスできる子ノードのリストがあり、おそらく(最適化された)検索のバリアントを使用して、子ノードの存在を見つけますユーザーが入力した名前を入力すると、作業ディレクトリがこれに合わせて「変更」されます。間違っている場合は修正してください。シェルが単純に「単純に」ユーザーの希望どおりにディレクトリへのアクセスを試行し、ファイルシステムが何らかのタイプのエラーを返すと、シェルはそれに応じて応答を表示する方が簡単かもしれません。 しかし、私が興味を持っているのは、ディレクトリ、つまり親、または親の親を上に移動するときに同じプロセスがどのように機能するかです。 私の未知の、おそらく「ブラインド」ロケーションを考えると、Documentsその名前のファイルシステムツリー全体にある可能性のある多くのディレクトリの1つで、Unixは次に配置する場所をどのように決定しますか?それを参照しpwdて調べますか?はいの場合pwd、現在のナビゲーション状態をどのように追跡しますか?
29 filesystems  pwd 

3
システムファイルは小文字である必要がありますか(POSIXなど)、標準の一部ですか?
私の会社は、ブランド名が大文字と小文字が混在するアプリケーション(「ApplicationName」など)を再販しています。 アプリケーションのインストーラーは、この標準ですべてのパスとファイル名を作成します。例えば、メインディレクトリは/opt/ApplicationName、initファイルが呼び出されるApplicationNameので、実行するservice ApplicationName status必要があります。 私にとって、これはすべての賢明な慣習を破り、ファイルとディレクトリはすべて小文字である必要があると感じています(ファイルやディレクトリがすべて呼び出されるMySQLなどの他のアプリケーションでは先例がありmysql、ApacheやTomcatのようなアプリケーションでも前のものは廃止されます大文字)。 これをバグ報告として提起する場合、「間違っていると思う」だけでなく、より強力な議論をしたいと思います。それで、POSIX標準のようなもので、このようなシステムファイルは小文字でなければならないと言われていますか?

5
一致しない場合にgrepが終了しないようにする
このスクリプトは「後」をエコーし​​ません。 #!/bin/bash -e echo "before" echo "anything" | grep e # it would if I searched for 'y' instead echo "after" exit また-e、shebang行のオプションを削除した場合も同様ですが、エラーが発生した場合にスクリプトが停止するように、それを保持したいです。grepが一致しないことをエラーと見なすことはありません。突然終了するのを防ぐにはどうすればよいですか?

5
tmuxの内部と外部でVimの色が異なるのはなぜですか?
環境: Fedora 25(4.9.12-200.fc25.x86_64) GNOMEターミナル3.22.1 VTEバージョン0.46.1 + GNUTLSの使用 VIM-Vi IMproved 8.0(2016年9月12日、2017年2月22日コンパイル16:26:11) tmux 2.2 私は最近tmuxの使用を開始し、tmuxの内部または外部のどちらで実行しているかによってVim内の色が変わることを観察しました。以下は、Git diffを表示しているtmuxの外側(左)と内側(右)のVimのスクリーンショットです。 私のTERM変数は tmuxの外側: xterm-256color tmuxの内部: screen-256color Vimはこれらの端末タイプを期待どおりに報告します(経由:set term?): tmuxの外側: term=xterm-256color tmuxの内部: term=screen-256color Vimは、両方のインスタンスが256色モードで実行されていることも報告します(経由:set t_Co?): tmuxの外側: t_Co=256 tmuxの内部: t_Co=256 Vimをtmux内で256色モードで実行することに関して、同様の質問がたくさんあります(私が見つけた最良の答えはここにあります)が、上記の情報を与えられた私の問題ではないと思います。 端末タイプを次のように設定してVimを実行すると、tmuxの外部で問題を再現できますscreen-256color。 $ TERM=screen-256color vim そのため、色の違いの原因xterm-256colorとなるscreen-256color端末機能と端末機能の間に何らかの違いがあるだけだと思います。タイトルで提起された質問につながるのはどれですか:Vimの色が異なる端末の機能で具体的に何が原因ですか?:set termcaptmuxの内部と外部の 実行の違いはわかりますが、どの変数が実際に動作の違いを引き起こすのか興味があります。 前の質問とは無関係に、tmuxの内部または外部で実行するときにVimの色を統一することは可能ですか? 私が試したいくつかのことは次のとおりです。 デフォルト端末を明示的に設定すると、tmuxは~/.tmux.confさまざまな値を使用します(tmux FAQのアドバイスに反するものもあります)。 set -g default-terminal "screen-256color" set -g default-terminal …
29 terminal  vim  tmux  colors 

7
RPMパッケージと.debパッケージの両方をサポートするLinuxディストリビューションを構築することは可能ですか?
rpmパッケージとdebianパッケージの両方をサポートできるLinuxディストリビューションを理論的に構築できるかどうか疑問に思っています。 両方をサポートするディストリビューションがありますか? そして、そうでない場合でも可能ですか?

4
「_ =」の意味は何ですか?
を実行した後set -a var=99、次の出力で文を見つけることができますset。 ... TERM=xterm UID=0 USER=root VIRTUAL_ENV_DISABLE_PROMPT=1 _=var=99 colors=/etc/DIR_COLORS ... 「_ =」の意味を教えていただけますか? 私はそれecho $varが何も与えないことに注意してください。を実行するとset -a、setこの変数は再び含まれなくなります。何が起こっている?

4
フォルダ用に作成された特別なハードリンク「。」のリンクを解除(削除)するにはどうすればよいですか?
Linuxでは、フォルダを作成すると、対応するiノードへの2つのハードリンクが自動的に作成されます。1つは作成を要求したフォルダーで、もう1つは.このフォルダーの特別なフォルダーです。 例: $ mkdir folder $ ls -li total 0 124596048 drwxr-xr-x 2 fantattitude staff 68 18 oct 16:52 folder $ ls -lai folder total 0 124596048 drwxr-xr-x 2 fantattitude staff 68 18 oct 16:52 . 124593716 drwxr-xr-x 3 fantattitude staff 102 18 oct 16:52 .. あなたが見ることができるように、両方folderと.の内部には、folder(で示したものと同じinode番号持つ-iオプション)。 この特別な.ハードリンクを削除する方法はありますか? それは実験と好奇心のためだけです。 また、答えは..特別なファイルにも当てはまると思います。 …

1
Plan 9で「コピー」ではなく「スナーフ」が使用されるのはなぜですか?
Plan 9とそのacmeエディターに関するプレゼンテーションを見ると、コピーの名前がsnarfであることに気付くかもしれません(残念ながら、意味のある説明は見つかりませんでした)。 なぜそうなのですか? その理由はありますか?コピーが最良の名前ではない可能性があるため、この機能の一意の名前を作成することは行われましたか? 参照: ウィキペディア(リンク): Snarf、ブリットおよびプラン9ウィンドウシステムで「コピー」操作に使用される用語。 cat-v.org(リンク): ミッドクリックで使用できる別のメニューがあります。カットアンドペーストは一目瞭然であり、SnarfはコピーのPlan 9の言葉です。 9fansメーリングリスト(リンク): Plan 9でacmeまたは/またはplan9port経由でMac OS Xを使用すると、acme snarfバッファの現在の内容を表示するacmeで開くことができる「ファイル」がありますか? /dev/snarf そのため、snarfバッファーと呼ばれるファイル(明らかに、そのバッファー用のファイルが必要です)があるように見えます/dev/snarf。 9termマニュアルページ(リンク): キーボードで入力した文字が選択したテキストに置き換わります。このテキストが空でない場合、すべてのウィンドウに共通のsnarfバッファーに配置されますが、sam(1)のバッファーとは異なります。 (...) 編集操作は、ボタン2のメニューから選択します。カット操作は、選択したテキストを画面から削除し、snarfバッファーに入れます。snarfは、選択したテキストを削除せずにバッファーにコピーします。貼り付けは、選択したテキストをバッファの内容に置き換えます。sendは、snarfバッファーを出力ポイントの直後にコピーし、欠落している場合は最終的な改行を追加します。貼り付けでは、出力ポイントの後に常にテキストが配置されることがあります。そのように配置されたテキストは、上記のとおりに動作します。したがって、出力ポイントの後に改行を含むテキストを貼り付ける場合、最初に保留モードをオンにすることをお勧めします。 Acmeチュートリアルの探索(リンク): 「Snarf」:他のほとんどのエディターでコピーと呼ばれる dictionary.comのsnarfの定義(リンク): (非公式)貪欲に飲食する (現代)欲で何かをつかむこと、特に。無許可での (Unix)ネットワーク経由でファイルまたはファイルのセットを取得すること。爆発も参照してください。 インフェルノパート2:クラスターを作ろう!(リンク): クリップボードは、InfernoとPlan 9で不幸な名前「snarf buffer」で呼び出されます。

2
Windowsを使用して起動可能なDebian USBドライブを作成する方法
Windows 10を実行していて、USBデバイスから起動する方法を学び始めています。 16GB USB(USB 3.0)ドライブがあり、次のことを行いたい: 16GB USBドライブにDebian Linuxを実行させます。 C:ドライブにWindows 10を保管します。 ハードドライブをパーティション分割したり、デュアルブートを設定したりしないでください。 USBドライブからOSを実行します。 すべてのファイルとプログラムをUSBに保存します(したがって、ライブOSが適しているとは思いません)。ファイルの保存方法と同様に、デュアルブートであるかのように動作するはずです。 プラグインされているすべてのコンピューターで動作するようにします(BIOSに互換性がある場合)。 BIOSでUSBから起動する方法はすでに知っていますが、ISOファイルの入手先とUSBへのインストール方法についてはわかりません。

2
シェルコマンドで!#:3とはどういう意味ですか
ackのインストールガイドでは、次のコマンドを使用してackスクリプトをインストールすることを推奨しています。 curl http://beyondgrep.com/ack-2.14-single-file > ~/bin/ack && chmod 0755 !#:3 私がいることを前提と!#:3終わりには後方参照のいくつかの種類であるが、それは何を意味するのでしょうか?zshに同等のものはありますか?Googleは役に立たなかった。

3
sshセッションから実行されるプログラムは接続に依存しますか?
sshセッションから実行されるプログラムは、クライアントへの接続に依存しますか?たとえば、接続が本当に遅い場合。それで、画面に物が印刷されるまで積極的に待機しますか? また、接続に依存する場合、たとえば画面やby風でも発生しますか?これらのプログラムはホストから切断した後も実行され続けるためです。 注:これらの関連する質問のみが見つかりました。 sshセッションの一時的な切断は、実行中のプログラムに影響しますか? 接続が失われた場合、sshを介したスクリーンセッションはどうなりますか?
29 ssh  tty  job-control 

8
私のスクリプトに何か問題がありますか、それともBashはPythonよりずっと遅いですか?
ループを10億回実行して、BashとPythonの速度をテストしていました。 $ cat python.py #!/bin/python # python v3.5 i=0; while i<=1000000000: i=i+1; バッシュコード: $ cat bash2.sh #!/bin/bash # bash v4.3 i=0 while [[ $i -le 1000000000 ]] do let i++ done このtimeコマンドを使用すると、Pythonコードが完了するのに48秒しかかからず、Bashコードがスクリプトを強制終了するまでに1時間以上かかることがわかりました。 これはなぜですか?Bashの方が高速になると期待していました。私のスクリプトに何か問題がありますか、またはこのスクリプトでBashが本当に遅くなりますか?
29 bash  python3 

1
リダイレクトチェーン内のすべてのURLを表示するにはどうすればよいですか?
できればシェルからのリダイレクトチェーンですべてのURLを表示する方法を探しています。curlでほぼ行う方法を見つけましたが、最初と最後のURLのみが表示されます。それらすべてを見たいです。 これを簡単に行う方法がなければなりませんが、私は人生でそれが何であるかを見つけることはできません。 編集:これを送信してから、Chromeでそれを行う方法を見つけました(CTRL + SHIFT + I-> [ネットワーク]タブ)。しかし、Linuxコマンドラインからどのように実行できるかを知りたいです。
29 wget  curl 

6
ファイルシステムvsパーティションvsディレクトリ
私はLinuxが初めてなので、この質問であなたが遭遇するかもしれない混乱を許してください。 私が理解から、ファイルシステムの指定方法パーティション店/時折、私は人々が「それぞれを参照するように見える参照などのext2、ext3の、reiserfsの、XFS、などの規格で、ファイルを管理しdirectoryて」 /boot filesystem /usr/bin filesystem /root filesystem /bin filesystem なぜこれらを参照するのfilesystemsでしょうか? それらの各パーティションがある場合は、理由は私が知っている、これまでと同じよう混乱私/usrと/usr/bin同じパーティションにする傾向があるが、私は人々を見たが、両方を参照/usr filesystemして/usr/bin filesystem。 filesystemここがWindowに相当する場合directory、ファイルシステムは単なるディレクトリ以上のものであるように見えるので、私にはわかりません。また、私が知る限り、Linuxにはdirectory概念がありません。すべてはファイルです。

5
Debian Jessieに最新のNodeJSをインストールする方法は?
推奨されるアプローチを使用して、Debian JessieにNodeJSとNPMをインストールしました。 apt-get install curl curl -sL https://deb.nodesource.com/setup | bash - apt-get install -y nodejs ただし、かなり古いバージョンです(ノードv0.10.38およびnpm 1.4.28)。 新しいバージョンをインストールする最も簡単な方法に関する提案、たとえば、現在のノードはv0.12.4であり、npmは2.7.4ですか?ソースからのインストールが唯一のアプローチですか?
29 debian  node.js 

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