问题描述
我尝试使用root并显示一个结果(预期的结果)。与用户帐户相同的命令,显示更多结果。
按root查找
[root@server/]# find /opt -name 'marconi_000.csv'
/opt/marconi_000.csv
按用户查找
[user@server /]$ find /opt -name 'marconi_000.csv'
find: `/opt/italiamacrozone': Permission denied
find: `/opt/anagrafica_indirizzo_nodi4.csv_1509009224.index': Permission denied
find: `/opt/geo_us_states': Permission denied
/opt/marconi_000.csv
find: `/opt/lookup_file_backups': Permission denied
find: `/opt/magazzini_lookup': Permission denied
这是怎么了?
谢谢
解决方法
您以root和user身份获得find命令的输出。 以用户身份查看输出的第四行,它具有查找结果。
使用user时,它几乎没有出错,因为用户在/ opt中没有文件访问权限,而root具有所有权限。 如Emmef所述,您可以通过将stderr(标准错误,由数字2表示)重定向到/ dev / null来忽略/抑制这些警告/错误消息。
找到/ opt -name'marconi.csv'2> / dev / null
当用户没有目录/文件的读取权限时,将显示这些错误。