BashはLinux環境での作業効率を向上させる強力なシェル環境です。
日々の業務や開発で役立つBashのワザを10個厳選してみました
1. .bashrc と .bash_profile の違い
Bashには設定ファイルとして .bashrc
と .bash_profile
がありますが、それぞれの用途が異なります。
.bashrc
は、通常のターミナルを開いたときに実行されるスクリプトで、エイリアスや環境変数の設定を記述するのに適しています。一方、.bash_profile
はログイン時にのみ実行されるため、システム全体の環境変数を設定するのに向いています。
例えば、以下のように .bashrc
にエイリアスを追加できます:
1 2 |
echo "alias ll='ls -la'" >> ~/.bashrc source ~/.bashrc |
この設定を反映させると、次回ターミナルを開いた際に ll
を入力するだけで ls -la
を実行できます。
また、ログイン時に特定の環境変数を設定したい場合、.bash_profile
に記述します:
1 2 |
echo "export PATH=$HOME/bin:$PATH" >> ~/.bash_profile source ~/.bash_profile |
こうすることで、ログイン時に PATH
に新しいディレクトリを追加できます。
まとめると:
.bashrc
→ 通常のターミナルセッションごとに実行.bash_profile
→ ログイン時にのみ実行
もし、すべての設定を共通化したい場合、.bash_profile
に以下の記述を追加することで、.bashrc
をログイン時にも実行できます:
1 2 3 |
if [ -f ~/.bashrc ]; then source ~/.bashrc fi |
この設定を行うことで、ログイン時にも .bashrc
の内容が適用され、設定の統一が可能になります。
2. alias で作業効率を向上
よく使うコマンドを短縮するには、alias
を活用しましょう。
1 |
alias ll='ls -la' |
実行例:
1 2 3 4 |
$ ll total 12 drwxr-xr-x 3 user user 4096 Feb 5 10:00 Documents/ -rw-r--r-- 1 user user 123 Feb 5 10:00 file.txt |
設定を永続化するには、~/.bashrc
に記述し、source ~/.bashrc
を実行します。
3. ファイル操作の基本
Bashではさまざまなファイル操作が簡単にできます。
1 |
cp source.txt destination.txt |
実行例:
1 2 3 |
$ cp file1.txt backup.txt $ ls file1.txt backup.txt |
また、ディレクトリをコピーする場合は -r
オプションを使用します:
1 |
cp -r my_folder backup_folder |
これにより、my_folder
内のすべてのファイルを backup_folder
にコピーできます。
4. history の活用と検索
過去のコマンドを検索するには history
コマンドを活用しましょう。
1 |
history | grep ssh |
実行例:
1 2 3 4 |
$ history | grep ssh 100 ssh user@192.168.1.1 105 ssh -i mykey.pem user@server.com |
また、Ctrl + R
で履歴検索が可能です。
5. !! や !$ を活用した履歴ショートカット
直前のコマンドを繰り返すには、!!
を使用します。
1 |
sudo !! |
実行例:
1 2 3 4 5 |
$ apt update Permission denied $ sudo !! [sudo] password for user: Fetching package updates... |
また、直前のコマンドの最後の引数を取得するには !$
を使います。
1 2 |
cat myfile.txt vim !$ |
実行例:
1 2 |
$ cat notes.txt $ vim !$ # 実際には vim notes.txt となる |
6. ループ処理で連続コマンドを実行
Bash でループを使うと、複数のファイルやプロセスを一括処理できます。
1 |
for file in *.txt; do mv "$file" "backup_$file"; done |
実行例:
1 2 3 4 5 |
$ ls file1.txt file2.txt file3.txt $ for file in *.txt; do mv "$file" "backup_$file"; done $ ls backup_file1.txt backup_file2.txt backup_file3.txt |
7. Bashでのワンライナー活用
ワンライナーを使うことで、簡潔に強力な処理を実行できます。
1 |
echo "Hello World" | rev |
実行例:
1 2 |
$ echo "Hello World" | rev dlroW olleH |
このようにパイプを活用することで、データを効率的に処理できます。
8. set -x でデバッグモードを活用
スクリプトのデバッグには set -x
を使用すると便利です。
1 |
set -x |
実行例:
1 2 3 4 |
$ set -x $ echo "Hello, Bash!" + echo 'Hello, Bash!' Hello, Bash! |
9. ファイル検索の効率化
Bashの find
コマンドを活用して、効率的にファイルを検索できます。
1 |
find /home/user -type f -name "*.log" |
実行例:
1 2 |
$ find /var/log -type f -name "syslog" /var/log/syslog |
このように、特定のディレクトリ内で条件を指定してファイルを素早く探すことができます。
10. プロセス管理の基本
Bashでは、プロセスの管理を効率よく行うことができます。
1 |
ps aux | grep apache |
実行例:
1 2 |
$ ps aux | grep apache www-data 1234 0.0 0.1 123456 6789 ? Ss 10:00 0:00 /usr/sbin/apache2 |
また、特定のプロセスを終了するには、以下のコマンドを使用します:
1 |
kill -9 1234 |
これにより、プロセスID(PID)を指定してプロセスを強制終了できます。
いかがでしたか?知っているコマンドや使い方はどのくらいありましたか?
bashはとても便利なので、どんどん使っていきましょう!
新着情報
ブログランキングに参加しています。クリックして応援していただけると嬉しいです。
人気ブログランキング
にほんブログ村