zoukankan      html  css  js  c++  java
  • 后端程序员常用的linux命令

    1. windows   ctrl+ -  终端窗口变小      ctrl + shift + =  终端窗口变大 

    1. mac   command+ -  终端窗口变小      command + 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 只显示文件夹

    使用tree首先需要进行安装tree

    sudo apt-get install tree 

    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  与撤销相反,回复操作

     

  • 相关阅读:
    .NET技术对软件行业的积极作用
    ADO.NET Entityframework MYSQL provider
    用杯子量水问题通用解法
    详解.NET异步
    说 框架、架构、模式、重构
    谈 三层结构与MVC模式的区别
    面试题一例分享
    LINQ notes2 lambda expression
    毕业论文B.3 DTW算法
    LINQ notes1 intro
  • 原文地址:https://www.cnblogs.com/gaosf/p/11315823.html
Copyright © 2011-2022 走看看