На CentOS, никаких дополнительных зависимостей не требуется:
$ python -c "import urllib;print urllib.quote(raw_input())" <<< "$my_url"
Короткая однострочная строка будет следующей:
find . -maxdepth 1 -user $USER
Если вы ищете в текущем каталоге, вы можете опустить .
. Если вы не знаете, доступен ли $USER
, вы можете заменить его на $LOGNAME
или $(whoami)
.
Добавьте -ls
для отображения сведений о файле, например:
find / -maxdepth 1 -user root -ls
Если вы хотите предоставить пользовательские флаги ls
, вы можете использовать его через -exec
:
find / -maxdepth 1 -user root -exec ls -ld {} +
(В этом случае -d
флаг для ls
требуется для указания каталогов как самих себя, а не их содержимого.)
for i in ./*; do [ -f "$i" ] && [ -O "$i" ] && echo "$i"; done
find . ! -name . -prune -user "$(who -m)" -type f
Это два способа перечисления простых файлов в текущем каталоге, которым вы владеете.
Поскольку вы не указали формат вывода, вы также можете сделать это с помощью ls и grep:
ls -lG | grep username
Сначала мы используем ls с параметром -l, чтобы получить листинг, включающий имя пользователя и groupname.
Затем мы удаляем имя группы из результата с помощью параметра -G.
После этого мы просто передаем его в grep и получаем все результаты с нужным именем пользователя.
EDIT: Как отмечалось в комментариях, это не безопасное или пуленепробиваемое решение - однако, в зависимости от ваших обстоятельств, оно может быть быстрым и грязным. В интерактивном режиме это может быть приемлемо, но вы не должны использовать это ни в каких скриптах!
С помощью zsh
это можно сделать с помощью квалификатора glob u
:
u
idфайлов, принадлежащих идентификатору пользователя id , если это число. В противном случае id указывает имя пользователя: символ после «
u
» будет использоваться как разделитель и строка между ним и следующим совпадающим разделителем будет принято как имя пользователя. Начальные разделители «[
», «{
]» и «<
» совпадают. заключительные разделители ']
', '}
' и '>
' соответственно; любой другой символ совпадает с самим собой. Выбранные файлы принадлежат этому Пользователь. Например, «u: foo:
» или «u [foo]
» выбирают файлы, принадлежащие пользователю. 'foo
'.
так, например, с идентификатором пользователя
print -rl ./*(u1027)
или именем пользователя
print -rl ./*(u_yourusernamegoeshere_)
Как обычно, вы можете комбинировать его с другими квалификаторами, модификаторами и т. д., например для вывода списка только обычных файлов, скрытых или нет, принадлежащих пользователю с UID
1027
и отсортированных по их mtime
:
print -rl ./*(.Domu1027)
Используйте приведенную ниже команду
[username@localhost~]$ find / -user username -exec ls -l {} \; 2>/dev/null
, чтобы найти все файлы во всей системе, принадлежащие пользователю. Если вы найдете в определенном каталоге, просто замените местоположение / .
[username@localhost~]$ find /path/of/direcotry -user username -exec ls -l {} \; 2>/dev/null
NB:2>/dev/null аннулирует вывод ошибки.