/**ぶろぐ*/

コメントアウトしたくなるブログ

windows10のユーザフォルダにある見えないシンボリックリンクの正体

WSLで作業しているとき, /mnt/c/Users/User/ 内で ls を実行するとアクセス権限のメッセージが出ることに気が付いた.

ls: cannot read symbolic link 'Application Data': Permission denied
ls: cannot read symbolic link 'Cookies': Permission denied
ls: cannot read symbolic link 'Local Settings': Permission denied
ls: cannot read symbolic link 'My Documents': Permission denied
ls: cannot read symbolic link 'NetHood': Permission denied
ls: cannot read symbolic link 'PrintHood': Permission denied
ls: cannot read symbolic link 'Recent': Permission denied
ls: cannot read symbolic link 'SendTo': Permission denied
ls: cannot read symbolic link 'Templates': Permission denied
ls: cannot read symbolic link 'スタート メニュー': Permission denied

こんな感じで身に覚えのないファイルが表示されるので,どうにか消せないものか調べてみた.

まずpowershellでアクセスできるか確認してみる.

PS C:\Users\User> ls


    ディレクトリ: C:\Users\User


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       2017/11/12     18:33                .dlv
d-----       2017/11/16     14:53                .ssh
d-----       2017/12/15     16:31                .texlive2017
d-----       2017/10/18     22:52                .vscode
d-r---       2018/01/07      3:08                3D Objects
d-r---       2018/01/07      3:08                Contacts
d-r---       2018/01/16     16:13                Desktop
d-r---       2018/01/18     15:05                Documents
d-r---       2018/01/15     15:30                Downloads
d-r---       2018/01/07      3:08                Favorites
d-----       2017/11/04      1:11                go
d-r---       2018/01/07      3:08                Links
d-r---       2018/01/13     17:52                Music
d-r---       2017/12/08     14:21                OneDrive
d-r---       2018/01/15     18:13                Pictures
d-----       2017/10/13     10:51                Roaming
d-r---       2018/01/07      3:08                Saved Games
d-r---       2018/01/07      3:08                Searches
d-----       2017/10/20     12:22                source
d-r---       2018/01/07     14:35                Videos
d-----       2017/10/30      0:10                Workspace
-a----       2018/01/19     23:45             13 .bash_history
-a----       2017/12/15     17:20             59 .gitconfig
-a----       2017/12/26     15:00           1060 .viminfo

My Documentsなんてないじゃん.と思ったけど隠しディレクトリ表示されていないので -Hidden 使って表示してみた.

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d--h--       2017/10/20     16:04                AppData
d--hsl       2017/10/20     16:04                Application Data
d--hsl       2017/10/20     16:04                Cookies
d--hs-       2018/01/18     18:27                IntelGraphicsProfiles
d--hsl       2017/10/20     16:04                Local Settings
d--h--       2017/10/20     16:10                MicrosoftEdgeBackups
d--hsl       2017/10/20     16:04                My Documents
d--hsl       2017/10/20     16:04                NetHood
d--hsl       2017/10/20     16:04                PrintHood
d--hsl       2017/10/20     16:04                Recent
d--hsl       2017/10/20     16:04                SendTo
d--hsl       2017/10/20     16:04                Templates
d--hsl       2017/10/20     16:04                スタート メニュー

で,中を見てみる.

PS C:\Users\User> cd '.\My Documents\'
PS C:\Users\User\My Documents> ls
ls : パス 'C:\Users\User\My Documents' へのアクセスが拒否されました。
発生場所 行:1 文字:1
+ ls
+ ~~
    + CategoryInfo          : PermissionDenied: (C:\Users\User\My Documents:String) [Get-ChildItem], UnauthorizedAcc
   essException
    + FullyQualifiedErrorId : DirUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetChildItemCommand

わからん.

ということで,謎のディレクトリの名前だけで調べてたぶんこれだろうと考えているものがwindowsの特殊フォルダ.

Special folder - Wikipedia

名前は一致しているからたぶんそう. わからん.


ここから追記

この記事を投稿してから,有力な情報をいただいたので書き残しておきます.

上記の隠しシンボリックリンクだと思っていたものは以前のwindowsで使われていたフォルダジャンクションだったようで,後方互換のために残っているらしい(たしかにxpでc:\My Documentsでアクセスで来ていた気がする).

なので,消せないのではという結論に至った.


また追記

WSL関係なかったので改題しました.