ファイルとディレクトリ関連コマンド
bashでのファイルやディレクトリの操作はとても簡単で直感的です。以下は、最もよく使われるコマンドで、覚えておくとよいでしょう。
echo で文字列を表示する
ターミナルで任意の文字列を表示するには echo
コマンドを使用します。例えば、“Hello world” と出力したい場合は、以下のようにします。
echo "ハローワールド"
eフラグを使用すると、改行時に
n` のようなエスケープ文字を追加することができます。
echo -e "こんにちは \n world"
touch を使ってファイルを作成する
ファイルを作成するには、touch
コマンドを使用する。以下のように、単一または複数のファイルを作成することができます。
touch file1.txt
複数のファイルを作成するには、ファイル名を次々に追加していきます。
touch file2.txt file3.txt
nanoテキストエディターでファイルに書き込む
nanoエディタを使うと、ファイルの内容を書き込んだり、変更したりすることができます。ファイルを書き込みモードで開くには、以下のようにします。
nano file1.txt
上記のコマンドを実行すると,ターミナル上にテキストエディタが表示されます.好きなように書いて、Ctrl
+ O
でファイルを保存し、Ctrl
+ X
でテキストエディタを終了します。
cat でファイルの中身を見る
ファイルを開かずに、そのファイルに何が書かれているかを見るには、cat
コマンドを使用します。
cat file1.txt
ls を使ってファイルやディレクトリをリストアップする
上記の手順では、file1.txt, file2.txt, file3.txt という3つのファイルを作成しました。これらのファイルは ls
コマンドを使用して一覧表示することができます。
ls
mkdir でディレクトリを作成する
ディレクトリを作成するには mkdir
コマンドを使用します。“make directories” の頭文字をとったものです。
mkdir [ディレクトリ名].
このようにすると、“greetings “ディレクトリを作ることができます。
cdでディレクトリを変更する
cd` コマンドを使用すると、ディレクトリを変更したり、移動したりすることができます。
cd [ディレクトリパス].
パスパラメータ ../
を使って、直前のディレクトリに移動します。
cd ../
パスパラメータ ~
を使用すると、直接ホームフォルダに移動することができます。
cd ~.
pwd を使って作業ディレクトリを取得する
もし、任意のファイルやディレクトリの作業ディレクトリを知りたい場合は、 pwd
コマンドを使用することができます。
pwd
cp を使ってファイルやディレクトリをコピーする
cp` コマンドは 2 つの引数を必要とします。1つ目はコピーしたいファイルやディレクトリのパス、2つ目はコピー先のパスです。次の例では、“file1.txt” ファイルを “greetings” ディレクトリにコピーしています。
cp file1.txt greetings/
mv によるファイルの移動と名前の変更
ファイルを移動させたい場合は、mv
コマンドを使用する必要があります。また、移動元ファイルの場所と移動先の場所という2つの引数を必要とします。
mv file2.txt あいさつ/
また、mv
コマンドを使ってファイルの名前を変更することもできます。そのコツは、コピー元のパスはそのままにして、コピー先のパスに、変更後の名前を同じ拡張子で書き込むことです。
mv ファイル3.txt 修正ファイル3.txt
rm を使ったファイルの削除
ファイルの場所を指定して rm
コマンドを使用すると、ファイルを削除することができます。
rm file2.txt
ディレクトリを削除したい場合は、 -rf
フラグを使用します。これにより、そのディレクトリ内のすべてのファイルを再帰的に削除することができます。
rm -rf greetings/
rmdir によるディレクトリの削除
空のディレクトリを削除するには、rmdir
コマンドの後にディレクトリのパスを追加してください。また、1つのコマンドで複数のディレクトリを削除することもできます。
rmdir あいさつ/
rmdir dir1 dir2 dir3
パーミッション管理コマンド
Linuxの各ファイルには様々なパーミッションが設定されています.例えば、あるファイルの閲覧や利用が許可されていない場合があります。幸いなことに、このコマンドのリストでは、Linuxのファイルパーミッションを変更することができます。
chmodによるファイルパーミッションの変更
chmodコマンドを使用すると、ファイルのパーミッションを追加または削除できます。ファイルを読み取り可能にするには、
chmodの後に
+rフラグを追加します。ファイルを実行可能な状態にするには、
chmodコマンドの後に
+x` を追加します。
chmod +x ファイル名
この実行ファイルは,次のように実行することができます.
./filename
su と sudo を使ってスーパーユーザーになる
新しいソフトウェアをインストールしたり、ユーザディレクトリ以外のファイルやフォルダを変更したりするには、スーパーユーザ権限が必要です。スーパーユーザは、オペレーティングシステム内のあらゆるものを変更することができます。
Linuxで一時的にスーパーユーザーになるには、2つの一般的な方法があります。su を使うと、スーパーユーザのプロンプトが表示され、そのプロンプトの中でコマンドがスーパーユーザとして実行されます。su
はこのように使用します。
sudo su
exit` コマンドを実行することで、スーパーユーザープロンプトから抜けることができます。
最近のLinuxディストリビューションでは、su
の代わりに sudo
を使用します。コマンドの前に sudo
を付けることで、スーパーユーザへの権限を昇格させることができます。コマンドを実行した後は,通常の権限に戻ります.これは su
よりも安全なオプションです。
sudo apt update
ネットワーク関連コマンド
Linux はサーバースペースで非常に人気があるため、ネットワークを扱うための様々なツールが付属しています。以下では、Linux のネットワークに関する基本的なアイデアを提供するコマンドをいくつか紹介しま す。
wgetを使ったファイルのダウンロード
wget コマンドを使えば、ファイルをダウンロードしたり、REST API と対話したりすることができます。wget
は HTTP, HTTPS, FTP, FTPS のプロトコルをサポートしています。ファイルをダウンロードするには、 wget
コマンドの後にソースのリンクを追加するだけでよい。
この例では、wget
を使って動画をダウンロードしています。
wget https://archive.org/download/BigBuckBunny_328/BigBuckBunny.ogv
wget` は自動的にビデオファイルを取得し、ダウンロードします。
Curlの基本
Curl はサーバーとのデータ転送に使用されるネットワークユーティリティです。転送の再開、帯域幅の制限、プロキシのサポート、ユーザー認証など、さまざまなオプションが用意されています。
curl を使ってファイルをダウンロードしたり保存したりするには、-O
フラグを使用します。
curl -O https://archive.org/download/BigBuckBunny_328/BigBuckBunny.ogv
ダウンロード中に接続が切れた場合は、-C
フラグを使用してダウンロードを再開することができます。
curl -C -O https://archive.org/download/BigBuckBunny_328/BigBuckBunny.ogv
ユーティリティコマンド
これらは、日々の活動で使用することができるユーティリティの一部です。これらを知ることで、多くの時間を節約し、より効率的に行動できるようになります。
日付
Date` コマンドを使用して今日の日付を取得します。
日付
日付、月、年、平日、タイムゾーンが出力されます。
Mon Aug 15 04:39:43 PM IST 2022
grep を使った検索
grep` は非常に強力な検索ツールで、ディレクトリ内の単語や文章を検索するために使用できます。
また、grep
を使って好きなソフトウェアパッケージを探すこともできます。例えば、VLC プレーヤーをインストールする必要があり、そのパッケー ジ名を知らない場合、apt
と grep
を組み合わせてソフトウェアパッケージを 検索することができます。
apt search vlc | grep "vlc".
which を使ったパッケージのインストールパスの検索
パッケージがインストールされている場所を確認するには、which
を使用します。例えば、bashのバイナリがインストールされている場所を確認するには、以下のようにします。
which bash
ヒストリーで前のコマンドを取得する
時々、コマンドを忘れてしまうことがあります。幸いなことに、history
を使えば、前に実行したコマンドをすべて見ることができ、記憶を呼び覚ますことができます。
ヒストリー
kill を使って GUI アプリケーションを閉じる
ターミナルからGUIアプリケーションを開くと、そのアプリケーションのIDを取得します。これはそのアプリケーションへのハンドルのようなものです。
このアプリケーションを終了させるには、killコマンドを使用します。kill [アプリケーションID].
CLI のユーザーマニュアルを man で読む
CLIツールのマニュアルは man
コマンドを使用して見ることができます。
man echo
上記のコマンドを実行すると、echo
コマンドのマニュアルが表示されます。
ここでは、 echo
コマンドで使用できるすべてのフラグについて学ぶことができます。いろいろなフラグを試して、自分の使いやすいようにコマンドをカスタマイズするとよいでしょう。マニュアルページを終了するには q
ボタンを押してください。
端末を掃除する
もしあなたのターミナルがごちゃごちゃしていたら、clear
コマンドを使ってきれいにすることができます。
クリア
また、Ctrl
+ l
のショートカットキーで端末のウィンドウを消すことができます。
友達に見せびらかす
もし、ただ楽しむために、あるいは友達に自慢するために、ランダムにクールなものを画面に表示したい場合は、 cmatrix
というツールを使用することができます。
sudo apt update
sudo apt install cmatrix
ターミナルで、cmatrix
を実行します。
cmatrix
行列のスナップショットのようなものが出力されます。
また、bashの簡単なコマンドで、動いている列車を表示することができます。sl` です。これは以下のコマンドでインストールできます。sudo apt update
sudo apt install sl
ターミナルでこのユーティリティを実行します。
sl
よくある質問
Linux のシェルには bash 以外にどのようなものがありますか?
Linux のシェルには bash 以外にも多くの選択肢があります。Z-shell、fish shell、c shellなどが代表的なものです。ただし、各シェルにはそれぞれ特徴があることに注意してください。そのため、特定のシェル用に作られたスクリプトは、他のシェルでは動作しません。
bashシェルは何のためにあるのですか?
Bashシェルは、ファイルやディレクトリを効率的に操作するためのシェルです。シェルには、cp
、mv
、touch
など、ターミナル上で簡単にファイルを作成したり変更したりするのに必要なツールがたくさんあります。
bash シェルの制限事項にはどのようなものがありますか?
他のスクリプト言語と違って、bashは非常に遅く、エラーが起こりやすい。bashの主な欠点は、デバッグの枠組みがないことです。このため、bashは大規模なスクリプトや自動化には向いていません。
画像引用元:Gabriel Heinzer via Unsplash. すべてのスクリーンショットはHrishikesh Pathakによるものです。