• linux常用命令总结->1


    文件查看命令

    cat     //查看文件内容
    示例:cat /etc/passwd
    示例:cat -n /etc/passwd   //-n参数行号 
    示例:cat >> xuliangwei.txt <<EOF  //追加数据
         test
         EOF
    
    head    //查看文件头部内容,默认前十行
    示例:head /etc/passwd    
    示例:head -n5  /etc/passwd    //-n参数指定查看头几行
    
    
    tail    //查看文件尾部内容,默认最后十行
    示例:tail /etc/passwd    
    示例:tail -f /var/log/messages   // -f参数跟随尾部输出而变化
    
    
    more    //按空格可翻页查看文件内容,按q可推出
    示例:more /etc/passwd
    
    
    less    //和more类似
    示例:less /etc/passwd

    文件下载命令

    wget    //文件下载
    -O   //指定下载地址,更改名称  
    -T   //超时时间
    -q   //安静下载(关闭wget输出)
    --spider //网络爬虫  
    
    示例:wget http://www.baidu.com
    
    curl    //文件下载
    示例:curl -o http://www.baidu.com
    
    
    yum install lrzsz
    rz  //文件上传
    
    sz  //文件下载
    示例:sz filename

    命令查找命令

    locate //查找文件或者目录
    示例:locate /etc/sh       //搜索etc目录下所有以sh开头的文件
    示例:locate -i /etc/sh    //搜索etc目录下,所有以sh开头的文件,忽略大小写
    
    which   //查找系统PATH变量目录下的命令(绝对路径)
    示例:which ls
    
    whereis //查找文件索引数据库下的命令、源文件、man文件。非PATH变量查找,所以查找的面比which要广 -b,-m
    示例:whereis ls
    示例:whereis -b ls

    字符处理命令

    1.使用sort排序
    
    很多情况下需要对无序的数据进行排序, 这时就需要用到sort排序了。
    sort [OPTION]... [FILE]... -r:倒序 -n:按数字排序 -t:指定分隔符(默认空格) -k:指定第几列, 指定几列几字符(指定1,1 3.1,3.3//演示soft的用法, 首先创建一个文件: [root@xuliangwei ~]# cat >> sort.txt <<EOF b:3 c:2 a:4 e:5 d:1 f:11 EOF //下面对输出的内容进行排序: [root@xuliangwei ~]# sort sort.txt a:4 b:3 c:2 d:1 e:5 f:11 //可观察到, sort文件具有一个特点, 第一个字符是字母, 第三个字符是数字, 中间是用冒号隔开。 //这样我们可以使用-t指定分隔符, 使用-k指定用于排序的列了。 [root@xuliangwei ~]# sort -t ":" -k2 sort.txt d:1 f:11 //第二行为什么是11?不应该按照顺序排列? c:2 b:3 a:4 e:5 //按照排序的方式, 只会看到第一个字符,11的第一个字符是1, 按照字符来排序确实比2小。 //如果想要按照数字的方式进行排序, 需要使用 -n参数。 [root@xuliangwei ~]# sort -t ":" -n -k2 p.txt d:1 c:2 b:3 a:4 e:5 f:11 //测试案例,对下面内容进行排序 192.168.3.1 00:0F:AF:81:19:1F 192.168.3.2 00:0F:AF:85:6C:25 192.168.3.3 00:0F:AF:85:70:42 192.168.2.20 00:0F:AF:85:55:DE 192.168.2.21 00:0F:AF:85:6C:09 192.168.2.22 00:0F:AF:85:5C:41 192.168.0.151 00:0F:AF:85:6C:F6 192.168.0.152 00:0F:AF:83:1F:65 192.168.0.153 00:0F:AF:85:70:03 192.168.1.10 00:30:15:A2:3B:B6 192.168.1.11 00:30:15:A3:23:B7 192.168.1.12 00:30:15:A2:3A:A1 192.168.1.1 00:0F:AF:81:19:1F 192.168.2.2 00:0F:AF:85:6C:25 192.168.3.3 00:0F:AF:85:70:42 192.168.2.20 00:0F:AF:85:55:DE 192.168.1.21 00:0F:AF:85:6C:09 192.168.2.22 00:0F:AF:85:5C:41 192.168.0.151 00:0F:AF:85:6C:F6 192.168.1.152 00:0F:AF:83:1F:65 192.168.0.153 00:0F:AF:85:70:03 192.168.3.10 00:30:15:A2:3B:B6 192.168.1.11 00:30:15:A3:23:B7 192.168.3.12 00:30:15:A2:3A:A1 //针对第三列的第一个字符,第四列的第一个字符到第三个字符排序才是正确 [root@student tmp]# sort -t. -k3.1,3.1nr -k4.1,4.3nr test.txt
    2.使用uniq删除重复内容
    如果文件中有多行完全相同的内容, 当前是希望能删除重复的行,同时还可以统计出完全相同的行出现的总次数, 那么就可以使用uniq命令解决这个问题(但是必须配合sort使用)。
    
    uniq [OPTION]... [INPUT [OUTPUT]] -c 计算重复的行 //演示uniq的用法, 首先创建一个文件: [root@xuliangwei ~]# cat uniq.txt abc 123 abc 123 //uniq需要和sort一起使用, 先使用sort排序, 让重复内容连续在一起 [root@xuliangwei ~]# cat uniq.txt |sort 123 123 abc abc //使用uniq去除相邻重复的行 [root@xuliangwei ~]# cat uniq.txt |sort|uniq 123 abc //使用-c参数, 能统计出文件中每行内容重复的次数 [root@xuliangwei ~]# cat uniq.txt |sort|uniq -c 2 123 2 abc
    3.使用cut命令截取某一个字段
    cut OPTION... [FILE]... -d:指定分隔符 -f:数字,取第几列 –f3,6三列和6列 -c:按字符取(空格也算) //测试数据, 过滤出文件里 xuliangwei以及552408925 #echo “Im xuliangwei, is QQ 552408925” >xuliangwei.com //实践思路 # sed 's#,# #g' xuliangwei.txt | cut -d " " -f2,6 # sed 's#,# #g' xuliangwei.txt | awk -F " " '{print $2 " " $5}' # awk -F '[, ]+' '{print $2,$5}' xuliangwei.txt # awk '{print $2 $5}' xuliangwei.txt | awk -F "," '{print $1" " $2}' # awk -F "[, ]" '{print $2 " " $6}' xuliangwei.txt 此类问题是运维工作中最常见的问题。可以演变成分析日志,查看TCP各个状态连接数,查看单IP连接数排名等 [root@student tmp]# cat web.log http://www.xuliangwei.com/index.html http://www.xuliangwei.com/1.html http://post.xuliangwei.com/index.html http://mp3.xuliangwei.com/index.html http://www.xuliangwei.com/3.html http://post.xuliangwei.com/2.html [root@student tmp]# awk -F '/' '{print $3}' web.log|sort -rn|uniq –c 3 www.xuliangwei.comxuliangwei.com 2 post.xuliangwei.comxuliangwei.com 1 mp3.xuliangwei.comxuliangwei.com [root@student tmp]# cut -d / -f3 web.log|sort -rn|uniq –c 3 www.xuliangwei.comxuliangwei.com 2 post.xuliangwei.comxuliangwei.com 1 mp3.xuliangwei.comxuliangwei.com
    4.使用wc统计
    
    wc - print newline, word, and byte counts for each file显示文件的行、单词与字节统计信息 wc [OPTION]... [FILE]... -l:显示文件行数 -c:显示文件字节 -w:显示文件单词 //统计fstab有多少行 [root@student ~]# wc -l /etc/fstab 15 /etc/fstab 显示/etc/services 文件行号 [root@student ~]# wc -l /etc/services 10774 /etc/services //扩展方法 [root@student ~]# grep -n "." /etc/services | tail -1 [root@student ~]# awk '{print NR $0}' /etc/services | tail -1 [root@student ~]# cat -n /etc/services | tail -1 [root@student ~]# sed '=' /etc/services | tail -2
  • 相关阅读:
    smith waterman算法
    深度复数网络 Deep Complex Networks
    生成对抗网络 Generative Adversarial Networks
    dl +rec
    python 后台运行命令
    conversion vs recommendation
    激活pycharm
    keras 自定义 custom 函数
    keras 保存训练的最佳模型
    python memory-management
  • 原文地址:https://www.cnblogs.com/tim1blog/p/9722891.html
Copyright © 2020-2023  润新知