1,105,556 Community Members

One question about Unix

Member Avatar
sidlampard
Newbie Poster
8 posts since Feb 2010
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

This is an assignment question, I know i should do it myself, but believe me i have just learned this subject and couldn't find the answer. Please if someone could give me the answer, i would be greatfull. And please if you could hurry because I have to submit on march 3 and only this question is left. Here is the question:

Reduce the number of key strokes to execute this command: tar -t-v-f/dev/fd0

Member Avatar
griswolf
Veteran Poster
1,144 posts since Apr 2010
Reputation Points: 303 [?]
Q&As Helped to Solve: 264 [?]
Skill Endorsements: 3 [?]
 
0
 

Hint: most unix utilities accept a compact form multiple flags where you only give a single dash. The tar utility is so old that it doesn't even always require dashes at all.

Member Avatar
wulaishiwo
Newbie Poster
10 posts since Mar 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

The shortest solution I can think of is

tar tvf/dev/fd0

Member Avatar
Potion
Newbie Poster
5 posts since Oct 2010
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

The -t option lists the table of contents, and so the -v (verbose) option could be considered redundant. Just use:

tar tf /dev/fd0
Member Avatar
Potion
Newbie Poster
5 posts since Oct 2010
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

Unrelated (except that it uses tar), here's a nice trick for copying trees while preserving file owner, permissions and date attributes. Every Linux/Unix hack should know this:

$ cd /source_dir
$ tar -cf - * | (cd /target_dir; tar xvf -)

Explanation.
In the source directory we create an archive of all the contents sending the stream to std-out. We then pipe the stream to to a grouped command, which first changes directory, and then extracts the archive from the std-in stream.

You
This article has been dead for over three months: Start a new discussion instead
Post:
Start New Discussion
View similar articles that have also been tagged: