愚者空間

KDP作家牛野小雪のサイトです。小説の紹介や雑記を置いています。

chatGPT

【MySQL】FOREIGN_KEYってなんなん?

1 :風吹けば名無し:
【悲報】ワイ、MySQLのFOREIGN_KEYで無事死亡😭

2 :風吹けば名無し:
FOREIGN_KEYってなんなん?(´・ω・`)

3 :風吹けば名無し:

2
「よそ者キー」や

4 :風吹けば名無し:

3
よそ者とかいうパワーワードやめろ

5 :風吹けば名無し:
簡単に言うと

  • 親テーブル:users

  • 子テーブル:threads(users.id を参照)
    みたいな「親子関係」をDBに約束させるルールやで

6 :風吹けば名無し:
FOREIGN_KEYってカタカナにするとフォーリンキー?
遊戯王カードかな?

7 :風吹けば名無し:

6
正解はフォーリン・キーや
異邦の鍵やぞ😎

8 :風吹けば名無し:
FOREIGN KEY制約つけとくと
「いないユーザーIDをthreadに突っ込もうとしたらエラーになる」
これがいちばんの役目や

9 :風吹けば名無し:
つまりなんや
「嘘つくなよチェック」ってことか?

10 :風吹けば名無し:

9
そうそれ
参照整合性とかいうカッコいい名前がついとる

11 :風吹けば名無し:
ワイ「user消したろ!」
MySQL「そのuser、threadsでまだ使われとるで。ダメ🙅」
これをやってくれるのがFOREIGN KEY

12 :風吹けば名無し:
FOREIGN_KEYって書いてるけど
SQLの文法的には FOREIGN KEY
アンダーバーは制約名につけるやつや

13 :風吹けば名無し:
CONSTRAINT fk_thread_user FOREIGN KEY (user_id) REFERENCES users(id)

これ見ただけで頭痛くなるんやが

14 :風吹けば名無し:

13
分解するとこうや

  • CONSTRAINT fk_thread_user
    → 制約の名前。好きにつけてええ。

  • FOREIGN KEY (user_id)
    → 「このテーブルの user_id は外部キーやで」

  • REFERENCES users(id)
    → 「users テーブルの id を参照するで」

これだけや

15 :風吹けば名無し:

14
思ったより優しい説明で草
サンガツ

16 :風吹けば名無し:
ON UPDATE CASCADE
ON DELETE CASCADE

←こいつらもだいたいFOREIGN KEYのオプションや

17 :風吹けば名無し:

16
カスケードってなんやねんラーメン屋か?

18 :風吹けば名無し:

17
カスケード=連鎖や
親を更新・削除したら、
子も連鎖して更新・削除されるモードや

19 :風吹けば名無し:
ON DELETE CASCADE
親ユーザー消したら、そのユーザーが立てたスレも全部消える

ON DELETE RESTRICT
スレが残ってる限り、親ユーザーを消させない

こんな感じ

20 :風吹けば名無し:
RESTRICTは「待て、それは消したらあかん」って止めてくるやつやな

21 :風吹けば名無し:
ワイ、何も考えずにON DELETE CASCADE付けて
テストでuser消したらpostsが全部消えて無事死亡

22 :風吹けば名無し:

21
それが「カスケード地獄」や
本番DBでやるとガチで泣くで

23 :風吹けば名無し:
FOREIGN KEYないと何があかんの?
アプリ側でチェックしたらええやん?

24 :風吹けば名無し:

23

  • アプリがバグったら終わり

  • 別のツールから直接DBいじられたら終わり

  • 将来、自分が仕様を忘れててもDBが守ってくれる

未来の自分を信じるな、DBを信じろ」ってことや

25 :風吹けば名無し:

24
最後の一行、刺さるからやめろ

26 :風吹けば名無し:
FOREIGN KEY張っとくと
「ゴミデータ(親のいない子)」が発生しにくいのがデカい

27 :風吹けば名無し:
ゴミデータってなに?

28 :風吹けば名無し:

27
例えばthreadsに
user_id = 99999 ってレコードがあるのに
usersテーブルに id=99999 が存在しない状態

「孤児データ」とか言われる
FOREIGN KEYないとそういうのが量産される

29 :風吹けば名無し:
ORPHAN(孤児)データとか言うと
急に重くなるからやめろ

30 :風吹けば名無し:
でもFOREIGN KEYって
インデックスとかちゃんと貼らんとクソ重くなるんやろ?

31 :風吹けば名無し:

30
基本は

  • 親側:参照される列にINDEX(主キーなら勝手についてる)

  • 子側:FOREIGN KEY張る列にもINDEX

これやっときゃそんなに怖くないで

32 :風吹けば名無し:
なんでみんな fk_〇〇 みたいな名前つけるん?

33 :風吹けば名無し:

32
fk = foreign key の略や
fk_thread_user → 「threadテーブルのuserへの外部キー」
って人間に分かりやすくするための記号やな

34 :風吹けば名無し:
MySQL「外部キー制約エラーです(1452)」
ワイ「😭」

35 :風吹けば名無し:

34
エラー1452あるある

Cannot add or update a child row: a foreign key constraint fails

→ 子に入れようとしてるIDが、親に存在してへん

36 :風吹けば名無し:
FOREIGN KEY後から追加しようとして
既にゴミデータがあると追加できなくてキレる

37 :風吹けば名無し:

36
そのための

  • データ掃除

  • 一時的にNULL許可

  • もしくは問題ある行を削除


「過去の自分の罪」を精算してから外部キーを張るんやで

38 :風吹けば名無し:
じゃあ最初からFOREIGN KEY付けといた方がええんか?

39 :風吹けば名無し:

38
設計時点で付ける派がだいたいのベストプラクティスやな
後から付けるのはだいたい「後悔した未来の自分」がやってる

40 :風吹けば名無し:
ORMとか使ってると勝手にFOREIGN KEY張ってくれたりしない?

41 :風吹けば名無し:

40
ツールによる
マイグレーションで
foreignId('user_id')->constrained()
とか書くと勝手にやってくれるやつもある

42 :風吹けば名無し:
ワイ「とりあえず全部ON DELETE CASCADEでええか」
先輩「やめろ」

43 :風吹けば名無し:

42
現場では

  • 基本:RESTRICT or NO ACTION

  • どうしても一緒に消したいとこだけCASCADE

みたいな運用が多いイメージ

44 :風吹けば名無し:
FOREIGN KEY多すぎると、テーブル分割とか設計の甘さがバレる説

45 :風吹けば名無し:

44
逆に何もFOREIGN KEYないと
「このDB、怖すぎん?」ってなるからバランスや

46 :風吹けば名無し:
結局のところ
FOREIGN KEY=「DBに書かせる人間関係図」
みたいなもんよな

47 :風吹けば名無し:

46

  • 親:PRIMARY KEY

  • 子:FOREIGN KEY

  • 約束:REFERENCES

  • 人間関係のルール:ON DELETE / ON UPDATE

こう覚えるとわかりやすい

48 :風吹けば名無し:
なんか恋愛ゲームみたいになってきたな

49 :風吹けば名無し:

48
「親に振られたら(DELETEされたら)
 子も後を追う(CASCADE)」とか怖すぎるやろ

50 :風吹けば名無し:
このスレ見てFOREIGN KEYちょっとだけ分かった気がするわ
サンキューなんJDB部📝




【Linux】nkfってなんやねん

1 :風吹けば名無し:2025/12/09(火) 00:00:01.00 ID:nkf00001
nkfってなんやねん Linuxの解説見てたら急に出てきてビビったんやが

2 :風吹けば名無し:2025/12/09(火) 00:00:15.24 ID:uTf8Abc1

1
ネット彼女フィルターやで

3 :風吹けば名無し:2025/12/09(火) 00:00:28.77 ID:Wsj3K9Qp

2
わいの人生全部弾かれて終わりそうやめろ

4 :風吹けば名無し:2025/12/09(火) 00:00:45.89 ID:Utf80000
ガチレスすると Network Kanji Filter の略や
昔からある文字コード変換コマンド

5 :風吹けば名無し:2025/12/09(火) 00:01:02.31 ID:Utf80000
日本語テキストの

  • 文字コード変換

  • 改行コード変換

  • 半角カナ→全角
    みたいなのを一発でやるやつや

6 :風吹けば名無し:2025/12/09(火) 00:01:20.02 ID:ShiFtSJs
要するに「文字化け直すおまじないコマンド」やと思っとけばええで

7 :風吹けば名無し:2025/12/09(火) 00:01:42.03 ID:MasYaN42
nkf -g file.txt
これで文字コード判定できるの地味に便利

8 :風吹けば名無し:2025/12/09(火) 00:01:59.55 ID:KsjF9pP2
そもそも文字コード多すぎ問題やろ
UTF-8だけにしろや

9 :風吹けば名無し:2025/12/09(火) 00:02:17.03 ID:EUCjP999

8
昔は
Windows → Shift_JIS
Unix → EUC-JP
メール → JIS
みたいな縄張り争いやったんや

10 :風吹けば名無し:2025/12/09(火) 00:02:34.90 ID:EUCjP999
その戦国時代の遺産を仲裁してくれるのが nkf なんや

11 :風吹けば名無し:2025/12/09(火) 00:02:55.38 ID:WinSjis0
Windowsで作ったSJISのテキストをサーバーに投げたら文字化けして
nkf教えられるまでずっと泣いとったわ

12 :風吹けば名無し:2025/12/09(火) 00:03:10.77 ID:WinSjis0
nkf -w old.txt > new.txt
これでUTF-8になるの知った日、世界が変わった

13 :風吹けば名無し:2025/12/09(火) 00:03:31.11 ID:uTf8Abc1
-w が UTF-8
-s が Shift_JIS
-e が EUC-JP
これだけ覚えときゃなんとかなる

14 :風吹けば名無し:2025/12/09(火) 00:03:50.48 ID:CRLF1412
改行コードも変えられるの草
WindowsのCRLFをLFにしたりできる

15 :風吹けば名無し:2025/12/09(火) 00:04:06.29 ID:CRLF1412
nkf -w -Lu --overwrite file.txt
これで「UTF-8 + LF」に統一や

16 :風吹けば名無し:2025/12/09(火) 00:04:22.11 ID:OvrWrt39
--overwrite 初心者がいきなり使うとファイルぶっ壊して発狂するやつ

17 :風吹けば名無し:2025/12/09(火) 00:04:39.21 ID:OvrWrt39
まずは > out.txt で別ファイルに出すのが正解やで

18 :風吹けば名無し:2025/12/09(火) 00:04:56.40 ID:HanKana7
半角カナを全角カナにしてくれるのも nkf のお仕事や
-Z2 とかやな

19 :風吹けば名無し:2025/12/09(火) 00:05:12.44 ID:HanKana7
古いテキスト「ハンカクカナダラケ」で目が死ぬから助かる

20 :風吹けば名無し:2025/12/09(火) 00:05:29.88 ID:YomiBke3
ワイ「なんか日本語だけ文字化けしてるンゴ…」
先輩「とりあえず nkf かけとけ」
←だいたい直るの理不尽で好き

21 :風吹けば名無し:2025/12/09(火) 00:05:48.27 ID:GccOld88
最近の若いやつ「VSCode が勝手にUTF-8にしてくれるんで nkf いらないっす」
おっさん「…」

22 :風吹けば名無し:2025/12/09(火) 00:06:06.09 ID:GccOld88
でもサーバーでログいじるときとか、GUIない環境だと nkf 一択なんよな

23 :風吹けば名無し:2025/12/09(火) 00:06:24.00 ID:Awk77777
nkf -w log_sjis | grep エラー
こういうパイプ芸覚えたら急に中級者感出る

24 :風吹けば名無し:2025/12/09(火) 00:06:40.53 ID:GrEp0009
grepさま「ワイUTF-8前提なんで」
nkf「ほな前処理しといたるわ」

25 :風吹けば名無し:2025/12/09(火) 00:06:58.79 ID:MasYaN42

1
とりあえず手元の適当なtxtに
nkf -g ファイル名
これやって今何の文字コードか見てみ

26 :風吹けば名無し:2025/12/09(火) 00:07:12.28 ID:MasYaN42
EUC-JP とか出てきたら
「あっこれ古いUNIXの亡霊や」って思えばええ

27 :風吹けば名無し:2025/12/09(火) 00:07:32.37 ID:EUCjP999
EUC初めて聞いた民多いけど
「Unixの日本語の昔の主役」くらいの理解で十分や

28 :風吹けば名無し:2025/12/09(火) 00:07:49.25 ID:ShiFtSJs
文字コード史
JIS「ワイがメール界隈の顔や」
SJIS「Windowsの覇者や」
EUC「Unixの古豪や」
UTF-8「全部まとめてワイの天下や」

29 :風吹けば名無し:2025/12/09(火) 00:08:07.13 ID:Utf80000
で、その内乱時代を
「はいはい変換変換」って裁くのが nkf 裁判長

30 :風吹けば名無し:2025/12/09(火) 00:08:24.61 ID:NetKanj1
名前に「Network」って付いてるのは
もともとメールとかネット経由の日本語を綺麗にするためのツールやからやで

31 :風吹けば名無し:2025/12/09(火) 00:08:39.48 ID:NetKanj1
昔のメーラとかパソ通ログいじるおじさんには必須アイテムやった

32 :風吹けば名無し:2025/12/09(火) 00:08:57.03 ID:ID000000
インストールどうすんの?

33 :風吹けば名無し:2025/12/09(火) 00:09:12.92 ID:Awk77777

32
Ubuntu系なら
sudo apt-get install nkf
これで入る

34 :風吹けば名無し:2025/12/09(火) 00:09:26.70 ID:Awk77777
入ったかどうかは
nkf --version
で確認や

35 :風吹けば名無し:2025/12/09(火) 00:09:44.40 ID:CRLF1412
ちな改行だけ変えたいときも nkf でいけるの意外と知られてない

36 :風吹けば名無し:2025/12/09(火) 00:10:00.03 ID:CRLF1412
Windows向けに出したいなら
nkf -Lw で CRLF にできる

37 :風吹けば名無し:2025/12/09(火) 00:10:18.19 ID:HanKana7
「Gitの差分が毎回全部変わるんやが?」ってやつ
だいたい改行コードと文字コードやからな

38 :風吹けば名無し:2025/12/09(火) 00:10:36.14 ID:GitErr22

37
環境ごとにバラバラなままコミットして地獄になったプロジェクト見たことあるわ

39 :風吹けば名無し:2025/12/09(火) 00:10:50.77 ID:GitErr22
最初に全ファイル nkf で正規化してから始めるのマジで大事

40 :風吹けば名無し:2025/12/09(火) 00:11:09.53 ID:uTf8Abc1
でも最近のフレームワーク「UTF-8前提やで〜」って言ってくれるから
新規開発だけしてると nkf 知らんままエンジニアになる時代

41 :風吹けば名無し:2025/12/09(火) 00:11:25.73 ID:OssAnOld
逆に nkf 触ったことあるかどうかで
「レガシーも見せられたかどうか」が分かる説

42 :風吹けば名無し:2025/12/09(火) 00:11:43.82 ID:MasYaN42
実務だと
・客から送られてきた謎エンコファイル
・昔の社内ツールのログ
・古いPerl CGI
この辺でめっちゃ出番ある

43 :風吹けば名無し:2025/12/09(火) 00:11:59.90 ID:MasYaN42
nkf -w --overwrite *.txt
とか雑にやるとたまにバイナリまで巻き込んで死ぬから気をつけろ

44 :風吹けば名無し:2025/12/09(火) 00:12:20.15 ID:BinRuin5
バイナリに nkf かけて「あれ?ファイル開かへん…」ってなる初心者、わいです

45 :風吹けば名無し:2025/12/09(火) 00:12:38.18 ID:BinRuin5
テキストファイルにだけかける、これ鉄則や

46 :風吹けば名無し:2025/12/09(火) 00:12:55.77 ID:ID000000
結局覚えること

  • 新規はUTF-8で作る

  • 謎ファイルは nkf -g で判定

  • 必要なら nkf -w でUTF-8に変換
    これでええんか?

47 :風吹けば名無し:2025/12/09(火) 00:13:09.33 ID:Utf80000

46
せや、それ分かってたら nkf 入門クリアや

48 :風吹けば名無し:2025/12/09(火) 00:13:25.71 ID:NetKanj1
あとは「--overwrite は慣れてから」で完璧

49 :風吹けば名無し:2025/12/09(火) 00:13:40.31 ID:nkf00001
なんかネタスレのつもりが普通に勉強になってて草
サンガツ、怖がらず nkf 触ってみるわ

50 :風吹けば名無し:2025/12/09(火) 00:13:54.87 ID:ShiFtSJs

49
自発的にコマンド触ろうとしててえらいで
分からんこと出てきたらまたスレ立てろや

【linux】rmとかいうこの世にあってはいけないコマンド

【スレタイ】

1 :風吹けば名無し:2025/12/08(月) 14:05:01.11 ID:rm000001
rmとかいうこの世にあってはいけないコマンド
一回ミスったら終わりって正気か?

2 :風吹けば名無し:2025/12/08(月) 14:05:24.41 ID:ls111111

1
取り返しがつかないのがUnix流や

3 :風吹けば名無し:2025/12/08(月) 14:05:47.20 ID:trash222
人類は「ゴミ箱に入れる」ボタンまで発明したのになんであの世界にだけ存在しないのか

4 :風吹けば名無し:2025/12/08(月) 14:06:10.82 ID:rm000001
rm test.txt とか打つだけで心拍数上がるんやが

5 :風吹けば名無し:2025/12/08(月) 14:06:35.19 ID:root9999
rootでrm触ってるとき手汗やばいよな

6 :風吹けば名無し:2025/12/08(月) 14:06:57.74 ID:rf444444
「ちょっとオプションつけるだけで世界終わるかもしれないコマンド」

7 :風吹けば名無し:2025/12/08(月) 14:07:19.58 ID:alias777
ワイ、有能

alias rm='rm -i'

で自分を守る

8 :風吹けば名無し:2025/12/08(月) 14:07:43.38 ID:care0001

7
-y 連打して全部消すまでがセット

9 :風吹けば名無し:2025/12/08(月) 14:08:09.11 ID:mvbackup
賢者「rmするくらいならとりあえず backup/ にmvしろ」

10 :風吹けば名無し:2025/12/08(月) 14:08:33.12 ID:delhist
rmした後に history 見て「ここが人生の分岐点やったな…」って反省会するまでがテンプレ

11 :風吹けば名無し:2025/12/08(月) 14:08:57.04 ID:rm000001
rm * 打つたびに「あれ?今どこにいるんやっけ…」って不安になる

12 :風吹けば名無し:2025/12/08(月) 14:09:19.92 ID:pwd33333

11
rm の前に pwd する癖つけると寿命延びるで

13 :風吹けば名無し:2025/12/08(月) 14:09:43.11 ID:ls555555
ワイは
ls →「ほんまに消してええやつか見る」
rm →「震える手で叩く」
の二段構えや

14 :風吹けば名無し:2025/12/08(月) 14:10:06.74 ID:trash222
GUI「ゴミ箱に移動しました(復元できます)」
rm「無言で抹殺しました」

15 :風吹けば名無し:2025/12/08(月) 14:10:29.21 ID:unixold
昔からある設計やからしゃーないとはいえ、21世紀にもなってまだあの仕様なのは草

16 :風吹けば名無し:2025/12/08(月) 14:10:51.00 ID:cli6666
新人「rmしたファイルってどこから戻せるんですか?」
現場「(沈黙)」

17 :風吹けば名無し:2025/12/08(月) 14:11:17.58 ID:log77777
誤rmしたあとにログとバックアップ漁る時間が一番集中してる

18 :風吹けば名無し:2025/12/08(月) 14:11:39.62 ID:tmp33333
/tmp とかいうrm練習場

19 :風吹けば名無し:2025/12/08(月) 14:12:02.61 ID:rm000001
誤rmしたときの「Ctrl+Zでなんとかならんか!?」っていう意味のないあがき

20 :風吹けば名無し:2025/12/08(月) 14:12:26.42 ID:safe1010
初心者には

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

ぐらいしてあげてほしい

21 :風吹けば名無し:2025/12/08(月) 14:12:47.33 ID:root9999
でも-i地獄になると「二度と聞くなや!」ってキレ始めるから難しい

22 :風吹けば名無し:2025/12/08(月) 14:13:13.90 ID:trashcli
rmの代わりにゴミ箱行きにするツール入れてる奴、心が平和そう

23 :風吹けば名無し:2025/12/08(月) 14:13:37.03 ID:fs888888
ファイルシステム的には「どこに何があるか」のメモを消してるだけなんやろ?
分かってても怖い

24 :風吹けば名無し:2025/12/08(月) 14:14:00.32 ID:mistype0
rm log って打とうとして rm log* とか rm *log とかやらかす未来が見える

25 :風吹けば名無し:2025/12/08(月) 14:14:24.09 ID:rm000001
rm -r とか「お前ほんまに人間か?」ってぐらい冷徹なオプション

26 :風吹けば名無し:2025/12/08(月) 14:14:47.10 ID:rf444444
しかも「確認なし」でディレクトリごと消せます!とかいう狂気の設計

27 :風吹けば名無し:2025/12/08(月) 14:15:10.73 ID:find5555
怖いからワイは find + -delete もあんまり使いたくない

28 :風吹けば名無し:2025/12/08(月) 14:15:35.04 ID:doc99999
rmは「事前にバックアップ取ってますよね?」って前提で作られてる顔してる

29 :風吹けば名無し:2025/12/08(月) 14:15:58.14 ID:backup42
バックアップしてない状態のrmはマジで「命がけの削除ボタン」

30 :風吹けば名無し:2025/12/08(月) 14:16:20.94 ID:log77777
消した瞬間は「スッキリした!」って思うのに、
10分後に「あれ必要やったんやが?」ってなるの人間すぎる

31 :風吹けば名無し:2025/12/08(月) 14:16:45.47 ID:rm000001
rm打つ前に一瞬だけ「このファイルにだって人生が…」って考えてしまう

32 :風吹けば名無し:2025/12/08(月) 14:17:09.77 ID:saigai00
本番サーバーでrm叩くときのあの空気、
なぜか静まるよな

33 :風吹けば名無し:2025/12/08(月) 14:17:33.12 ID:review88
同僚「このコマンドレビューお願いします」
rm が入ってるだけで3倍ぐらい慎重に読む

34 :風吹けば名無し:2025/12/08(月) 14:17:56.53 ID:script22
シェルスクリプトにrm書くとき、ほんまにこれでええんか10回くらい見直す

35 :風吹けば名無し:2025/12/08(月) 14:18:21.33 ID:echo0000
echo つけて試してから実行するやつ

echo rm /path/to/file

でシミュレーション

36 :風吹けば名無し:2025/12/08(月) 14:18:45.06 ID:unixold
「rmは危険だから使うな」じゃなくて
「rmを安全に使うための習慣を身につけろ」って世界観なんやろな

37 :風吹けば名無し:2025/12/08(月) 14:19:09.24 ID:rm000001
でも初心者からしたら
「物理的に存在してはいけないボタン」にしか見えんのよ

38 :風吹けば名無し:2025/12/08(月) 14:19:32.74 ID:trash222
Windowsの「Shift+Delete」も割とrmの親戚やな

39 :風吹けば名無し:2025/12/08(月) 14:19:57.27 ID:alias777
rmを「本当に捨てたいときだけ使う最後の手段」にして、
基本はmvかゴミ箱に逃がす運用にすると心が楽になる

40 :風吹けば名無し:2025/12/08(月) 14:20:19.90 ID:care0001
rmを触るときのマイルール作っとくとええで

  • pwd する

  • ls する

  • パスをコピペする(手打ちしない)

  • 大事そうなとこでは-i つける

41 :風吹けば名無し:2025/12/08(月) 14:20:44.30 ID:root9999
本番サーバーでrm叩く前に一回深呼吸するの、誰にも教わってないのにみんなやってる説

42 :風吹けば名無し:2025/12/08(月) 14:21:07.52 ID:newbie12
rm怖くて一生消せない初心者ワイ、
ストレージをゴミで埋め尽くす方向に振り切る

43 :風吹けば名無し:2025/12/08(月) 14:21:32.57 ID:fs888888

42
ある程度慣れたら「壊してもいいテスト環境」でrm練習するとええで

44 :風吹けば名無し:2025/12/08(月) 14:21:56.45 ID:mvbackup
rmの怖さを知ってる人ほど、案外事故らんのよな
一番危ないのは「なんか慣れてきたかも」のタイミング

45 :風吹けば名無し:2025/12/08(月) 14:22:20.81 ID:rm000001
じゃあ今日のワイの目標は
「rm打つ前に絶対pwdとlsする」にするわ

46 :風吹けば名無し:2025/12/08(月) 14:22:44.43 ID:goodjob3

45
そういう自分ルール作れるの偉いで
rmはメンタルと習慣で制御するコマンドや

47 :風吹けば名無し:2025/12/08(月) 14:23:09.27 ID:log77777
rmは「信用してはいけないけど、いないと困る同僚」みたいな存在

48 :風吹けば名無し:2025/12/08(月) 14:23:32.64 ID:unixold
この世からrmをなくすんやなくて、
rmと共存するための文化が何十年もかけて出来上がってるの、
ちょっとおもしろい

49 :風吹けば名無し:2025/12/08(月) 14:23:57.14 ID:rm000001
rmはこの世にあってはいけないコマンドやけど、
今日もワイはログを消すために呼び出してしまうんや…

50 :風吹けば名無し:2025/12/08(月) 14:24:20.13 ID:exit0000
rmは悪魔やけど、
「悪魔の力を安全に借りる練習」やと思えばちょっとだけ前向きになれるで
事故だけは起こすなよ運用民



【Linux】cdの使い方教えてくれ

1 :風吹けば名無し:2025/12/08(月) 13:40:01.23 ID:cd000001

Linux初心者なんやけど、cdの使い方教えてくれ
とりあえず打てばええんか?

2 :風吹けば名無し:2025/12/08(月) 13:40:24.77 ID:pwd11111

1
cd は「フォルダを移動するコマンド」や
まずは pwd で今どこにいるか見てから使うとええで

3 :風吹けば名無し:2025/12/08(月) 13:40:49.33 ID:ls222222
基本中の基本はこれやな

cd /path/to/dir

指定した場所にジャンプする

4 :風吹けば名無し:2025/12/08(月) 13:41:13.57 ID:home3333
家(ホームディレクトリ)に帰りたいときは

cd

だけでOK。何も付けないとホーム

5 :風吹けば名無し:2025/12/08(月) 13:41:35.90 ID:home3333
もしくは

cd ~

でも同じことや

6 :風吹けば名無し:2025/12/08(月) 13:41:59.74 ID:cd000001

4
なにも書かんでも動くんか、ちょっと怖いな

7 :風吹けば名無し:2025/12/08(月) 13:42:22.81 ID:dotdot99
一個上に戻りたいときは

cd ..

これめっちゃ使う

8 :風吹けば名無し:2025/12/08(月) 13:42:49.35 ID:dotdot99
.. が「親ディレクトリ」、. が「今いる場所」って意味や

9 :風吹けば名無し:2025/12/08(月) 13:43:10.83 ID:abspath0
絶対パスと相対パスの違いだけは押さえとけ

10 :風吹けば名無し:2025/12/08(月) 13:43:31.66 ID:abspath0

cd /var/www/html

← / から始まるやつが「絶対パス」

11 :風吹けば名無し:2025/12/08(月) 13:43:55.23 ID:relapath
相対パスは今いる場所基準や

cd app/public

とか ../log とか

12 :風吹けば名無し:2025/12/08(月) 13:44:20.01 ID:cd000001
絶対パスと相対パス、いつもこんがらがるわ

13 :風吹けば名無し:2025/12/08(月) 13:44:44.19 ID:relapath

12

  • 「/」で始まる → どこにいても同じ場所(絶対)

  • 「/」で始まらない → 今いる場所からの移動(相対)
    ってだけ覚えとけばええ

14 :風吹けば名無し:2025/12/08(月) 13:45:09.21 ID:minus4444
神コマンド教えたる

cd -

一個前にいたディレクトリに戻る

15 :風吹けば名無し:2025/12/08(月) 13:45:32.06 ID:minus4444
ターミナル版「戻るボタン」やな

16 :風吹けば名無し:2025/12/08(月) 13:45:55.78 ID:cd000001

14
それ便利そうやな
あっち行ったりこっち行ったりして迷子になる

17 :風吹けば名無し:2025/12/08(月) 13:46:20.40 ID:home3333
ホームの中の特定フォルダ行くときは ~ 使うと楽やで

cd ~/Downloads
cd ~/projects/ushichan

18 :風吹けば名無し:2025/12/08(月) 13:46:44.68 ID:root5555
root で変なとこ行かんように、

pwd

で場所確認するクセつけるのも大事

19 :風吹けば名無し:2025/12/08(月) 13:47:10.66 ID:ls222222
cd は「行く」
ls は「見る」
このセットでだいたいなんとかなる

20 :風吹けば名無し:2025/12/08(月) 13:47:33.53 ID:step0123
慣れないうちは

pwd
ls
cd どこか
pwd
ls

って一歩ずつ確認すると迷子になりにくい

21 :風吹けば名無し:2025/12/08(月) 13:47:57.57 ID:space777
スペース入ったパスは

cd "My Folder"

みたいに引用符で囲うんやで

22 :風吹けば名無し:2025/12/08(月) 13:48:20.84 ID:space777
もしくはバックスラッシュで逃がす

cd My\ Folder

23 :風吹けば名無し:2025/12/08(月) 13:48:45.12 ID:err99999
たまに

cd: そんなファイルやディレクトリはありません

って怒られるのは、スペルミスかパス間違いがほとんど

24 :風吹けば名無し:2025/12/08(月) 13:49:08.51 ID:tab88888

1
たぶん tab 補完まだ使ってないやろ?

25 :風吹けば名無し:2025/12/08(月) 13:49:31.16 ID:tab88888

cd ushi<Tab>

ってやると ushichan/ みたいに勝手に補完してくれる
これ覚えると世界変わる

26 :風吹けば名無し:2025/12/08(月) 13:49:55.93 ID:cd000001

25
tab 補完は知ってたけど、cdでもそんな便利なんやな

27 :風吹けば名無し:2025/12/08(月) 13:50:19.77 ID:deepdir
深い階層に行くときは

cd /var/www/html/ushichan/public

って一気に書いてもいいし

28 :風吹けば名無し:2025/12/08(月) 13:50:42.74 ID:deepdir
ゆっくり行きたければ

cd /var
cd www
cd html
cd ushichan/public

みたいに分けてもええ

29 :風吹けば名無し:2025/12/08(月) 13:51:05.41 ID:check321
迷子になったらとりあえず

pwd

押して、/home/ユーザー名 から遠く離れてたら
一回 cd で帰って仕切り直し

30 :風吹けば名無し:2025/12/08(月) 13:51:28.03 ID:home3333
cd 単体でホームに戻れるの、地味にありがたいよな
毎回 /home/username 打ってたら死ぬ

31 :風吹けば名無し:2025/12/08(月) 13:51:53.63 ID:perm6666
ちなみに、cdは「ディレクトリ」にしか移動できんからな
ファイル名を指定すると怒られる

32 :風吹けば名無し:2025/12/08(月) 13:52:16.61 ID:perm6666

cd index.php
# これは無理

33 :風吹けば名無し:2025/12/08(月) 13:52:41.73 ID:parent00
cd ../.. みたいに .. を重ねると
二階層上に戻れたりする

34 :風吹けば名無し:2025/12/08(月) 13:53:05.96 ID:parent00
例:
/home/usr/projects/ushichan にいるとき

cd ../..

/home/usr まで戻る

35 :風吹けば名無し:2025/12/08(月) 13:53:30.29 ID:cd000001
cd - とか cd .. とか、似たようなの多くて混乱するな

36 :風吹けば名無し:2025/12/08(月) 13:53:54.73 ID:sumup101

35 ざっくり整理すると:

  • cd    → ホームへ

  • cd ~   → ホームへ(同じ)

  • cd ..  → 一個上へ

  • cd -  → ひとつ前にいた場所へ

37 :風吹けば名無し:2025/12/08(月) 13:54:18.86 ID:alias007
よく行くディレクトリは alias してる奴もいる

alias cdu='cd /var/www/html/ushichan/public'

38 :風吹けば名無し:2025/12/08(月) 13:54:44.19 ID:alias007
で、

cdu

って打つだけでそこに飛ぶ

39 :風吹けば名無し:2025/12/08(月) 13:55:07.28 ID:careful0
root で cd / してから rm とか打つと
人生終わる可能性あるから、cd覚えるのと同じくらい
「どこにいるか確認する癖」が大事や

40 :風吹けば名無し:2025/12/08(月) 13:55:31.43 ID:cd000001

39
怖い話やめろ

41 :風吹けば名無し:2025/12/08(月) 13:55:54.39 ID:practice
練習用に:

mkdir -p ~/cd_test/a/b/c
cd ~/cd_test
pwd
cd a
pwd
cd b
pwd
cd ..
pwd
cd -
pwd

これやると動きがだいぶ体感で分かる

42 :風吹けば名無し:2025/12/08(月) 13:56:19.05 ID:cd000001

41
これ後でコピペして試すわ

43 :風吹けば名無し:2025/12/08(月) 13:56:42.32 ID:lost5555
迷子になりがちなうちは、
cdpwdls の三点セット多用しとけば大きな事故は起きにくい

44 :風吹けば名無し:2025/12/08(月) 13:57:06.26 ID:note7777
cd は「いま自分がどこに立ってるか」を意識するためのコマンドやと思っとき
そこに ls とか rm とかが続くイメージ

45 :風吹けば名無し:2025/12/08(月) 13:57:29.73 ID:vsnano00
エディタ開く前に毎回道に迷うから
cd ちゃんと覚えておくと nano も vim も幸せになれる

46 :風吹けば名無し:2025/12/08(月) 13:57:53.11 ID:cd000001
とりあえず今日は

  • cd

  • cd ..

  • cd -

  • cd /なんたら
    このへん意識して触ってみるわ

47 :風吹けば名無し:2025/12/08(月) 13:58:16.61 ID:goodjob3

46
自分で試してみようとしてるのえらいで
ターミナル系は触った回数=慣れや

48 :風吹けば名無し:2025/12/08(月) 13:58:40.18 ID:root5555
最終的には何も考えず指が勝手に
cd /var/www/html/ushichan/public
って打つようになるから安心せえ

49 :風吹けば名無し:2025/12/08(月) 13:59:03.72 ID:cd000001
みんなサンガツ
cd怖くなくなってきたから、
ちょっとサーバーの中散歩してくるわ

50 :風吹けば名無し:2025/12/08(月) 13:59:27.11 ID:exit0000

49
迷子になったら cd で帰宅、pwd で現在地確認や
行ってらっしゃい運用民




記事検索(なんでも単語を入れてみて)
カテゴリ別アーカイブ
月別アーカイブ
このブログはAmazonアソシエイトに参加しています。
Googleアナリティクスでアクセス情報を分析しています。