zoukankan      html  css  js  c++  java
  • 常用Linux命令、包括vi 、svn

    /etc/init.d/network restart
    //===========================================
    更新脚本
    cd /www/scripts
    更新站点
    ./staging_deploy.sh -d web
    更新resource
    ./staging_deploy.sh -r resource
    ./staging_deploy.sh -n webplus

    //31上手动获包
    cd /www/staging/svn/php
    rm -rf 
    wget http://i.fx-func.com/svn/juxiang/php/webplus.tar.gz --user=connect --password=20110609
    //===============
    /usr/local/nginx/conf/vhosts.enabled

    //sed修改文件
    sed -e 查看
    sed -i '/newbuddy/s/9072/9010/g' /www/wwwroot/website/system/config.php
    ==============================================
    192.168.200.5 svn代码库
    /home/www/jenkins/jobs/website-package-online/workspace/Application

    cd /www/tar/Resource
    /www/tar
    svn st Resource/
    svn ci Resource/ -m "manual"
    cd Resource/
    svn st pc/
    pwd
    svn revert -R /www/tar/Resource/pc 
    svn up
    cd ..
    svn st Resource/
    svn ci -m "manual"
    svn info Resource/
    cd Resource/
    svn info

    SVN 基本操作

      检出checkout(co)
      svn co ${url}

      更新update(up)
      svn up

      提交commit(ci)
      svn ci -m " 修改xxx 问题"

      查看当前目录最近5 次提交记录
      svn log -l 5

      查看当前工作拷贝信息
      svn info

      查看当前未提交的文件status(st)
      svn st
      这个命令输出每个添加、修改、删除过的目录和文件,前面的C 表示冲突,要特别注意。linux 下也可以用svn st | grep ^C 来查看冲突项。

      查看当前修改内容
      svn diff

      撤销当前修改,覆盖为资源库最新版本
      svn revert path/filename

      递归撤销当前目录修改,覆盖为资源库最新版本。注意新加的文件不会被删除,这时也可以删除工作拷贝,重新checkout
      svn revert . --recursive

    合并

      SVN merge

    递归向版本增文件: svn add * --force
    find GameSite/system/ -maxdepth 100 -name .svn
    =============================
    /etc/init.d/php-fpm restart
    /etc/init.d/nginx reload | restart
    scp /www/run/fdfsclient/picture.php root@10.10.208.83:/www/temp

    find ./ -mtime 0:返回最近24小时内修改过的文件

    find /home/user -cmin -60 文件夹下最近一个小时内修改过的文件

    vi编辑器
    :50,100s/new//gn 出现的次数

    :%s/a/b/g 全部替换 或者 :s/a/b/ 如果不加/g则指替换第一行
    或者用 : set nu

    :10,20s/a/b/g 替换10--20行的a

    ll | grep .php 列出都是php的文件
    ll viso* 列出包含viso关键字的文件夹
    ls [P-X]* -d 列出p到x开头的文件

    :%s//images/http://static.kunlun.com/web/kl/images/g全部替换

    http://static.kunlun.com/web/sg/images/input_bg1.jpg

    unzip test.zip

    sudo -i 权限

    rsync -aqC /data/app/www/cms1.kunlun.com/mf/* /data/app/www/www.mffy.renren.com/

    cp -arf /data/app/www/www.mffy.renren.com/login.php /data/app/www/cms1.kunlun.com/mf/

    /usr/sbin/nginx -t -c /data/app/conf/nginx.conf

    常用命令
    touch 生成空文件 /bin/touch
    cd - 回到上次访问的目录 
    cd !$
    cp -a 拷贝目录 
    cp -f强制拷贝 
    cp -p 拷贝保留原文件的日期
    cat 不管文件多长一次都读取出来
    统计出现的行数
    cat xxx.txt |grep "xxx" |wc -l
    如果统计出现的次数
    awk '{s+=gsub(/目标字符串/,"&")}END{print s}' 目标文件名
    awk '{s+=gsub(/w/,"&")}END{print s}' aa.txt

    more 分屏读取文件 f或空格显示下一页 回车键显示下一行 q退出
    less 分屏查看文件 pageup上一屏 pagedown 下一屏 home回到开头 end回到结尾
    head -n查看文件的前n行
    tail -n查看文件的最后n行
    find ./ -name .metadata |xargs ls -lt //按时间查看文件

    ln -s [源文件] [目标文件] 注意:源文件和目标文件一定要使用绝对路径,硬链接不能跨设备(df -T)
    mkdir -p 建子目录 /a/b/c/d
    whereis 显示系统命令和帮助手册的命令

    find [搜索路径] [搜索关键字] [文件或目录] find /etc/ -name 'f*'
    locate httpd.conf 整个文件搜索【updatedb重新更新索引文件,便于查到】
    grep root passwd在文件里查找匹配的内容 grep -v "#" /etc/passwd 排除带#的行

    压缩文件
    只能压缩文件,不保留原文件
    gzip GUN zip
    gzip -1 file 表示快速压缩
    gzip -9 file nine nice 最佳状态压缩
    gunzip file.gz 解压缩
    gzip -d file.gz

    压缩 gzip route.php
    解压 gunzip route.gz

    压缩目录
    tar 打包
    tar -c 产生一个.tar文件
    tar -v 观看压缩过程
    tar -f 指定压缩后的文件名
    tar cvf 可以省略- tar cvf testdir.tar testdir
    tar xvf 解压缩 
    解压到指定目录 tar zxf testdir.tar.gz -C web
    tar zcvf 最佳压缩 tar zcvf testdir.tar.gz testdir[目录名]
    tar zxvf 解压缩

    tar -tf 查看打包的内容

    通信命令
    write 发送消息 write yuejide sfdsf
    wall 给所有用户发消息 wall fdfdf
    mesg y接受消息
    mesg n屏蔽消息
    mail 收信
    h查看列表
    r回信
    q退出
    mail 收件人 发信

    init 0 关机
    init 6 重启
    shutdown -h now
    reboot

    导出 sz test.txt
    导入 rz

    Linux 网络命令
    write 给用户发信息 ctrl+D 保存结束
    write linzhilin 
    xiang he ni chifan ctrl+D 保存退出
    ping 测试网络连通性
    ping 192.168.0.1
    ifconfig 查看和设置网卡信息
    ifconfig eth0 192.168.0.2
    mail 查看系统发送的文件
    输入序列号直接查看
    h 查看列表
    d 序列号 删除邮件
    q 退出
    last 显示计算机所有用户登录的时间信息
    lastlog 命令查看所有用户登录信息
    last -u uid 查看某个用户登录信息
    traceroute 显示数据包到主机间的路径
    netstat 【选项】 显示网络相关信息
    -t 查看TCP协议的信息
    -u 查看UDP协议的信息
    -l 监听
    -r 路由
    -n 显示IP地址和端口号
    netstat -tlun 查看本机监听的端口
    netstat -an 查看本机所有的网络连接 netstat -an | grep -v "10.10.208.84" | grep ESTABLISHED 查看当前和本机连接的用户
    netstat -rn 查看本机路由表

    setup 配置网络、
    mount 挂载
    创建挂载点 mkdir /mnt/cdrom
    mount /dev/src0[设备名称] /mnt/cdrom
    umount /dev/src0 卸载挂载点

    strace 跟踪进程的命令 strace -p 10747
    #已易读的格式显示指定目录或文件的大小,-s选项指定对于目录不详细显示每个子目录或文件的大小
    du -sh [dirname|filename]
    如:
    当前目录的大小:
    du -sh .
    当前目录下个文件或目录的大小:
    du -sh *
    显示前10个占用空间最大的文件或目录:
    du -s * | sort -nr | head

    vi编辑
    i a o
    ctrl+f 下一页
    ctrl+b 上一页
    ctrl+d 下一屏
    ctrl+u 上一屏
    G 最后一行
    gg 第一行

    i 光标所在处插入
    I 光标定位到行首插入

    a 光标所在的字符后插入
    A 光标所在的行末尾插入

    o 插入定位到下一行
    O 插入定位到上一行

    0 定位到某行的开头
    $ 定位到某行的末尾

    R 从光标所在处开始替换字符

    n 向下查找
    N 向上查找

    :/1067,1060s/logs/PHP/g n1行---n2行全部替换

    x向后删除
    X向前删除
    dd删除一行
    ndd删除n行
    dG删除光标所在行到最后一行的所有数据
    d1G删除光标所在行到第一行的所有数据
    d$删除光标所在行到该行的最后一个字符
    d0删除光标所在行到该行的最前面一个字符
    p复制光标所在的向下n列
    P复制光标所在的向上N列
    u撤销操作

    :r /etc/issue 导入到光标所在的位置 :r +文件名
    :r !date 导入命令结果到当前文件

    :map 快捷键 触发命令
    :map ^P(ctrl+v+p) I#<ESC>
    :map ^B 0x
    :map ^M yuejide@163.com<ESC>

    注释多行
    :4,8s/^/#/g
    取消注释
    :4,8s/^#//g
    :4,8s/^////g

    :ab mymail yuejide@163.com 只要输入mymail则就显示邮箱地址

    创建保存快捷vim命令
    vi /root/.vimrc root用户
    vi /home/yuejide/.vimrc 普通用户
    set nu
    map ^P I#<ESC>

    一次性安排计划任务命令 at
    某个时间点执行某个程序(命令),一定要使用命令的全路径
    at 17:40
    >/bin/cp /www/test/* /www/xsphp/
    ctrl+d退出
    at -l或者atq 查看任务执行情况
    at -d 或者atrm 任务号
    at 17:30 月/日/年
    at -f 文件 时间点
    at < one.txt 时间点
    at配置文件 
    /etc/at.allow 文件中列出的用户都能使用此命令
    /etc/at.deny 文件中列出的用户都不能使用此命令
    两个文件都不存在,只有root用户才能使用此命令,都存在且都为空则所有用户都能使用此命令

    周期性安排计划任务crontab
    service crond status //查看状态
    ps aux | grep crond
    启动 /sbin/service crond start
    停止 /sbin/service crond stop
    * * * * * /www/test/btest.sh
    分 时 日 月 周
    crontab -l 列表
    crontab -e 编辑
    crontab -r 删除
    /etc/cron.allow 如果这个文件存在,文件中包含的用户名可以使用crontab。
    /etc/cron.deny 如果这个文件存在,文件中包含的用户名不能使用crontab。
    */5 * * * * /usr/local/php/bin/php /www/faetest/yuejide/tt.php //5分钟往数据库添加下记录

    查看进程
    ps -el
    ps -aux
    S 休眠 D不可中断的休眠 R运行 Z僵死状态 T停止状态
    杀死进程
    killall httpd 杀死所有和httpd相关的进程
    kill 进程号
    kill -9 杀死僵死进程
    日期 date +%Y-%m-%d

    Linux用户
    1、超级用户root 具有操作系统的一切权限uid为0
    2、普通用户 具有操作系统有限的权限 uid 500 -- 6000
    3、伪用户 是为了方便系统管理,满足相应的系统进程文件属主的要求,不能登录 uid 1 -- 499
    passwd /etc/passwd 通过这个文件管理用户,只定义账号不定义口令

    账号名称:root
    用户密码:x
    用户标识(用户ID):0
    用户标识(用户组ID):0
    用户相关信息:root
    用户家目录:用户自己的目录
    用户环境:/bin/bash

    useradd 创建用户
    -u -g -G -d -s -c -e -k -m -M -r
    userdel 删除用户
    tail -5 /etc/passwd 用户信息
    tail -5 /etc/shadow 密码
    -r 删除用户家目录及所有信息
    更改用户名
    usermod -l thisueser myuser
    usermode -L thisuser 锁定用户
    usermode -U thisuser 解锁用户

    passwd -l 
    passwd -u
    passwd -s 解锁
    Linux用户组
    /etc/group
    1、组名
    2、组口令
    3、GID
    4、组内用户列表(属于该组的所有用户名表)

    useradd -g mygroup myuser1 添加用户到所属组
    userdel -r myuser1 删除用户
    groupadd 添加
    groupmod 修改
    groupdel 删除
    gpasswd -a redhat newgroup 修改用户所属组
    gpasswd -d redhat newgroup 删除所属用户组

    id 查看一个用户的uid和gid
    id[选项] 用户名
    id -g yuejide
    id -G yuejide
    finger 查看用户的相关信息,包括的用户的组目录启动shell
    finger yuejide

    chmod -R 权限 文件
    chown 改变文件或者目录的所有人
    chown -R 包括子目录
    chown -R www:www /www/run 同时修改所有者和所属组
    chgrp 改变文件或者目录的所属组
    find views/ -maxdepth 100 -type d -name .svn | xargs chown -R www:www
    find / -iname *?//不区分大小写,精准搜索用?
    find / -size +204800 大于100M的文件
    find / -size -204800 小于100M的文件
    find /home -user www//根据所有者来查找
    find /home -group www//所属组
    find /home -cmin -5 5分钟内修改过属性的文件和目录
    -amin//访问过的
    -cmin//改变属性
    -mmin//修改内容
    -type d目录
    f文件
    find /etc -name initab -exec ls -l {} ;查到后把文件属性列出来

    查找目录下的所有文件中是否含有某个字符串 
    find .|xargs grep -ri "IBM" 
    查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名 
    find .|xargs grep -ri "IBM" -l

    shell编程
    查看历史指令 history列出所有 !99 执行第99条指令 !str 离最近的一条命令
    history -c 清楚所有指令
    输入输出 ls > test.txt 写入到test.txt文件中,输出重定向 >>追加输出重定向
    多少行 ll | wc -l

    set查看系统里所有变量 unset删除变量
    env全局变量
    export把局部变量变成全局变量
    重启后不让环境变量失效
    vi /etc/profile

    运算
    expr $aa * $bb 乘法,中间必须要有空格

    $# 命令中位置参数的个数
    $* 所有位置参数的内容
    $? 上一条命令执行后返回的状态,当前返回状态0时表示正常,非0值时表示异常或者出错
    $$当前所在进程的进程号
    $!后台运行的最后一个进程号
    $0当前执行的进程/程序名

    -d是否为目录文件directory
    -e文件是否存在exist
    -f是否为文件file
    -r是否有读的权限read
    -w是否有写的权限write
    -x是否有执行权限excute
    -L是否为符号连接文件Link

    -eq:等于equal
    -nq:不等于no equal
    -gt:大于greater than
    -lt:小于lesser than
    -le:小于或等于lesser or equal
    -ge:大于或等于greater or equal
    字符串比较
    = 字符串内容相同
    != 字符串内容不相同
    -z 字符串内容为空
    &&与
    ||或
    !取反

    语句
    if ;then 
    elif ;then
    else
    fi

    for 变量名 in 取值列表
    do
    命令序列
    done

    while[ true ]
    do
    命令序列
    done

    case $i in
    start)
    echo "start......"
    ;;
    stop)
    echo "stop......."
    ;;
    restart)
    echo "restart......"
    ;;
    esac

    rpm
    rpm -qa|grep yum|xargs rpm -e --nodeps
    rpm -e --nodeps卸载

  • 相关阅读:
    模板 无源汇上下界可行流 loj115
    ICPC2018JiaozuoE Resistors in Parallel 高精度 数论
    hdu 2255 奔小康赚大钱 最佳匹配 KM算法
    ICPC2018Beijing 现场赛D Frog and Portal 构造
    codeforce 1175E Minimal Segment Cover ST表 倍增思想
    ICPC2018Jiaozuo 现场赛H Can You Solve the Harder Problem? 后缀数组 树上差分 ST表 口胡题解
    luogu P1966 火柴排队 树状数组 逆序对 离散化
    luogu P1970 花匠 贪心
    luogu P1967 货车运输 最大生成树 倍增LCA
    luogu P1315 观光公交 贪心
  • 原文地址:https://www.cnblogs.com/yulei126/p/6786043.html
Copyright © 2011-2022 走看看