Я также использую Linux Mint 18 (Сара). Примерно несколько месяцев назад эта проблема стала возникать и у меня (и это все еще проблема №1 с моим ноутбуком).
Я пытался найти решение в справочной системе Linux Mint около 3 месяцев назад. Ребята сказали мне, что наверное какая-то проблема / баг с индикатором xfce. Поэтому они советуют мне использовать эту команду для перезапуска nm:
sudo service network-manager restart
, что на самом деле работает , но - не каждый раз в моем случае. Иногда мне нужно выйти и снова войти в систему (Ctrl + Alt + Backspace).
РЕДАКТИРОВАТЬ: Ну, через некоторое время я решаю отредактировать этот пост. Причина - я нашел способ! Наконец, мне больше не нужно выходить из системы;
killall nm-applet; nohup nm-applet &
Если вы не хотите видеть ссылки во втором столбце, вы можете передать ls -al
в awk
, чтобы удалить его:
ls -al | awk '{$2=""; print $0}'
Будет напечатан весь столбец, кроме второго, с использованием стандартного разделителя, в данном случае пробела.
В моей среде столбцы для даты последнего изменения — 6, 7 и 8, используя пробел в качестве разделителя, чтобы избавиться от них и второго столбца:
ls -la | awk '{$2=$6=$7=$8=""; print $0}'
Если вам не нужны или вы не хотите видеть некоторые из столбцов, вы можете использовать приведенный выше синтаксис в качестве модели для удаления нужных вам столбцов. Ничего не повредит. Если вы просто хотите видеть все столбцы, чтобы ничего не пропустить, то используйте стандартный:
ls -al
Если вам нужен псевдоним, добавьте следующее в ~/.bashrc:
la() {
ls -la | awk '{$2=$6=$7=$8=""; print $0}'
}
Это функция, которая ведет себя точно так же, но без учета и экранирования одинарных и двойных кавычек. Я использовал la
, так как ll
дает синтаксическую ошибку, так как это уже псевдоним в моей среде.
Чтобы удалить количество жестких ссылок из вывода ls -l
, оставив остальную часть строки нетронутой:
ls -l | sed -E '2,$s/ +[0-9]+//'
Замена sed
удалит первый набор цифр и любой пробел перед ним в каждой строке после первой строки (первая строка содержитtotal
).
Как функция
myls () {
command ls -l "$@" | sed -E '2,$s/ +[0-9]+//'
}
Эта функция вызывает ls -l
с любыми другими аргументами командной строки, заданными пользователем функции перед отправкой результата через sed
.
Используя command ls
, мы гарантируем, что, если вы позже решите переименовать функцию в ls
, функция не будет вызывать себя рекурсивно.
Пример:
$ ls -la ~/.skel
total 18
drwxr-xr-x 2 kk wheel 512 May 4 16:29.
drwxr-xr-x 3 kk wheel 512 Jun 28 08:15..
-rw-r--r-- 1 kk wheel 87 Nov 1 2017.Xdefaults
-rw-r--r-- 1 kk wheel 771 Feb 9 10:18.cshrc
-rw-r--r-- 1 kk wheel 101 Nov 1 2017.cvsrc
-rw-r--r-- 1 kk wheel 359 Nov 1 2017.login
-rw-r--r-- 1 kk wheel 175 Nov 1 2017.mailrc
-rw-r--r-- 1 kk wheel 229 May 4 16:29.profile
-rw-r--r-- 1 kk wheel 108 Apr 15 12:50.vimrc
-rw-r--r-- 1 kk wheel 0 Apr 21 17:44.zshrc
$ myls -a ~/.skel
total
drwxr-xr-x kk wheel 512 May 4 16:29.
drwxr-xr-x kk wheel 512 Jun 28 08:15..
-rw-r--r-- kk wheel 87 Nov 1 2017.Xdefaults
-rw-r--r-- kk wheel 771 Feb 9 10:18.cshrc
-rw-r--r-- kk wheel 101 Nov 1 2017.cvsrc
-rw-r--r-- kk wheel 359 Nov 1 2017.login
-rw-r--r-- kk wheel 175 Nov 1 2017.mailrc
-rw-r--r-- kk wheel 229 May 4 16:29.profile
-rw-r--r-- kk wheel 108 Apr 15 12:50.vimrc
-rw-r--r-- kk wheel 0 Apr 21 17:44.zshrc
Вариант функции, которая действует в точности как ls
, если вы не используетеls -l
:
ls () (
add_filter=0
while getopts ':l' opt; do
case $opt in
l) add_filter=1 ;;
1) add_filter=0
esac
done
command ls "$@" |
if [ "$add_filter" -eq 1 ]; then
sed -E '2,$s/ +[0-9]+//'
else
cat
fi
)
Функция выполняет собственный анализ командной строки, чтобы определить, использовалась ли опция -l
(, а также не отключена ли она позднее с помощью-1
). Если да, то ставим флаг. Позже, если флаг был установлен, мы фильтруем вывод с ls
по sed
. Если флаг не был установлен, мы просто передаем вывод, как -через cat
.
С ast -open'sls
(также встроенным ls
ksh93, если он был включен и /opt/ast/bin
опережает /bin
в $PATH
), вы можете полностью указать выходной формат и опустить количество ссылок(%3(nlink)u
)есть:
ls -rSZ '%(mode)s %-8(uid)s %-8(gid)s %8(device:case::%(size)u:*:%(device)s)s %(atime)s %(name)s%(linkop:case:?*: %(linkop)s %(linkpath)s)s'