工作中常用的Linux命令

1.从其他机器拷贝文件夹

格式: scp -r 文件夹名 用户名@机器名:/路径

范例: scp -rsearch work@zjm-testing-ps23.zjm.baidu.com:/home/work/

2.查看哪个程序在用特定端口

格式: netstat-nap | grep 端口号

范例: netstat -nap| grep 8080

3.实时监控日志文件内容

格式: tail -f 日志文件名

范例: tail -fui.log

说明:这显示ui.log文件的最后十行。tail 命令继续显示添加到ui.log文件中的行。显示会一直继续,直到您按下 Ctrl-C 按键顺序来停止

4.查看指定用户拥有的进程

格式: pstree 用户id

范例: pstreework

说明:显示work用户正在运行的各进程之间的继承关系,以树状结构方式列出

5.查看磁盘空间使用情况

格式: df -h

6.查找某文件中出现指定字符串的行

格式: grep 指定字符串 文件名

范例: grep 电视剧夏天的味道 ui.log

说明: 找出日志文件ui.log中包含“电视剧夏天的味道”的行

7.查看内存使用情况

格式: free

8.查看本机系统内核

格式: uname -a

9.查看当前路径下的文件/文件夹大小

格式: du -hs 文件名/文件夹名

10.变更为其它使用者的身份

格式: su 使用者帐号

范例: su work

11.远程登陆

格式: ssh 用户名@机器名

范例: sshrd@build01

12.不挂断地运行命令

格式:nohup command &

范例:nohup ./build_index.sh -d../newdbi/ &

13.查看文件的行数

格式: wc -l 文件名

范例: wc -l as.conf

14.比较两个文件的不同之处

格式: vimdiff 文件1 文件2

范例: vimdiff 1.txt2.txt

15.杀死进程

格式: killall-9 进程名

范例: killall-9 bs.se

16.在SecureCRT中把文件传给本机的SecureCRT安装目录的download目录下

格式: sz 文件名

范例: sz 1.txt

17.把本机文件传给SecureCRT中当前机器的当前目录

格式: rz

18.Vi文本编辑器

格式:vi  [选项]文件名

参数:

 +n   从第n行开始编辑文件

 +/exp 从文件中匹配字符串exp的第一行开始编辑

Vi中的操作主要有两类:命令模式和插入模式,模式之间的转换为:

                               i/I

 命令模式                      插入模式

                                  ESC

Vi命令模式下的一些重要命令:

    u     撤销最近一次编辑动作

    :q!    放弃缓冲区的内容,并推出vi

:wq   保存缓冲区的内容,并推出vi

范例:vi  txt1

Vi中更多有用的命令:

cw。用于删除掉一行中从某个字开始到结束的部分,并进入编辑状态。

l 例如:一个文件中有这样一行:aabbccddeeffgg

l 我想把eeffgg删除,那么,我就可以在非编辑状态下,将光标的位置放在第一个“e”处,使用cw命令,那么,eeffgg就都被删除了,并且可以开始编辑。

set nu。用于显示行号。在非编辑状态下,使用“:setnu”回车即可。

0。非编辑状态下,该命令用于移动到行首。

$。非编辑状态下,该命令用于移动到行尾。

~。大小写转换。在非编辑状态下,将光标移至某个字符,使用~命令,那么小写的字母会变成大写,大写的字母会变成小写。

p。系统会在缓冲区保留最后9个被删除的行。因此,如果想恢复最后一次被删除的行则在非编辑状态下使用“"1p”命令。如果想恢复倒数第2次被删除的行则在非编辑状态下使用“"2p”命令。

滚动屏幕的命令

l ^F  向前滚动一屏

l ^B  向后滚动一屏

l ^D  向前滚动半屏

l ^U  向后滚动半屏

在屏幕内移动

l H  移动到起始点----屏幕首行

l M  移动到屏幕的中间行

l L   移动到屏幕的末行

l nH  移动到屏幕首行下面的第n行

l nL  移动到屏幕末上上面的第n行

搜索

l n         同向重复搜索

l N        反向重复搜索

l /回车     向前重复搜索

l ?回车    向后重复搜索

将脚本中第1-10行注释掉:使用:“:1,10s/^/#”。

 

19.察看文件类型

格式:file 文件名

20.文本抽取

格式:awk [-F 域分割符] ‘命令’ 输入文件名

说明:awk用以从文本文件和字符串中抽取信息,为获得信息,文本必须格式化,意即用域分割符划分抽取域,分割符可以使任意字符。Commands由模式和动作两部分组成,模式部分决定动作语句何时触发,模式可以使任何条件语句或复合语句或正则表达式,实际动作在打括号{}内指名,动作大多用来打印,如果不指明动作,awk将打印出所有浏览出来的纪录。

      awk执行时,其浏览的域标记为$1,$2,$3…..$n,$0为所有域

awk 的一些内置变量:

     NF  浏览记录的域个数

     NR  已读的记录数

     FIILENAME  awk浏览的文件名

范例:

      awk ‘END {print NR}’grade.txt

      awk ‘{if ($4==”Yellow”|| $4~/Brown/)print $0}’ grade.txt

21.非交互性文本流编辑器

格式:sed [选项] ‘命令’ 输入文件名

参数:

     -n   不打印,sed不写编辑行到标准输出,缺省为打印所有行

     -c   下一命令是编辑命令,使用多项编辑时加入此选项。如果只用到一条sed命令,

此选项无用,但指定它也没有关系。

     -f    如果正在调用sed脚本文件,使用此选项。此选项通知sed一个脚本文件支持所有的sed命令,例如:sed -f myscript.sed input_file,这里myscript.sed即为支持sed命令的文件。

范例:

     sed –n ‘2p’ quota.txt    打印文本的第二行

     sed –n ‘/Neave/’pquota.txt  匹配单词Neave,并打印此行

     sed ‘1d’quota.txt   删除文本的第一行

22.将文件中的记录分类

格式:sort [选项] –o 输出文件名 [其他选项] +pos1 +pos2 输入文件名

参数:

     -c   测试文件是否已经分类

     -m   合并两个分类文件

     -u    删除所有复制行

     -o    存储sort结果的输出文件名

其它参数有:

     -b 使用域进行分类时,忽略第一个空格。

-n 指定分类是域上的数字分类。

-t 域分隔符;用非空格或t a b键分隔域。

-r 对分类次序或比较求逆。

+n n为域号。使用此域号开始分类。

n n为域号。在分类比较时忽略此域,一般与+ n一起使用。

pos1,pos2 传递到m,n。m为域号,n为开始分类字符数;例如4,6意即以第5域分类,从第7个字符开始。

范例:sort -t:+2n video.txt  以“:”为域分割符,按第三个域数字分类video.txt

23.去除文本文件的重复行

格式:uniq [选项] 输入文件 [输出文件]

参数:

     -u 只显示不重复行。

-d 只显示有重复数据行,每种重复行只显示其中一行

-c 打印每一重复行出现次数。

-f n为数字,前n个域被忽略。一些系统不识别- f选项,这时替代使用-n。

范例:uniq –n2parts.txt

24.连接两个文本文件

格式:join [选项] 文件1文件2

说明:join用来将来自两个文本文件的行连在一起,两个输入文件必须已经分过类,每个文件里都有一些元素与另一个文件相关,由于这种关系,join将两个文件连在一起。

参数:

     -an   n为一数字,用于连接时从文件n中显示不匹配行。例如, - a 1显示第一个文件的不匹配行,- a 2为从第二个文件中显示不匹配行。

     -o n.m n为文件号,m为域号。1. 3表示只显示文件1第三域,每个n,m必须用逗号分隔,如1 . 3,2 . 1。

-j n mn为文件号,m为域号。使用其他域做连接域。

-t 域分隔符。用来设置非空格或t a b键的域分隔符。例如,指定冒号做域分隔符- t:

范例: join –o1.1,2.2 names.txt town.txt

25.从文本文件中剪切列或域

格式:cut [选项] 文件名

参数:

    -c list 指定剪切字符数。

-ffield 指定剪切域数。

-d 指定与空格和tab键不同的域分隔符。

- c用来指定剪切范围,如下所示:

- c 1,5-7 剪切第1个字符,然后是第5到第7个字符。

-f 格式与- c相同。

-f 1,5 剪切第1域,第5域。

范例: cut –d:-f3 pers

26.将两个文本文件粘贴在一起

格式:paste[options] file1 file2

说明:粘贴两个不同来源的数据时,首先需将其分类,并确保两个文件行数相同。paste将按行将不同文件行信息放在一行。缺省情况下, paste连接时,用空格或tab键分隔新行中不同文本,除非指定-d选项,它将成为域分隔符。

参数:

       -d 指定不同于空格或t a b键的域分隔符。例如用@分隔域,使用-d @。

-s 将每个文件合并成行而不是按行粘贴。

范例: paste –d:pas2 pas1  用冒号作分割符

27.将大文件进行分割

格式:split [选项] 输入文件名 输出文件名前缀

参数:-a 指定后缀的长度(缺省为2)

      -b 每个输出文件的字节大小

      -l 每个输出文件的行数

范例:split –l 1000 bigfile.txtoutfile

上一篇:hadoop笔记


下一篇:rpc框架之 thrift 学习 2 - 基本概念