工作中常用的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中更多有用的命令:
l cw。用于删除掉一行中从某个字开始到结束的部分,并进入编辑状态。
l 例如:一个文件中有这样一行:aabbccddeeffgg
l 我想把eeffgg删除,那么,我就可以在非编辑状态下,将光标的位置放在第一个“e”处,使用cw命令,那么,eeffgg就都被删除了,并且可以开始编辑。
l set nu。用于显示行号。在非编辑状态下,使用“:setnu”回车即可。
l 0。非编辑状态下,该命令用于移动到行首。
l $。非编辑状态下,该命令用于移动到行尾。
l ~。大小写转换。在非编辑状态下,将光标移至某个字符,使用~命令,那么小写的字母会变成大写,大写的字母会变成小写。
l p。系统会在缓冲区保留最后9个被删除的行。因此,如果想恢复最后一次被删除的行则在非编辑状态下使用“"1p”命令。如果想恢复倒数第2次被删除的行则在非编辑状态下使用“"2p”命令。
l 滚动屏幕的命令:
l ^F 向前滚动一屏
l ^B 向后滚动一屏
l ^D 向前滚动半屏
l ^U 向后滚动半屏
l 在屏幕内移动
l H 移动到起始点----屏幕首行
l M 移动到屏幕的中间行
l L 移动到屏幕的末行
l nH 移动到屏幕首行下面的第n行
l nL 移动到屏幕末上上面的第n行
l 搜索
l n 同向重复搜索
l N 反向重复搜索
l /回车 向前重复搜索
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