はじめに
この記事を自分の備忘録としてまとめます。
参考になれば幸いです。
環境
- Windows 11
- WSL2 (Ubuntu)
- Python学習の一環としてLinuxコマンドを学習中
1. フォルダの作成と名前の変更
まずは基本の「き」、フォルダ操作です。
フォルダを作る (mkdir)
mkdir 1234
これで 1234 というフォルダが作られます。シンプルですね。
名前の変更 (mv) でハマったポイント
フォルダ名を 1234 から test に変えようとして、以下のエラーに遭遇しました。
ishikawa@ThinkpadX1:~/1234$ mv 1234 test
mv: cannot stat '1234': No such file or directory
原因: 自分がそのフォルダの中にいたから。
Windowsのエクスプローラーなら、開いているフォルダの名前を変更できますが、Linuxでは「今いる場所」という概念がより重要なんですね。
解決策: 一度 cd .. で親ディレクトリに移動してから実行する必要があります。
cd ..
mv 1234 test
学んだこと
-
pwdコマンドで「今どこにいるか」を常に意識する習慣が大事 - ディレクトリ操作は「外から」行うのが基本
2. ファイルの一括作成・削除(魔法の記号)
Linuxの凄さを感じたのが、複数のファイルを一瞬で操作できる点です。
10個のファイルを一瞬で作る
touch file{1..10}.txt
これで file1.txt ~ file10.txt が生成されます。手動で10回打つ必要はありません。
ブレース展開({1..10})という機能で、連番のファイル作成が一発でできます。
試しに100個作ることもできますが、削除も簡単なので遊んでみるのも学習になります。
ワイルドカードでまとめて消す (*)
rm file*.txt
*(アスタリスク)を使えば、条件に合うファイルを一気に削除できます。
注意点
rm コマンドはゴミ箱を経由せずに完全削除します。特に rm -rf * のようなコマンドは非常に危険なので、実行前に必ず ls で確認する癖をつけましょう。
# 削除前に確認
ls file*.txt
# 確認してから削除
rm file*.txt
3. ファイルへの書き込みと確認
エディタを開かずに中身を操作する「リダイレクト」という機能です。
これがわかると、簡単なログファイルの作成やテストデータの準備がとても楽になります。
新しく書き込む (>)
echo "こんにちは" > file1.txt
注意: > は既存の内容を上書きします。
続きに追記する (>>)
echo "さようなら" >> file1.txt
>> は既存の内容の末尾に追記します。
# 実際の使用例
echo "1行目" > log.txt
echo "2行目" >> log.txt
echo "3行目" >> log.txt
中身を見る (cat)
cat file1.txt
出力結果:
こんにちは
さようなら
学んだこと
-
>は上書き、>>は追記。この違いが重要 - シェルスクリプトでログを取る際に便利
4. よく使うショートカット・小技
日々の作業で覚えておくと作業効率が上がるものをまとめました。
| ショートカット | 機能 |
|---|---|
Tab キー |
ファイル名・コマンドの補完(打ち間違いが減る!) |
↑ / ↓ キー |
過去に実行したコマンドを呼び出す |
Ctrl + C |
実行中のコマンドを中断 |
Ctrl + L |
画面をクリア(clearと同じ) |
便利なコマンド集
cd .. # 1つ上の階層に戻る
pwd # 今どこにいるか確認する(Print Working Directory)
ls -la # 隠しファイルも含めて詳細表示
history # 過去に実行したコマンドを表示
まとめ
「今どこにいるか」を意識すると一気に理解が深まりました。
特に印象的だったのは:
-
ブレース展開 (
{1..10}) - プログラミング的思考に通じる便利さ -
ワイルドカード (
*) - パターンマッチングの強力さ -
リダイレクト (
>,>>) - シンプルだけど応用範囲が広い
次は、grep や find といった検索系コマンドに挑戦してみたいと思います。
参考資料
おわりに
間違いや改善点があれば、コメントで教えていただけると幸いです!