Я пытаюсь найти команду, которая бы перечисляла все файлы (включая скрытые), но должна исключить текущий каталог и родительский каталог. Пожалуйста, помогите.
$ ls -a \.\..
Я пытаюсь найти команду, которая бы перечисляла все файлы (включая скрытые), но должна исключить текущий каталог и родительский каталог. Пожалуйста, помогите.
$ ls -a \.\..
Прочитайте ls (1) документацию (возможно, с man ls
). По крайней мере, привык попробовать
ls --help
или еще лучше (поскольку ls
может быть псевдонимом, например, в вашем ~/.bashrc
)
/bin/ls --help
Вы получите что-то, начиная с:
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
-a, --all do not ignore entries starting with .
-A, --almost-all do not list implied . and ..
--author with -l, print the author of each file
-b, --escape print C-style escapes for nongraphic characters
и т.д....
Вы хотите ls -A
или еще лучше /bin/ls -A
(без каких-либо дополнительных аргументов, таких как .*
)
У меня есть ситуация, когда я хочу удалить серию точечных каталогов. На моих серверах мы помещаем каталоги для удаления, добавляя точку и некоторые другие текстовые шаблоны (временную метку) для автоматического удаления. Иногда мне нужно сделать это вручную.
Как я прокомментировал ответ Василию Старинкевичу, когда вы используете шаблон глобуса, подобный такому, который находится под переключателем -A, теряет свою функцию и работает так же, как -a:
[email protected]:~/scripts$ ls -1dA .*
.
..
.comparepp.sh.swp
Это, безусловно, даст ошибку, если я попытаюсь удалить файлы в качестве пользователя, но я просто не хочу думать, что может произойти как root (!)
Мой подход в этом случае:
for dir in $(ls -1ad .* | tail -n +3) ; do rm -rfv $dir ; done
Я вывожу вторую первую строку, содержащую точки, как вы можете видеть. Чтобы адаптировать ответ на заданный вопрос, это выполнит эту задачу:
ls -d1A .* | tail -n +3