Использование stat
для замены ls
не является каплей -в замене, так что, несмотря на все благие -предостережения против синтаксического анализа ls
, я могу оценить соблазн...
Вот почти эквивалент ls -a
в текущем каталоге:
find. -maxdepth 1 -print0|xargs -0 stat --format="%A %U %G %n"
Вот самое близкое, что я мог получить:
find. -maxdepth 1 -print0\
|awk 'BEGIN{RS="\0";FS="/";ORS="\0"}{if(/\//){print $2}else{print}}'\
|xargs -0 stat --format="%A %U %G %n"\
|LC_COLLATE=C sort -k4
Теперь, чтобы взять аргумент вместо простого .
, вы должны поместить его в функцию вроде этой:
function ls4up() {
find. -maxdepth 1 -print0\
|awk 'BEGIN{RS="\0";FS="/";ORS="\0"}{if(/^[^\/][^\/]*\//){print $2}else{print}}'\
|xargs -0 stat --format="%A %U %G %n"\
|LC_COLLATE=C sort -k4
}
Итак, теперь вы видите, как легко использовать stat
вместо того, чтобы пытаться анализировать вывод ls
или что-то в этом роде. /с
НетVirtualBox-6.0
(6.0
-части его имени, не версии )пакета, доступного в репозитории, поэтому вы не можете запустить dnf upgrade
.
Вам нужно
rpm -e VirtualBox-6.0
dnf install VirtualBox-6.1
dnf remove VirtualBox-6.0
также будет работать, но для отдельных пакетов я предпочитаю использовать rpm
напрямую, так как это намного быстрее.
Вот шаги, которые я выполняю, чтобы обновить виртуальную коробку:
ps aux | grep virtual
и я убил их:
kill -9
sudo yum remove VirtualBox-6.0.x86_64
sudo reboot
sudo yum update
sudo reboot
sudo yum install VirtualBox-6.1.x86_64
sudo reboot