zoukankan      html  css  js  c++  java
  • 后端程序员必会常用Linux命令总结

    1. 调整终端窗口大小: ctrl + '-'  缩小, ctrl + shift + '='  放大。

    2. command --help 查询命令详细 或者 man command

    3.ls命令,查看文件夹下的文件:

      -a  显示当前文件夹所有文件,包括隐藏文件

      -l   以列表的形式显示文件详情   drwxr-xr-x   2 root root 48 2013-11-27 16:34 test/

        格式为: 文件类型('d':文件夹,'-':文件,'b':设备文件)+ 文件读写(分别为USER,GROUP,OTHER的权限   r:可读,w:可写,x:可执行)

             硬链接数(有多少种方式可以访问)

             文件拥有着

             文件所属组

             文件大小

             文件最后修改时间

             文件目录

      ls h*  查找当前目录以h开头的文件。

       还包括支持ls h? ,*h, [a-f]这样的正则表示情况。 

    4.cd命令

      cd + .. 进入上级命令

      cd + ~ 返回家命令 (直接cd也可以)

      cd + '-'  切换最近两个目录

    5.touch命令创建文件

      文件如果已经存在,则会修改文件最后修改日期

    6.mkdir创建目录

      -p 创建多级目录 mkdir -p a/b/c/d 

    7.rm命令

      -r 递归里面的文件可以删除文件夹 

      -f 不显示提示信息

    8.cp复制命令

      cp 原文件 目标路径

      -i 若有覆盖是会询问

      -r 复制文件夹时会复制文件夹所有内容

    9.mv移动命令

      -i 覆盖前会询问

      mv 源文件 目标路径

      mv 原文件名 新文件名  可以重命名文件

    10.tree命令显示当前文件夹结构

      -d 只显示文件夹

    11. cat查看文件命令,一次性查看所有内容

      -b 对非空行进行编号

      -n 对所有行编号

    12. more,less查看文件命令,分页查看

      more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。

      less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

    13. grep搜索文本命令

      grep h text 在text中查看包含h的内容

      -n 显示行号

      -v 不包含h的行

      支持正则表达式:^,$

    14.echo命令,显示参数通常会和重定向一同使用

    15.重定向

      Linux允许将命令执行结果重定向到一个文件,可以将本应显示在终端上的内容追加到指定文件中

      > 表示输出,会覆盖原有的内容

      >> 表示追加,会将内容追加到已有文件的末尾

    16.关机或重启 shutdown ; reboot

      shutdown -r 重启

      shutdown 选项 时间   设定多长时间后关闭     

        shutdown 20:35   

    17 ssh基础

      用户通过SSH客户端可以连接到运行了SSH服务器的远程机器上,传输的数据是加密和压缩的。

       ssh [-p port] user@remote

      port是ssh监听端口,如果不指定,默认值为22

      user 远程机器上的用户名,不指定默认为当前用户

      remote 是远程机器上的地址 可以是IP 或 域名

      SSH高级

        SSH 连接信息都会保存在家目录下的 .SSH文件夹里

        免密码登录

          配置公钥 执行ssh-keygen 即可生成SSH钥匙,一路回车

          上传公钥到服务器 执行ssh-copy-id -p port user@remote 让远程服务器记住公钥

        配置别名

          如果需要ssh mac 代替 ssh -p port user@remote,需要在创建~/.ssh/config并追加以下内容:

            Host mac

            HostName ip地址

            User  username

            Port  22

          保存之后即可使用ssh mac来远程连接

    18 scp 在linux下远程拷贝文件的命令(unix和linux之间文件传输信)

      把本地当前目录下的文件复制到远程:scp -P port 源文件 user@remote: url地址/文件名

      把远程目录下的文件复制到当前目录下: scp -P port  user@remote: url地址/文件名  文件名

      加上-r 选项可以传送文件夹

    19 filezilla (windows和linux之间文件传输)默认端口21

    20 chmod 修改用户/组对文件/目录的权限

      chmod +/-rwx 文件名|目录名

      目录如果没有可执行 文件就无法对其使用终端命令

      目录的可读 是查看目录里的内容

      目录的可写 是可以增删改里面的文件

      chmod [-R] 755 文件名/目录名

    21 执行目录下的文件脚本

      ./ + 文件名 

    22 组管理

      groupadd 组名  添加组

      groupdel  组名  删除组

      cat/etc/group     确认组信息

      chgrp [-R] 组名 文件/目录名  修改文件目录的所属组

    23 用户管理

      useradd  用户名  添加用户

        -m  自动在home目录下创建家目录

        -g 组名  指定新建用户的组

      userdel 用户名  删除用户

        -r  自动删除用户家目录

      cat /etc/passwd   确认用户信息  

        wang:x:1002:1001::/home/wang:

        用户名:表示密码加密的:uid:gid:用户的全名:家目录:登录使用的shell

       /user/bin/passwd  适用于修改用户密码的程序

    24 查看用户信息

      id[用户名]   查看用户的UID和GID信息

      who  查看当前所有登陆的用户列表

      whoami  查看当前登录用户的账户名

    25 usermod 用来设置用户的主组/附加组和登录shell

      主组:在新建用户时指定,在etc/passwd 第四列GID对应的组

      附加组:在etc/group中最后一列表示改组的用户列表,用于指定用户的附加权限(设置了之后需重新登录生效)

      usermod -g 组 用户名  修改用户的主组

      usermod -G 组 用户名  修改用户的附加组

        usermod -G sudo 用户名  将用户添加到sudo组里可以使用sudo权限

      usermod -s /bin/bash  修改用户的登录shell

    26 which

      which 命令  查询命令在终端中的保存位置

    27 bin和sbin

      bin  是二进制执行文件目录,主要用于具体应用

      sbin(system binary)  是系统管理员专用的二进制代码目录,用于系统管理

      /user/bin  后期安装的一些软件

      /user/sbin  超级用户的一些管理程序

    28 切换用户

      su - 户名  切换用户,并且切换到用户的目录 

        ‘-’   用来切换到家目录

      exit  退出当前登录账户

      su 不接用户名  直接切换到root用户(不推荐使用)

    29 chown  修改文件拥有者

      chown 用户名 文件/目录

    30 查询日期和时间

      date  查看系统时间

      calendar  查看本月日历

        -y    查看一年的日年

    31 查看磁盘信息

      df [-h]  显示磁盘剩余空间(disk free)

      du [-h] 目录  显示目录下的文件大小

    32 查看进程信息

      ps  查看进程工作状态(process status)

        a  显示终端上的所有进程

        u  显示进程的状态

        x  显示没有控制终端的进程

      top  动态显示系统cpu和内存使用情况并排序

      kill [-9] PID  关闭某个进程

    33 find [路径] -name ’文件名或部分文件名'  (find的用法很多,可以查询文件类型,创建时间,大小等等,大家可以用 man 或 --help查看不做过多赘述)

    34 软链接 ln -s 被连接的源文件路径 目标文件名 (可以用ls -l查看连接详情)

        注意:源文件路径应该为绝对路径,否则软连接的文件移动时会失效

        没有-s会创建硬链接,会占用同样大的空间

    35 硬链接 ln 原文件的路径 目标文件名

    36 软链接与硬链接的区别

      在linux中,文件和文件数据是分开存储的,文件相当于指针,在系统中找到对应的文件数据,软连接的文件名可以找到被连接的原文件,继而找到数据,但是如果原文件删除了,就找不到数据了。硬链接则是相当于复制了原文件,即使原文件被删了,指针还是能找到数据

    37 打包压缩

      tar.gz  tar负责将很多数据进行打包

        文件打包 tar -cvf 打包文件路径 被打包的文件 (多个文件用空格分开)

        文件解包 tar -xvf 打包文件名

      gzip负责压缩tar文件,默认扩展名为.tar.gz

        文件包压缩 tar -zcvf 打包文件路径 被打包的文件 (多个文件用空格分开)

        压缩包解压 tar -zxvf 打包文件名

      bzip2 默认扩展名为.tar.bz2

        文件包压缩 tar -jcvf 打包文件路径 被打包的文件 (多个文件用空格分开)

        压缩包解压 tar -jxvf 打包文件名

           -C 指定目标目录(如果目录不存在会不存在)

    38 软件安装

      sudo apt-get install 软件名  安装软件

      sudo apt-get remove 软件名  卸载软件

      sudo apt-get upgrade    升级软件

    39 配置软件源

      图形界面:可以在软件与更新中找到国内服务器

    40 VIM

      vi 文件名 + 行数   打开文件可以跳到文件的指定行,不指定行数可以跳到末尾

      命令模式下:(用vi打开文件时自动进入命令模式)

        数字 + 命令  命令重复的次数

        光标方向移动   h j k l

        行内移动  w 向后移动一个单词  

              b 向前移动一个单词

              0 回到行首

              ^ 跳到行内第一个非空格字符

              $ 跳到行尾

              gg 跳到文件首行

              G 跳到末尾

              行数 + G 或 行数 + gg  移动到对应行数

        屏幕移动  ctrl + b 向前翻页

              ctrl + f  向后翻页

        段落寻找  {     向前寻找段落

              }   向后寻找段落

        在行内输入%  可以匹配到成对的括号

        文本标记  在光标出输入m + 一个大小写字母标记位置,光标移动时可以用 ' + 标记字母返回之前位置

        dd  删除所在行(vi的删除命令本质上是剪切操作,可以用p粘贴删除的文本内容)

        D  删除到末尾

        删除和移动的配套:

          dw  向后删一个单词

          d0  删到文本开头

          d{  删除到段落开头

          ndd  删除n行

          d'a  删除到标记位置

          d行数G  删除到指定行数

        y(移动命令)  复制所选区域

        yy  复制当前行

        p  粘贴

        r  在光标处替换字符

        R  光标向后移,一直替换

        缩排命令(可视模式可以整体缩进)

          >>  向右缩进4个空格

          <<  向左缩进4个空格

          。  重复上一次的缩进操作

        /str  查找字符串

          n  下一个

          N  上一个

        光标放在单词处

          *  查找上一个同样的字符

          #  查找下一个同样的字符

        

      末行模式下:

        %s/被替换的str/新的str/g[c]  将文本中str整体替换 c是确认替换模式

          :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky 

          :%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky 

        在可视模式中不用输入%

        e .  查看当前目录其他文件,选中按回车经行编辑 (不保存当前文件无法切换)

        e 文件名  编辑其他文件

        n 文件名  新建文件

        w 文件名  写入到另一个文件,相当于另存为

        sp [文件名]   横向分屏

        vsp [文件名]  纵向分屏

          ctrl + w命令下: 

            w  切换分屏窗口

            r    翻转分屏窗口

            c  关闭当前窗口

            q  退出当前窗口

            o  关闭其他窗口

      编辑模式下:

        可以使用ctrl + v 粘贴其他软件复制的内容 

      可视模式下:

        v 进入可视模式   光标经过的区域都会选中

        V 可视行模式   光标所在的行会选中

          ctrl + v 可视块模式  垂直选中

          d  删除选中部分的文本

          u  撤销上一次命令

          ctrl + r  与撤销相反,回复操作

        

      

  • 相关阅读:
    OLAP ODS项目的总结 平台选型,架构确定
    ORACLE ORA12520
    ORACLE管道函数
    ORACLE RAC JDBC 配置
    ORACLE RAC OCFS连接产生的错误
    ORACLE 启动和关闭详解
    OLAP ODS项目的总结 起步阶段
    ORACLE RAC 配置更改IP
    ORACLE RAC OCR cann't Access
    ORACLE RAC Debug 之路 CRS0184错误与CRS初始化
  • 原文地址:https://www.cnblogs.com/jimmyhe/p/10442292.html
Copyright © 2011-2022 走看看