コピペミスで見た目上、重複したファイル名が存在するようになってしまいました。

・本来の作業
cp -p 150101-1 150101

・作業資料のコピペした際、ファイル名最後に半角スペースが入っていることに気が付かず、そのままコピペしてエンター
cp -p 150101-1 150101□
(□は半角スペース)

lsコマンドを叩くと、ファイル名最後の半角スペースは表示されない
(判別出来ない)ので、150101のファイルが2つ存在しているように見えます。
#ls
150101
150101□


削除しようにも、"rm 150101□"と入力しても、rmコマンドとしては
"rm 150101"と認識されて、本来残すべきファイルを削除してしまいそうで
怖いので、どうしようかと思って周りに相談。


以下の解決方法を教えてもらいました。


・ファイルのIノード番号の確認と、表示不可能な文字を表示するオプションを組み合わせ

# ls -i | cat -vt
5975710 150101
447269871 150101M-cM-^@M-^@


M-cM-^@M-^@の表記が半角スペースを表すようです。
ファイル名の前に表示されている数字がIノード番号です。



このまま "rm 150101M-cM-^@M-^@" で削除できればいいのですが、
それもできないようなので、一旦リネームをします。


find . -inum 447269871 -ok mv {} 150101rename \;

※447269871はls -iで確認した、Iノード番号。
 150101renameはリネーム後のファイル名


これで150101□が150101renameに書き換わりました。


あとは普通に"rm 150101rename"で削除。

こういうとき、GUIは便利というか手間がないなあと思ったりして。
関連記事
新規設定したルータの動作確認をしていると、リモートでSSH接続が出来ない事象が発生。

パスワードの設定ミスを疑い、パスワードの再設定。
パスワードの入力ミスを疑い、コピペでログイン試行していましたが、解決せず。

根本的に何かおかしそうなので、コンフィグを精査していたら
line vtyでlogin localの設定が抜けていたことに気がついて、無事解決。

参考元のコンフィグにlogin localが設定されていなかったので、
コンフィグ改変時に抜けたままでした。


ただ、参考元のルータはlogin localの設定がされていないのに、なぜSSHでログインが出来るのかが不明なままです。

デフォルトで表示されないIOSのバージョンだったりするのでしょうか
関連記事


WHAT'S NEW?