zoukankan      html  css  js  c++  java
  • linux常用命令总结

    开关机、重启、注销
     
    shutdown -h now     #立即关机
    reboot              #重启
    exit                #注销当前用户
    开机启动脚本加入位置  /etc/rc.d/rc.local
     
    wc统计
    cat a.txt | wc -l  统计文件中行数
    cat a.txt |grep ‘nihao’ | wc -l  统计你好出现行数
    wc -c file.txt 统计文件中的字节数
    wc -m file.txt  统计文件中的字符数
    wc -w file.txt 统计文件中的单词数
    wc -L file.txt 统计文件中最长行的宽度或长度
     
     
    重定向,就是把大于号前面的内容写入文件中
    例如:
    hhh > a.txt  就是把“hhh”写入到a.txt文件中,会覆盖原文件中内容;
    hhh>> a.txt  这个是追加hhh进入a.txt文件中,不覆盖原来的内容,
     一般在清楚日志时候用,>assert.log ,大于号前面是空,然后就可以把文件清空了
     
    上传下载文件,这两个命令需要安装,不是自带的命令
    #yum -y install lrzsz
    #rz和sz都只能操作文件,不能操作文件夹
    rz #上传
    sz filename #下载文件
     
    添加、删除用户、切换用户
    useradd myuser #添加用户
    userdel myuser #删除用户
    su - user  #切换用户
    sudo reboot #普通用户获取root用户权限,在命令前面加上sudo即可
    who #查看当前已经登录的用户
    whoami #查看当前用户
     
    查看ip地址、系统信息
    ip a      #看ip地址
    ifconfig  #看ip地址,有的系统没有ifconfig命令
    uname -a #看当前系统是位数和内核信息
     
     
    vi编辑器
        vi file #编辑file这个文件,具体里面的操作看 http://www.nnzhp.cn:80/archives/484
     
    常用命令
    ls   #查看某个目录下内容
        ls /tmp  #显示/tmp目录下的内容,如果后面没有跟路径则显示当前目录下的内容
        ls -l #详细信息显示
        ls -a #显示所有文件,包括隐藏文件
        ls -la #详细模式显示所有文件
    ll   等于 ls -l
    cd   #进入某个目录
        cd /tmp
        cd ..         #返回上一级目录
        cd ../../    #返回上两级目录
        cd ~  返回家目录
    cp   #复制,用的时候全部加上 -rf参数,什么都能复制
        cp -rf a.txt /tmp
    mv    #移动文件,也有重命名的作用,
          #改名和移动区别是,如果后面是一个文件名,那么就是改名,如果后面写的是一个路径,那么就是移动
         mv  a.txt /tmp    #移动a.txt到/tmp目录下
         mv  b.txt  my.txt #把b.txt改成my.txt
     
    rm   #删除文件、文件夹,删除后不能恢复,用的时候用加上 -rf 参数就什么都能删掉了
        rm -rf a.txt
    pwd  #显示当前绝对路径
    mkdir
        mkdir dir #创建文件夹
    cat 查看文件内容
        cat a.txt
     
    more  分屏查看文件内容,文件内容比较多的时候用,ctrl+c退出
        more  a.txt
     
    less  分屏查看文件内容,文件内容比较多的时候用,输入q退出
        less a.log
    tail 从文件末尾开始查看文件内容,一般都加上-f参数,可以动态的看,退出tail,ctrl+c退出
        tail -f a.log
        tail -50f a.log #从末尾第50行开始看
     
    touch 创建空文件,如果文件存在的话,那么会更新文件的修改日志
        touch a.txt
     
    du 文件占用大小
        du -sh * #查看当前目录下所有文件占用的空间
        du -sh /tmp #查看tmp目录下占用的大小
     
    df 查看当前磁盘占用空间
        df -lh
    chmod 给文件/文件夹修改权限
        chmod加权限有两种方式,数字方式和文本方式
        r:读,数字是4
        w:写,数字是2
        x:执行,数字是1
     
        chmod 777 a.sh #7 = 4+2+1就是可读可写可执行的权限,数字就是把那几位加起来
        文本模式
        chmod +x a.sh #加上执行权限
        chmod +wrx a.sh #加上可读可写可执行的权限,也就是和777一样
        为啥有3个7呢,第一位代表这个文件所属的用户的权限,第二位代表本组的用户的权限,第三位代表其他用户的权限
        文本模式想分别赋权限的话,就得指定到底是哪个组的
                    u -- 所有者
                    g -- 同组
                    o -- 其他以外的人;
                    a -- 所有
                    + -- 增加权限
                    - -- 去掉权限
                    -R 递归,主要用于一个目录,把这个目录下所有的文件/文件夹赋权限
        chmod -R a+x abc #为文件abc及其子目录底下的所有文件的全体用户增加x权限
        chmod u-x abc #为abc文件的用户拥有者去除x权限
        chown user:[group] a.sh  改变文件所属用户和组
        chown -R user:[group]   dir  改变文件夹所属的用户和组
        chgrp group  a.sh 改变文件所属组
     
     
     
    grep 查找文件内容
        grep 'besttest' a.txt     #从a.txt中查besttest
        grep -v 'besttest' a.txt  #排除besttest
    find 查找文件
    find /name 'tomcat**'  查找路径下tomcat文件或文件夹
     
     
    ps 查看进程
        ps有很多参数,具体参数解释可以看 http://man.linuxde.net/ps
        ps ux  显示所有正在运行的应用及应用的pid
        一般常用ps来看一个进程是否启动
        ps -ef|grep java  #ps -ef查到所有的进程,然后从所有的进程里面找带有java的,“|”是管道符,可以理解为把ps -ef命令的
        结果通过这个管道传给grep,然后让grep从里面搜索。
        ps -ef|grep mysql #查询mysql相关进程
        默认会有多余的一个进程,就是grep本身,意思就说,ps -ef|grep xx的时候,最少会有一条进程,如果说你ps -ef|grep 查询进程的时候
        只有一条,就代表你要查询的这个进程不存在
        ps -ef|grep httpd|grep -v grep  #这一条命令就是3个连着用了,找到httpd之后,再把grep本身的这一条给排除掉
     
    kill  用来停止进程,也就是Windows里面强制给他关掉
        kill -9 pid  #杀掉这个这个进程,pid可以用ps -ef查到
     
     
    top 动态的监控服务器的资源使用,ctrl+c退出
     
     
    find 查找文件
        find / -name a.txt #第一个参数是路径,-name是按照文件名来查询,这个是从根目录下开始查找名字为a.txt的文件
    tar 用来打包、解包
        tar czvf  my.tgz my #把my这个文件夹压缩并打包成为my.tgz
        tar cvf  my.tar my #把my这个文件夹打包成为my.tar,不加z这个参数就只是打包,不压缩
        tar czvf  my.tar.gz my #把my这个文件夹压缩并打包为my.tar.gz,后缀两种都行,你用tgz和tar.gz都可以
        tar xvf my.tgz #解包,解开的时候只需要这一种姿势,都能解开
        #tar解包的时候可以截后缀为 .tgz  .tar.gz .tar这三种的
    gzip、ungzip 用来打包、解压.gz结尾的压缩包
        ungzip a.gz #解压
        gzip a.txt #压缩,压缩完之后原来的文件就没有了
     
    zipunzipzip包
        http://man.linuxde.net/zip
        http://man.linuxde.net/unzip
     
    yum 安装软件
        yum就是傻瓜式的安装软件,你要装什么,yum什么就行了,红帽系统才有yum,乌班图和debian是没有的
        yum -y install nginx#安装nginx
        yum list|grep xxx   查询你需要安装的软件包有没有
        yum list installed |grep xxx   查询软件包是否已经安装了
       yum remove xxx   卸载
     
    make 编译安装
        首先包装电脑上已经安装了gcc,如果没有,yum -y install gcc
        第一步:./confige --prefix=/path -with-xxx=/path   path安装路径,  with是依赖的安装包
        第二步:make
        第三步:make install
     
    rpm 也是安装软件的,如果一个软件包名是以.rpm结尾的,那么就用rpm安装
        rpm -ivh mysql.rpm  安装rpm包
       rpm -e  **.rpm  卸载安装包
       rpm -qa|grep *** 查询已经安装的软件
        http://man.linuxde.net/rpm
     
    yum或rpm安装方式是,可执行命令都在/usr/bin,配置文件都在/etc/xxxx
     
    crontab  定时任务
        crontab -e 添加crontab任务,会进入vi模式下,这个时候写执行时间* * * * *  对应是分钟,小时,天,月,年,后面写脚本
        
        http://man.linuxde.net/crontab 看下面的实例
     
    执行shell脚本
        如果一个文件是以.sh结尾的就是一个shell脚本
        执行的话前面加上sh就可以了
    sh start.sh   
     
    后台执行程序:
    nohup ./start.sh &  后台运行,窗口关闭,程序不会被kill
     
     
    给长命令起别名
    alias gg=‘cd’ 
    gg /tmp
    跳入tmp文件夹下
    当输入gg时,tiao
    如果想让自己命名的命令永久生效,需要修改.bashrc 文件,添加例如:alias gg=‘cd’ ,还需要重新加载下bashrc文件环境变量
    source .bashrc
     
    查看端口使用情况:
    windows下查看端口是否被占用 netstat -ano|findstr 9090
    unix 下  查看端口占用进程lsof -i :8080
     

    netstat -nulpt 该命令是查看当前所有已经使用的端口情况,lsof -i 也是查看所有已使用端口占用情况

    netstat -anp|grep 3306

    主要看监控状态为LISTEN表示已经被占用,最后一列显示被服务mysqld占用,查看具体端口号,只要有如图这一行就表示被占用了

     
    多行中同时输入某内容,例如多行加入注释,五步完成:
    1. vim
    2. ctrl+v
    3. 选中要输入内容的多行
    4. shift+i,然后输入内容例如#
    5. 按esc
  • 相关阅读:
    SQL中distinct的用法
    python requests 高级用法 -- 包括SSL 证书错误的解决方案
    odoo js
    线程池的理解及使用
    单点登录原理及简单实现
    如何重写hashCode()和equals()方法
    多线程中的Lock小结
    Sql语句的优化摘要
    Spring事务管理
    并发编程之原子性、可见性、有序性的简单理解
  • 原文地址:https://www.cnblogs.com/niuniu2018/p/8086908.html
Copyright © 2011-2022 走看看