07-04-2019
First off /bin and /sbin may be and often are symbolic links to /usr/bin or /usr/sbin. There are links for library directories as well.
So I am not sure where your confusion arises.
One solution is the realpath() function. It resolves the problem of reading and resolving links. You can use lstat to check if /bin or whatever is a symlink, too. lstat only returns information about links, not regular files or directories.
Read man page on realpath and lstat
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello,
I create a file touch 1201093003 fichcomp
and inside a repertory (which hava a lot of files) I want to list all files created before this file :
find *.* \! -maxdepth 1 - newer fichcomp but this command returned bash: /usr/bin/find: Argument list too long
but i make a filter all... (1 Reply)
Discussion started by: yacsil
1 Replies
2. UNIX for Dummies Questions & Answers
Hi All,
Can somebody tell me the difference between /bin, /usr/bin, /sbin ?
Thanx in advance,
Saneesh Joseph (3 Replies)
Discussion started by: saneeshjose
3 Replies
3. Solaris
root@test09 # ls -al /sbin/init
-r-xr-xr-x 1 root sys 550000 Jun 29 2002 /sbin/init
root@test09 # ls -al /usr/sbin/init
-r-xr-xr-x 1 root sys 37100 Jun 29 2002 /usr/sbin/init (2 Replies)
Discussion started by: userking
2 Replies
4. Red Hat
hi there,
Would you able to advise that why the syntax or statement below couldn't work as expected ?
/usr/bin/find /backup -name "*tar*" -mtime +2 -exec /bin/rm -f {} \; 1> /dev/null 2>&1
In fact, I was initially located it as in crontab job, but it doesn't work at all. So, I was... (9 Replies)
Discussion started by: rauphelhunter
9 Replies
5. Shell Programming and Scripting
Hello,
When i run a bash script on ubuntu i get this message..
#!/bin/bash cannot find file or directory...
Can anibody help me with this, because the file actually exists....
Is there any extra configuration to be made? (5 Replies)
Discussion started by: oliveiraum
5 Replies
6. Programming
I'm trying to compile sudo on RHEL 4.8 and during the make I get the this error. Does anyone know what package I'm missing?
gcc -o sudo sudo_auth.o pam.o mkstemps.o ldap.o exec_pty.o get_pty.o iolog.o audit.o boottime.o check.o env.o exec.o getspwuid.o gettime.o goodpath.o fileops.o find_path.o... (2 Replies)
Discussion started by: woodson2
2 Replies
7. UNIX for Advanced & Expert Users
All of my machines (various open source derivatives on x86 and amd64) store argv above the stack (at a higher memory address). I am curious to learn if any systems store argv below the stack (at a lower memory address).
I am particularly interested in proprietary Unices, such as Solaris, HP-UX,... (9 Replies)
Discussion started by: alister
9 Replies
8. Shell Programming and Scripting
there are two directories A and B
if cmd in in "A/user/bin A/bin A/user/sbin" but not "B/user/bin B/bin B/user/sbin" directory print them (1 Reply)
Discussion started by: yanglei_fage
1 Replies
9. UNIX and Linux Applications
I am installing lxml module for python on redhat
I have installed libxml2 already.
When I run for libxslt:
./configure --prefix=libxslt_folder --with-libxml-prefix=libxml2_folder
It is ok
the I run :
make
I have error:
/usr/bin/ld: cannot find -lz
collect2: ld returned 1 exit status
I... (4 Replies)
Discussion started by: AIX_30
4 Replies
10. UNIX for Dummies Questions & Answers
...... (30 Replies)
Discussion started by: larry burns
30 Replies
LEARN ABOUT DEBIAN
realpath
REALPATH(1) Debian REALPATH(1)
NAME
realpath - return the canonicalised absolute pathname
SYNOPSIS
realpath [-s|--strip] [-z|--zero] filename ...
realpath --h|--help
realpath --v|--version
DESCRIPTION
realpath converts each filename argument to an absolute pathname, which has no components that are symbolic links or the special . or ..
directory entries. (See realpath(3) for more information.)
Each path component in the filename must exist, otherwise realpath will fail and non-zero exit status will be returned.
Please note that mostly the same functionality is provided by the `-e' option of the readlink(1) command.
When the -s option is used realpath only removes the . and .. directories, but not symbolic links from filename. If the given filename
argument is relative (i.e. does not start with `/'), realpath -s prepends to it the current directory name as obtained from the getcwd(2)
system call before further processing.
Each converted pathname is output to the standard output, on its own line.
OPTIONS
-s, --strip
Only strip . and .., components, but do not resolve symbolic links.
-z, --zero
Separate output filenames with the null character instead of newline, so it can be used with the `-0' option of xargs(1).
-h, --help
Print short usage information.
-v, --version
Show realpath's version number.
EXAMPLES
For the examples below let's suppose that /usr/bin/X11 is a symbolic link, pointing to directory /usr/bin.
Example 1
Regardless of what the current directory is
realpath /../usr/bin/X11/./xterm
prints
/usr/bin/xterm
but
realpath -s /../usr/bin/X11/./xterm
outputs
/usr/bin/X11/xterm
Example 2
When the current directory is /usr/bin/X11 (which is still a symbolic link to /usr/bin), the output of both
realpath ./xterm
and
realpath -s ./xterm
will be
/usr/bin/xterm
Example 3
Providing that the current directory is /home/user (and the directory exists before and during the realpath run), the command
realpath ../path/to/some/./non-existent/./directory/../or/../file
will fail with the following error
../path/to/some/./non-existent/./directory/../or/../file: No such file or directory
but
realpath -s ../path/to/some/./non-existent/./directory/../or/../file
will return
/home/path/to/some/non-existent/file
EXIT STATUS
realpath returns a zero exit code when all pathnames were successfully converted.
In case of any errors (e.g. missing or unavailable directories in the path), realpath prints error message to stderr and returns a non-zero
exit code.
SEE ALSO
basename(1), dirname(1), readlink(1), chase(1), realpath(3)
BUGS
Hopefully none :)
If you find some, please report them via the normal Debian bug reporting system, see the file /usr/share/doc/debian/bug-reporting.txt in
the package doc-debian or the reportbug(1) man page.
AUTHOR
Originally written by Lars Wirzenius <liw@iki.fi>, as a part of the dwww package. Robert Luberda <robert@debian.org> currently maintains
and extends it.
realpath is licensed via the GNU General Public License. While it has been written for Debian, porting it to other systems is strongly
encouraged.
Debian October 16th, 2011 REALPATH(1)