Показывать только скрытые файлы (файлы точек) в псевдониме ls

Я использую команду

ls -a | grep '^\.'

  • Установите ls-списки на основе регулярных выражений вместо globbing
  • Отредактированные sudoers, но `sudo ls` терпит неудачу
  • Игнорировать все совпадения для отрицательного шаблона extglob в рекурсивном ls
  • Как скопировать файл в домашний каталог каждого пользователя в BASH?
  • Ошибки разрешений, даже если разрешения широко открыты
  • mv на шаблоне glob не работает без sudo
  • для отображения только скрытых файлов. Я добавил строку

    alias hidden='ls -a | grep '^\.'' # show only hidden files

    в файл .bash_aliases

    но это не сработает. Вероятно, это проблема с ' характером».

    Не могли бы вы помочь мне написать правильный псевдоним?

  • Подсчитайте количество символов в указанном имени файла
  • Разделение большого дерева каталогов по типу файла
  • ImageMagick: преобразование и сохранение нескольких файлов с другим именем
  • Как сделать zsh «правильной» функциональностью, помните мои решения по исправлению заклинаний
  • Почему rm * (1) * удаляет все файлы в каталоге?
  • Условные утверждения: поиск папок, которые не содержат определенного файла
  • 10 Solutions collect form web for “Показывать только скрытые файлы (файлы точек) в псевдониме ls”

    Либо сделайте внутреннюю пару котировок двойными кавычками:

     alias hidden='ls -a | grep "^\."' 

    Или сделать внешнюю пару котировок двойными кавычками:

     alias hidden="ls -a | grep '^\.'" 

    Или сделать все котировки двойными кавычками и избежать внутренней пары:

     alias hidden="ls -a | grep \"^\.\"" 

    Или сделать его функцией, поэтому вы можете передать некоторые аргументы при вызове:

     hidden() { ls -a "$@" | grep '^\.'; } 

    Попросите оболочку перечислить файлы точек и скажите ls чтобы они не просматривали каталоги:

     ls -d .* 
     ls -Ad .* #This will list all the hidden files & directories while retaining the color & formatting 

    ИЛИ

    Чтобы создать псевдоним того же:

     alias lh='ls -Ad .*' 

    ИЛИ

    То же самое можно сделать с помощью команды grep command and pipe; однако это потеряло бы цвет и форматирование:

     ls -a|grep "^\." 

    ИЛИ

    Через псевдоним:

     alias lh='ls -a|grep "^\."' 

    Вы можете использовать двойные кавычки:

     alias hidden="ls -a | grep '^\.'" 

    или объединить более одиночные кавычки

     alias hidden='ls -a | grep '\''^\.'\' 

    или удалить во всех внутренних котировках

     alias hidden='ls -a | grep ^\\.' 

    Для записи это, похоже, не работает со мной, так как ls -a печатает два (иногда больше столбцов). Я бы рекомендовал использовать параметр -1 чтобы убедиться, что каждый файл находится в своей собственной строке. Что-то вроде этого:

     alias hidden='ls -a1 | grep "^\."' 

    Сделать это несколько сложнее, но избегая разбора ls .

     llsh () { find "${@:-.}/" -maxdepth 1 -type f -name ".*" -ls; } lsh () { find "${@:-.}/" -maxdepth 1 -type f -name ".*" -print; } 

    Две функции оболочки будут использовать find для создания списка всех скрытых регулярных файлов в текущем каталоге или в каталоге, указанном в командной строке.

    Функция llsh будет генерировать «длинный список», который будет только немного более подробным, чем ls -l , тогда как lsh генерирует список с одним столбцом, такой как ls -1 .

    Поддерживает ли ваша поддержка? От man ls :

      -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. $ ls --version ls (GNU coreutils) 8.5 Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Richard M. Stallman and David MacKenzie. 
     find . -type f -name ".*" 

    ИЛИ

     find . -type f -name ".*" | while read file; do basename $file; done 
     ls -lart | sed -n "/ \.[A-Za-z0-9][A-Za-z0-9]*/p" 

    Просто введите команду ниже и не смутитесь с приведенными выше объяснениями.

     ls -A -1 -d -F .* | egrep -v '/$' 
    Linux и Unix - лучшая ОС в мире.