Отличное решение @icarus работает для функций, до тех пор, пока они определены буквально, а не являются результатом eval
содержимого другого файла (в котором файл с eval
будет отображаться как источник). Он не будет печатать исходный файл с псевдонимами, встроенными модулями оболочки (например, echo
) и исполняемыми файлами (двоичными или нет), и я считаю, что эта информация недоступна в целом. Некоторые команды могут распечатывать свои исходные файлы (и даже могут быть правдивыми) либо в ходе нормального выполнения, либо в ответ на сигнал.
__ git_ps1
определено в /usr/share/git/git-prompt.sh
и /usr/share/git/completion/git-prompt.sh
на моя система, Arch Linux, может быть, и у вас будет то же самое.
Взгляните на раздел Invocation в man bash
, если вы хотите найти команды, специально созданные в начале оболочки - они могут быть источником других файлов, которые, в свою очередь, являются источником других файлов. файлы.
Когда dd
запишет, что устройство заполнено, выводится сообщение:
dd: writing to '/dev/full': No space left on device
Отправка сигнала USR1
запущенному процессу dd
заставляет его выводить текущее состояние. Вы можете использовать kill
для отправки сигнала:
kill -USR1 $PID
В более поздних версиях GNUdd
есть опция status=progress
, которая показывает текущий прогресс на терминале.
Очистка диска, вероятно, выполняется быстрее с cat /dev/zero > /dev/sdX
вместо dd
, когда параметры dd
не настроены:
cat /dev/zero > /dev/sdX
Вы можете получить индикатор выполнения, если у вас установленоpv
:
pv /dev/zero > /dev/sdX
Как узнать, закончила ли dd стирание моего жесткого диска?
Вы можете использовать инструментdcfldd
dcfldd - enhanced version of dd for forensics and security
dcfldd was initially developed at Department of Defense Computer Forensics Lab (DCFL). This tool is based on the dd program with the following additional features:
- Hashing on-the-fly: dcfldd can hash the input data as it is being transferred, helping to ensure data integrity.
- Status output: dcfldd can update the user of its progress in terms of the amount of data transferred and how much longer operation will take.
- Flexible disk wipes: dcfldd can be used to wipe disks quickly and with a known pattern if desired.
- Image/wipe verify: dcfldd can verify that a target drive is a bit-for-bit match of the specified input file or pattern.
- Multiple outputs: dcfldd can output to multiple files or disks at the same time.
- Split output: dcfldd can split output to multiple files with more configurability than the split command.
- Piped output and logs: dcfldd can send all its log data and output to commands as well as files natively.