美文网首页
程序员-linux-命令详解大全

程序员-linux-命令详解大全

作者: javazhang2048 | 来源:发表于2019-08-25 14:57 被阅读0次

    你早晚都要学会得linux命令。

    学linux的时候,前辈们都说千万别用图形化界面,多敲命名有好处。这是接触到的一份liunx命令,也就整理留了下来。老样子 公众号回复linux下载全部~

    stat命令查看一个文件的属性 :访问时间(Access)、修改时间(modify)、状态改变时间(Change)
    stat filename
    查找并删除/data这个目录7天前创建的文件
    # find /data -ctime +7 -exec rm -rf {} \;
    # find /data -ctime +7 | xargs rm -rf
    
    find命令查找文件并复制到/opt目录
    方法1:
    # find /etc -name httpd.conf -exec cp -rf {} /opt/ \;:    #-exec执行后面命令,{}代表前面输出的结果,\;结束命令
    方法2:
    # find /etc -name httpd.conf |xargs -i cp {} /opt     #-i表示输出的结果由{}代替
    
    查看根目录下大于1G的文件 默认单位是b,可以使用其他单位如,C、K、M
    # find / -size +1024M
    
    tar命令压缩排除某个目录
    # tar zcvf data.tar.gz /data --exclude=tmp    #--exclude参数为不包含某个目录或文件,后面也可以跟多个
    
    查看tar包存档文件,不解压
    # tar tf data.tar.gz #t是列出存档文件目录,f是指定存档文件
    
    实时查看系统所使用内存
    #free -b -s5
    5秒循环一次...
    
    查看端口被哪个进程占用 
    # lsof -i:端口号
    # netstat -tunlp | grep 端口号
    
    查看服务器IP连接数
    # netstat -tun | awk '{print $5}' | cut -d: -f1 |sort | uniq -c | sort -n  
    -tun:-tu是显示tcp和udp连接,n是以IP地址显示
    cut -d:-f1:cut是一个选择性显示一行的内容命令,-d指定:为分隔符,-f1显示分隔符后的第一个字段。
    uniq -c:报告或删除文中的重复行,-c在输出行前面加上出现的次数
    sort -n:根据不同类型进行排序,默认排序是升序,-r参数改为降序,-n是根据数值的大小进行排序
    
    iptables将本机80端口转发到本地8080端口
    # iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
    
    iptables网站跳转
    先开启路由转发:
    # echo "1" > /proc/sys/net/ipv4/ip_forward  #临时生效
    内网访问外网(SNAT):
    # iptables –t nat -A POSTROUTING -s [内网IP或网段] -j SNAT --to [公网IP]
    内网服务器要指向防火墙内网IP为网关
    公网访问内网(DNAT)(公网端口映射内网端口):
    # iptables –t nat -A PREROUTING -d [对外IP] -p tcp --dport [对外端口] -j DNAT --to [内网IP:内网端口]
    内网服务器要配置防火墙内网IP为网关,否则数据包回不来。另外,这里不用配置SNAT,因为系统服务会根据数据包来源再返回去
     
     
     修改网卡MAC地址:
    #ifconfig eth0 down
    #ifconfig eth0 hw ether 00:AA:BB:CCD:EE
    #ifconfig eth0 up
    
    列出nginx日志访问最多的10个IP
    方法1:
    # awk '{print $1}' access.log |sort |uniq -c|sort -nr |head -n 10
    sort :排序
    uniq -c:合并重复行,并记录重复次数
    sort -nr :按照数字进行降序排序   
     
    监控目录,新创建的文件名追加到日志中 要安装inotify-tools软件包
    #!/bin/bash
    MON_DIR=/opt
    inotifywait -mq --format %f -e create $MON_DIR |\
    while read files; do
    ? echo $files >> test.log
    done
    
     
    在Linux上释放所有arp:
    #arp -d -a
     
    关于sysctl: /etc/sysctl.conf对应的是/proc/sys/目录...
    例如要修改/proc/sys/net/ipv4/ip_default_ttl的话,就修改/etc/sysctl.conf文件如下...
    添加一行为:
    net.ipv4.ip_default_ttl=255,也就是把文件夹变成小数点就可以啦
    然后执行一次
    #sysctl -p
    就可以生效啦。
    
    使用date修改系统时间:
    $ date -s "20190301 14:31:00" 
    #hwclock写入bios
    
    使退出SSH后程序继续运行:
    # disown
    或者是
    nohup command &
    
    设置环境变量
    #export 变量名=变量值
    
    自动化任务  cron,at,batch
    系统管理员通过cron.deny和cron.allow来禁止和允许用户拥有自己的crontab文件...
    crontab的格式:  分 时 日 月 星期 要运行的命令(注意使用的命令必须是绝对路径)
    crontab -e 编辑
    crontab -r 删除
    crontab -u user 用某用户来执行
    crontab -l 列出当前crontab内容
    at也通过/etc/at.allow和at.deny文件空子后哪些用户可以使用at命令,哪些不行
    
    创建文件时即规定日期
    #touch -t 11091531file            //11.09日15:31分
    
    字符串判断
    str1 = str2   两个串有相同内容、长度时为真
    str1 != str2   str1和str2不等时为真
    -n str1     串的长度大于0时为真(串非空)
    -z str1     串的长度为0时为真(空串)
    str1       str1为非空时为真
     
    df 命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计
    --block-size={SIZE} 使用 {SIZE} 大小的 Blocks
    -k 等价于 --block-size=1024 -m  等价于 --block-size=1048576
    -T 显示文件系统的形式
    
    xargs 是给命令传递参数的一个过滤器 。可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据, 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。
     能够捕获一个命令的输出,然后传递给另外一个命令。由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了 xargs 命令,例如:
     somecommand |xargs -item  command
    -a file 从文件中读入作为sdtin
    -e flag ,注意有的时候可能会是-E,flag必须是一个以空格分隔的标志,分析到含有flag这个标志的时候就停止。
    -p 当每次执行一个argument的时候询问一次用户。
    -n num 后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的。
    -t 表示先打印命令,然后再执行。
    -i 或者是-I,将xargs的每项名称,一般是一行一行赋值给 {},可以用 {} 代替。
    -r no-run-if-empty 当xargs的输入为空的时候则停止xargs,不用再去执行了。
    -s num 命令行的最大字符数,指的是 xargs 后面那个命令的最大命令行字符数。
    -L num 从标准输入一次读取 num 行送给 command 命令
    -d delim 分隔符,默认的xargs分隔符是回车,argument的分隔符是空格,这里修改的是xargs的分隔符
    -x exit的意思,主要是配合-s使用
    -P 修改最大的进程数,默认是1,为0时候为as many as it can ,这个例子我没有想到,应该平时都用不到的吧
    

    相关文章

      网友评论

          本文标题:程序员-linux-命令详解大全

          本文链接:https://www.haomeiwen.com/subject/abghectx.html