Sponsored Content
Full Discussion: Mkdir
Top Forums UNIX for Beginners Questions & Answers Mkdir Post 302992012 by drysdalk on Monday 20th of February 2017 02:41:29 PM
Old 02-20-2017
Hi,

Taking them in turn:

mkdir test and mkdir ./test

In practical terms, there isn't likely to be much difference between them, and they are generally going to be interchangebale in use. The key to understanding what they do though (and why they both do the same thing) is understanding the meaning of './' specifically.

In UNIX-style nomenclature, the '.' character represents your current directory. The '/' symbol is the path separator, and is used to separate one directory in a path from another. All absolute paths starting at the root of the filesystem tree begin with '/'.

So, in the first instance, mkdir test simpy creates a directory called 'test' in your current working directory, without specifying a path. In effect, this works out to be identical to specificying the current working directory in your path by doing mkdir ./test.

In both cases, you're going to end up with a sub-directory of your current working directory (that is, the directory you are in when you run the 'mkdir' command) called 'test'. Most commands (mkdir amongst them) are generally going to assume if you don't specify a path you must be referring to your current directory, which is why in this one single instance you can use both these forms interchangeably.

Moving on to your second question:

if ( -e /test ) then and if ( -e ./test ) then

Here there's a big difference in meaning, and these two tests will do entirely different things. The path '/test' refers to a file or directory beneath the root of the filesystem (that is, the very top of the filesystem tree) called 'test'. Whereas './test' refers to a file or directory beneath your current working directory called 'test'.

So unless you happen to have / as your current working directory, the meaning of these will be very different. '/test' will always refer to something called 'test' underneath the root directory, no matter where you happen to be yourself in the file system tree at the time. Whereas './test' will always refer to something called 'test' underneath whatever directory you happen to be in at the time.

Hope this helps.
 

10 More Discussions You Might Find Interesting

1. Linux

install vs mkdir

I'm sitting here late at night, reading linux from scratch, and I come to this part: http://lfs.osuosl.org/lfs/view/stable/chapter06/creatingdirs.html my question to you, the all knowing unix.com'ers is this: what's the difference between using the install command as they do, and using the... (1 Reply)
Discussion started by: thmnetwork
1 Replies

2. Shell Programming and Scripting

mkdir

Hi, I look for a script to create 150 directories : d000 d001 d002 ... ... d149 would you help me please ? I think it would be for i mkdir d$i Many thanks. PS : #uname -a AIX fserver 3 5 0050691A4C00 (2 Replies)
Discussion started by: big123456
2 Replies

3. UNIX for Advanced & Expert Users

mkdir

Is there ant way to increase max number of folders in the directory from the 32766: Problem UFS: shell>mkdir mmm mkdir: mmm: Too many links But there are no links, just folders. shell>ls | wc -l 32766 (3 Replies)
Discussion started by: mirusnet
3 Replies

4. Shell Programming and Scripting

Cp/Mkdir and spaces

I am having trouble using cp and mkdir commands on a small script. The problem is I have spaces what I am trying to mkdir and then copy. Any suggestions on how I can solve this problem? I've tried searching online. while read linefile do echo mkdir -p $CPP$linefile | cut -d / -f 1-5,8-12 ... (10 Replies)
Discussion started by: imagiro1
10 Replies

5. Shell Programming and Scripting

Help me with mkdir command

Hi, please help me with this small script #!/bin/sh curdir=`pwd` n20=$curdir'/n20/' msat=$curdir'/n20/msat/' if then mkdir $n20 fi if then mkdir $msat fi for a in 30 40 50 60 70 80 do (4 Replies)
Discussion started by: Dark2Bright
4 Replies

6. Shell Programming and Scripting

mkdir bug

Dear, I have the following script: maak_backup () { echo 'Maken van tijdelijke bestanden, even geduld aub.' for i in /home/yannick/* ; do cp -r $i $i.bac done if ; then echo 'Backup map = OK!' echo 'Bezig met kopiëren, even geduld... (9 Replies)
Discussion started by: yadeki
9 Replies

7. Linux

mkdir command

Hi all, i am new to Linux and need some help. I used the command: mkdir super Directory super is created When i try to change to this directory using: cd /super I get: bash: cd: /super: No such file or directory when i use: rm super I get: rm: cannot remove 'super': Is a directory What... (5 Replies)
Discussion started by: Deside
5 Replies

8. Homework & Coursework Questions

Mkdir

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: Do the procedure, which if there are 5 parameters then it creates 4 directories with names of 4 parameters, in... (2 Replies)
Discussion started by: bolones
2 Replies

9. UNIX for Dummies Questions & Answers

Mkdir utility

Howdy, Puttering around in unix, and read this in the mkdir man page: "The mkdir utility creates the directories named as operands..." What does this mean, i.e. as operands? Many thanks, DN (2 Replies)
Discussion started by: danuke
2 Replies

10. UNIX for Dummies Questions & Answers

How to use mkdir{...} with a variable?

Hi, I used "mkdir job{0001..10}" do get directories. Now I want to create directories with a variable, for exemple "mkdir job{0001..$a}". When a=5 I get the directory "job{0001..5}". What have i to change to get job0001,...,job0005 :/ Thx for ur help :) (1 Reply)
Discussion started by: E_taks
1 Replies
GO-TESTFLAG(7)						 Miscellaneous Information Manual					    GO-TESTFLAG(7)

NAME
go - tool for managing Go source code DESCRIPTION
The 'go test' command takes both flags that apply to 'go test' itself and flags that apply to the resulting test binary. The test binary, called pkg.test, where pkg is the name of the directory containing the package sources, has its own flags: -test.v Verbose output: log all tests as they are run. -test.run pattern Run only those tests and examples matching the regular expression. -test.bench pattern Run benchmarks matching the regular expression. By default, no benchmarks run. -test.cpuprofile cpu.out Write a CPU profile to the specified file before exiting. -test.memprofile mem.out Write a memory profile to the specified file when all tests are complete. -test.memprofilerate n Enable more precise (and expensive) memory profiles by setting runtime.MemProfileRate. See 'godoc runtime MemProfileRate'. To pro- file all memory allocations, use -test.memprofilerate=1 and set the environment variable GOGC=off to disable the garbage collector, provided the test can run in the available memory without garbage collection. -test.parallel n Allow parallel execution of test functions that call t.Parallel. The value of this flag is the maximum number of tests to run simultaneously; by default, it is set to the value of GOMAXPROCS. -test.short Tell long-running tests to shorten their run time. It is off by default but set during all.bash so that installing the Go tree can run a sanity check but not spend time running exhaustive tests. -test.timeout t If a test runs longer than t, panic. -test.benchtime n Run enough iterations of each benchmark to take n seconds. The default is 1 second. -test.cpu 1,2,4 Specify a list of GOMAXPROCS values for which the tests or benchmarks should be executed. The default is the current value of GOMAXPROCS. For convenience, each of these -test.X flags of the test binary is also available as the flag -X in 'go test' itself. Flags not listed here are passed through unaltered. For instance, the command go test -x -v -cpuprofile=prof.out -dir=testdata -update will compile the test binary and then run it as pkg.test -test.v -test.cpuprofile=prof.out -dir=testdata -update AUTHOR
This manual page was written by Michael Stapelberg <stapelberg@debian.org>, for the Debian project (and may be used by others). 2012-05-13 GO-TESTFLAG(7)
All times are GMT -4. The time now is 12:52 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy