※本サイトにはプロモーション・広告が含まれています(はづきのブログより)
※この記事は初心者向けに平易に解説しています。正確な理解をしたい人は専門書・専門家をあたっていただければと思います。また、この記事の情報におけるCPの動作結果については自己責任でお願いします。
こんにちは!はづきです
文系から一部上場IT企業に就職し、エンジニアをやっています
この記事では以下のLinux操作について解説していきます!
- 同時に複数ファイル/ディレクトリを指定する方法
→パス名展開を使えるようになる!
Linux記事のリンク集はこちら!
環境構築、Linuxの概要、コマンドごとの詳細...など記事にしています。ご参考ください
この記事ではLinuxターミナル画面の様子を以下のように表現します
パス名展開とは
Linuxコマンドを使用するときに複数のファイル・ディレクトリを同時に指定したい場合があります
例えば。。。
- 「sample」から始まるファイル名の一覧を表示させたい
- 「.txt」で終わるテキストファイルすべてを特定のディレクトリ配下に移動させたい
このようなときに使えるのが、パス名展開です。特定の記号を使うことで上記のような操作が可能になります。以降で、実際の使い方を紹介します ※パス名展開はワイルドカード展開と呼ばれることもあります
パス名展開の使い方
パス名展開にはワイルドカードと呼ばれる特殊文字を使います。
この記事では、ワイルドカードの種類と使い方を紹介していきます!その際は、lsコマンドを使って動作確認をしていきます。他にも既存のファイルやディレクトリを引数に渡すLinuxコマンドであればパス名展開を使うことができます。(例. ls, cd, mv...)
>>参考記事:lsコマンド ファイル・ディレクトリを一覧表示する
任意の1文字を指定する: ?
記号 | 効果 | 具体例 |
? | 任意の1文字を意味する | 1. d??? → dir1など「dから始まる4文字」を指す 2. ??????.txt → sample.txtなど「{任意6文字}.txt」を指す 3. ??c?? → abcdeなど「真ん中にcがある5文字」を指す |
「?」は任意の1文字を指します。
例えば、「d???」とすれば「dから始まる4文字のファイルやディレクトリ」のことを指します。具体的には「dir1」などが該当します。
以下はlsコマンドの引数に「d???」を指定した実行結果です。「sample1.html」「 Sample2.html 」という2つのファイルと「dir1」「dir10」という2つのディレクトリにうち「dir1」だけが表示されています。
#以下、Linuxターミナル画面(Ubuntu)
hazuki@hazukiBlog:~/work$ ls
sample1.html Sample2.html dir1 dir10
hazuki@hazukiBlog:~/work$ ls d???
dir1 #「d」から始まる4文字のファイル・ディレクトリのみが表示される
任意の文字列を指定する: *
記号 | 効果 | 具体例 |
* | 任意の文字列を意味する | 1.sample* → sample1.txtなど「sampleから始まる文字列」を指す 2.*.txt → file.txtなど「.txtで終わる文字列」を指す |
「*」は任意の文字列を指します。
例えば、「s*」と指定すれば「sから始まるファイルやディレクトリ名」を指します。「sample.txt」などが該当します。
また、「*.txt」といった拡張子を指定すれば特定の拡張子を持つファイルをまとめてコマンド操作することも可能です。
以下はlsコマンドで「*」のパス名展開を使用した例です。「s*」と「*.txt」によって、特定のファイル・ディレクトリのみを表示させています。
#以下、Linuxターミナル画面(Ubuntu)
hazuki@hazukiBlog:~/work$ ls #手順1
sample1.html Sample2.html dir1 dir10
hazuki@hazukiBlog:~/work$ ls s*
sample1.html #「s」から始まるファイル、ディレクトリを表示
hazuki@hazukiBlog:~/work$ ls *.html
sample1.html Sample2.html #「.html」で終わるファイルを表示
今回はLinuxのパス名展開について紹介しました
みなさんのお役に立てば幸いです。最後まで読んでいただきありがとうございました
おしまい
コメント