zoukankan      html  css  js  c++  java
  • linux 命令大全

    /etc  系统引导所需的配置文件

    /lib  C编译程序需要的函数库

    /usr  其他的所有内容,如 src ,local。linux内核就在/usr/src下

    /var  系统定义表

    /tmp  用于临时性的存储

    /bin  大多数的命令存放

    /home  存放用户账号

    /dev  设备文件的特殊文件

    /mnt  用于外挂文件系统(挂载系统盘、光盘)

    安装vim:apt-get install vim

    查看当前目录:ls -l  、ls -lh

    x:删除单个字符

    dd:删除一行

    u:恢复删除

    Ctrl+r:取消命令,如:恢复删除之后还可以取消恢复删除的命令。

    y:复制

    p:粘贴

    查找字符::/字符  如: :/a   即为查找文件中a   ,n 下移  N上移

    跳转到某一行::n  或者 nG   如 :5 跳转到5行。

    设置行号::set number

    设置首行缩进::set cindent shifwidth=4

    设置tab键空格数量::set tabstop=2

    程序编译过程:预编译、编译、优化、汇编、链接

    编译文件:gcc  hello.c

    执行文件: ./a.out

    编译为指定名称的文件: gcc -o test hello.c

    执行文件:./test

    计算机主机名:hostname

    查询ip:hostname -i

    永久修改主机名:/etc/sysconfig/network

    常用指令

    1.说出10个linux常用的指令

    • ls 查看目录中的文件

    • cd /home 进入 ‘/ home’ 目录;cd .. 返回上一级目录;cd ../.. 返回上两级目录

    • mkdir dir1 创建一个叫做 ‘dir1’ 的目录

    • rmdir dir1 删除一个叫做 ‘dir1’ 的目录 (只能删除空目录)

    • rm -f file1 删除一个叫做 ‘file1’ 的文件’,-f 参数,忽略不存在的文件,从不给出提示。

    • rm -rf /mulu  目录下面文件以及子目录下文件

    • cp /test1/file1 /test3/file2   如将/test1目录下的file1复制到/test3目录,并将文件名改为file2

    • mv /test1/file1 /test3/file2  如将/test1目录下的file1移动到/test3 目录,并将文件名改为file2

    • mv * ../ Linux当前目录所有文件移动到上一级目录

    • ps -ef|grep xxx 显示进程pid

    • kill  使用kill命令来终结进程。先使用ps命令找到进程id,使用kill -9命令,终止进程。

    • tar –xvf file.tar  解压 tar包

    • unzip file.zip 解压zip

    • unrar e file.rar 解压rar

    • free -m  查看服务器内存使用情况

    ps查看进程

    2.如何查看所有java进程

    • grep是搜索关键字

    ps -ef | grep java

    • -aux 显示所有状态

    ps -aux | grep java

    kill 杀掉进程

    3.如何杀掉某个服务的进程

    • kill 命令用于终止进程

    • -9 强迫进程立即停止

    kill -9 [PID]

    这里pid需要用 ps -ef | grep 查询pid

    启动服务

    4.如何启动服务

    以启动Tomcat为例,先cd到启动的.sh文件目录

    1.  
      > cd /java/tomcat/bin
    2.  
      > ./startup.sh

    停止Tomcat服务命令

    ./shutdown.sh

    查看日志

    5.如何查看测试项目的日志

    一般测试的项目里面,有个logs的目录文件,会存放日志文件,有个xxx.out的文件,可以用tail -f 动态实时查看后端日志

    先cd 到logs目录(里面有xx.out文件)

    tail -f xx.out

    这时屏幕上会动态实时显示当前的日志,ctr+c停止

    6.如何查看最近1000行日志

    tail -1000f xx.out

    查看端口

    7.LINUX中如何查看某个端口是否被占用

    netstat  -anp  | grep   端口号

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

    查看82端口的使用情况,如图

    netstat  -anp  |grep  82

    可以看出并没有LISTEN那一行,所以就表示没有被占用。此处注意,图中显示的LISTENING并不表示端口被占用,不要和LISTEN混淆哦,查看具体端口时候,必须要看到tcp,端口号,LISTEN那一行,才表示端口被占用了

    查看当前所有已经使用的端口情况,如图:

    netstat   -nultp(此处不用加端口号)

    find查找文件

    8.如何查找一个文件大小超过5M的文件

    find . -type f -size +100M

    9.如果知道一个文件名称,怎么查这个文件在linux下的哪个目录,如:要查找tnsnames.ora文件

    find / -name tnsnames.ora

    查到:
    /opt/app/oracle/product/10.2/network/admin/tnsnames.ora
    /opt/app/oracle/product/10.2/network/admin/samples/tnsnames.ora

    还可以用locate 来查找

    locate tnsnames.ora

    结果是:
    /opt/app/oracle/product/10.2/hs/admin/tnsnames.ora.sample
    /opt/app/oracle/product/10.2/network/admin/tnsnames.ora
    /opt/app/oracle/product/10.2/network/admin/samples/tnsnames.ora

    10.find查找文件

    find / -name httpd.conf  #在根目录下查找文件httpd.conf,表示在整个硬盘查找
    find /etc -name httpd.conf  #在/etc目录下文件httpd.conf
    find /etc -name ‘srm‘  #使用通配符(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件
    find . -name ‘srm‘   #表示当前目录下查找文件名开头是字符串‘srm’的文件

    按照文件特征查找     
    find / -amin -10   # 查找在系统中最后10分钟访问的文件(access time)
    find / -atime -2   # 查找在系统中最后48小时访问的文件
    find / -empty   # 查找在系统中为空的文件或者文件夹
    find / -group cat   # 查找在系统中属于 group为cat的文件
    find / -mmin -5   # 查找在系统中最后5分钟里修改过的文件(modify time)
    find / -mtime -1   #查找在系统中最后24小时里修改过的文件
    find / -user fred   #查找在系统中属于fred这个用户的文件
    find / -size +10000c  #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)
    find / -size -1000k   #查找出小于1000KB的文件

    查看文件

    查看文件内容的命令:

    cat     由第一行开始显示内容,并将所有内容输出   (之前公司用的比较多)

    tac     从最后一行倒序显示内容,并将所有内容输出

    more    根据窗口大小,一页一页的现实文件内容

    less    和more类似,但其优点可以往前翻页,而且进行可以搜索字符

    head    只显示头几行

    tail    只显示最后几行                             (之前公司用的比较多)

    nl      类似于cat -n,显示时输出行号

    tailf   类似于tail -f     

    查看命令下一步其实就是编辑,但是编辑命令涉及比较多,参考文章:Linux文件编辑命令vi详细说明

    1.cat 与 tac

    cat的功能是将文件从第一行开始连续的将内容输出在屏幕上。但是cat并不常用,原因是当文件大,行数比较多时,屏幕无法全部容下时,只能看到一部分内容。

    cat语法:cat [-n]  文件名 (-n : 显示时,连行号一起输出)

    tac的功能是将文件从最后一行开始倒过来将内容数据输出到屏幕上。我们可以发现,tac实际上是cat反过来写。这个命令也不常用。

    tac语法:tac 文件名。

    2.more和less(常用)

    more的功能是将文件从第一行开始,根据输出窗口的大小,适当的输出文件内容。当一页无法全部输出时,可以用“回车键”向下翻行,用“空格键”向下翻页。退出查看页面,请按“q”键。另外,more还可以配合管道符“|”(pipe)使用,例如:ls -al | more

    more的语法:more 文件名

    Enter 向下n行,需要定义,默认为1行; 

    Ctrl f 向下滚动一屏; 

    空格键 向下滚动一屏; 

    Ctrl b 返回上一屏; 

    = 输出当前行的行号; 

    :f 输出文件名和当前行的行号; 

    v 调用vi编辑器; 

    ! 命令 调用Shell,并执行命令; 

    q 退出more

    less的功能和more相似,但是使用more无法向前翻页,只能向后翻。

    less可以使用【pageup】和【pagedown】键进行前翻页和后翻页,这样看起来更方便。

    less的语法:less 文件名

    less还有一个功能,可以在文件中进行搜索你想找的内容,假设你想在passwd文件中查找有没有weblogic字符串,那么你可以这样来做:

    [root@redhat etc]# less passwd

    然后输入:

    /weblogic

    回车

    此时如果有weblogic字符串,linux会把该字符已高亮方式显示。

    退出查看页面,请按“q”键。

    3.head和tail

    head和tail通常使用在只需要读取文件的前几行或者后几行的情况下使用。head的功能是显示文件的前几行内容

    head的语法:head [n number] 文件名 (number 显示行数)

    tail的功能恰好和head相反,只显示最后几行内容

    tail的语法:tail [-n number] 文件名

    4.nl

    nl的功能和cat -n一样,同样是从第一行输出全部内容,并且把行号显示出来

    nl的语法:nl 文件名

    5.tailf

     tailf命令几乎等同于tail -f,严格说来应该与tail --follow=name更相似些。当文件改名之后它也能继续跟踪,特别适合于日志文件的跟踪(follow the growth of a log file)。与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件(It is similar to tail -f but does not access the file when it is not growing.  This has the side effect of not updating the access  time for the file, so a filesystem flush does not occur periodically when no log activity is happening.)。tailf特别适合那些便携机上跟踪日志文件,因为它能省电,因为减少了磁盘访问嘛(tailf  is extremely useful for monitoring log files on a laptop when logging is infrequent and the user desires that the hard disk spin down to conserve battery life.)。tailf命令不是个脚本,而是一个用C代码编译后的二进制执行文件,某些Linux安装之后没有这个命令,本文提供了怎么编译安装tailf命令的方法。

    文件编辑命令vi详细说明

    1、引言

              相信有很多程序员朋友,在长时间不操作linux系统或者初学linux命令时,都有跟我有一样的疑惑。

              这个vim命令与vi命令有什么区别?不都是编辑器么?          

    2、vi命令与vim命令

              其实,很好理解:

              首先来说它们两者的共同点:都是文本编辑器。

              接下来是它们两者的不同点:

            【 vi编辑器】:vi是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,

                                    它的强大不逊色于任何最新的文本编辑器。他是我们使用Linux系统不能缺少的工具。

            【 vim编辑器】:vim可以当作vi的升级版本,vim最大的特点是具有程序编辑的能力,可以以字体颜色

                                     辨别语法的正确性,方便程序设计。vim里面加入了很多额外的功能,例如支持正则表

                                     达式的搜索、多文件编辑、块复制等等。

              综上所述:

                     由于vi编辑器对于Unix及Linux系统的任何版本,vi编辑器都是完全相同的,

                     所以,我们只需学会vi编辑器,您将在Linux的世界里畅行无阻。

    3、vi命令使用        

              vi基本上可以分为三种模式,分别是一般模式、编辑模式和命令行模式,各模式的功能区分如下:

              ①、一般模式:

                          当以vi打开一个文件就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用 

                          上下左右按键来移动光标,你可以使用删除字符或删除整行来处理文件内容,也可以使用

                          复制、粘贴来处理你的文件数据。

              ②、编辑模式:

                          在一般模式中可以进行删除、复制、粘贴等的操作,但是却无法编辑文件的内容,只有当到

                          你按下【i, I, o,O, a, A, r, R】等任何一个字母之后才会进入编辑模式。这时候屏幕的左下方

                          会出现【INSERT或 REPLACE】的字样,此时才可以进行编辑。而如果要回到一般模式时,

                          则必须要按下【Esc】即可退出编辑模式。          

              ③、命令行模式:

                          输入【 : / ? 】三个中的任何一个,就可以将光标移动到最底下那一行。在这个模式中,可以

                          提供查找、读取、存盘、替换字符、离开vi、显示行号等的动作则是在此模式中完成的。      

              此为概念的理解以及讲解。下面为命令的讲解。

    3.1一般模式 

                     a.移动光标

                               h:控制光标左移一格

                               j :控制光标下移一格

                               k:控制光标上移一格

                               l :控制光标右移一格

                               ctrl+b:屏幕往后移动一页

                               ctrl+f :屏幕往前移动一页

                               ctrl+u:屏幕往后移动半页

                               ctrl+d:屏幕往前移动半页

                               0 :移到文章的开头

                               G:移动到文章的最后

                               $ :移动到光标所在行的行尾

                               ^ :移动到光标所在行的行首

                               w:光标跳到下个字的开头

                               e :光标跳到下个字的字尾

                               b :光标回到上个字的开头

                               #l:光标移到该行的第#个位置,如:5l,56l     

                      b.删除文字

                               x:   每按一次,删除光标所在位置的"后面"一个字符

                               #x: 例如,「6x」表示删除光标所在位置的"后面"6个字符

                               X:  大写X,每按一次,删除光标所在位置的"前面"一个字符

                               #X: 例如,「20X」表示删除光标所在位置的"前面"20个字符

                               dd:  删除光标所在行

                               #dd:从光标所在行开始删除#行

                      c.复制

                               yw:  将光标所在之处到字尾的字符复制到缓冲区中 

                               #yw:复制#个字到缓冲区 yy:复制光标所在行到缓冲区

                               #yy: 例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字 

                                 p:   将缓冲区内的字符贴到光标所在位置;

                                         注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能

                      d.替换

                               r :替换光标所在处的字符。

                               R:替换光标所到之处的字符,直到按下「ESC」键为止 

                      e.跳至指定的行

                               ctrl+g:列出光标所在行的行号

                               #G:例如,「15G」,表示移动光标至文章的第15行行首

                      f.更改

                               cw:  更改光标所在处的字到字尾处

                               c#w:例如,「c3w」表示更改3个字

                      g.恢复上一次操作

                               u:如果您误执行一个命令,可以马上按下「u」,回到上一个操作;

                                     按多次"u"可以执行多次回复

    3.2编辑模式(重点)        

                      a.进入编辑模式

                               i : 从目前光标所在处插入

                               I : 在目前所在行的第一个非空格符处开始插入

                               a: 从目前光标所在的下一个字符处开始插入

                               A: 从光标所在行的最后一个字符处开始插入

                               o :在目前光标所在的下一行处插入新的一行

                               O:在目前光标所在处的上一行插入新的一行

                               r : 只会取代光标所在的那一个字符一次

                               R:会一直取代光标所在的文字,直到按下 ESC 为止

                               Esc:退出编辑模式,回到一般模式

    3.3命令行模式                 

                      注意:如在编辑模式,需按下【Esc】退出编辑模式,回到一般模式

                      a.进入命令行模式 (指令前带 ":",再敲指令前先敲 ":" )

                               :w : 保存编辑的内容

                               :w! :强制写入该文件,但跟你对该文件的权限有关

                               :q :  离开vi

                               :q! : 不想保存修改强制离开

                               :wq :保存后离开

                               :x :   保存后离开

                               ZZ :若文件没有更动,则不保存离开,若文件已经被更改过,则保存后离开

                               :w filename :将编辑的数据保存成另一个文件(类似另存)

                               :r filename : 在编辑的数据中,读入另一个文件的数据。

                                                     即将【filename】 这个文件的内容加到光标所在行后面

                               :n1,n2 w filename :将n1到n2的内容保存成filename这个文件

                               :! command :暂时离开vi 到命令行模式下执行command的显示结果;

                                                      例如 【:! ls /home】即可在 vi 当中察看/home底下以ls输出的文件信息

                               :set nu :显示行号

                               :set nonu :与 set nu 相反,为取消行

                      b.查找(指令前带 ":",再敲指令前先敲 ":" )

                               /xxx: 向光标向下寻找一个名称为xxx的字符串

                               ?xxx:向光标向上寻找一个名称为xxx的字符串

                               n:代表重复前一个查找的动作

                               N:与n刚好相反,为【反向】进行行前一个查找动作

                               :n1,n2s/xxx/yyy/g:n1与n2为数字,在第n1与n2行之间查找xxx这个字符串,

                                                              并将该字符串替换为yyy

                               :1,$s/xxx/yyy/g: 从第一行到最后一行查找xxx字符串,并将该字符串替换为yyy

                               :1,$s/xxx/yyy/gc:从第一行到最后一行查找xxx字符串,并将该字符串替换为yyy,

                                                            且在替换前提示用户确认是否进行替换

  • 相关阅读:
    STS 创建 Maven 项目填坑
    JeeSite | 访问控制权限
    《Spring + MyBatis 企业应用实战》书评
    MyBatis-Generator 用法介绍
    Java描述数据结构之链表的增删改查
    Java中的Object类的几个方法
    设计模式之策略模式(Strategy Pattern)
    设计模式之模板方法(Template Method)
    JeeSite | 数据分页与翻页
    day 19
  • 原文地址:https://www.cnblogs.com/js1314/p/13899499.html
Copyright © 2011-2022 走看看