Linux tips
From silico.biotoul.fr
(Difference between revisions)
m (→shell) |
m |
||
Line 1: | Line 1: | ||
- | = | + | = Paths & I/O & files = |
- | + | == Paths & directories == | |
+ | * <tt>pwd</tt> returns current directory | ||
+ | * relative to current directory: e.g. <tt>ls subdir/subsubdir</tt> or <tt>ls ../whatever/</tt> | ||
+ | * absolute <tt>ls ~user/path</tt> or <tt>ls /home/user/path</tt> | ||
+ | * <tt>mkdir</tt>: create directory. e.g. <tt>mkdir ~/newdir</tt> or with subdirs <tt>mkdir -p ~/new/newsub/newsubsub</tt> | ||
+ | * <tt>rmdir dirname</tt> or if not empty <tt>rm -fr dirname</tt> | ||
+ | |||
+ | == Permissions == | ||
+ | <source lang='bash'> | ||
+ | $ ls -l /home | ||
+ | drwxr-x--- 69 barriot gsi 4.0K Mar 5 12:09 barriot | ||
+ | drwx------ 2 root root 16K Jul 12 2010 lost+found | ||
+ | drwxr-xr-x 36 micas stage 4.0K Jul 31 2012 micas | ||
+ | ... | ||
+ | |||
+ | [barriot@gamborimbo ~]$ ls -lh Documents/TEACHING/2012-2013/M1-MABS/Graph/TP3-igraph.layout/ | ||
+ | total 80K | ||
+ | drwxr-xr-x 1 barriot gsi 4.0K Mar 14 2012 HDE.old | ||
+ | -rw-r--r-- 1 barriot gsi 24K Mar 14 2012 91347.nwk | ||
+ | -rw-r--r-- 1 barriot gsi 942 Mar 1 16:02 Cleandb_Luca_1_S_1_1_65_Iso_Tr_1-CC1.cod | ||
+ | -rw-r--r-- 1 barriot gsi 28K Sep 7 2010 Cleandb_Luca_1_S_1_1_65_Iso_Tr_1-CC1.gr | ||
+ | -rw-r--r-- 1 barriot gsi 2.3K Sep 7 2010 Cleandb_Luca_1_S_1_1_65_Iso_Tr_1-CC1.tgr | ||
+ | -rw-r--r-- 1 barriot gsi 4.7K Mar 5 11:42 cmds.R | ||
+ | -rw-r--r-- 1 barriot gsi 871 Mar 14 2012 sample_tree_with_branchlengths.nwk | ||
+ | -rwxr-xr-x 1 barriot gsi 670 Mar 14 2012 drawTree.py | ||
+ | -rw-r--r-- 1 barriot gsi 5.6K Feb 27 16:57 Tree.py | ||
+ | </source> | ||
+ | |||
+ | First character corresponds to file type. '''d''' for directory, '''-''' for a regular file, ... | ||
+ | Then by 3 for the owner (user), the group and the others. | ||
+ | |||
+ | For a regular file : | ||
+ | * r for permission to read | ||
+ | * w for permission to modify | ||
+ | * x for being able to execute the file (binary executable or script) | ||
+ | |||
+ | For a directory : | ||
+ | * r to be able to read the content (list files in the directory) | ||
+ | * w to be able to add or remove files | ||
+ | * x to be able to ''pass'' through that directory, i.e. cd to that dir or a subdir | ||
+ | |||
+ | Modify ownership of a file or directory : | ||
+ | <source lang='bash'> | ||
+ | # change owner | ||
+ | chown newuser file | ||
+ | # recursive | ||
+ | chown -R newuser directory | ||
+ | # change group | ||
+ | chgrp newgroup filename | ||
+ | # change both | ||
+ | chown newuser.newgroup filename | ||
+ | </source> | ||
+ | |||
+ | Modify permissions: | ||
+ | <source lang='bash'> | ||
+ | # numeric notation: r=4, w=2, x=1, thus for rwx-r-x--- | ||
+ | chmod 760 file | ||
+ | # on a sub directory | ||
+ | chmod -R 760 dirname | ||
+ | # symbolic notation: | ||
+ | chmod u=rwx,g=rx,o= filename | ||
+ | # add execute permission for all: | ||
+ | chmod a+x filename | ||
+ | # revoke write permission for others: | ||
+ | chmod o-w filename | ||
+ | </source> | ||
- | |||
permissions, cat, redirection, head, tail, more, less, tac, sed, grep, cut, find, stat, file | permissions, cat, redirection, head, tail, more, less, tac, sed, grep, cut, find, stat, file | ||
+ | |||
+ | |||
+ | |||
+ | = Processes = | ||
+ | ps, jobs, Ctrl-C/Z/D, top, kill, killall, nohup, disown, & | ||
= shell = | = shell = |
Revision as of 11:26, 5 March 2013
Contents |
Paths & I/O & files
Paths & directories
- pwd returns current directory
- relative to current directory: e.g. ls subdir/subsubdir or ls ../whatever/
- absolute ls ~user/path or ls /home/user/path
- mkdir: create directory. e.g. mkdir ~/newdir or with subdirs mkdir -p ~/new/newsub/newsubsub
- rmdir dirname or if not empty rm -fr dirname
Permissions
$ ls -l /home drwxr-x--- 69 barriot gsi 4.0K Mar 5 12:09 barriot drwx------ 2 root root 16K Jul 12 2010 lost+found drwxr-xr-x 36 micas stage 4.0K Jul 31 2012 micas ... [barriot@gamborimbo ~]$ ls -lh Documents/TEACHING/2012-2013/M1-MABS/Graph/TP3-igraph.layout/ total 80K drwxr-xr-x 1 barriot gsi 4.0K Mar 14 2012 HDE.old -rw-r--r-- 1 barriot gsi 24K Mar 14 2012 91347.nwk -rw-r--r-- 1 barriot gsi 942 Mar 1 16:02 Cleandb_Luca_1_S_1_1_65_Iso_Tr_1-CC1.cod -rw-r--r-- 1 barriot gsi 28K Sep 7 2010 Cleandb_Luca_1_S_1_1_65_Iso_Tr_1-CC1.gr -rw-r--r-- 1 barriot gsi 2.3K Sep 7 2010 Cleandb_Luca_1_S_1_1_65_Iso_Tr_1-CC1.tgr -rw-r--r-- 1 barriot gsi 4.7K Mar 5 11:42 cmds.R -rw-r--r-- 1 barriot gsi 871 Mar 14 2012 sample_tree_with_branchlengths.nwk -rwxr-xr-x 1 barriot gsi 670 Mar 14 2012 drawTree.py -rw-r--r-- 1 barriot gsi 5.6K Feb 27 16:57 Tree.py
First character corresponds to file type. d for directory, - for a regular file, ... Then by 3 for the owner (user), the group and the others.
For a regular file :
- r for permission to read
- w for permission to modify
- x for being able to execute the file (binary executable or script)
For a directory :
- r to be able to read the content (list files in the directory)
- w to be able to add or remove files
- x to be able to pass through that directory, i.e. cd to that dir or a subdir
Modify ownership of a file or directory :
# change owner chown newuser file # recursive chown -R newuser directory # change group chgrp newgroup filename # change both chown newuser.newgroup filename
Modify permissions:
# numeric notation: r=4, w=2, x=1, thus for rwx-r-x--- chmod 760 file # on a sub directory chmod -R 760 dirname # symbolic notation: chmod u=rwx,g=rx,o= filename # add execute permission for all: chmod a+x filename # revoke write permission for others: chmod o-w filename
permissions, cat, redirection, head, tail, more, less, tac, sed, grep, cut, find, stat, file
Processes
ps, jobs, Ctrl-C/Z/D, top, kill, killall, nohup, disown, &
shell
variables, test, $?, for, if, function, $(cmd), && ||
archive
tar, bzip, gzip, rsync