Linux---命令

来源:互联网 发布:什么软件小说免费 编辑:程序博客网 时间:2024/06/06 03:54

记录日常工作命令。

1. 遍历目录下的文件 提取文件字段 保存到新文件

 for f in *; do if test -f $f; then awk -F['\t'] '{print $11,$12,$13}'< $f >> ../output/$f; fi; done

2. 随机抽取文件中1000行

 awk '{a[NR]=$0}END{srand();for(n=1;n<=1000;n++){i=int(rand()*NR+1);print a[i]}}' model_text.dat > abc.txt

3. 抽取文件500行1000行

 sed -n '500,1000'p web_data.txt_bak >>web_data.txt

4. 查看某目录下文件的个数,包括子目录里的

  ls -l | grep "^-"| wc -l

5. 查找包含“abc”的行并删除该行

  sed -i '/abc/d' filename

6. 按第一列对文件进行排序

  sort -n -k1 abc

7. 转换目录及其子目录下的所有Java文件的编码,不改变文件位置和文件名

  for f in `find ./* -name '*.java'`; do iconv -f utf-8 -t gbk -s -c $f > abc; mv abc $f; done

8. screen命令

 screen –S [screenName]    创建名为screenName的screen,可以在里面执行做build的相关命令,执行完成后,按ctrl+a,d 退出screen。此时screen会在后台运行,ccms断了也不影响。screen –ls  查看当前运行的screen, 查到screenName对应的ID,然后用screen –r [ID] 接入screen,可以看到screen中正运行的内容,例如build做的进度显示。在screen 中执行exit,即完全退出screen,exit后screen不会在后台中保留。登陆一台常用的服务器(该机器最好常年开着,且很少restart),运行screen命令。接下来关于screen的演示ctrl + A C 创建新窗口ctrl + A ctrl + A 两个窗口来回切ctrl + A n 下一个窗口ctrl + A p 前一个窗口ctrl + A <num> (num is 1, 2, ...) 到某个窗口ctrl + A ‘ 输入窗口idctrl + A “ 上下键选择窗口ctrl + A shift + A 改变窗口名称ctrl + A W 显示所有窗口更多screen命令:man screen

9. 在文件前后增加列,并按指定分隔符分隔

awk -vOFS="\t\t" '{print 1,$0,2,3}' abc > aaa

10. 替换\t\t为@@@,遇到特殊字符是,可以利用s命令改变默认分隔符,此处分隔符为#号

sed -i 's#\t\t#@@@#g' abc

11. 设置产生core dump文件,core文件生成的位置一般于运行程序的路径相同, 文件名一般为core.进程号

ulimit -c unlimited  

12. 查看文件大小

ls -lh    #参数h--Human readable,可以以M,G等易读的形式显示文件大小。 
0 0