Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
今いるディレクトリを消すとどうなる
Search
Osumi, Yusuke
March 13, 2021
Technology
1
330
今いるディレクトリを消すとどうなる
「新しいLinuxの教科書」を読む会 オンライン #11 での発表資料です。
https://linuxbook.connpass.com/event/204816/
Osumi, Yusuke
March 13, 2021
Tweet
Share
More Decks by Osumi, Yusuke
See All by Osumi, Yusuke
本の紹介の補足
ozuma
1
360
gitサービス3兄弟
ozuma
0
370
簡体字は楽
ozuma
0
420
ソフトウェアは固定資産
ozuma
0
390
ASCIIコードの小話
ozuma
0
400
名前付きパイプ FIFO
ozuma
0
470
文章、作文技法 リモートワーク
ozuma
1
850
CentOSの今後のリリース(簡易説明)
ozuma
0
370
AndroidでもLinux動いてるよ
ozuma
0
390
Other Decks in Technology
See All in Technology
バクラクのモノレポにおける AI Coding のための環境整備と {Roo,Claude} Code活用事例 / AI Coding in Bakuraku's Monorepo: Environment Setup & Case Studies with {Roo, Claude} Code
upamune
7
2.8k
やさしい認証認可
minorun365
PRO
26
10k
入門 ESlint Typegen #TSKaigi #TSKaigi2025_kataritai
bengo4com
0
2k
Roo CodeとClaude Code比較してみた
pharma_x_tech
1
150
AIコーディング新時代を生き残るための試行錯誤 / AI Coding Survival Guide
tomohisa
7
7.2k
Eight Engineering Unit 紹介資料
sansan33
PRO
0
3.4k
JavaのMCPサーバーで体験するAIエージェントの世界
tatsuya1bm
1
210
MCPを利用して自然言語で3Dプリントしてみよう!
hamadakoji
0
1.2k
impressions-trying-lambda-web-adapter
junkishigaki
2
140
GitHub Copilot Use Cases at ZOZO
horie1024
1
350
Vibe Codingの裏で、 考える力をどう取り戻すか
csekine
1
450
Monorepo Error Management: Automated Runbooks and Team-Targeted Alert Distribution
biwashi
1
110
Featured
See All Featured
It's Worth the Effort
3n
184
28k
How GitHub (no longer) Works
holman
314
140k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Building a Modern Day E-commerce SEO Strategy
aleyda
41
7.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
15
900
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Optimizing for Happiness
mojombo
378
70k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.8k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Transcript
今いるディレクトリを 消すとどうなる @ozuma5119 1 「新しいLinuxの教科書」を読む会 オンライン #11 2021/03/13
Windowsの場合 - できない 2
Linuxの場合 - できる 3 $ ls book1.csv secret.txt $ pwd
/home/book/Documents $ rm -v -r /home/book/Documents `/home/book/Documents/secret.txt' を削除しました `/home/book/Documents/book1.csv' を削除しました ディレクトリを削除しました: `/home/book/Documents' $ pwd /home/book/Documents
4 "Documents" フォルダは消えたのにいる! *いしのなかにいる*
いるけど何もできません 5 [book@cent7 Documents]$ pwd /home/book/Documents [book@cent7 Documents]$ rm -v
-rf /home/book/Documents ディレクトリを削除しました: `/home/book/Documents' [book@cent7 Documents]$ [book@cent7 Documents]$ echo "AAA" > a.txt bash: a.txt: そのようなファイルやディレクトリはありません [book@cent7 Documents]$ ls -al 合計 0 [book@cent7 Documents]$ . と .. も無いことに注意
Linuxでファイル・ディレクトリを削除するとは 6 /home/book iノード番号 ファイル名 82490 Documents 33795498 Desktop 51812769
Downloads Documents Desktop Downloads
Linuxでファイル・ディレクトリを削除するとは 7 /home/book iノード番号 ファイル名 82490 Documents 33795498 Desktop 51812769
Downloads Documents Desktop Downloads ディレクトリエントリ(台帳)から消すだけ そのため「迷子」になる
応用編 - 消しちまった! でも別のアプリで開いてる シナリオ 1. Documents/secrets.txt をlessで見ていた 2. [Documents]
フォルダごと消してしまった $ rm -rf Documents 3. lessがopenしているFD(File Discriptor)を/procから探してコピーする 4. 復旧! 参考: https://mag.osdn.jp/06/11/23/0451251 8
9 1. ~/Documents/secrets.txt を 開いている状態で…… 2. Documentsフォルダごと消します
10 1. lessコマンドのプロセスIDを調べて 2. lsofコマンドでファイルを開いている FD(File Descriptor)を探します
11 1. プロセスID=11523, FD=4 をコピーします 2. ファイル復旧できた!
12 lessコマンドを終了させてしまうと、ファイルは 完全に見えなくなります (ただし直後は台帳から消えただけでディスク上に 残っているので、復旧できる可能性は高いです)