When I copy, move, or delete a file in Nautilus or using the corresponding commands (cp, mv, or rm) does the same tool perform the action behind the wraps?
I ask because nautilus tends to hang on big files or too many files. I have the impression that it's not that efficient.
Best Answer
No it doesn't just make calls to
cp
,mv
, etc.Rather, it makes calls to a GTK+ library that contains wrapper functions around C/C++ system libraries that also contain functions. It is these C/C++ functions that are shared across Nautilus and commands such as
cp
,mv
, etc.Example
You can use the system tracing tool
strace
to attach to a runningnautilus
process like so:Now if we perform some operations within Nautilus we'll see the system calls that are being made. Here's a sampling of the logs during the copy/paste of file
/home/saml/samsung_ml2165w_print_drivers/ULD_Linux_V1.00.06.tar.gz
.The system calls,
lstat
,access
,open
,read
, etc. are the lower level calls that would be in common.