Это может сработать для вас (GNU sed):
sed 's/.*000/#&/' file
Являются ли они домашними каталогами пользователей в / etc / passwd
? Такие службы, как postgres, sendmail, apache и т. Д., Создают пользователей системы, у которых есть домашние каталоги, как и у обычных пользователей.
На моей машине, из-за того, как я все настроил, выполняю:
cd ~ # /work1/jleffler
cd ~jleffler # /u/jleffler
Первый обращает внимание на значение переменной окружения $ HOME
; Я намеренно установил в моем $ HOME
локальную файловую систему, а не файловую систему, смонтированную по NFS. Второй читает из файла паролей (приблизительно; NIS немного усложняет ситуацию) и обнаруживает, что в файле паролей указано, что мой домашний каталог - / u / jleffler
, и переходит в этот каталог.
Раздражает то, что что большая часть программного обеспечения ведет себя так, как указано выше (и спецификация POSIX для оболочки требует этого поведения). Я использую какое-то программное обеспечение (и у меня нет особого выбора его использовать), которое обрабатывает информацию из файла паролей как текущее значение $ HOME, что неверно.
Применяя это к вопросу - как указывали другие вне, '
Это домашние каталоги пользователей. Например, попробуйте cd ~ (ваше имя пользователя)
.
это пользователи, проверьте, что ваш / etc / passwd
cd ~ имя пользователя
приведет вас в домашний каталог этого пользователя
Расширение тильды в Bash:
http://bash-hackers.org/wiki/doku.php/syntax/expansion/tilde
Это функция Bash, которая называется « тильда ». Это функция оболочки, а не ОС. Например, вы получите другое поведение с csh.
Чтобы ответить на ваш вопрос о том, откуда берется информация: ваш домашний каталог берется из переменной $ HOME
(независимо от того, что вы там храните), в то время как дома других пользователей извлекаются в реальном времени с помощью getpwent ()
. Эта функция обычно контролируется NSS ; поэтому по умолчанию значения извлекаются из / etc / passwd
, хотя его можно настроить для получения информации из любого желаемого источника, такого как NIS, LDAP или база данных SQL.
Расширение тильды - это больше чем поиск в домашнем каталоге. Вот краткое изложение:
~ $HOME
~fred (freds home dir)
~+ $PWD (same effect as ./)
~- $OLDPWD (your previous directory)
~1 `dirs +1`
~2 `dirs +2`
~-1 `dirs -1`
dirs
и ~ 1
, ~ -1
,