• Linux命令总结


    http://www.92csz.com/study/linux/

    pwd  打印出当前所在目录

    su test 切换到test用户,当前目录不变

    su - test 切换用户后则到了test的家目录/home/test

    su 后不加用户,表示切换到root用户

    ./ 指的是当前目录

    ../ 指的是当前目录的上一级目录。

    mkdir -p /tmp/test/123/   在temp/test下创建123目录(-p参数的作用了,就是递归创建目录,即使上级目录不存在。还有一种情况就是如果你想要创建的目录存在的话,会提示报错,然后你加上-p参数后,就不会报错了)

    rmdir -p d1/d2/d3 只能删除目录不能删除文件,删除了d1,d1/d2, d1/d2/d3

    rm -f /tmp/111  强制删除不存在的文件时加-f

    rm -r /tmp/test  递归删除目录时需加-r,否则报错

    rm -i  删除前询问

    echo $PATH  打印path环境变量。

    ls -a 列出全部目录和文件,包括隐藏的。linux文件系统中同样也有隐藏文件。这些隐藏文件的文件名是以.开头的。例如.test, /root/.123, /root/.ssh 等等,隐藏文件可以是目录也可以是普通文件。

    ls -l 或者 ll  :详细列出文件的属性信息,包括大小、创建日期、所属主所属组等等

    Ls -d 列出目录,而不是文件。

    ln -s test test1 把test和test1建立连接

    cp test1 test2

    Cp -i 覆盖前询问

    Cp -p 连同文件属性一起复制,而非使用默认属性。用于备份文件。

    cp -d test1 test2   拷贝软连接,不拷贝文件本身

    cp -r 递归拷贝目录

    cat 命令则是读一个文件并显示在屏幕

    cat -n 把行号也显示在屏幕

    >  在linux中这叫做重定向,即把前面产生的输出写入到后面的文件中,如果后面文件有内容会删除文件中的内容。

    >> 即把前面产生的输出追加到到文件最后面

    touch 命令,看字面意思就是摸一下,没错,如果有这个文件,则会改变文件的访问时间,如果没有这个文件就会创建这个文件

    mv aa cc  如果cc存在,则把aa移到cc下面;如果cc不存在,则把aa重命名cc。

    mv -f 强制覆盖

    more 也是用来查看一个文件的内容。在 more 这个程序的运行过程中,你有几个按键可以按的:

     

     

    • 空g格键 (space):代表向下翻一页;
    • Enter         :代表向下翻『一行』;
    • /字串         :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
    • :f            :立刻显示出档名以及目前显示的行数;
    • q             :代表立刻离开 more ,不再显示该文件内容。
    • b [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。

     

    less 作用跟more一样。less运行时可以输入的命令有:

     

    • 空白键    :向下翻动一页;
    • [pagedown]:向下翻动一页;
    • [pageup]  :向上翻动一页;
    • /字串     :向下搜寻『字串』的功能;
    • ?字串     :向上搜寻『字串』的功能;
    • n         :重复前一个搜寻 (/ ? 有关!)
    • N         :反向的重复前一个搜寻 (/ ? 有关!)
    • q         :离开 less 这个程序;

     

    head  head后直接跟文件名,则显示文件的前十行。如果加 –n 选项则显示文件前n行

    head -n 5 /etc/passwd 显示前5行

    tail 显示文件的后十行。如果加 –n 选项则显示文件后n行

    通过alias把一个常用的并且很长的指令别名一个简洁易记的指令。如果不想用了,还可以用unalias解除别名功能。直接敲alias会看到目前系统预设的alias :

     

    在bash下,可以使用*来匹配零个或多个字符,而用?匹配一个字符。

    管道符”|”,就是把前面的命令运行的结果丢给后面的命令

    env命令即可全部列出系统预设的全部系统变量

    command1 ; command2  分号,用于多条命令间的分隔符

    command1 && command2   只有command1执行成功后,command2才会执行

    command1 || command2    command1执行成功后command2 不执行,否则去执行command2

    [ ] :中括号,中间为字符组合,代表中间字符中的任意一个。

    [0-9] 表示0~9的字符组合,[15]表示只含有1或5

    ”^”表示行的开始,”$”表示行的结尾,那么空行则表示”^$”,如果你只想筛选出非空行,则可以使用 “grep -v ‘^$’ filename”得到你想要的结果

    grep -n ‘root’ /etc/passwd 过滤出带有关键字root的行,并输出行号

    grep -v 过滤出不带有关键字的行

    grep ‘^c’ /etc/passwd 过滤出c字符开头的行

    grep ‘h$’ /etc/passwd 过滤出h字符结尾的行

    grep ‘^$’ /etc/passwd 过滤出空行

    grep ‘^[^a-zA-Z]’ /etc/passwd 过滤出不以字母开头的行

    grep 'r..t' /etc/passwd  “.”表示任意一个字符,就是把符合r与o之间有两个任意字符的行过滤出来。

     “*”表示零个或多个前面的字符。 ‘.*’表示零个或多个任意字符,空行也包含在内。

     sed -n ‘1,4’p test.txt  打印1到4行,打印整个文档用 -n ‘1,$’p

    sed -n ‘/^a/’p test.txt 打印a开头的行

    sed -n ‘/root/’p test.txt 打印包含root的行

    ps -a | less  查看所有进程,可以结合less命令来查看

    ps -u username  根据用户过滤进程

    ps -f   查看格式化的信息列表

    ps -e 显示所有进程信息

    ps -ef | grep 1000  查找进程id为1000的信息

    ps -aux|grep 服务名    用于查看服务是否启动

    ps -aux --sort -pcpu | less  根据 CPU 使用来降序排序

    ps -aux --sort -pmem | less  根据 内存 使用来降序排序

    ps -aux --sort -pcpu,+pmem | head -n 10  显示前十的cpu、内存使用率的进程

    watch -n 1 'ps -aux --sort -pmem | head -n 10'    实时监控进程前10的内存使用率进程

    netstat -nltp   查看启动了哪些端口

    -a 所有端口 

    -t  tcp端口

    -u udp端口

     -p 显示进程id

    -n  不显示主机,端口和用户名

    -l  只显示linsten端口

    netstat -an | grep 80  检测80端口是否在监听

    netstat -ap | grep ssh   找出ssh进程的端口

    tail -100f /APP/web/logs/log.log   实时查看某个服务的日志

    vim test.txt 进入一般模式,按i,I,a,A,o,O,r,R进入编辑模式,屏幕最下一行出现INSERT。按ESC退出编辑模式。然后按:进入命令模式,最后输入wq保存退出。

     

                         一般模式下移动光标

    h或向左方向键

    光标向左移动一个字符

    j或者向下方向键

    光标向下移动一个字符

    K或者向上方向键

    光标向上移动一个字符

    l或者向右方向键

    光标向右移动一个字符

    Ctrl + f 或者pageUP键

    屏幕向前移动一页

    Ctrl + b 或者pageDOWN键

    屏幕向后移动一页

    0(数字0)或者Shift+6

    移动到本行行首

    Shift+4

    即’$’移动到本行行尾

    H

     光标移动屏幕顶行

    M

    光标移动到当前屏幕的中央那一行

    L

    光标移动到当前屏幕的最底行

    G

    光标移动到文本的最末行

    nG(n是数字)

    移动到该文本的第n行

    gg

    移动带该文本的首行

     

                      一般模式下查找与替换

    /word

    向光标之后寻找一个字符串名为word的字符串,当找到第一个word后,按”n”继续搜后一个

    ?word

    想光标之前寻找一个字符串名为word的字符串,当找到第一个word后,按”n”继续搜前一个

    :n1,n2s/word1/word2/g

    在n1和n2行间查找word1这个字符串并替换为word2,你也可以把”/”换成”#”

    :1,$s/word1/word2/g

    从第一行到最末行,查找word1并替换成word2

    :s/r1/r2/    替换当前行第一个 r2为 r1

    :s/r2/r1/g   替换当前行所有 r2为 r1

                       一般模式下删除、复制粘贴

    x,X

    x为向后删除一个字符,X为向前删除一个字符

    nx(n为数字)

    向后删除n个字符

    dd

    删除光标所在的那一行

    ndd(n为数字)

    删除光标所在的向下n行

    d1G

    删除光标所在行到第一行的所有数据

    dG

    删除光标所在行到末行的所有数据

    yy

    复制光标所在的那行

    nyy

    复制从光标所在行起向下n行

    p,P

    p复制的数据从光标下一行粘贴,P则从光标上一行粘贴

    进入编辑模式

     

    i

    在当前字符前插入字符

    I

    在当前行行首插入字符

    a

    在当前字符后插入字符

    A

    在当前行行末插入字符

    o

    在当前行下插入新的一行

    O

    在当前行上插入新的一行

    命令模式

     

    :w

    将编辑过的文本保存

    :w!

    若文本属性为只读时,强制保存

    :q

    退出vim

    :q!

    不管编辑或未编辑都不保存退出

    :wq

    保存,退出

    :e!

    将文档还原成最原始状态

    ZZ

    若文档没有改动,则不储存离开,若文档改动过,则储存后离开,等同于:wq

    :w [filename]

    编辑后的文档另存为filename

    :r [filename]

    在当前光标所在行的下面读入filename文档的内容

    :set nu

    在每行的行首显示行号

    :set nonu

    取消行号

     

     

     

    gzip 压缩文件,不能压缩目录,bzip2用法相似  

    gzip -d 解压缩,  bzip2用法相似

    tar [-zjxcvfpP] filename

    -z :是否同时用gzip压缩

    -j :是否同时用bzip2压缩

    -x :解包或者解压缩

    -t :查看tar包里面的文件

    -c :建立一个tar包或者压缩文件包

    -v :可视化

    -f :后面跟文件名,压缩时跟-f文件名,意思是压缩后的文件名为filename,解压时跟-f文件名,意思是解压filename。请注意,如果是多个参数组合的情况下带有-f,请把f写到最后面。

    rpm  filename :安装一个rpm包

    -i :安装      --force :强制安装,覆盖其他包的文件

    -v :可视化    -h :显示进度

    --nodeps :当安装包的依赖其他包时,即使其他包没有安装,也要安装这个包

    rpm -Uvh filename -U :升级rpm包

    rpm -e filename :卸载rpm包

    rpm -q 包名  :查询一个包是否安装

    yum list 列出所有可用的rpm包   

    yum list |grep vim 搜索vim的可用包

    yum search vim  搜索vim的rpm包

    yum install [-y] [rpm包名]   安装包,不加-y选项,则会以与用户交互的方式安装

    yum remove [-y] [rpm包名]  卸载包,不加-y选项,则会以与用户交互的方式卸载

    yum update [-y] [rpm包]   升级一个rpm包 

    chgrp [-R] 属组名文件名    递归更改目录下的所有文件的属组名

    chown [–R] 属主名 文件名    更改文件属主

    chown [-R] 属主名:属组名 文件名   更改文件属主和属组

    chmod [-R] test    修改test文件或目录权限

    每种身份(user/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx---] 分数则是:

    • user = rwx = 4+2+1 = 7  
    • group = rwx = 4+2+1 = 7
    • others= --- = 0+0+0 = 0

    chmod

    u
    g
    o
    a

    +(加入)
    -(除去)
    =(设定)

    r
    w
    x

    文件或目录

    a表示all

    chmod  a-x test   拿掉全部人对test的可执行权限。

    df -h /etc     查看etc下的磁盘占用

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

    -c 统计字节数。

    -l 统计行数。

    -m 统计字符数。这个标志不能与 -c 标志一起使用。

    -w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。

    -L 打印最长行的长度。

     more 以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。

    +n      从笫n行开始显示
    -n       定义屏幕大小为n行
    +/string  在每个档案显示前搜寻该字串,然后从该字串前两行之后开始显示

     常用操作命令:

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

    空格键  向下滚动一屏

    b  返回上一屏

    =     输出当前行的行号

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

    v    调用vi编辑器

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

    q       退出more

    find 查找指定目录或文件

       列出当前目录及子目录下所有文件和文件夹

    /home目录下查找以.txt结尾的文件名

    找出/home下不是以.txt结尾的文件

    find  /home -mtime +7     找出7天前修改的

    借助-exec选项与其他命令结合使用

     找出当前目录下所有root的文件,并把所有权更改为用户tom

     查找当前目录下所有.txt文件并把他们拼接起来写入到all.txt文件中

    top  实时显示 process 的动态。

    
    

    往linux服务器上传/下载各种安装包,安装rz/sz一步搞定,执行命令

    yum install lrzsz

    剩下就简单了,在Xshell:

    输入rz,会弹出文件选择框,上传文件到Linux

    输入sz文件名,会下载文件到Windows~

  • 相关阅读:
    js中for..of..和迭代器
    Python与其他语言的区别
    数据结构和算法部分总结
    MVC设计模式及SSH框架的介绍
    块级元素和行内元素以及display中block、inline和inline-block的区别
    线程安全和非线程安全
    Spring MVC拦截器入门
    Java反射的理解
    mybatis
    重定向和转发
  • 原文地址:https://www.cnblogs.com/xiaohuhu/p/8358573.html
Copyright © 2020-2023  润新知