あなたが知っておくべきバッシュの特殊文字
Bashではすべての文字が同じというわけではありません。それらのいくつかは、特別な機能を実行し、コマンドを微調整し、データの操作を支援します。そのため、最も重要なBash特殊文字を含む次のリストをまとめました。それらの使用方法と、Bashの日常生活を楽にする方法を確認するために読んでください。
フォルダパスセパレータ(/)
Bashでは、スラッシュ(/
)パスの一部、フォルダ内のサブフォルダを分離します。ホームフォルダ内の「pictures」という名前のフォルダにアクセスするには、コマンドcd
を使用する必要があります として:
cd /home/USERNAME/pictures
上記の例のスラッシュの後のすべては、スラッシュの前にあるものの中にあります。
ホームディレクトリ(〜)
Bashターミナルにホームフォルダのフルネームを入力する代わりに、チルダ文字(~
)を使用できます。 )。たとえば、ホームフォルダに移動するには、次を使用します。
cd ~
より複雑なパスに組み込むこともできます。たとえば、ホームディレクトリの「Personal」フォルダ内にある「mydata.txt」という名前のファイルを編集するには、次を使用します。
nano ~/Personal/mydata.txt
現在/フォルダの上(。)
単一の(.
を使用できます )またはダブルドット(..
)アクションを現在のディレクトリ内で実行するか、上記のディレクトリ内で実行するかをそれぞれ定義します。 1つのドット(。)は現在のフォルダーにマップされ、2つのドット(..)はその上のフォルダーにマップされます。
「/home/ USERNAME / pictures」フォルダにいて、同じディレクトリ内で「transform_images.sh」というスクリプトを実行するとします。この場合、次のように入力します:
sh ./transform_images.sh
スクリプトを実行した後、現在いるフォルダの上のフォルダに戻りたい場合は、次のように入力します。
cd ..
これにより、フォルダ「/ home / USERNAME/pictures」から「/home/USERNAME」に戻ります。
コメントとキャンセル(#)
ハッシュ記号(#
)は、後で参照できるようにコメントを追加できるため、Bashスクリプトを作成するときに便利です。 Bashは、ハッシュ記号に続くすべてを無視します。
次のスクリプトでは、最初の行はそれがBashスクリプトであることを定義し、2番目は無視されるコメントであり、3番目は典型的なコピーコマンドです:
#!/bin/bash # This is a comment - you can type anything you want here cp file1.txt /home/USERNAME/scripts/file2.txt
ハッシュを使用すると、コマンドの一部をキャンセルできるため、スクリプトを作成していない場合でも便利です。それが実際に動作していることを確認するには、次の簡単なコマンドを試してください。
echo I am YOUR_NAME
次に、代わりに次のことを試してください。
echo I am #YOUR_NAME
ハッシュによって後続のすべてがキャンセルされるため、2番目のバージョンでは「Iam」のみが返されます。
範囲([])
文字範囲を角かっこで囲むことで定義できます([]
)。それが実際に動作していることを確認するために、DまたはMで始まるフォルダ名を探したいとします。次のように入力します。
ls [DM]*
おそらく、代わりに毎年の名前が付けられたサブフォルダでいっぱいのフォルダにいます。過去5年間のフォルダを/home/USERNAME/backup
にコピーします 、使用:
cp -r 201[56789] /home/USERNAME/backup
ダッシュ(-)でさらに単純化することもできます:
cp 201[5-9] /home/USERNAME/backup
Bashは5から9まで繰り返し、それらの間に数字を含めます。
リダイレクト(<>)
山かっこを使用する(<>
)、コマンドの入力または出力をリダイレクトできます。たとえば、次のコマンド:
ls >> list.txt
ls
の出力をリダイレクトします 「list.txt」ファイルに保存します。
二重の直角ブラケット(>>
)に注意してください )追加 コマンドのファイルへの出力。同じコマンドを再実行すると、その出力が既存のコンテンツの最後に追加されます。 交換するには その内容に新しい結果が含まれる場合は、単一の直角括弧(>
)を使用します ):
ls > list.txt
パイプ(|)
パイプ(|
)を使用すると、さまざまなコマンドを組み合わせてより大きな全体にし、より複雑な結果を得ることができます。 )。これらはリダイレクトにいくらか似ています(類似点と相違点についてはこちらをご覧ください)。
何千ものエントリを含む巨大なファイルがあり、その中に自分の名前を見つけたいとします。テキストエディタで検索する代わりに、次の手順を実行します。
cat entries.txt | grep 'YourName'
この場合、「entries.txt」の出力はgrep
にパイプされます コマンド。
コマンドセパレータ(;)
Bashを使用すると、複数のコマンドをセミコロン(;
で区切ることにより、一度に発行できます。 )。たとえば、1つのコマンドで2つのフォルダを2つの異なる宛先にコピーするには:
cp folder1 destination1; cp folder2 destination2
セミコロンは2つのコマンドを区切り、Bashにそれらを順番に実行するように指示します。必要に応じて、3つ以上のコマンドを使用できることに注意してください。
ワイルドカード(*)
おそらくすでにアスタリスク(*
)を使用しています )一部のコマンドで。任意の文字シーケンスに一致し、すべてのJPGファイルをあるフォルダーから別のフォルダーにコピーするなどのアクションを可能にします。
cp /home/USERNAME/folder1/*.jpg /home/USERNAME/folder2/
疑問符(?
)もBashのワイルドカードですが、一致するのは1文字のみです。例:
cp /home/USERNAME/201?/*.jpg /home/USERNAME/folder2/
上記のコマンドは、「201」で始まるフォルダ内のすべてのjpgファイルをコピーします。ワイルドカードは数字だけでなく任意の英数字に変換されるため、上記のコマンドは「201A」または「201z」という名前のフォルダーもコピーします。
バックグラウンドでの起動(&)
コマンドにアンパサンド記号(&
)を追加するだけで、コマンドをバックグラウンドプロセスとして実行できます。 ):
cp /home/USERNAME/Downloads/huge_file.zip /home/USERNAME/backups &
上記はファイルhuge_file.zipのコピーを開始し、すぐにバックグラウンドに移動して、ターミナルを使い続けることができます。コマンドが完了すると、コマンドは自動的に終了します。もう一度進めたい場合は、fg
と入力してください。 続いてEnterキーを押します。
変数($)
ドル記号($
)コマンドで使用する変数を設定できます。それらの動作を確認するには、端末に次のように入力してみてください。
myname=YOUR_NAME myage=YOUR_AGE echo "I'm $myname and I'm $myage years old"
変数に値を割り当てるときはドル記号がないことに注意してください。
エスケープ(\)と引用符(”)
コマンドで特殊文字をそのまま使用する場合は、エスケープする必要があります。これを行うには、特殊文字の前に円記号(\
)を付けます。 )。たとえば、感嘆符を含む名前のファイルがある場合は、\!
と入力する必要があります。 代わりに、Bashがそれを特殊文字ではなく感嘆符として解釈します。
別の方法は、いずれかの単一(''
)または二重引用符(""
)。文字列を引用符で囲むことにより、その中の特殊文字はすべて実際の文字として扱われます。一重引用符と二重引用符にも違いがあります。一重引用符は囲まれた文字列をテキストとして評価しますが、二重引用符を使用すると、囲まれた文字列内で変数($)を使用できます。
まとめ
Bashの特殊文字は上記だけではありませんが、ターミナルでの日常の冒険に最も役立つと思われる文字です。これらのキーボードショートカットをチェックして、Bash内をすばやく移動することを忘れないでください。重要な特殊文字を見逃した場合は、下のコメントセクションでお知らせください。
-
Samsung Galaxy S9:知っておくべきことすべて
長い待ち時間がついに終わりました! Samsung の主力携帯電話 S9 および S9+ は、MWC (Mobile World Conference) 2018 で最近発表されました。 バルセロナで開催された Mobile World Conference 2018 では、Samsung の Galaxy シリーズの最大かつ最新の携帯電話がリリースされました。 サムスンの主力携帯電話は、以前のバージョンよりも多くの変更が加えられています。この記事では、Samsung Galaxy S9 について知っておくべきことをすべて書き留めました。 Samsung Galaxy S9:知っておくべ
-
知っておくべき 7 つの Android Q 機能
朗報はもう聞きましたか?知らない人のために (*ドラムロール*)、Google は昨日、Android Q Beta 1 として知られる最新の Android バージョンを正式にリリースしました。ただし、その名前が示すように、これは開発者向けのベータ版にすぎず、今年の 8 月中旬頃にパブリック バージョンがすぐにロールアウトされる予定です。 しかし、ここで驚きです!ほとんどの人がこのベータ版に登録して、Pixel デバイスでこの最新の Android バージョンを垣間見ることができます。ワクワクする価値のある素晴らしい機能がたくさん詰まったパワーです。これはベータ版にすぎないため、いくつかの