码迷,mamicode.com
首页 > 系统相关 > 详细

linux常用命令

时间:2018-09-18 17:11:16      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:exception   export   目标   用户名   更新   搜索   源文件   保存   提示   

1.上传下载:

  rz:上传

  sz filename:下载

2.系统管理:

  注销:exit logout(仅文本终端)

  重启:reboot

     shutdown -r  延时分钟数   “提示信息”

     shutdown -r now 立即执行

  关机:halt

     init 0

     shutdown -h 延时分钟数 “提示信息”

     shutdown -h now 立即执行

3.用户/组 管理:

  id:可以查看当前用户

  whoami:查看当前的用户

  who:查看当前已经登录的用户

  添加用户:

    useradd zhangsan 或者 useradd -g groupname username

    passwd zhangsan 

  修改用户:

    usermod -l 新用户名 -d 新家目录 旧用户名

  删除用户:

    userdel -r username (-r:删除家目录及其所有文件)

  切换用户:su

    su root 或者su - root:su root不会重新加载切换用户的用户变量,su - root 会重新加载用户的用户变量

  获取超级用户权限:sudo 

    sudo 命令

    有一些命令普通用户没有权限操作的,所以要用sudo来获取超级用户权限

    如果普通用户要使用sudo命令,需要在/etc/sudoers文件中配置才可以使用,找到root ALL=(ALL) ALL 行,下面加入 username ALL=(ALL) NOPASSWD:ALL保存即可

  增加组:

    groupadd -g 组ID -r 组名  (-r:系统组 组ID小于499)

  修改组:

    groupmod -g 组新ID -n 组新名 组旧名

  删除组:

    groupdel 组名

4.网络配置:

    查看ip地址:ifconfig

    重启、启动、停止网络:service network restart/start/stop

    VMware的3种网络类型:

      VMnet0:用于虚拟桥接网络下的虚拟交换机

      VMnet1:用于虚拟Host-Only网络下的虚拟交换机(真实环境和虚拟环境隔离开)

      VMnet8:用于虚拟NAT网络下的虚拟交换机(网络地址转换,实现在虚拟系统里访问互联网)

5.文件系统

  pwd:显示当前你所在路径

  cd :进入那个目录

    cd ..:回到上一级目录

    cd ../..:回到 上两级目录

    cd -:回到上一次所在的目录

  cp:复制 cp [-abrifLP] [source] [dest]

    -b:如果目的文件存在,就创造一个备份

    -r:若源中有子目录,则将子目录下的文件及目录亦全部复制至目的目录

    -f:若目的地有重复的文件,则覆盖原有文件

    cp filename /tmp/  复制文件

    cp -r linux /tmp/ 复制文件夹

  mv: 移动或改名   mv [options] 源文件或目录  目标文件或目录

    -f:禁止交互操作。mv操作要覆盖某个已有目标文件时不给任何提示

    mv linux1 linux2  改名  后面跟的是文件名改名

    mv linux /tmp/     移动   后面跟的是路径移动

  mkdir:创建文件夹  mkdir test

  rmdir: 删除文件夹    rmdir test   只能删除空文件夹

  rm:删除文件/文件夹   rm [-ifr] name

    -r:删除目录及子目录,目录下如果有子目录及文件也会被删除

    -f:不询问直接删除

  ll: 查看文件下面的东西

  加权限:

    x代表执行,w代表写,r代表读

    chmod o+x  filename其他用户

    chmod g+x filename 本组用户

    chmod u+x filename 自己

    chmod +rwx filename所有

    chmod a+x filename所有

    去掉权限,就把+变为-

    r=4,w=2,x=1 数字模式代表的权限   chmod 755 file

    如果加权限的是一个文件夹的话要加 -R  chmod -R 755 目录

    chown:改变文件的所有者和所属组  chown [options] 用户或组  文件名

      chown user file 如果是一个文件夹的话要加 -R

    chgrp:改变文件的所属组  chgrp [options] [组] [文件]

      chgrp group file 如果是一个文件夹的话要加 -R

  文本编辑器VI:

    切换编辑模式和命令模式:

      i:当前位置

      o:当前行的下一行

      a:下一位置进行编辑

    esc:编辑模式切换到命令模式

    退出vi:

      命令模式下  

        :q   #没有修改的话可以直接退出

        :q!  #不保存退出

        :wq  #保存退出

        :x   #保存退出

    查找:

      /查找内容    #从头开始找

      ?查找内容   #从文件末尾开始找

    显示行号:  :set nu

    取消显示行号:  :set nonu

    快速去到某一行:9

    快速去到文件末尾:shift+g

    删除当前位置字符:x

    删除整行:dd

    删除n行: ndd

    复原前一个动作(撤销):u

    复制一整行:yy

    复制n行:nyy

    粘贴:p

    重复前一次操作:.

    移动光标到行尾: $

    移动光标到行首:0

    替换字符串:  :%s/scr_str/new_str/g

  查看文件:

    cat:用于连接并显示指定的一个或多个文件的有关信息  cat [options] 文件1 [文件2]......

      cat a.txt b.txt >c.txt 重定向

      cat xx > new_xx 覆盖原有的内容

      cat xx >> new_xx 追加

    head:显示文件的开头至标准输出中  head [参数] ... [文件] ...

      head -n 行数 filename

    tail:查看文件末尾内容  tail [参数] [文件]

      动态查看日志: tail -f err.log

      查看末尾10行日志: tail -10 err.log

      动态查看末尾5行日志: tail -5f err.log

    more和less:分屏显示文件内容,可以逐页或者逐行显示文件内容

      less a.txt  more a.txt

      回车  显示下一行

      空格  转到下一页

    ln:创建文件链接

      硬链接:ln 源文件  硬链接目标文件      可以看做文件别名、目录不可以建立

      软链接:ln -s 源文件  软链接目录或文件   相当于Windows的快捷方式、可以连接目录

    lsof:列出当前系统打开文件的工具   lsof [options] filename

      lsof filename: 显示打开指定文件的所有进程 

      lsof +d DIR/ :显示目录下被进程打开的文件

      lsof +D DIR/:同上,但是会搜索目录下的所有目录,时间相对较长

    wc:统计指定文件中的行数、字节数、字数,并将统计结果显示输出  wc [选项] [文件]

      -c:统计字节数

      -l:统计行数

      -m:统计字符数

      -w:统计字数

    clear:清屏

    history:查看历史命令  

  搜索命令:

    grep:显示文件中的匹配行  grep [参数] 字符串 文件名

      无参:显示匹配行

      -c:显示匹配行数

      -e:字符串:匹配特殊字符串,如-开头

      -i:忽略大小写

      -v:输出不匹配行

      例:grep -c "foo" a.txt

    |:管道符    ps -ef|grep httpd|grep -v "grep"

    find:查找目录下的文件  find 目标目录 搜索参数  操作参数

      -name:文件名:可以跟通配符

      -amin:分钟数:文件最后访问时间为指定分钟之前,负数表示之后   find /  -amin +2  查找文件最后访问时间距现在时刻2分钟以上的文件

      -atime:天数:文件最后访问时间为指定天数之前,负数表示之后     find / -atime -2  查找文件最后访问时间距现在时刻2天内的文件

      -cmin:分钟数:文件最后修改时间为指定分钟之前,负数表示之后

      -ctime:天数:文件最后修改时间为指定天数之前,负数表示之后

      -user:用户名:属于用户的目录和文件

      -type:文件类型  find / -type f 文件     find / -type d 目录

      -size:文件大小

      例:find / -name test1

6.归档压缩命令:

  gzip: gzip -[1...9] [trv] file     例: gzip -1trv test.txt

  gunzip: gunzip file         例:gunzip test.txt.gz

  zip/unzip:压缩zip包和解压缩以.zip结尾压缩文件

    zip [选项] 压缩文件名 需要压缩的文档列表

      -r:递归压缩,将指定目录下的所有文件以及子目录全部压缩

    unzip [选项] 压缩文件名

      -o:解压时覆盖已经存在的文件,并且不要求用户确认

      -d:目录名,把压缩文件解压到指定目录下

    例:zip -9r /opt/etc.zip /etc  #把/etc下所有文件和文件夹压缩到/opt下的etc.zip

      zip -r /opt/var.zip /var -x "*.log"  #把/var下所有的文件和文件夹除了以.log结尾的都压缩到/opt目录的var.zip中

      unzip -o /opt/etc.zip -d /etc  #把/opt/etc.zip解压到/etc目录下

    tar:文件打包   tar  [参数] 目标文件 源目录或文件

      -c:创建新文档

      -x:解压缩归档文件

      -f 文件名:使用归档文件

      -z:使用gzip解压缩

      -v:详细输出模式

      例: tar zcvf test.tar test  #压缩

         tar zxvf test.tar #解压缩

7.进程相关命令:

  ps:显示瞬间过程的动态,使用权限是所有使用者

    -e:列出所有的进程

    -f:显示不同进程之间的关系

    -aux:显示所有包含其它使用者的进程

    常用参数是-ef和-aux

    可以用管道符连接其他命令使用 。例:ps -ef|grep httpd  #查询Apache相关进程

  kill:用来终止指定的进程   格式:kill [参数] [进程号]

    -9:强制终止进程

      例:kill -9 2312 2819

  命令最后加&:后台运行进程

  nohup 命令 &: 后台运行进程

     例:nohup sh startWebLogic.sh &

8.crontab定时任务:

  crontab [-u user] 文件

  crontab [-u user] {-l | -r | -e}

    -e:执行文字编辑器来设定时程表,内定的文字编辑器是vi

    -r:删除目前的时程表

    -l:列出目前的时程表

    crontab : M H D m d cmd  :M分钟(0-59)  H小时(0-23) D天(1-31) m月(1-12) d一星期内的天(0-6,0为星期天) cmd为运行的命令  * 代表每分钟都执行

      * * * * * sh /opt/lampp/test.sh 表示每分钟执行一次test.sh这个脚本

      */5 * * * * sh /opt/lampp/test.sh 表示每5分钟执行一次test.sh这个脚本

      30 21 * * *  /usr/local/apache/bin/apachectl restart 表示每晚的21:30重启Apache

9.软件安装命令:

  rpm:rpm [参数] [rpm安装包]

    -i:安装

    -U:更新(升级)

    -e:卸载

    -v:显示安装信息

    -h:显示安装进度

      例:rpm -ivh jdk.rpm  #安装jdk

        rpm -e jdk.rpm #卸载jdk

        rpm -qa|grep xxx #查询是否已经安装这个软件

  yum:yum install

     yum remove 

  源码安装: 1. ./configure (生成编译文件) 2. make 3.make install

10.其他命令:

  系统环境变量:在/etc/profile目录下

  用户环境变量:~/.bashrc

  export PATH=$PATH:

  source /etc/profile

  source ~/.bashrc

  开机启动运行脚本:在/etc/rc.d/rc.local文件中加入要开机执行的脚本

  临时关闭防火墙:service iptables stop,重启后会失效

  查看端口号:netstat -nlpt|grep 18983 #查看这个进程号启动端口号是什么

  netstat -nlpt|grep port #查看这个端口号有没有被占用 

11.shell编辑&awk

  awk [选项参数] ‘{命令参数}‘ file

    -F fs :fs指定输入分隔符,fs可以是字符串或正则表达式,如-F:

    -f scripfile:从脚本文件中读取awk命令

    -v var=value :赋值一个用户定义变量,将外部变量传递给awk

    awk常用的内置参数:

     $0:表示整个当前行

     $n:每行第n个字段

     NF:字段数量变量,也就是每行有多少个字段

     NR:每行的记录号,多文件记录递增

    if判断:

      if(expression){

        statement;}

      else{

        statement2;}

     例1.匹配文件出现内容的行:

        awk ‘/Exception/ {print NR} ‘ catalina.out

     例2.查询Tomcat进程号:

        ps -ef|grep tomcat|grep -v "grep"|awk ‘{print $2}‘

     例3.输出Apache日志中的访问ip地址、访问路径和状态码

        awk ‘{print "ip=="$1,"path=="$7,"code=="$9}‘ /opt/lampp/logs/access_log

     例4.将成绩不及格的学生名称输出

        awk ‘{if ($2>60) {} else {print $1}}‘ score.txt

     例5.将mysql的进程号写到mysql.pid这个文件中

        ps -ef|grep mysql|grep -v "gerp"|awk ‘{print $2>"mysql.pid"}‘

  shell编程:

    vi test.sh

      #!/bin/bash

      echo "hello world"

    1.变量 name=‘test1‘ 变量名和等号之间不能有空格

    2.算术运算:用$(())括起来  a=$((4-2))

    3.关系运算符:

其他:

  查看端口号:netstat -nlpt|grep 18983 查询这个进程号启动端口号是什么

        netstat -nlpt|grep port 查看这个端口号有没有被占用  

    

      

  

  

    

 

    

    

    

    

    

     

 

 

 

 

    

  

 

linux常用命令

标签:exception   export   目标   用户名   更新   搜索   源文件   保存   提示   

原文地址:https://www.cnblogs.com/zhouhongrui/p/9621493.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!