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
190
今いるディレクトリを消すとどうなる
「新しい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
250
gitサービス3兄弟
ozuma
0
260
簡体字は楽
ozuma
0
290
ソフトウェアは固定資産
ozuma
0
280
ASCIIコードの小話
ozuma
0
290
名前付きパイプ FIFO
ozuma
0
310
文章、作文技法 リモートワーク
ozuma
1
690
CentOSの今後のリリース(簡易説明)
ozuma
0
260
AndroidでもLinux動いてるよ
ozuma
0
270
Other Decks in Technology
See All in Technology
どうするコスト最適化のトレードオフ
tetsuyaooooo
1
600
Google Cloud Next '24 Recap(Cloud Run/k8s)
mokocm
0
250
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
120
今日からできる!簡単 .NET 高速化 Tips -2024 edition-
xin9le
3
1.5k
Reducing Cross-Zone Egress at Spotify with Custom gRPC Load Balancing Recap
koh_naga
0
210
One engineer company with Ruby on Rails
rstankov
2
240
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
830
BPStudyの200回を中心にIT業界を振り返る。そしてこれから
haru860
2
240
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
3
550
20分で完全に理解するGrafanaダッシュボード
hamadakoji
3
750
Building a RAG-poweredAI chat appwith Python and VS Code
pamelafox
0
110
TechFeed Experts Night#27 〜 フロントエンドフレームワーク最前線 (Svelte)
baseballyama
1
540
Featured
See All Featured
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
9
8.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
How to Ace a Technical Interview
jacobian
272
22k
A designer walks into a library…
pauljervisheath
200
23k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Navigating Team Friction
lara
178
13k
Thoughts on Productivity
jonyablonski
58
3.8k
Rebuilding a faster, lazier Slack
samanthasiow
73
8.2k
Producing Creativity
orderedlist
PRO
337
39k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Fireside Chat
paigeccino
21
2.6k
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コマンドを終了させてしまうと、ファイルは 完全に見えなくなります (ただし直後は台帳から消えただけでディスク上に 残っているので、復旧できる可能性は高いです)