Tony Kombol. man on-line user manual man command_you_want_info_on type q to exit examples: for...

39
Linux Command Basics II Tony Kombol

description

Switch user

Transcript of Tony Kombol. man on-line user manual man command_you_want_info_on type q to exit examples: for...

Page 1: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

Linux Command Basics II

Tony Kombol

Page 2: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

man review…

man on-line user manual man command_you_want_info_on type q to exit

examples: for ls (list directory)

▪ man ls for cp (copy)

▪ man cp

Page 3: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

suSwitch user

Page 4: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

su

su userid su is short for switch user

▪ temporarily assume the id of another user▪ If no userid is supplied root is assumed

▪ Hence the term superuser is sometimes assumed for su

▪ Useful in cases when need to be root (superuser) for a small number of tasks▪ or any user!

Page 5: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

su It is often useful to become the

superuser (root) to perform important system administration tasks But as previously warned do not stay

logged on as the root Fortunately, there is a program to give

temporary access another user's privileges: su userid If userid not specified, root is assumed

Page 6: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

su To become the superuser or root

Debian: Type the su command

CentOS: Type the su – command

The – is important, in CentOS it gives the privilages Then prompted for root's password:[me@linuxbox me]$ suPassword:[root@linuxbox me]#

After executing the su command, a new shell session as the superuser is started

To exit the superuser session type exit Returns to previous session (user)

Page 7: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

sudo

An optional alternative way to allow one account to act as another account Also allows restriction of use of features

Ubuntu Installed in the base system Disables root Gives root authority to the base user

through sudo Example: sudo tkombol ifconfig

Page 8: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

File AccessPermissions

Page 9: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

What are Permissions? The Unix operating system families are

not only multitasking but are also a multi-user

What exactly does multi-user this mean? More than one user can be operating on the

computer at the same time While the computer might only have one

keyboard and monitor, it can still be used by more than one user▪ If the computer has serial ports users may access

the computer via an external terminal▪ If a computer is attached to a network, or the

Internet, remote users can log in via telnet or ssh (secure shell) and operate the computer

Page 10: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

What are Permissions?

To make multiple access practical, a method had to be devised to protect the users from each other Actions of one user should not crash the

computer One user should not be able interfere

with the files belonging to another user

Page 11: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

Files Permissions Unix and Linux use the same permissions

scheme Each file and directory is assigned access rights

for:▪ Owner of the file

▪ By default the userid that created the file▪ Can be re-assigned

▪ Members of a group of related users▪ By default the owner

▪ Everybody else▪ e.g. the rest of the world

Rights can be assigned to:▪ read a file (look at it)▪ write a file (change it)▪ execute a file (run the file as a program).

Page 12: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

Files Permissions To see the permission settings for a file

use the ls command with the –l option:[me@linuxbox me]$ ls -l some_file

Typical response:-rwxrw-r-- 1 me us 1097374 Sep 26 18:48 some_file

Page 13: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

Files Permissions By looking at the returned permissions -rwxrw-r-- 1 me us 1097374 Sep 26 18:48 some_file

a lot can be determined from examining the results of this command: It is a normal file

Signified by the “-” on the left The file "some_file" is owned by user "me"

▪ User "me" has the right to read, write & execute (run) this file

The file is owned by the group “us" ▪ Members of the group “us" can read and write this file

Everyone else can only read this file

Page 14: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

Files Permissions To interpret the first portion (10 characters) of the

listing: First character indicates the file type

-: normal file d: directory l: link

Followed by three sets of three characters▪ Owner

▪ First three▪ Group

▪ Second three▪ Everybody else (world)

▪ Last three Each set conveys permissions for

▪ Reading▪ First character

▪ Writing▪ Second character

▪ Execution▪ Last character

Page 15: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

Permissions

Change the file permissions (access): chmod

▪ modify file access rights chown

▪ change file ownership chgrp

▪ change a file's group ownership

Page 16: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

chmod Change the permissions of a file or

directory Specify the desired permission settings

and the file or files to be modified Two ways to specify the permissions

Octal Symbolic

Page 17: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

chmod (octal) Permission settings can be thought of as a

series of bits for each grouping First bit for read Second bit for write Third bit for execute

Example: rwx rwx rwx = 111 111 111 rw- rw- r-- = 110 110 100 rwx --- --- = 111 000 000 and so on... Therefore for each group of 3 bits:

▪ rwx = 111 (binary) = 7 (octal)▪ rw- = 110 (binary) = 6 (octal)▪ r-x = 101 (binary) = 5 (octal)▪ r-- = 100 (binary) = 4 (octal)▪ Etc.

Octal is perfect for noting permissions!

Page 18: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

chmod (octal) • By representing each of the three sets

of permissions (owner, group, and other) as a single octal digit• Convenient way of expressing the

permissions• Example:

• set some_file to have read and write permission for the owner, but keep the file private from others, enter the command:

– [me@linuxbox me]$ chmod 600 some_file

Page 19: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

Table of some common permissions

Value Meaning777 (rwxrwxrwx) No restrictions on permissions. Anybody may

do anything. Generally not a desirable setting.

755(rwxr-xr-x) The file's owner may read, write, and execute the file. All others may read and execute the file. This setting is common for programs that are ran by all users.

700(rwx------) The file's owner may read, write, and execute the file. Nobody else has any rights. This setting is useful for programs that only the owner may use and must be kept private from others.

666 (rw-rw-rw-) All users may read and write the file.

644(rw-r--r--) The owner may read and write a file, while all others may only read the file. A common setting for data files that everybody may read, but only the owner may change.

600(rw-------) The owner may read and write a file. All others have no rights. A common setting for data files that the owner wants to keep private.

Page 20: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

Directory Permissions

chmod command can also be used to control the access permissions for directories Permissions scheme for directories

similar to files▪ R – view directory contents▪ W - create or delete files in the directory▪ X – Allow users to change into directory (cd

dir)

Page 21: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

some useful settings for directoriesValue Meaning

777(rwxrwxrwx) No restrictions on permissions. Anybody may list files, create new files in the directory and delete files in the directory. Generally not a good setting.

755

(rwxr-xr-x) The directory owner has full access. All others may list the directory or change to the directory, but cannot create or delete files or directories. This setting is common for directories that you wish to share with other users.

700(rwx------) The directory owner has full access. Nobody else has any rights. This setting is useful for directories that only the owner may use and must be kept private from others.

Page 22: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

chmod (symbolic mode) chmod [ugoa][+-=][rwx] fname

The first symbol is the reference (who) to change:▪ u: user (owner)▪ g: group▪ o: others (world)▪ a: all the above▪ Multiple references may be specified…

The second symbol is to add, remove or set a permission▪ +: add the permission▪ -: remove the permission▪ =: make it the exact permission

The last symbol is the permission to change▪ r: is to read▪ w: is to write▪ x: is to execute▪ Multiple permissions may be specified

Page 23: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

chmod (symbolic mode) Examples:

chmod u+w change.sh▪ Add the ability of the owner (user) to edit (w) change.sh▪ Really to save it after it is changed

▪ Does not change any other permissions chmod a-x xyz.sh

▪ Remove execute for everyone (all)

Page 24: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

chmod: octal or symbolic? Octal:

Can set all permissions with 3 digits Easiest to change all permissions to an

exact specification Symbolic:

Can easily alter only one permission Know and use both effectively!

Page 25: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

chown Change the owner of a file

File creator is the original owner by default

Only root can chown Example: Change the owner of some_file from "me" to "you”: [me@linuxbox me]$ suPassword:[root@linuxbox me]# chown you some_file[root@linuxbox me]# exit[me@linuxbox me]$

Page 26: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

chownRemember: in order to change

the owner of a file, you must have root authority! To do this, our example:

▪ employed the su command for a root shell▪ executed chown▪ exited to return to original shell

chown works the same way on directories as it does on files

Page 27: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

chgrp Change the group ownership of a file or

directory Command format:

[me@linuxbox me]$ chgrp new_group some_file In the example above

Group ownership of some_file changed from its previous group to "new_group"

Must be the owner of the file or directory to perform a chgrp

Page 28: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

Job control

Page 29: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

Job Control

Several commands available to control processes

The most commonly used: kill

▪ sends a signal to one or more processes ▪ usually to "kill" a process

Page 30: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

kill

Suppose a program becomes unresponsive

How to get rid of it? Use the kill command Let's try this out on xload:

▪ First, identify the process to kill ▪ Use either jobs or ps to do this

▪ jobs will return a job number▪ ps returns a process id (PID).

Page 31: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

[me@linuxbox me]$ xload &[1] 1292

[me@linuxbox me]$ jobs[1]+ Running xload &

[me@linuxbox me]$ kill %1 [me@linuxbox me]$ xload &

[2] 1293[1] Terminated xload

[me@linuxbox me]$ psPID TTY TIME CMD1280 pts/5 00:00:00 bash1293 pts/5 00:00:00 xload1294 pts/5 00:00:00 ps

[me@linuxbox me]$ kill 1293[2]+ Terminated xload

Start xload and return control to terminal

Use jobs to see who is running [1] is the id number

Kill id 1

Start xload again

Use p to see the procsss status 1293 is xloads process id

Kill process1293

Page 32: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

Other

Page 33: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

grep

Flexible and powerful text search utility

Basic syntax: grep search-item file_searched

Can get very sophisticated http://unixhelp.ed.ac.uk/CGI/man-cgi?gre

p

can use regular expressions can search multiple files

Page 34: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

Redirection “>”

Output of a program goes to std out by default▪ Usually the monitor or terminal

> sends the output to a file instead▪ Creates the file if it does not exist▪ Replaces the file contents if it does exist

“>>”▪ Appends data to an existing file

“<“ Data is read from std in

▪ Usually the keyboard or terminal Reads the input from a different source (file)

Page 35: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

Pipes

“|” Takes the output of one program and

uses it as input to another E.g.:

▪ du | less

Page 36: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

Reminder: Autocomplete and Recall Autocomplete

Tab key▪ Start the command or name▪ Hit Tab▪ If what you typed is unique up to that point bash will

complete the rest of the typing!▪ If what you typed is not unique it will give a gentle

beep▪ Hit Tab again to get a list of matches

Recall The up arrow will recall previous commands The down arrow recalls later commands

Page 37: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

Wrap-up

Page 38: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

Your own top 10 Linux commands When commands are entered on the

terminal they are kept in the history library

List your top 10 by with the history command: History by itself gives the last ~500

commands Use pipes and filters to get the reduced

datahistory | awk '{print $2}' | awk 'BEGIN {FS="|"}{print $1}' | sort | uniq -c | sort -n | tail | sort -nr

Page 39: Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)

More Top Linux Commands for Newbie

hostname Prints the name of the local host that you are currently working on. Use netconf to change the name of the machine.

whoami Prints current user on the screen. Extremely when switching between a user ids.

finger user_id System info about a user. Try: finger root

df –h Print disk info about all the file systems. The - h means in human-readable form. (df=disk free)

grep Search for certain phrases or words in a file

du / -bh | more Print detailed disk usage for each subdirectory starting at the “/” (root) directory in human legible form. (du=disk usage)

free Memory info (in kilobytes)

pwd Show the name of the current working directory