Это можно сделать с помощью ntp или ntpdate.
apt install ntpdate
ntpdate pool.ntp.org
ntpdate в основном полезен для однократной -синхронизации времени. В то время как демон ntp будет работать в фоновом режиме и поддерживать ваши часы в актуальном состоянии :
.apt install ntp
cat <<EOF >/etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift
server pool.ntp.org
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1
EOF
systemctl start ntp
systemctl enable ntp
Хотя, возможно, вы просто используете неправильный часовой пояс. Некоторые GMT -3 например:
ln -sf /usr/share/zoneinfo/America/Argentina/Buenos_Aires /etc/localtime
What function is bash/zsh running to "identify" the relevant command or determine whether or not there is a command to complete on at all?
Когда вы нажимаете tab
, readline выполняет функцию complete
.
Вы можете переопределить это в~/.inputrc
:
"\t": complete
complete
определяется в lib/readline/funmap.c
как:
static const FUNMAP default_funmap[] = {
[..]
{ "complete", rl_complete },
rl_complete
можно найти вlib/readline/complete.c
(просмотрите источник):
/* Complete the word at or before point. You have supplied the function
that does the initial simple matching selection algorithm (see
rl_completion_matches ()). The default is to do filename completion. */
int
rl_complete (int ignore, int invoking_key)
{
..
Это отправная точка. Он разбивает слова, проверяет, какие завершения зарегистрированы, а затем ищет соответствующие завершения.
Zsh, вероятно, будет иметь аналогичную реализацию.
Существует также хорошее объяснение процесса здесь .