Monday, May 16, 2011

Linux commands

命令:login
格式:Login: guest [Enter]
 passwd:      [Enter]
功能:登录。注意:强调一点,你输入Password的时候是任何字符都没有显示的
当用户准备退出自己的计算机帐号时可在系统示符下输入logout或exit
passwd  命令修改保密口令,口令通常由此可6到8个字母数字组成。
显示目录
  命令:pwd(print working directory)
  格式:pwd
  功能:显示出用户当前工作目录的全路径名。
  例如:~ pwd
建立目录
  命令:mkdir(make directory)
  格式:mkdir directory_name
  功能:建立新目录
  例如:~ mkdir directory
改变目录
  命令:cd(change directory)
  格式:cd directory_name
  功能:改变当前工作目录
  注释:目录名选项有:
    (1) 目录名,转到当前目录下的子目录。
    (2) .. 表示转到当前目录的父目录。
    (3) / 表示转到根目录。
    (4) 没有选项时,转到用户的主目录。
  例如:~ cd directory
删除目录
  命令:rmdir (remove directory)
  格式:rmdir directory_name
  功能:删除不存在文件的子目录名。
  注释:
    (1) 删除子目录时,要求被删除的目录中不存在文件或子目录,否则无法删除。
    (2) 若被删除的目录中有文件或子目录,请参考命令rm -r directory_name。
  例如:~ rmdir directory
文件操作命令
 列出文件目录
  命令:ls (list)
  格式:ls [option] directory_name
  功能:列出指定目录中的文件名和子目录名。当无子目录名时,列出当前目录中的文件名和子目录名。
  选项:-a列出所有文件,包括以点开头的隐含文件。
      -l按长格式列出文件名,包括文件类型标识,权限,链接数,文件主名,文件组名,字节数,日期。
      -r列出包括子目录下所有文件
      -g在长格式中给出用户组的标识。
      -t安文件生成日期排序。
 显示文件内容   命令:cat (catenae)
  格式:cat filename
  功能:显示出文件的内容。  
  注释:可按Ctrl+S键屏幕滚暂停,按Ctrl+Q  键继续显示。  
  例如:~ cat filename
显示文件头部   命令:head
  格式:head [option] filename
  功能:显示文件的头部  
  选项:缺省 显示文件的头10行。
  -i   显示文件的开始 i行。  
  例如:~ head filename
显示文件尾部   命令:tail
  格式:tail [option] filename
  功能:显示文件的尾部  
  选项:缺省 显示文件的末10行。     
 -i   显示文件最后 i行。      
 +i   从文件的第i行开始显示。  
 例如:~ tail filename
显示格式化的文件内容   命令:pr (print)
  格式:pr filename
  功能:在屏幕上显示格式化的文件内容,即印出每页66行的文本文件,包括5行页头和5行页尾。
  页头包括两行空行,一行含有文件的时间、文件名和页号,另外两行为空行。页尾为5行空行。  
 例如:~ pr filename
拷贝文件   命令:cp (copy)
  格式:cp [option] filename1 filename2
      cp [option] filename... directory
      cp -r directory1 directon2
  功能:把一个文件的全部内容拷贝到另一个文件,也可将一个或多个文件拷贝到另一个目录中。  
  选项:-i 按提示进行拷贝文件。      
  -p 按原文件日期进行拷贝。      
  -r 对子目录下所有文件进行拷贝。  
  注释:当filename1拷贝到filename2时,若filename2已经存在,则filename2的内容将被filename1覆盖。  
  例如:~ cp filename1 filename2
移动文件或文件改名   命令:mv (move)
  格式:mv filename1 filename2
      mv filename... direction
      mv direction1 direction2
  功能:改变文件或目录的名子,或把一些文件移到另一目录下。  
  注释:当filename1更名为filename2时,若filename2已经存在,则filename2的内容将被filename1覆盖  
  例如:~ mv filename1 filename2
删除文件   命令:rm (remove)
  格式:rm filename
      rm -r direction
  功能:删除指定的文件或一个目录中的文件。  
  注释:用-r选项时,将删除指定目录的所用文件,包括目录名。 
  例如:~ rm filename
链接文件   命令:ln (link)
  格式:ln [option] filename linkname
      ln [option] directory pathname
  功能:为文件或目录建立一个链。其中,filename和directory是源文件名和源目录名;
  linkname和pathname分别表示与源文件或源目录名相链接的文件或目录。  
  选项:-s 为文件或目录建立符号链接。  
  注释:链接的目地在于,对一个文件或目录赋予两个以上的名字,使其可以出现在不同的目录中,既可以使文件或目录共享,又可以节省磁盘空间。  
  例如:~ ln -s filename linkname
 
 改变文件读取权限   命令:chmod (change mode)
  格式:chmod {u|g|o|a}{+|-|=}{r|w|x} filename
      chmod [who][op][mode] directory
  功能:改变文件的读写和执行权限。有符号法和八进制数字法。  
  选项:(1)符号法:       u (user)   表示用户本人。       g (group) 表示同组用户。       o (oher)   表示其他用户。       a (all)   表示所有用户。       +       用于给予指定用户的许可权限。       -       用于取消指定用户的许可权限。       =       将所许可的权限赋给文件。       r (read)   读许可,表示可以拷贝该文件或目录的内容。       w (write) 写许可,表示可以修改该文件或目录的内容。       x (execute)执行许可,表示可以执行该文件或进入目录。       (2)八进制数字法:       此方法用三位八进制数作任选项,每位数字分别表示用户本人、同组用户、其他用户的权限,其中:       4 (100)   表示可读。       2 (010)   表示可写。       1 (001)   表示可执行。   注释:   例如:~ chmod a+rx filename
        让所有用户可以读和执行文件filename。       ~ chmod go-rx filename
        取消同组和其他用户的读和执行文件filename的权限。       ~ chmod 741 filename
        让本人可读写执行、同组用户可读、其他用户可执行文件filename。
改变文件所有权   命令:chown (change owner)
  格式:chown username filename
      chown -R username directory
  功能:改变文件或目录的所有权。  
  选项:-R 将改变目录中所有文件及目录的拥有者。  
  注释:只有文件的主人和超级用户才能改变文件的所有权。  
  例如:~ chown username filename
寻找文件   命令:find
  格式:find pathname [option] expression
  功能:在所给的路经名下寻找符合表达式相匹配的文件。  
  选项:-name   表示文件名       -user   用户名,选取该用户所属的文件       -group   组名,选取该用户组属的文件     
  -mtime n 选取n天内被修改的文件       -newer fn 选取比文件名为fn更晚修改的文件  
  注释:   例如:~ find . -name \'*abc*\' –print
 
搜索文件中匹配符   命令:grep
  格式:grep [option] pattern filenames
  功能:逐行搜索所指定的文件或标准输入,并显示匹配模式的每一行。  
  选项:-v      找出模式失配的行       -c      统计匹配行的数量       -n      显示匹配模式的每一行  
  注释:   例如:~ ps -aux | grep R
比较文件不同   命令:diff (difference)
  格式:diff filename1 filename2
  功能:显示两文件的不同之处。   选项:   注释:  
  例如:~ diff file1 file2
比较文件   命令:cmp (compare)
  格式:cmp [-l] [-s] filename1 filename2
  功能:显示比较两文件不同处的信息  
  选项:-l 给出两文件不同的字节数       -s 不显示两文件的不同处,给出比较结果   注释:  
  例如:~ cmp file1 file2
比较文件共同处   命令:comm (common)
  格式:comm [-123] filename1 filename2
  功能:选择或拒绝比较两文件出现的共同行  
  选项:-1 不显示第1列       -2 不显示第2列       -3 不显示第3列  
  注释:输出三列,第一列表示在file1中出现的行,第二列表示在file2中出现的行,第三列表示在file1和file2Z..G.同出现的行。  
  例如:~ comm file1 file2
排序文件   命令:sort
  格式:sort [option] filename
  功能:将制定的文件按要求排序  
  选项:-r 按字母倒排序       -n 按数字的值从笑到大排序       -r 按当前排序规则逆序排序
      -f 不区分大小写排序       -d 按典型顺序排序  
  注释:选项缺省时按ascii码顺序排序   例如:~ sort -nr file
建立档案文件   命令:tar (tape archive)
  格式:tar [option] tarfile filename
  功能:建立文件的存档或读存档文件。  
  选项:-c 建立一个新的档案文件       -x 从档案文件中读取文件       -v 显示处理文件的信息       -f 指定档案文件名,缺省时为磁带机即/dev/rmt/0
      -t 列出存档文件的信息   注释:  
   例如:~ tar cvf tarfile .
      ~ tar xvf tarfile
      ~ tar tvf tarfile
修改文件日期   命令:touch
  格式:touch filenae
  功能:改变文件的日期,不对文件的内容做改动,若文件不存在则建立新文件。  
  选项:   注释:   例如:~ touch file
统计文件字数   命令:wc (word characters)
  格式:wc [option] filename
  功能:统计文件中的文件行数、字数和字符数。  
  选项:-l 统计文件的行数       -w 统计文件的字数       -c 统计文件的字符数  
  注释:若缺省文件名则指标准输入   例如:~ wc file
检查拼写   命令:spell (spelling)
  格式:spell [option] filename ...
  功能:检查文件中的拼写错误   选项:-b 按英国拼法检查       -v 显示字面上不在拼法字典上的词       -x 显示每一个可能合理的词根  
  注释:   例如:~ spell file
有关状态信息命令
显示都有谁登录到机器上 了
命令:who
  格式:who
  功能:显示当前正在系统中的所有用户名字,使用终端设备号,注册时间。  
  例如:~ who
显示当前终端上的用户名   命令:whoami
  格式:whoami
  功能:显示出当前终端上使用的用户。  
  例如:~ whoami
查找非标准命令   命令:which
  格式:which command
  功能:查找非标准命令,即使用别名或系统中标准命令集之外的命令。  
  选项:   注释:   例如:~ which ls
 
显示日期   命令:date
  格式:date
  功能:显示或设置日期和时间。  
  选项:   注释:只有超级用户有权设置日期。   例如:~ date
 
计算命令执行时间   命令:time
  格式:time [command]
  功能:计算程序或命令在执行其间所用的时间。  
  选项:   注释:计算出的时间为:real是命令在系统驻留的总时间,user是命令消耗CPU的时间,sys是命令I/O所开销的时间。  
  例如:~ time myprog
显示用户标识   命令:id
  格式:id [option] [user]
  功能:显示用户标识及用户所属的所有组。  
  选项:-a 显示用户名、用户标识及用户所属的所有组  
  注释:   例如:~ id username
显示主机标识   命令:hostid
  格式:hostid
  功能:显示主机的唯一标识,是被用来限时软件的使用权限,不可改变。  
  选项:   注释:   例如:~ hostid
显示磁盘空间   命令:df (disk free)
  格式:df [option]
  功能:显示磁盘空间的使用情况,包括文件系统安装的目录名、块设备名、总字节数、已用字节数、剩余字节数占用百分比。  
  选项:-i 显示已用和未用的字节数       -k 显示磁盘空间的使用信息  
 
显示文件盘空间   命令:du (disk usage)
  格式:du [option] [filename]
  功能:显示目录或文件所占磁盘空间大小   选项:-a 显示所有文件的大小       -s 显示制定目录所占磁盘大小 
  注释:   例如:~ du
 
显示终端选项   命令:stty
  格式:stty [option]
  功能:显示或设置终端的任选项。   选项:-a 显示所有设置情况       -g 显示当前设置  
  注释:   例如:~ stty –a
显示终端名   命令:tty
  格式:tty
  功能:显示终端名   选项:   注释:   例如:~ tty
回忆命令   命令:history
  格式:history
  功能:帮助用户回忆执行过的命令。   选项:   注释:   例如:~ history
网络命令
显示网络地址   命令:arp
  格式:arp hostname
  功能:显示系统当前访问的远程住机名、IP地址和硬件地址。   选项:-a
  注释:   例如:~ arp –a
显示到网络主机的路经   命令:traceroute
  格式:traceroute hostname
  功能:显示本机到达某一网络主机所经的路经和使用的时间。  
  选项:   注释:   例如:~ traceroute hostname
运行程序命令  
参数回至标准输出   命令:echo
  格式:echo [-n] [arguments]
  功能:将参数即字符串至标准输出即显示器   选项:-n 不向标准输出回送换行符   注释:   例如:echo *
复制至文件   命令:tee
  格式:tee [option] filename
  功能:至标准输出的同时复制至文件   选项:-a 输出时附加到文件中       -i 不理采中断  
  注释:   例如:~ who | tee file
给程序优先级   命令:nice
  格式:nice [-n] command
  功能:以低的优先级运行程序或命令。   选项:-n 为优先级0-20从高到低  
  注释:   例如:nice -5 progame
终止进程   命令:kill
  格式:kill [option] pid
  功能:向指定的进程送信号或终止进程。   选项:-9 强行终止进程       -17 将进程挂起       -19 将挂起的进程激活  
  注释:pid标示进程号,可由ps命令得到。   例如:~ kill -9 pid
进程睡眠   命令:sleep
  格式:sleep time
  功能:使当前正在执行的进程在规定的时间内处于睡眠。   选项:   注释:time为进程将睡眠的时间,以秒为单位。  
  例如:~ sleep time
 
显示作业状态   命令:jobs
  格式:jobs [-l]
  功能:显示当前作业的状态   选项:-l 长列表显示作业状态,包括所有者、作业号、终端和状态。  
  注释:作业状态为 +表示最近被停止的作业,-表示先前的作业,exit 1表示退出的作业,job# done表示已完成的作业。  
  例如:~ jobs
前台作业   命令:fg
  格式:fg job#
  功能:将指定作业号的作业转入前台运行。job#表示作业号。  
  选项:   注释:   例如:~ fg job#
 
后台作业   命令:bg   格式:bg job#      command 
  功能:将指定作业号的作业或命令推到后台运行。  
  选项:   注释:   例如:~ bg job#

more: list file contents

ps: process tracking
telnet: communicate with remote host
gzip/tar/gunzip: file compression/uncompression
nohup: continuous command/script execution
man: search online documentation
echo: expand arguments to STDOUT

ctrl+c: abort a process/script
uniq: extract unique text elements
> filename: save a copy of the output to file
>! filename: overwrite the existing file
cat filename: display a file's contents
cat file1 file2: display multiple file at once
cat file1 file2 ... > outfile: combine multifile

awk:
work best on files that have columns of numbers or strings separated by whitespace (tabs or spaces)

awk '{print $1}' a.txt #print column 1 of a.txt
awk '$5 > 100 {print $1,$5}' a.txt
##print column 1 and 5
##if column 5 greater than 100

grep:
grep keyword filename

by default, grep will print out all lines that match the selection creteria.

e.g. grep gi 1.txt #output lines with "gi"

-i: to make the search case-insensitive
-n: allow the output to be numbered
-c: count how many times a particular term appears within the text

-v: output lines without the term

grep -l gi *.seq

# list the output of all files that have the term "gi" within them

grep "^p" gene.txt

#select all proteins that have a name begining with "p"

free: 内存
df: 硬盘
uname -a: 32/64 bits
ifconfig:ip,mac
top: 实时显示进程状态
join: join lines of two files on a common filed
wget: wget url # download

ssh:
Connecting using an SSH client on Mac OS X or Linux

ssh username@hostname

where username is your SSH username, and hostname is the host name or IP address of your Web server

scp:

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。

获取远程服务器上的文件

scp -P 2222 root@www.vpser.net:/root/lnmp0.4.tar.gz /home/lnmp0.4.tar.gz

上端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。 root@www.vpser.net 表示使用root用户登录远程服务器www.vpser.net,:/root/lnmp0.4.tar.gz 表示远程服务器上的文件,最后面的/home/lnmp0.4.tar.gz表示保存在本地上的路径和文件名。

获取远程服务器上的目录

scp -P 2222 -r root@www.vpser.net:/root/lnmp0.4/ /home/lnmp0.4/

上端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。-r 参数表示递归复制(即复制该目录下面的文件和目录);root@www.vpser.net 表示使用root用户登录远程服务器www.vpser.net,:/root/lnmp0.4/ 表示远程服务器上的目录,最后面的/home/lnmp0.4/表示保存在本地上的路径。

将本地文件上传到服务器上

scp -P 2222 /home/lnmp0.4.tar.gz root@www.vpser.net:/root/lnmp0.4.tar.gz

e.g. scp example.tar.gz yanhui@147.8.33.227:/home/yanhui/impute/example.tar.gz

上端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。 /home/lnmp0.4.tar.gz表示本地上准备上传文件的路径和文件名。root@www.vpser.net 表示使用root用户登录远程服务器www.vpser.net,:/root/lnmp0.4.tar.gz 表示保存在远程服务器上目录和文件名。

将本地目录上传到服务器上

scp -P 2222 -r /home/lnmp0.4/ root@www.vpser.net:/root/lnmp0.4/

上 端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。-r 参数表示递归复制(即复制该目录下面的文件和目录);/home/lnmp0.4/表示准备要上传的目录,root@www.vpser.net 表示使用root用户登录远程服务器www.vpser.net,:/root/lnmp0.4/ 表示保存在远程服务器上的目录位置。

source: http://www.vpser.net/manage/scp.html
source: http://bbs.weiphone.com/read-htm-tid-566913.html

1 comment:

  1. Useful commands
    xv - look at picture files (athena)
    ee or eog - look at picture files (linux)
    acroread - look at pdf files
    gv - look at postscript files
    convert - convert from different picture formates (linux)
    grep - find text in file
    find - find text in file names
    top - see whats running
    quota - space left
    bigfiles - list biggest files in pwd (athena)
    netscape - web browser
    mozilla - a better web browser
    pine - a tool for reading mail.

    (http://www.biostat.jhsph.edu/~bcaffo/statcomp/unix/)

    ReplyDelete