Иногда ls будет префикс имен файлов с именем папки, иначе он не будет. Вы можете дублировать на своей платформе:
$ ls /var/lib/initramfs-tools
4.10.10-041010-generic 4.4.0-78-generic 4.8.17-040817-generic
4.10.17-041017-generic 4.4.0-89-generic 4.9.0-040900-generic
4.11.12-041112-generic 4.4.33-040433-generic 4.9.21-040921-generic
4.11.3-041103-generic 4.4.8-040408-generic 4.9.40-040940-generic
4.11.9-041109-generic 4.6.3-040603-generic 4.9.8-040908-generic
4.12.0-041200-generic 4.7.5-040705-generic 4.9.9-040909-generic
4.12.4-041204-generic 4.8.12-040812-generic
$ ls /boot/vml*
/boot/vmlinuz-4.10.10-041010-generic /boot/vmlinuz-4.4.8-040408-generic
/boot/vmlinuz-4.10.17-041017-generic /boot/vmlinuz-4.6.3-040603-generic
/boot/vmlinuz-4.11.12-041112-generic /boot/vmlinuz-4.7.5-040705-generic
/boot/vmlinuz-4.11.3-041103-generic /boot/vmlinuz-4.8.12-040812-generic
/boot/vmlinuz-4.11.9-041109-generic /boot/vmlinuz-4.8.17-040817-generic
/boot/vmlinuz-4.12.0-041200-generic /boot/vmlinuz-4.9.0-040900-generic
/boot/vmlinuz-4.12.4-041204-generic /boot/vmlinuz-4.9.21-040921-generic
/boot/vmlinuz-4.4.0-78-generic /boot/vmlinuz-4.9.40-040940-generic
/boot/vmlinuz-4.4.0-89-generic /boot/vmlinuz-4.9.8-040908-generic
/boot/vmlinuz-4.4.33-040433-generic /boot/vmlinuz-4.9.9-040909-generic
Мне нравится формат первой версии, которая не включает префикс каталога initramfs-tools/. Я чувствую, что вторая версия, где boot/ добавлена как префикс, является избыточным.
Я нашел этот Unix & amp; Вопрос Linux с похожим запросом, но ответы там запутаны.
Алиас был бы предпочтительнее, потому что у меня уже есть четыре настройки ls aliases в ~/.bashrc:
alias ls='ls --color=auto'
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
Даже если псевдоним был вызван dir, я бы все равно используйте его:)
Это происходит из-за «расширения имени пути» и не связано с ls, прежде чем ваши команды ls будут запускать ваш «*», будут расширены до абсолютных имен путей, это похоже на то, что вы выполняете свою команду например:
ls /path/to/file/1 /path/to/file/2 /path/to/file/3
Создайте функцию:
function myls() { basename -a "$@" ;}
или создайте псевдоним:
alias myls='basename -a'
Поместите его в .bashrc или в другое место, затем используйте его следующим образом:
myls /boot/vml*
вывод будет:
[F5]Это происходит из-за «расширения имени пути» и не связано с ls, прежде чем ваши команды ls будут запускать ваш «*», будут расширены до абсолютных имен путей, это похоже на то, что вы выполняете свою команду например:
ls /path/to/file/1 /path/to/file/2 /path/to/file/3
Создайте функцию:
function myls() { basename -a "$@" ;}
или создайте псевдоним:
alias myls='basename -a'
Поместите его в .bashrc или в другое место, затем используйте его следующим образом:
myls /boot/vml*
вывод будет:
[F5]Это происходит из-за «расширения имени пути» и не связано с ls, прежде чем ваши команды ls будут запускать ваш «*», будут расширены до абсолютных имен путей, это похоже на то, что вы выполняете свою команду например:
ls /path/to/file/1 /path/to/file/2 /path/to/file/3
Создайте функцию:
function myls() { basename -a "$@" ;}
или создайте псевдоним:
alias myls='basename -a'
Поместите его в .bashrc или в другое место, затем используйте его следующим образом:
myls /boot/vml*
вывод будет:
[F5]Это не ls. Это оболочка Баша. Замените команды ls на echo и посмотрите «расширение подстановки», которое bash делает для вас. К тому времени, когда ls начнет выполнение, все расширения подстановки будут выполнены.
ls /var/lib/initramfs-tools
Пропускает ls имя каталога (см. ls -d /var/lib/initramfs-tools).
ls /boot/vml*
фактически видит (в MY system, YMMV)
w3@aardvark:~(0)$ ls /boot/vml*
/boot/vmlinuz-4.4.0-83-generic /boot/vmlinuz-4.4.0-87-generic /boot/vmlinuz-4.4.0-89-generic
w3@aardvark:~(0)$ echo /boot/vml*
/boot/vmlinuz-4.4.0-83-generic /boot/vmlinuz-4.4.0-87-generic /boot/vmlinuz-4.4.0-89-generic
Список файлов в ls.
То, что вы хотите, невозможно, извините.
Это не ls. Это оболочка Баша. Замените команды ls на echo и посмотрите «расширение подстановки», которое bash делает для вас. К тому времени, когда ls начнет выполнение, все расширения подстановки будут выполнены.
ls /var/lib/initramfs-tools
Пропускает ls имя каталога (см. ls -d /var/lib/initramfs-tools).
ls /boot/vml*
фактически видит (в MY system, YMMV)
w3@aardvark:~(0)$ ls /boot/vml*
/boot/vmlinuz-4.4.0-83-generic /boot/vmlinuz-4.4.0-87-generic /boot/vmlinuz-4.4.0-89-generic
w3@aardvark:~(0)$ echo /boot/vml*
/boot/vmlinuz-4.4.0-83-generic /boot/vmlinuz-4.4.0-87-generic /boot/vmlinuz-4.4.0-89-generic
Список файлов в ls.
То, что вы хотите, невозможно, извините.
Это не ls. Это оболочка Баша. Замените команды ls на echo и посмотрите «расширение подстановки», которое bash делает для вас. К тому времени, когда ls начнет выполнение, все расширения подстановки будут выполнены.
ls /var/lib/initramfs-tools
Пропускает ls имя каталога (см. ls -d /var/lib/initramfs-tools).
ls /boot/vml*
фактически видит (в MY system, YMMV)
w3@aardvark:~(0)$ ls /boot/vml*
/boot/vmlinuz-4.4.0-83-generic /boot/vmlinuz-4.4.0-87-generic /boot/vmlinuz-4.4.0-89-generic
w3@aardvark:~(0)$ echo /boot/vml*
/boot/vmlinuz-4.4.0-83-generic /boot/vmlinuz-4.4.0-87-generic /boot/vmlinuz-4.4.0-89-generic
Список файлов в ls.
То, что вы хотите, невозможно, извините.