Welcome to the Linux Foundation Forum!

New user, need help with basic file management

Well hello linux forum, I'm new around here and I'm slowly working my way through linux commands.

I started reading through a few basic linux tutorials and now have a few questions on how to do certain things with file management commands.

I'm working in the directory:/Desktop/Linux_practice/ using the cd command

1) Now my first question is: I have a text file in the directory /Linux_practice/dir1/ called file1, now the file contains basic text which I would have liked to use for many other files (as a template for instance), how do I use a cp command to make about 20 copies of this file within the same directory with changing file names as file1-file20.

2) My next question is how can I have certain data within files that would change between every file, for instance if I would want the first line of the text file to have the directory of the text file how would I be able to have it change when the file is moved to another directory such as /Linux_practice/dir2/.

3) Similarly how can I have a text file that would display the result of an ls command for a certain directory, for instance /Linux_practice/.

4) If I for instance wanted the file name of my text file to be the date it was created followed or preceded by the words report for instance: report 12/06/2011, how would I do this and how can I similarly have a line within the text that would show the date the file was created.

5) Finally including everything else I asked about, how can I make a small program or command that would automatically issue an ls report for a certain directory with the directory being in the first line of text and the date it was created in the second, with the text file name being report [date of creation].

6) Also how can I create a directory with mkdir that would create 10 directory files in /Linux_practice/ for instance with file names dir1-dir10 but rather than typing all dir file names I would like to know how to specify a range (1-10) and with a changing variable for the file name (dir[changing digit]).

Also this is practice for me as well so please when answering don't do everything for me, yes don't. Thank you :)

Comments

  • marc
    marc Posts: 647
    Russian_Bomber wrote:
    Well hello linux forum, I'm new around here and I'm slowly working my way through linux commands.
    I started reading through a few basic linux tutorials and now have a few questions on how to do certain things with file management commands.
    I'm working in the directory:/Desktop/Linux_practice/ using the cd command

    1) Now my first question is: I have a text file in the directory /Linux_practice/dir1/ called file1, now the file contains basic text which I would have liked to use for many other files (as a template for instance), how do I use a cp command to make about 20 copies of this file within the same directory with changing file names as file1-file20.

    If you have "file" in that directory, then:
    for ((i=1;i<21;i++)); do cp file "file$i"; done
    
    2) My next question is how can I have certain data within files that would change between every file, for instance if I would want the first line of the text file to have the directory of the text file how would I be able to have it change when the file is moved to another directory such as /Linux_practice/dir2/.
    For that you'll need a script/program that monitors the folders you want and detects the file has been moved. Then edit the text within the files... that's not trivial, at all.
    3) Similarly how can I have a text file that would display the result of an ls command for a certain directory, for instance /Linux_practice/.
    ls /Linux_practice > filename
    
    4) If I for instance wanted the file name of my text file to be the date it was created followed or preceded by the words report for instance: report 12/06/2011, how would I do this and how can I similarly have a line within the text that would show the date the file was created.

    And this totally seem like homework to me. You are supposed to *THINK* and *RESEARCH*.
    man bash
    
  • ok thanks, I'm not really sure what i++ implies, also you use the letter i in this case can another letter x be similarly used?
    yeah it does kind of look like homework doesn't it? when reading the tutorials my mind tends to wander off and finishes off asking to much at this level.... sorry for that.....
    thanks for telling me how to specify a range though.
  • asedt
    asedt Posts: 96
    Russian_Bomber wrote:
    ok thanks, I'm not really sure what i++ implies, also you use the letter i in this case can another letter x be similarly used?

    The
    i++
    
    takes i and add one to it, same or short for
    i = i +1
    
    .

    http://www-numi.fnal.gov/offline_software/srt_public_context/WebDocs/Companion/cxx_crib/increment.html

    You can use any name for the variable i is just the most commonly used.
  • dwclarke
    dwclarke Posts: 12
    A couple of books might be of interest to you. They won't answer all your questions, but it'll help you structuring your little programs. They are the Bash Guide for Beginners and the Advanced Bash Scripting Guide.

    Bash Beginners Guide

    Advanced Bash Script Guide

Categories

Upcoming Training