很有幸来到了腾讯实习,实习期间经常和linux打交道,在linux下处理数据。在这里总结一下实习期间经常用到的命令以及方法,以备不时之需。不是很全。
1、cat
cat file1 # 打印文件内容到屏幕
cat -n file1 file2 > out1 # 拼接文件内容并重定向到目标文件,并在文件前添加行号
2、cd
cd // # 到系统文件夹下
cd / # 到根目录下
cd - # 到上一个工作目录下
cd .. # 到上一级目录下
cd ~ # 到当前用户home目录下
3、cut
cut -f n-m -d '\t' file1 # 将文件每行按照\t分割并去出每行的n-m列(默认分隔符\t)
cat -f 1,2,4- file1 # 将文件第三列去除
4、sort
sort file1 > out1 # 将文件按照第一列字典序排序并重定向到out1
5、uniq
cat file | sort | uniq # 文本去重
6、join
join -t $'\t' -1 1 -2 2 file1 file2 -o 1.2 -o 2.1 > out1 # 将file1第一列和file2第二列拼接,输出格式为file1第二列和file2第一列(两个文件欲join列必须已排序)
7、sed
在线的文本编辑命令,这个命令我用的并不是很多,但是这个命令很强大!
这里列出一个网上写的很好的一篇博文:
http://www.cnblogs.com/edwardlost/archive/2010/09/17/1829145.html
感谢作者!
8、grep
很好用的文本搜索命令,支持强大的正则表达式,我经常用的命令如下:
-n 显示出所在行号
grep '正则表达式' file1
9、export
设置环境变量命令,在公司常用于更改语言。
export LC_ALL=zh_CN.UTF-8
10、top
和windows下的任务管理器挺像的。动态显示当前进程等。
11、ls
最常用,按照指定条件列出当前目录文件及文件夹。
12、iconv
linux下的文件转码命令,
-c 忽略无效字符
-f 原编码
-t 输出编码
iconv -c -f gbk -t utf8 > out # 将原gbk编码文件转换为utf8编码文件,忽略错误字符
13、df
查看磁盘剩余情况的命令(因为公司服务器好多人在用,经常磁盘爆满)。
14、du
查看文件夹大小,默认递归,常用的命令:
du -h --max-depth=1 # 查看当前目录下文件夹大小
15、cp
本地复制命令。
cp file1 file2 # 复制file1并命名为file2
16、mv
移动文件命令,也可用于重命名文件。
mv file1 dir/ # 将file1移动到dir/文件夹里
mv file1 file2 # 将file1重命名为file2
17、mkdir
新建文件夹命令,很简单
18、rm
删除文件或文件夹命令
-r 递归删除
-f 强制删除
rm -fr dir/ # 强制删除dir/文件夹
19、ssh
远程登陆服务器命令。
ssh user@192.168.1.1 # 以user用户身份远程登陆ip为192.168.1.1的服务器
20、scp
在各服务器间复制文件
scp user@192.168.1.1:/data/file1 ./ # 将192.168.1.1服务器上的/data/file1文件复制到本地目录下
scp ./file1 user@192.168.1.1:/data/ # 将本地目录file1文件复制到192.168.1.1服务器上的/data/文件夹下
21、wc
统计文件的字符个数、行数、比特数。
22、paste
横向拼接文件,和cat正好相反
23、echo
打印出指定字符。
-e 不忽略转义字符,\n就是换行等
24、date
查看当前日期和时间,可以按照指定格式格式化
date -d 2-days-ago +%Y%m%d # 打印出两天前的日期,格式是yyyy-mm-dd
25、pwd
显示当前工作目录绝对路径
26、find
查找文件,常用于找指定文件
find -name "abc" # 递归查找当前文件夹下名字为abc的文件
27、chmod
更改文件权限
28、head
查看文件头几行
head -n 1 file1 # 查看文件第一行
39、tail
查看文件最后几行,和head正好相反
tail -n 1 file1 # 查看文件最后一行
30、awk(另开文章详解)
超级好用的文本处理命令!可以自成一门语言了!
31、vim(另开文章详解)
超级好用的编辑器!