Zsh, a powerful shell, supports two types of aliases: local and global. Local aliases are the most common type, only expanding when they’re the first word in a command. For instance, if ‘la’ is aliased to ‘ls -a’, typing ‘la’ will execute ‘ls -a’. However, if ‘la’ appears anywhere else in the command, it won’t expand.
On the other hand, global aliases expand regardless of their position in a command. This can be useful but also risky as it may lead to unexpected expansions. To create a global alias, use the ‘alias -g’ command.
A key difference between these two lies in their expansion behavior. While local aliases only expand at the start of commands, global ones do so irrespective of their location within a command line.