Linux tips
From silico.biotoul.fr
(Difference between revisions)
m (→Permissions) |
m (→Paths & I/O & files) |
||
Line 57: | Line 57: | ||
# numeric notation: r=4, w=2, x=1, thus for rwx-r-x--- | # numeric notation: r=4, w=2, x=1, thus for rwx-r-x--- | ||
chmod 760 file | chmod 760 file | ||
- | # on a sub directory | + | # recursively on a sub directory |
chmod -R 760 dirname | chmod -R 760 dirname | ||
# symbolic notation: | # symbolic notation: | ||
Line 67: | Line 67: | ||
</source> | </source> | ||
- | + | == File info & type: <tt>stat, file</tt> == | |
+ | |||
+ | [barriot@gamborimbo ~]$ stat /home/barriot | ||
+ | File: `/home/barriot' | ||
+ | Size: 12288 Blocks: 24 IO Block: 4096 directory | ||
+ | Device: fd02h/64770d Inode: 1048577 Links: 119 | ||
+ | Access: (0755/drwxr-xr-x) Uid: ( 500/ barriot) Gid: ( 501/ gsi) | ||
+ | Access: 2013-03-05 10:39:08.927051453 +0100 | ||
+ | Modify: 2013-03-05 10:39:00.240074369 +0100 | ||
+ | Change: 2013-03-05 10:39:00.240074369 +0100 | ||
+ | Birth: - | ||
+ | |||
+ | [barriot@gamborimbo ~]$ stat .bashrc | ||
+ | File: `.bashrc' | ||
+ | Size: 517 Blocks: 8 IO Block: 4096 regular file | ||
+ | Device: fd02h/64770d Inode: 1052239 Links: 1 | ||
+ | Access: (0755/-rwxr-xr-x) Uid: ( 500/ barriot) Gid: ( 501/ gsi) | ||
+ | Access: 2013-03-02 16:04:19.268619379 +0100 | ||
+ | Modify: 2012-10-12 17:24:24.818899216 +0200 | ||
+ | Change: 2012-11-18 23:25:18.869870338 +0100 | ||
+ | Birth: - | ||
+ | |||
+ | [barriot@gamborimbo ~]$ file /home/barriot | ||
+ | /home/barriot: directory | ||
+ | |||
+ | [barriot@gamborimbo ~]$ file .bashrc | ||
+ | .bashrc: ASCII text | ||
+ | |||
+ | == File content, concatenation, split, ... and redirections: <tt>cat, split, head, tail, more, less, tac</tt> == | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | cat split, redirection, head, tail, more, less, tac, sed, grep, cut, find | ||
= Processes = | = Processes = |
Revision as of 11:37, 5 March 2013
Contents |
Paths & I/O & files
Paths & directories: pwd, mkdir, rmdir, rm
- 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: chown, chgrp, chmod
$ 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 # recursively 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
File info & type: stat, file
[barriot@gamborimbo ~]$ stat /home/barriot File: `/home/barriot' Size: 12288 Blocks: 24 IO Block: 4096 directory Device: fd02h/64770d Inode: 1048577 Links: 119 Access: (0755/drwxr-xr-x) Uid: ( 500/ barriot) Gid: ( 501/ gsi) Access: 2013-03-05 10:39:08.927051453 +0100 Modify: 2013-03-05 10:39:00.240074369 +0100 Change: 2013-03-05 10:39:00.240074369 +0100 Birth: -
[barriot@gamborimbo ~]$ stat .bashrc File: `.bashrc' Size: 517 Blocks: 8 IO Block: 4096 regular file Device: fd02h/64770d Inode: 1052239 Links: 1 Access: (0755/-rwxr-xr-x) Uid: ( 500/ barriot) Gid: ( 501/ gsi) Access: 2013-03-02 16:04:19.268619379 +0100 Modify: 2012-10-12 17:24:24.818899216 +0200 Change: 2012-11-18 23:25:18.869870338 +0100 Birth: -
[barriot@gamborimbo ~]$ file /home/barriot /home/barriot: directory
[barriot@gamborimbo ~]$ file .bashrc .bashrc: ASCII text
File content, concatenation, split, ... and redirections: cat, split, head, tail, more, less, tac
cat split, redirection, head, tail, more, less, tac, sed, grep, cut, find
Processes
ps, jobs, Ctrl-C/Z/D, top, kill, killall, nohup, disown, &
shell
variables, test, $?, for, if, function, $(cmd), && ||
archive
tar, bzip, gzip, rsync