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
Reducing Cross-Zone Egress at Spotify with Custom gRPC Load Balancing Recap
koh_naga
0
200
Terraformあれやこれ/terraform-this-and-that
emiki
8
1.3k
Google Cloud Next '24でブログを10本書いた方法と勉強会を沸かせた方法
yasumuusan
0
290
20240418_Google ColabにLLMが搭載されたようなのでPython x データ分析の勉強方法を考えてみる
doradora09
0
120
日本におけるデータエンジニアリングのこれまでとこれから
foursue
16
4.2k
サーバー間 GraphQL と webmock-graphql の話 / server-to-server graphql and webmock-graphql
qsona
2
180
長期運用プロジェクトでのMySQLからTiDB移行の検証
colopl
2
830
MapLibreとAmazon Location Service
dayjournal
1
150
Kernel MemoryでAzure OpenAI Serviceとお手軽データソース連携
mitsuzono
1
190
Tableau事例紹介 / Tableau Case Study of Eureka
kazuya_araki_tokyo
1
190
VS CodeでAWSを操作しよう
smt7174
7
1.6k
DevOpsメトリクスとアウトカムの接続にトライ!開発プロセスを通して計測できるメトリクスの活用方法
ham0215
2
230
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
216
8.6k
Debugging Ruby Performance
tmm1
70
11k
For a Future-Friendly Web
brad_frost
172
9k
Building Applications with DynamoDB
mza
88
5.6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
227
16k
The Art of Programming - Codeland 2020
erikaheidi
42
12k
Code Reviewing Like a Champion
maltzj
514
39k
Imperfection Machines: The Place of Print at Facebook
scottboms
260
12k
Building a Modern Day E-commerce SEO Strategy
aleyda
17
6.4k
We Have a Design System, Now What?
morganepeng
43
6.7k
Optimising Largest Contentful Paint
csswizardry
8
2.4k
A Philosophy of Restraint
colly
197
16k
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コマンドを終了させてしまうと、ファイルは 完全に見えなくなります (ただし直後は台帳から消えただけでディスク上に 残っているので、復旧できる可能性は高いです)