Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • What the file system is, and a typical organization / hierarchy.

  • Some high-level comparison to that of Windows.

  • Absolute vs relative paths.

  • Commands: pwd, cd, ls, mv, cp, mkdir, rmdir, rm

  • History: history

  • File Ownership and Permissions.

Table of Contents
minLevel1
maxLevel1
outlinefalse
stylenone
typelist
printabletrue

Some high-level comparison to that of Windows

 

Windows

Linux

Structure

Uses (data) drives C:, D:, E:…

Uses a tree hierarchy starting at “/

Known as the root directory.

 

<drive>\<folder01>\<folder02> 

/<folder01>/<folder02> 

Syntax

Uses the back slash: “\”

Uses the forward slash: “/”

Home folder

C:\Users\<username>

/home/<username>

Application Install

C:\Program Files\

/usr/

Folder and Filenames

Case insensitive: FoLdEr = FOLDER

Case sensitive: FoLdEr ≠ FOLDER

 

 

Wherever you are within the hierarchy is known as your current working directory (cwd)

Linux OS General Structure

...

Linux Hierarchical Structure: Example

...

Absolute Path: /home/arcc-t05/

Path starts with a “/”

...

Absolute Path: /home/arcc-t05/workshop/projects/p01/etc/

...

Relative Path: workshop/projects/p01/etc/

Path does not start with a “/”

...

Relative Path: p01/etc/

...

Ex: Starting at / (root), what is the absolute path to the bits folder?

...

Answer:

Expand
titleAnswer

/usr/include/bits/

image-20240522-181112.pngImage Removed

Ex: Starting in the home folder what is the relative path to the Jan folder?

...

Answer:

Expand
titleAnswer

arcc-t05/workshop/data/2023/Jan/

image-20240522-181215.pngImage Removed
Panel
panelIconId1f642
panelIcon:slight_smile:
panelIconText🙂
bgColor#FFEBE6

If you are following along as part of a scheduled training or bootcamp, please replace the arccanetrain directory with the project directory you’ve been provided for your specific training/bootcamp. If you are training independently, please use your own project folder, but contact arcc-help@uwyo.edu if you would like a copy of the files and directories used in our examples.

Commands:

...

Note
  • Within this and following sections, we have tried to make the descriptions and examples generic.

  • If you are following along as part of a scheduled training or bootcamp, where you see <project-name> replace this with the project name being used for the workshop (which changes) and <username> with your username.

  • Also, the hostname that you might see might change depending on the cluster you’re using.

  • If you are training independently, please use your own project folder, but contact arcc-help@uwyo.edu if you would like a copy of the files and directories used in our examples.

...

Table of Contents
minLevel1
maxLevel1
outlinefalse
stylenone
typelist
printabletrue

...

Some high-level comparison to that of Windows

 

Windows

Linux

Structure

Uses (data) drives C:, D:, E:…

Uses a tree hierarchy starting at “/

Known as the root directory.

 

<drive>\<folder01>\<folder02> 

/<folder01>/<folder02> 

Syntax

Uses the back slash: “\”

Uses the forward slash: “/”

Home folder

C:\Users\<username>

/home/<username>

Application Install

C:\Program Files\

/usr/

Folder and Filenames

Case insensitive: FoLdEr = FOLDER

Case sensitive: FoLdEr ≠ FOLDER

 

 

Wherever you are within the hierarchy is known as your current working directory (cwd)

...

Linux OS General Structure

...

Linux Hierarchical Structure: Example

...

Absolute Path: /home/arcc-t05/

Path starts with a “/”

...

Absolute Path: /home/arcc-t05/workshop/projects/p01/etc/

...

Relative Path: workshop/projects/p01/etc/

Path does not start with a “/”

...

Relative Path: p01/etc/

...

Ex: Starting at / (root), what is the absolute path to the bits folder?

...

Answer:

Expand
titleAnswer

/usr/include/bits/

image-20240522-181112.pngImage Added

...

Ex: Starting in the home folder what is the relative path to the Jan folder?

...

Answer:

Expand
titleAnswer

arcc-t05/workshop/data/2023/Jan/

image-20240522-181215.pngImage Added

...

Commands:

Info

Commands are used to perform certain operating system tasks through the Command Line Interface, as directed by the interpreter (as opposed to a Graphical Interface Interpreter we would usually use).

<command --help> 

...

Command

...

Description

...

pwd

...

Note

The next couple of parts list and briefly summarize the commands we will be covering within this section:

pwd, cd, ls, mkdir, mv, cp, rmdir and rm.

We will then follow up with examples on how to use them.

...

<command --help> 

Command

Description

pwd

Code Block
pwd: pwd [-LP]
Print the name of the current working directory.

cd

Code Block
cd: cd [-L|[-P [-e]] [-@]] [dir]
    Change the shell working directory.

ls

Code Block
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default)

mkdir

Code Block
Usage: mkdir [OPTION]... DIRECTORY...
Create the DIRECTORY(ies), if they do not already exist.

mv

Code Block
Usage: mv [OPTION]... [-T] SOURCE DEST
  or:  mv [OPTION]... SOURCE... DIRECTORY
  or:  mv [OPTION]... -t DIRECTORY SOURCE...
Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY

...

Info

If you get lost, then you can jump back to the home folder.

Code Block
[arcc-t05@blog1<username>@blog1 ???]$ cd
[arcc-t05@blog1<username>@blog1 ~]$
Info

The ~ “tilda” character represents your home directory.

Info

Use the pwd to confirm your current working directory, which after the above command will be home.

Code Block
[arcc-t05@blog1<username>@blog1 ~]$ pwd
/home/arcc-t05<username>

...

cd: Change the shell working directory

Info

Start by navigating back to home.

Code Block
[arcc-t05@blog1<username>@blog1 ???]$ cd
[arcc-t05@blog1<username>@blog1 ~]$
Info

Move up one level, into the current folder’s parent.

Code Block
[arcc-t05@blog1<username>@blog1 ~]$ cd ..
[arcc-t05@blog1<username>@blog1 ~]$ pwd
/home
Info

Move up another level into the root folder.

Code Block
[arcc-t05@blog1<username>@blog1 home]$ cd ..
[arcc-t05@blog1<username>@blog1 /]$ pwd
/

...

cd: Change working directory (cont)

Info

Navigate into the opt folder.

Code Block
[arcc-t05@blog1<username>@blog1 /]$ cd opt
[arcc-t05@blog1<username>@blog1 opt]$ pwd
/opt
Info

Question: Did we define an an absolute or relative path?

...

Info

First reset back to home.

Code Block
[arcc-t05@blog1<username>@blog1 opt]$ cd
[arcc-t05@blog1<username>@blog1 ~]$
Info

Navigate into the /usr/include/asm folder.

Code Block
[arcc-t05@blog1<username>@blog1 ~]$ cd /usr/include/asm
[arcc-t05@blog1<username>@blog1 asm]$ pwd
/usr/include/asm

...

Info

Navigate up two levels:

Code Block
[arcc-t05@blog1<username>@blog1 asm]$ cd ../..
[arcc-t05@blog1<username>@blog1 usr]$ pwd
/usr
Info

Navigate back home:

Code Block
[arcc-t05@blog1<username>@blog1 usr]$ cd
[arcc-t05@blog1<username>@blog1 ~]

...

ls: List information about the FILEs (cwd by default)

...

Info

List files in the user’s home folder.

Code Block
[arcc-t05@blog1<username>@blog1 ~]$ ls
Info

List long format that includes ownership and permission details.

Code Block
[arcc-t05@blog1<username>@blog1 ~]$ ls -l
Info

List all files, including hidden files and folders start with “.”.

Notice how ‘short-name’ options are grouped.

Code Block
[arcc-t05@blog1<username>@blog1 ~]$ ls –a
Info

List all files with long format.

Code Block
[arcc-t05@blog1<username>@blog1 ~]$ ls –al
Info

List all files with long format, in reverse order.

Code Block
[arcc-t05@blog1<username>@blog1 ~]$ ls –alr
Info

List all files with long format, in reverse order, in human readable form.

Code Block
arcc-t05@blog1<username>@blog1 ~]$ ls –alrh
Info

Note how we can use multiple options together.

...

Code Block
# Demonstrate how to ‘ls’ to a folder outside cwd
[~]$ ls /project/arccanetrain<project-name>/arcc-t01
folder01  myfile.txt

...

mkdir: Create the DIRECTORY(ies), if they do not already exist

$
Code Block
Info

Navigating to you /home and make a folder called folder01.

Code Block
$ cd
[~]$ ls
Desktop  Documents  Downloads
[~]$ mkdir folder01
[~]$ ls
Desktop  Documents  Downloads  folder01
Info

Try creating that folder again. What happens?

Code Block
[~]$ mkdir folder01
mkdir: cannot create directory ‘folder01’: File exists
exists
Note

If a folder already exists, you can not make it again.

Info

Navigate into this folder and print the current working directory.

Code Block
[~]$ cd folder01/
[folder01]$ pwd
/home/arcc-t05<username>/folder01
Info

If a folder already exists, you can not make it again.

...

mkdir: Create the mkdir: Create the DIRECTORY(ies), if they do not already exist

Info

Within folder01, try creating two new folders called folder02 and folder03.

Navigate into folder02 and print the current working directory.

Code Block
[folder01]$ mkdir folder02 folder03
[folder01]$ ls
folder02 folder03
[folder01]$ cd folder02/
[folder02]$ pwd
/home/arcc-t05<username>/folder01/folder02
[folder02]$ cd ../..
[~]$ pwd
/home/arcc-t05

...

Info

Notice: You can create multiple folders at the same time.

...

mv: Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY

Info

Renaming a file is the same as moving it to a new name.

Navigate to your home and create a file called myfil.txt

Code Block
[]$ cd
# Create an empty file.
$ cd
[~]$ touch myfil.txt
[~]$ ls
Desktop  Documents  Downloads  folder01  myfil.txt
# Rename the file ‘myfil.txt’ to ‘myfile.txt’:
Info

Move this file from myfil.txt to myfile.txt.

Code Block
[~]$ mv myfil.txt myfile.txt 
[~]$ ls
Desktop  Documents  Downloads  folder01  myfile.txt

...

mv: Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY

Code Blockinfo
#

Move

the

file ‘myfile.txt’ into the directory ‘folder01’

myfile.txt into folder01.

Code Block
[~]$ mv myfile.txt folder01/
[~]$ ls
Desktop  Documents  Downloads  folder01
# Demonstrate how to ‘ls’ what is in a relative folder.
[~]$ ls folder01/
folder02  myfile.txt

...

Info

Notice how we used ls to see what is in a relative folder.

...

cp: Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY

Code Blockinfo
#

Navigate

back

to home: $ cd # Use the touch command to create an empty file.

home and create a file called myfile02.txt.

Code Block
[]$ cd
[~]$ touch myfile02.txt
[~]$ ls
Desktop  Documents  Downloads  folder01  myfile02.txt

# Copy 
Info

Copy (duplicate)

this file to a

new file

.

called myfile02b.txt.

Code Block
[~]$ cp myfile02.txt myfile02b.txt 
[~]$ ls
Desktop  Documents  Downloads  folder01  myfile02b.txt  myfile02.txt

# Copy a file into an existing folder.
Info

Copy file myfile02b.txt into the existing folder02 folder.

Code Block
[~]$ cp myfile02b.txt folder01/
[~]$ ls folder01/
folder02  folder03  myfile02b.txt  myfile.txt

...

cp: folders

Info

Navigate home and try copying the folder01 folder.

Code Block
[~]$ cp folder01
cp: missing destination file operand after 'folder01'
Try 'cp --help' for more information.

[~]$ ls folder01
folder02  myfile02b.txt  myfile.txt

[~]$ cp folder01 folder03folder04
cp: -r not specified; omitting directory 'folder01’

...

Code Block
[~]$ cp –r folder01 folder03folder04
[~]$ ls
Desktop  Documents  Downloads  folder01  folder03folder04  myfile02b.txt  myfile02.txt
[~]$ ls folder03folder04
folder02  myfile02b.txt  myfile.txt

...

rmdir: Remove the DIRECTORY(ies), if they are empty

Info

The rmdir command can only be used to remove an empty directory.

Code Block
[~]$ ls 
Desktop  Documents  Downloads  folder01  folder03folder04  myfile02b.txt  myfile02.txt
[~]$ mkdir folder04folder05
[~]$ ls
Desktop  Documents  Downloads  folder01  folder03folder04  folder04folder05  myfile02b.txt  
myfile02.txt

# Can remove folder04folder05 since it is empty.
[~]$ rmdir folder04folder05
[~]$ ls
Desktop  Documents  Downloads  folder01  folder03  myfile02b.txt  myfile02.txt

[~]$ rmdir folder03folder04/
rmdir: failed to remove 'folder03folder04/': Directory not empty
Info

You can not use rmdir to remove a directory that has files still within it. The folder must be empty.

...

rm: Remove (unlink) the FILE(s)

Info

Look at one way at removing a folder that itself contains folders and files.

Code Block
[~]$ cd
[~]$ cd folder03folder04
[folder03folder04]$ ls
folder02  myfile02b.txt  myfile.txt

[folder03folder04]$ ls folder02/
[folder03folder04]$
# ‘folder02’ is empty.
[folder03folder04]$ rmdir folder02/

[folder03folder04]$ ls
myfile02b.txt  myfile.txt
[folder03folder04]$ rm myfile.txt 
[folder03folder04]$ ls
myfile02b.txt
[folder03folder04]$ rm myfile02b.txt

...

rm: Remove (unlink) the FILE(s)

Code Block
[folder03folder04]$ ls
[folder03folder04]$
# ‘folder03’‘folder04’ is now empty.
[folder03folder04]$ cd ..
[~]$ rmdir folder03folder04/
[~]$ ls
Desktop  Documents  Downloads  folder01  myfile02b.txt  myfile02.txt
# This has taken a lot of individual steps.
# Can we do this 
Note

This has taken a lot of individual steps.

Can we do this quicker?

...

rm: folders and file(s)

Info

Take a further look at the rm command.

Code Block
[~]$ cd
[~]$ rm folder01/
rm: cannot remove 'folder01/': Is a directory

...

Code Block
[~]$ rm -r folder01/
[~]$ ls
Desktop  Documents  Downloads  myfile02b.txt  myfile02.txt
# Can remove multiple files.
[~]$ rm myfile02b.txt myfile02.txt 
[~]$ ls
Desktop  Documents  Downloads
# Alternatively we could have removed above 2 files with: rm myfile* 
# * is a wildcard, so the rm myfile* will remove all starting with the characters "myfile"
Info

Alternatively we could have removed the above 2 files with: rm myfile*

The * character is a wildcard, so the rm myfile* will remove all starting with the characters myfile

...

rm: WARNING

From the command-line there is NO trash bin.!

Using rm/rmdir is FINAL!

...

history

Info

The history command allows you to look back at the last commands you’ve called.

Code Block
[~]$ history --help
history: history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]
    Display or manipulate the history list.
    ...
[~]$ history 
  ...	
  219  rm -f folder01/
  220  rm -r folder01/
  221  ls
  222  rm myfile02b.txt myfile02.txt 
  223  ls
  224  history
# Repeat command ‘223’
[arcc-t05@blog1
Info

You can repeat a command. Lets repeat the command labelled 223:

Code Block
[<username>@blog1 ~]$ !223
ls
Desktop  Documents  Downloads

...

Exercises: Navigation

Info

Questions:

  1. How can you return to your home folder?

  2. What command do you use if you’ve forgotten where you are in the folder hierarchy?

  3. How can you list what is in a folder as well as any subfolders?

  4. Go back through the command related slides are try for yourself.

...

Answers

Info

1: How can you return to your home folder?

Expand
titleAnswer
  • Use: cd or cd ~ as a shortcut to return to your home folder instead of using a cd /home/$USER or cd /home/<insert_your_username>/

  • cd stands for: change directory

Info

2: What command do you use if you’ve forgotten where you are in the folder hierarchy?

Expand
titleAnswer
  • Use: pwd

  • This stands for: print working directory.

Info

3: How can you list what is a folder as well as any subfolders?

Expand
titleAnswer
  • ls command lists contents, which flag do we use to get it’s subfolders as well?

Code Block
[]$ man ls
-R, --recursive
              list subdirectories recursively
[]$ ls -R
  • -R is for recursive, which relates to repeated application of the rule over successive executions. We continue applying the listings for all subfolders that exist within the top level parent directory.

...

File Ownership and Permissions

Info

What does the output of ls –l mean?

Code Block
[arcc-t05@blog1<username>@blog1 ~]$ cd /project/arccanetrain<project-name>/intro_to_linux
[arcc-t05@blog1<username>@blog1 intro_to_linux]$ ls -al
total 54
drwxrwsr-x  4 salexan5<someuser> arccanetrain<project-name>  4096 Oct  6 08:09 .
drwxrws--- 40 root     arccanetrain  4096 Oct  6 08:09 ..
drwxrwsr-x  2 salexan5 arccanetrain  4096 Oct  5 11:19 clusters
drwxrwsr-x  6 salexan5 arccanetrain  4096 Oct  5 14:56 data
-rw-rw-r--  1 salexan5 arccanetrain   874 Oct  5 15:30 fruits.txt
-rw-rw-r--  1 salexan5 arccanetrain 34472 Oct  5 10:57 software.csv
-rw-rw-r--  1 salexan5 arccanetrain  1603 Oct  6 08:08 vegatables.txt
-rw-rw-r--  1 arcc-t05 arccanetrain    26 Oct  5 07:20 workshop_all.txt
-rw-------  1 arcc-t05 arccanetrain    23 Oct  5 07:20 workshop_me.txt

The first character on the left indicates if it is a directory “d” or a file “-”.

Code Block
drwxrwsr-x    clusters          # A folder.
-rw-rw-r--    workshop_all.txt  # A file.

File Ownership and Permissions

Code Block
-rw-rw-r .
drwxrws--- 40 root       <project-name>  4096 Oct  6 08:09 ..
drwxrwsr-x  2 <someuser> <project-name>  4096 Oct  5 11:19 clusters
drwxrwsr-x  6 <someuser> <project-name>  4096 Oct  5 14:56 data
-rw-rw-r--  1 <someuser> <project-name>   874 Oct  5 15:30 fruits.txt
-rw-rw-r--  1 <someuser> <project-name> 34472 Oct  5 10:57 software.csv
-rw-rw-r--  1 <someuser> <project-name>  1603 Oct  6 08:08 vegatables.txt
-rw-rw-r--  1 <someuser> <project-name>    26 Oct  5 07:20 workshop_all.txt
-rw-------  1 <someuser> <project-name>    23 Oct  5 07:20 workshop_me.txt
Info

The first character on the left indicates if it is a directory “d” or a file “-”.

Code Block
drwxrwsr-x    clusters          # A folder.
-rw-rw-r--    workshop_all.txt  # A file.

...

File Ownership and Permissions

Code Block
-rw-rw-r--    1 <username> <project-name>     26 Oct  5 07:20 workshop_all.txt

...

  • User: This is the owner of the file/folder. By default, the person who created it becomes its owner.

    • <username> is the owner

  • Group: A group is a collection of users. The primary purpose of the group is to define a set of privileges for a given resource that can be shared among the users within the group.

    • <project-name> is the group.

    • In general, for a workshop, all attending users / the arcc-txx users (if being used) have been setup to be within this group.

  • Other: This is any other user who has access to the file/folder. This person has neither created the file, nor do they belong to a user group.

...

Permission Denied

Info

This demonstrates how permissions work. Bare in mind this assumes you’re logged in as user <username>.

Code Block
[]$ cd /project/<project-name>/
[]$ ls -al
...
# drwxr-sr-x    2 <username> <project-name>   4096 May 16 16:26 <username>
...
Info

The middle set of permissions is “drwxr-sr-x” means no one other than <username> has permission to write within this folder.

Try navigating into a <different-username> folder within <project-name> and creating a file.

Code Block
[<project-name>]$ cd <different-username>/
# Can <username> create (write) a file within this folder?
[<different-username]$ touch text.txt
touch: cannot touch 'text.txt': Permission denied
Note

No one, other than <different-username> can create (write) a file within this folder.

...

If we change directories, and go to /project/<project-name>/intro_to_linux, what permissions do the contents of this directory have?

Code Block
[<username>]$ cd ../intro_to_linux
[<username>]$ ls -al
# -rw-rw-r--    1 <arcc-username> <project-name>     26 Oct  5 07:20 workshop_all.txt
Info

Any user within the <project-name> group can read/write the file workshop_all.txt.

Everybody can read it. Do you want anyone outside of this project to be able to read this file?

Code Block
[] ls -al
# -rw-------    1 arcc<arcc-t05username> arccanetrain<project-name>     2623 Oct  5 07:20 workshop_all.txt

...

  • User: This is the owner of the file/folder. By default, the person who created it becomes its owner.

    • arcc-t05 is the owner

  • Group: A group is a collection of users. The primary purpose of the group is to define a set of privileges for a given resource that can be shared among the users within the group.

    • arccanetrain is the group.

    • All the arcc-txx users have been setup to be within this group.

  • Other: This is any other user who has access to the file/folder. This person has neither created the file, nor do they belong to a user group.

Permission Denied

Info
This demonstrates how permissions work. Bare in mind this assumes you’re logged in as user arcc-t05.
me.txt
[intro_to_linux]$ cat workshop_me.txt
cat: workshop_me.txt: Permission denied
Note

Only user <arcc-usernameusername> can read/write this file. No one else, not even anyone within the <project-name> group, can view this file.

...

Exercises: Permissions

Info

Questions: In all cases be able to justify your answer.

  1. Can you create a folder under /project/<project-name>/username>/?

  2. Can you /project/<project-name>/intro_to_linux/ and view workshop_all.txt?

  3. Can you /project/<project-name>/intro_to_linux/ and view workshop_me.txt?

  4. Can you cd into the /opt folder?

  5. Can you cd into the /root folder?

...

Answers

Info

1. Can you create a folder under /project/<project-name>/username>/?

Expand
titleAnswer
Code Block
[]$ cd /project/
arccanetrain
<project-name>/
[<project-name>]$ 
ls
cd 
-al ... # drwxr-sr-x 2 arcc-t01 arccanetrain 4096 May 16 16:26 arcc-t01 ...
Info
The middle set of permissions is “drwxr-sr-x” means no one other than arcc-t01 has permission to write within
<username>
[<username>]$ touch test.txt
# Do you get a “Permission denied”?

Yes. You should have write permissions as owner for this folder.

Code Block
[arccanetrain]$ cd arcc-t01/
#
Can
 
arcc
drwxr-
t05
sr-x 
create
 
(write)
 
a
 
file
2 
within this folder? [arcc-t01]$ touch text.txt touch: cannot touch 'text.txt': Permission denied
Note

No one, other than arcc-t01 can create (write) a file within this folder.

...

<username> <project-name>   4096 May 16 16:26 <username>
Info

2. Can you /project/<project-name>/intro_to_linux

...

Code Block
[arcc-t01

/ and view workshop_all.txt?

Expand
titleAnswer
Code Block
[<username>]$ cd ../intro_to_linux
[
arcc-t01
intro_to_linux]$ 
ls -al # -rw-rw-r-- 1 arcc-t05 arccanetrain 26 Oct 5 07:20 workshop_all.txt
Info

Any user within the arccanetrain group can read/write the file workshop_all.txt.

Everybody can read it. Do you want anyone outside of this project to be able to read this file?

Code Block
[] ls -al # -rw------- 1 arcc-t05 arccanetrain 23 Oct 5 07:20 workshop_me.txt
cat workshop_all.txt
# Do you get a “Permission denied”?

Yes. Everybody can read this.

Code Block
-rw-r--r-- 1 <arcc-username> <project-name>    26 Sep  4 10:38 workshop_all.txt
Info

3. Can you /project/<project-name>/intro_to_linux/ and view workshop_me.txt?

Expand
titleAnswer
Code Block
[intro_to_linux]$ cat workshop_me.txt
cat: workshop_me.txt: Permission denied
Note

Only user arcc-t05 can read/write this file. No one else, not even anyone within the arccanetrain group, can view this file.

Exercise: Try it

Code Block
[]$ cd /project/arccanetrain/
[arccanetrain]$ cd arcc-t05
[arcc-t05]$ touch test.txt
# Do you get a “Permission denied”?
# Navigate into the intro_to_linux folder. 
[arcc-t05]$ cd ../intro_to_linux
[intro_to_linux]$ cat workshop_all.txt
Everybody can read this.
[intro_to_linux]$ cat workshop_me.txt
# Do you get a “Permission denied”?
# Can you cd into the /opt folder?
# Justify your answer.
# Can you cd into the /root folder?
# Justify your answer.

Answers

Can you cd into the /opt folder?

Expand
titleAnswer
Code Block
[arcc-t05@blog1 ~]$ cd /opt
[arcc-t05@blog1 opt]$

Yes


# Do you get a “Permission denied”?

No. Only <arcc-username> can read/write this file.

Code Block
-rw------- 1 <arcc-username> <project-name>    23 Sep  4 10:38 workshop_me.txt
Info

4. Can you cd into the /opt folder?

Expand
titleAnswer
Code Block
[<username>]$ cd /opt
[<username> opt]$

# “other” has read permissions
drwxr-xr-x.    5 root root    43 Jun 26 11:47 opt

Yes. The other has read permissions.

Code Block
drwxr-xr-x.    5 root root    43 Jun 26 11:47 opt
Info

5. Can you cd into the /root folder?

Expand
titleAnswer
Code Block
[arcc-t05@blog1 ~<username>]$ cd /root
-bash: cd: /root: Permission denied
[arcc-t05@blog1 ~<username>]$ ls -l /
...
# “other” has No permission set for other read permissions
drwxrdr-xr-x---.   17 5 root root  4096 Oct 43 Jun4 26 1112:47 opt
...
# No permission set for other read permissions
58 root

No. There are no permissions set for other read permissions.

Code Block
dr-xr-x---.   17 root root  4096 Oct  4 12:58 root

No

...

...