10-14-2004
If you are familiar with UNIX I/O redirection, syntax similar to the following should not be new to you:
command > file 2>&1
When command runs it sends "normal" output to file, and any error messages generated by command are also written to file. "2>&1" handles the latter.
The 2 and 1 are file descriptors. So what's a file descriptor?
When a UNIX program wants to use a file, it must first open that file. When it does so, UNIX will associate a number with the file. This number, which is used by the program when reading from and writing to the file, is the file descriptor.
A typical UNIX program will open three files when it starts. These files are:
- standard input (also known as stdin)
- standard output (also known as stdout)
- standard error (also known as stderr)
Standard input has a file descriptor of 0, standard output uses 1, and the number 2 is used by standard error.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I am trying to find a way to check the current status of a file. Such as some cron job processes are dependent on the completion of others. if a file is currently being accessed / modified or simply open state I will wait until it is done being processed before attempting the next process on that... (3 Replies)
Discussion started by: Gary Dunn
3 Replies
2. UNIX for Advanced & Expert Users
Im working on writing a small operating system. I am currently working on implementing dup, dup2, pipe, and close and I need to implement some type of file descriptor table in my PCB.
I was wondering if there is anyone who is familiar with linux/unix implementation of these tables who could... (6 Replies)
Discussion started by: Ashaman0
6 Replies
3. Shell Programming and Scripting
I am trying to right a function which uses a file descriptor to write to a log file. The problem is that the on the print statement the file descriptor is called bad. Now when I first open the file and print to it in the f_open function by passing the descriptor to f_print_log all works well,... (6 Replies)
Discussion started by: robotball
6 Replies
4. Shell Programming and Scripting
Hello All,
Im opening a file desciptor in perl and sending data using print CMD "$xyz".
is there a limit to the length of the string that I can give to this CMD at a time. (3 Replies)
Discussion started by: rimser9
3 Replies
5. UNIX for Dummies Questions & Answers
Hi
What the below path contains?
/proc/<pid>/fd (1 Reply)
Discussion started by: siba.s.nayak
1 Replies
6. Shell Programming and Scripting
Hello,
How can i use file descriptor in a script to read 2 files at the same time and extract line 200 from file 1 and line 500 from file 2.
Thanks. (6 Replies)
Discussion started by: LiorAmitai
6 Replies
7. Shell Programming and Scripting
I am trying to write a script which will only show me the file descriptor count for a process/pid. My script will return me the count only not the whole output. For example, I would like my script to return the output 23 this case, not the whole output.
Can anybody please help me how do I get... (11 Replies)
Discussion started by: mohullah
11 Replies
8. Shell Programming and Scripting
Hi,
I am trying to read a file line-by-line in a while loop, and perform some tasks which involves non-interactive SSH to a remote server. The code looks something like this --
#!/usr/bin/ksh
export myFile=/path/to/my/file.load
while read line
do
do something
## Adding the SSH... (2 Replies)
Discussion started by: Subu1987
2 Replies
9. Shell Programming and Scripting
Greetings.
I am happily using constructs like the following; I have set -x to show fine distinctions.
$ exec 4> afile
+ exec
+ 4> afile
$ print -u4 This is the first line in afileAs you can see from the -x expansion, the shell performed the exec command and redirected file descriptor to... (4 Replies)
Discussion started by: rpaskudniak
4 Replies
10. Shell Programming and Scripting
hello,
Someone can help me with redirectors?
I am writing this script in bash enviroment on Fedora:
exec 4<> /dev/tcp/10.10.11.30/5000 #open socket in input/output
strings<&4 >file.txt &
I send file descriptor 4 to string command to purge data stream from special char while come from... (3 Replies)
Discussion started by: rattoeur
3 Replies
LEARN ABOUT CENTOS
file::spec::cygwin
File::Spec::Cygwin(3) User Contributed Perl Documentation File::Spec::Cygwin(3)
NAME
File::Spec::Cygwin - methods for Cygwin file specs
SYNOPSIS
require File::Spec::Cygwin; # Done internally by File::Spec if needed
DESCRIPTION
See File::Spec and File::Spec::Unix. This package overrides the implementation of these methods, not the semantics.
This module is still in beta. Cygwin-knowledgeable folks are invited to offer patches and suggestions.
canonpath
Any "" (backslashes) are converted to "/" (forward slashes), and then File::Spec::Unix canonpath() is called on the result.
file_name_is_absolute
True is returned if the file name begins with "drive_letter:", and if not, File::Spec::Unix file_name_is_absolute() is called.
tmpdir (override)
Returns a string representation of the first existing directory from the following list:
$ENV{TMPDIR}
/tmp
$ENV{'TMP'}
$ENV{'TEMP'}
C:/temp
Since Perl 5.8.0, if running under taint mode, and if the environment variables are tainted, they are not used.
case_tolerant
Override Unix. Cygwin case-tolerance depends on managed mount settings and as with MsWin32 on GetVolumeInformation() $ouFsFlags ==
FS_CASE_SENSITIVE, indicating the case significance when comparing file specifications. Default: 1
COPYRIGHT
Copyright (c) 2004,2007 by the Perl 5 Porters. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.16.3 2013-01-16 File::Spec::Cygwin(3)