Unix & Linux

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

5
zshで独自のシェル関数を定義およびロードする方法
zshで独自のシェル関数を定義して実行するのに苦労しています。公式ドキュメントの指示に従い、最初に簡単な例を試してみましたが、うまくいきませんでした。 フォルダーがあります: ~/.my_zsh_functions このフォルダには、私はと呼ばれるファイル持っているfunctions_1とrwxユーザー権限を。このファイルには、次のシェル関数が定義されています。 my_function () { echo "Hello world"; } FPATHフォルダーへのパスを含めるように定義しました~/.my_zsh_functions: export FPATH=~/.my_zsh_functions:$FPATH または.my_zsh_functionsでフォルダが機能パスにあることを確認できますecho $FPATHecho $fpath ただし、シェルから次のことを試してみると: > autoload my_function > my_function 私は得る: zsh:my_test_function:関数定義ファイルが見つかりません 電話をかけるために他に必要なことはありますmy_functionか? 更新: これまでの回答は、zsh関数を使用してファイルを調達することを示唆しています。これは理にかなっていますが、少し混乱しています。それらのファイルがどこにあるかをzshは知らないのFPATHですか?その時の目的は何autoloadですか?
54 shell-script  zsh 

5
ディレクトリ全体(新しいものも含む)でファイルを監視します(tail -f)
私は通常、ディレクトリ内の多くのログを見ていtail -f directory/*ます。問題は、その後に新しいログが作成され、画面に表示されないことです(*すでに展開されているため)。 プロセスの開始後に作成されたファイルも含め、ディレクトリ内のすべてのファイルを監視する方法はありますか?
53 logs  tail 

4
Bash star *ワイルドカードは常に(昇順の)ソートされたリストを生成しますか?
私は、logXXXXが次のような2文字のゼロ詰めされた大文字の16進数であるような名前のファイルで満たされたディレクトリを持っています: log00 log01 log02 ... log0A log0B log0C ... log4E log4F log50 ... 一般に、合計で20または30個未満のファイルがあります。特定のシステムの日付と時刻は信頼できるものではありません(信頼できるNTPまたはGPS時刻ソースのない組み込みシステム)。ただし、上記のようにファイル名は確実に増加します。 私がしたいgrep、私は期待していた特定のタイプの単一の最新のログエントリのすべてのファイルを介しcatなど一緒にファイル... cat /tmp/logs/log* | grep 'WARNING 07 -' | tail -n1 しかし、bashor shまたはor zshなどの異なるバージョンが、どのように*展開されるかについて異なるアイデアを持っているかもしれないということが私には思いつきました。 このman bashページは、の拡張*が一致するファイル名のアルファベット順の完全に昇順のリストであるかどうかを示していません。利用可能なすべてのシステムで試してみるたびに上昇しているように見えますが、動作は定義済みですか、それとも実装固有ですか? 言い換えればcat /tmp/logs/log*、すべてのログファイルをアルファベット順に連結することに絶対に頼ることができますか?
53 bash  shell  wildcards 

6
/ bin / bashではなく/ bin / shを指すシェバンを持つ理由はありますか?
私が見たほとんどのシェルスクリプト(自分で書いていないスクリプトを除く)で、シバンがに設定されていることに気付きました#!/bin/sh。これは古いスクリプトでは本当に驚かないが、かなり新しいスクリプトでもそうだ。 好むための何らかの理由がある/bin/sh以上は、/bin/bash以来、bash十年以上前にうまくいって、多くのLinuxやBSDマシン上で、かなり多くの遍在し、多くの場合、デフォルト?
53 bash  shell  history  shebang 


4
「git pull」は私の宿題をどのように食べましたか?
私は校長の子供が犬が私の宿題をその前夜に食べたことを説明しているように感じますが、私は顔にいくつかのクレイジーなデータ損失のバグを見つめています、そしてそれがどのように起こったのかわかりません。gitがリポジトリ全体をどのように食べられるかを知りたい!私はgitを絞り器に何度も入れましたが、点滅することはありません。20 Gig Subversionリポジトリを27 gitリポジトリに分割し、それらからfooをフィルター分岐して混乱を解き、1バイトも失わないようにしました。reflogは常にフォールバックします。今回はカーペットがなくなった! 私の観点からすると、私がしたことはすべて実行されgit pull、ローカルリポジトリ全体が無駄になりました。「チェックアウトされたバージョンを台無しにした」、「私がいたブランチ」、またはそのようなものを意味するものではありません。私が意味する、全体の事がなくなっています。 この事件の私の端末のスクリーンショットは次のとおりです。 その手順を説明します。コマンドプロンプトには現在のgitリポジトリに関するデータが含まれているため(preztoのvcs_info実装を使用)、gitリポジトリが消えた時点を確認できます。最初のコマンドは十分に正常です: » caleb » jaguar » ~/p/w/incil.info » ◼  zend ★ » ❯❯❯ git co master Switched to branch 'master' Your branch is up-to-date with 'origin/master'. そこには、私が「zend」ブランチにいて、マスターをチェックアウトしたことがわかります。ここまでは順調ですね。次のコマンドの前のプロンプトで、ブランチが正常に切り替えられたことがわかります。 » caleb » jaguar » ~/p/w/incil.info » ◼  master ★ » ❯❯❯ git pull …

2
Debianでifconfigの代わりにip addrを使用すると、「RTNETLINKの回答:ファイルが存在します」と報告される
とで無線ルーターとして動作するDebianシステムがeth0ありwlan0ます。今、私が上で手動で追加のネットワークを追加eth1してifconfig: alix:〜#ifconfig eth1 192.168.0.2ネットマスク255.255.255.0 アリックス:〜#netstat -rn カーネルIPルーティングテーブル 宛先ゲートウェイGenmaskフラグMSSウィンドウirtt Iface 0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0 alix:〜#ping 192.168.0.254 PING 192.168.0.254(192.168.0.254)56(84)バイトのデータ。 192.168.0.254から64バイト:icmp_req = 1 ttl = …
53 debian  networking  ip 

1
「rm。*」は親ディレクトリを削除しますか?
式.*はbashによって展開され、現在のディレクトリと親ディレクトリが含まれます。 $ ls -la total 2600 drwxrwxrwx 2 terdon terdon 2162688 Sep 10 16:22 . drwxr-xr-x 142 terdon terdon 491520 Sep 10 15:34 .. -rw-r--r-- 1 terdon terdon 0 Sep 10 16:22 foo $ echo .* . .. rm -rf .*GNU bashを使用してDebianで実行している場合version 4.2.36(1)-release、rmからrm (GNU coreutils) 8.13このメッセージが表示されます。 $ rm -rf .* …
53 shell  wildcards  rm  posix 

2
同じiノード番号を持つすべてのファイルをリストしますか?
たとえば、ls -liディレクトリ内で行うと、次のようになります。 12353538 -rw-r--r-- 6 me me 1650 2013-01-10 16:33 fun.txt 出力が示すように、ファイルfun.txtには6つのハードリンクがあります。iノード番号は12353538です。 この場合、ファイルのすべてのハードリンク、つまり同じiノード番号を持つファイルを見つけるにはどうすればよいですか?
53 ls  inode 

2
Linuxで `#!/ usr / bin / envコマンド--argument`を使用したシェバン行が失敗する
私は簡単なスクリプトを持っています: #!/usr/bin/env ruby --verbose # script.rb puts "hi" 私のOSXボックスでは、うまく動きます: osx% ./script.rb hi しかし、私のLinuxボックスでは、エラーがスローされます linux% ./script.rb /usr/bin/env: ruby --verbose: No such file or directory シバンラインを手動で実行すると、正常に動作します linux% /usr/bin/env ruby --verbose ./script.rb hi しかしruby --verbose、1つの引数にパックするとエラーを再現できますenv linux% /usr/bin/env "ruby --verbose" ./script.rb /usr/bin/env: ruby --verbose: No such file or directory だから、これはenvシェバンラインのリセットをどのように解釈するかという問題だと思います。私はGNU coreutils 8.4を使用していますenv: linux% /usr/bin/env …

11
VirtualBoxにインストールした後、CentOSにはネットワークインターフェイスがありません
私はCentOS 6.4 i386をセットアップする仮想ボックスをインストールしたUbuntu 12.10を持っています。Ubuntuでは、3.5.0-17-generic kernel runningがあります。 仮想ボックスにCentos 6.4をインストールするとすべてが正常に機能しますが、VMマシンを起動すると、ループバックインターフェイスのみが存在します。他に何もありません。ifcfg-eth0ファイルを手動で追加しようとしましたが、何も起こりません。VM設定にNATおよびHostOnlyインターフェイスを追加しましたが、Centosを起動するたびにloインターフェイスがあります。私は何をすべきか?

4
fstabの「nobootwait」と「nofail」の違いは何ですか?
で、この質問、私は、システムの起動プロセスを停止させるから、メディア障害を予防する方法を尋ねました。ただし、/etc/fstabオプションについて2つの提案がありました nobootwait nofail 2つの違いは何ですか?
53 fstab 

2
SSHおよびホームディレクトリのアクセス許可
私の学校のサーバー上のクラスアカウントの1つでこのSSH問題を解決するのに何時間もかかりました。 パスワードを入力しないと特定のクラスアカウントにsshできませんでしたが、パスワードなしの認証は他のクラスアカウントで機能しました。.ssh /ディレクトリとそのすべてのコンテンツには、他のクラスアカウントと同じ正しい権限がありました。 問題は、自分のホームディレクトリに設定されているアクセス許可であることが判明しました。ホームディレクトリの権限が770に設定されている場合(.ssh /に設定されている権限に関係なく)、パスワードなしの認証は機能しませんでしたが、755または700に設定された権限では機能しました。 誰もSSHがこれを行う理由を知っていますか?ホームディレクトリのアクセス許可が許容範囲を超えているためですか?ホームディレクトリが700よりも寛容に設定されている場合、SSHが公開/秘密キーによる認証を拒否するのはなぜですか?
53 ssh  permissions 


1
最初の1024ポートがrootユーザーのみに制限されているのはなぜですか?
これは、他の何よりも怠idleな好奇心です。友人から「Linuxでrootだけが使用できるポート範囲はどれですか?」私は彼に0-1024が制限されていると言いました。それから彼は私にそれがなぜそうだったか尋ね、…私は途方に暮れていた。まったくわからない。 これらのポートが制限され、1025-65535が制限されない理由はありますか? ほとんどの主要なネットワークサービス(HTTP、FTP、SSH、Telnet、HTTPS、POP、SMTPなど)はこの範囲にあるため、考えられる答えは次のとおりです。 信頼できないユーザーは、これらのポートでログオンの詳細をリッスンするプログラムを実行できます。 信頼できないユーザーが不正なサーバーアプリケーションを実行する可能性があります。 誰もがここに光を当てることができますか?

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