【シェルスクリプト】basenameから拡張子無しのファイル名を取り出す
いつも忘れてしまうので、メモですヵキヵキ…φ(*゚ω゚´*)
シェルスクリプトを作成するときにconfigファイルとかログファイルとかシェルと同じ名前することが多いと思います。
シェルスクリプト名を取り出したいだけなら、シェルスクリプトの中で
basename $0
を入れてあげれば良いのですが、これだと.sh
付きで取れてしまいます。
sedで置換という手もありますが、もっと簡単な方法があります。
いつも忘れてしまうので、メモですヵキヵキ…φ(*゚ω゚´*)
シェルスクリプトを作成するときにconfigファイルとかログファイルとかシェルと同じ名前することが多いと思います。
シェルスクリプト名を取り出したいだけなら、シェルスクリプトの中で
basename $0
を入れてあげれば良いのですが、これだと.sh
付きで取れてしまいます。
sedで置換という手もありますが、もっと簡単な方法があります。
contents
久々の投稿になってしまいました。
ちょっとインフラエンジニアから外れ、他の職種へ武者修行の旅に出ていたため(現在進行中)、なかなか更新タイミングがありませんでした。
また機会を見つけてちょくちょく更新していきますね。
さて、今回はfindでファイルを探す際にアスタリスクを使用してファイルを検索したい時のお話。
contents
先ほど、更新方法のところで、./cron.daily/mlocate
内で定義されているのがおわかりになったかと思います。
日次で定義されているcronはanacronで実行されます。
anacronはちょっと細かくなってしまうので、今回は割愛します。
contents
ファイル一覧データベースはupdatedbコマンドの実行で更新されます。
ファイル一覧を取得するので、更新量が多ければそれなりに実行時間はかかります。
ファイル一覧データベースの更新頻度はどうでしょうか。
更新コマンドはここにありました。
contents
今やインストール時に標準コマンドとしてインストールされるようになったlocateコマンド。
locateはファイル一覧データベースからファイルやディレクトリを検索して表示してくれるため、findコマンドのようにI/Oの負荷をあまり考えることなくファイルやディレクトリの検索ができるコマンドになります。
先ほども書きましたが、locateを使うためには、ファイル一覧データベースが必要です。
そもそもファイル一覧データベースとはどういうものなのでしょうか?
ファイル一覧データベースの場所、更新頻度、更新タイミングなどに焦点を当てて見ていきたいと思います。