Именно, потому что каре часто используется для выражения клавиши Ctrl, нажатой, или это - иначе управляющий символ.
Сочетание клавиш, которое Вы на самом деле ввели, было этим:
cp filename.xsl .
ctrl+Vbackspace~Enter
Вы, по-видимому, пытались скопировать файл в свой корневой каталог (~
). Можно повторить это путем ввода ctrl+Vbackspace.Вот увидишь ^?
распечатанный на экране.
Можно просмотреть файлы с непечатаемыми символами, преобразованными в Escape C-стиля как это (это -b
флаг это важно, но так как Ваш файл начинается с точки, в которой Вы будете нуждаться -a
также:
$ ls -ab
. .. .\177~
Без -b
Вы только видите его как .?~
не потому что это просто опускает ^
, но потому что любой non-pritable символ отображен как ?
. Попробовать touch
ctrl+VEnterfooEnter и затем ls
. Файл, который Вы будете видеть, будет ?foo
. Затем ls -b
покажет \rfoo
.
Таким образом, когда Вы rm .?~
это соответствует потому что в этом случае ?
Вы ввели, интерпретируется оболочкой как globbing подстановочный знак для соответствия любому отдельному символу, не конкретно фактическому вопросительному знаку. Вы имеете rm
искаженный к rm -i
таким образом, это подтверждает Ваше действие и когда это делает это, показывает управляющий код C-стиля.
Я ничего не вижу по сути неправильно с выполнением его этот путь. Единственная вещь, которая высовывается, состоит в том, что кто-то мог играть в игры с содержанием db2restore, если бы тот файл принадлежал db2inst1 и не корню, например.
Я также собираюсь предположить, что эта playschool база данных не находится в производственной системе. Если это затем, это становится плохой идеей, если он разработчики входит в производственную базу данных.
В целом при выделении доступа к базе данных я всегда исторически создавал учетные записи пользователей в базе данных и затем выделял определенные возможности (добавьте, отбросьте, и т.д.) к той конкретной учетной записи пользователя.