kill
и rm
не требуют стандартного ввода.
Для kill
и rm
пользователи предоставляют свою настроенную информацию в качестве аргумента, а $(cmd)
помогает взять STDOUT cmd
и преобразовать его в информационный аргумент.
Для grep
и awk
пользователи указывают аргументы и, кроме того, также STDIN
или обычный файл, который будет обрабатываться командой. STDIN
можно передавать с помощью конвейера |
или путем ввода вручную.
Прочтите руководство или исходные коды. И если вы не найдете ничего нужного, вы можете провести простой, но, возможно, опасный тест :
.Просто введите интересующую вас команду с аргументами, которые вы уже поняли, и посмотрите, не произойдет ли ничего при выполнении команды pause (). Если он приостанавливается, он фактически ожидает STDIN (, вы можете попробовать cat
и echo
, чтобы увидеть разные ). Вы вручную набираете Ctrl-D
, и команда продолжает (, показывает результаты или ошибки )и возвращает результат. Такой команде в этой ситуации нужен STDIN (с предоставленными вами аргументами ).
Одна и та же команда может не нуждаться в STDIN в разных ситуациях (например, cat
ожидает STDIN, а cat file.txt
нет ).
Прошивка вашего накопителя ошибочно «думала», что электрические/механические параметры определенного сектора не соответствуют норме, но последующие обращения заставили ее «думать» иначе, поэтому ошибка исчезла. Я видел это много раз.
По мере того, как единицы данных становятся физически все меньше и меньше, это должно происходить все чаще.
Чтобы быть более уверенным в работоспособности вашего диска, вы можете запустить расширенный тест SMART с помощью smartctl -t long /dev/device
или использовать утилиту badblocks
-, но последнее только в том случае, если рассматриваемый диск не используется или не подключен.
Выполнение обоих тестов (дажеsmartctl -t long
)может привести к потере данных или отказу оборудования , поэтому всегда имейте свежие проверенные резервные копии.
Немного оффтоп :Я запускаю smartctl -t short
еженедельно и smartctl -t long
ежемесячно, просто на всякий случай, но, честно говоря, SSD-диски имеют привычку вымирать на ровном месте в любом случае, но, по крайней мере, при механическом вращении дисков это спасло меня от надвигающихся бедствий. В Википедии есть список атрибутов SMART, за которыми нужно следить:https://en.wikipedia.org/wiki/S.M.A.R.T.
But the main question is how did it go from having a bad sector to having no bad sectors?
Вы попали сюда из-за того, что ваш инструмент дал запутанную сводку. У вас все еще есть один неисправимый сбойный сектор, но ожидающая операция больше не выполняется.
Что означает, что прошивка завершила эту операцию, какой бы она ни была. Поскольку счетчик перераспределения по-прежнему равен нулю, ни один сектор не был перераспределен во время этой операции.
Если вы действительно хотите узнать текущее количество сбойных секторов, вам нужно прочитать каждый отдельный сектор вашего жесткого диска (сканирование сбойных блоков ).
И имейте в виду, что современные жесткие диски перераспределяют поврежденные сектора при следующей записи, заменяя их здоровыми. Это еще один способ, которым сбойный сектор может «исчезнуть» (, но это не то, что произошло в вашем случае ).