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查看文件命令,分页查看

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是确认替换模式

    在可视模式中不用输入%

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

    e 文件名  编辑其他文件

    n 文件名  新建文件

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

    sp [文件名]   横向分屏

    vsp [文件名]  纵向分屏

      ctrl + w命令下: 

        w  切换分屏窗口

        r    翻转分屏窗口

        c  关闭当前窗口

        q  退出当前窗口

        o  关闭其他窗口

  编辑模式下:

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

  可视模式下:

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

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

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

      d  删除选中部分的文本

      u  撤销上一次命令

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

    

  

后端程序员必会常用Linux命令总结的更多相关文章

  1. Java程序员必会常用Linux速查手册

    目錄 系统服务管理 文件管理 查看日志 压缩与解压 磁盘和网络管理 防火墙 ftp操作 软件的安装与管理 其他 系统服务管理 systemctl 输出系统中各个服务的状态: systemctl lis ...

  2. 程序员必知的LinuxShell命令

    程序员必知的LinuxShell命令 grep (Globle Regular Expression Print全局正则表达式) 命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的 ...

  3. 找工作的程序员必懂的Linux

    一.为什么要学习Linux 首先,我想先说一下:“为什么要学习Linux”?Linux 是什么,它是一款操作系统,是一个支持多用户.多任务.支持多线程和多CPU的操作系统:32位和64位的硬件可以在L ...

  4. 【Linux常用命令①】程序员必须掌握的Linux命令

    目录 man:帮助命令 echo:输出 date:时间 reboot:重启 poweroff:关闭系统 wget:下载 ps:查看进程状态 top:任务管理器 pidof:查询某个指定进程的PID值 ...

  5. Java 程序员必须掌握的 Linux 命令

    作为一个Java开发人员,有些常用的Linux命令必须掌握.即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令.因为很多服务器上都是Linux系统.所以,要和服 ...

  6. Java 程序员必须掌握的 Linux 命令(转:导师Jencks)

    1.查找文件 find / -name filename.txt根据名称查找/目录下的filename.txt文件. find . -name "*.xml"递归查找所有的xml文 ...

  7. 初级程序员应该了解的Linux命令

    基于Linux的系统最美妙的一点,就是你可以在终端中使用命令行来管理整个系统.使用命令行的优势在于,你可以使用相同的知识和技能来管理随便哪个Linux发行版. 对于各个发行版以及桌面环境(DE)而言, ...

  8. Java程序员应该知道的linux命令

    1.查看Java进程:ps -ef|grep java,ps auxf|grep jva; 2.杀死所有Java进程: pkill java, kill -9 进程ID: 3.进入目录:cd /usr ...

  9. 后端程序员必备的 Linux 基础知识+常见命令(近万字总结)

    大家好!我是 Guide 哥,Java 后端开发.一个会一点前端,喜欢烹饪的自由少年. 今天这篇文章中简单介绍一下一个 Java 程序员必知的 Linux 的一些概念以及常见命令. 如果文章有任何需要 ...

随机推荐

  1. iOS __block 关键字的底层实现原理 -- 堆栈地址的变更

    默认情况下,在block中访问的外部变量是复制过去的.但是可以加上 __block  来让其写操作生效. 原理: Block 不允许修改外部变量的值,这里所说的外部变量的值,指的是栈中指针的内存地址. ...

  2. 解决js的 Math取正弦值 余弦值不准确的问题

    //角度 var  vAngle=90: //正弦值 var vSin=Math.round(Math.sin((vAngle * Math.PI/180)) * 1000000) / 1000000 ...

  3. CF1062E Company

    CF1062E Company 链接 cf luogu 题目大意 给定一颗树,有若干个询问,每个询问给出 l,r,要求编号为 ll~rr 的点任意删去一个之后剩余点的 LCA 深度最大,输出删去点的编 ...

  4. springmvc学习之jdk版本,tomcat版本,spring版本

    使用的软件是myeclipse2018,jdk8,tomcat9.0,spring3.2.0 以上为我的软件及各种配置 1.建立了web工程,build path 使用的是默认的j2EE1.8(只有配 ...

  5. LINQ to Entities does not recognize the method 'System.DateTime AddDays(Double)' method, and this method cannot be translated into a store expression.

    NormalSubmission=analysis.Count(x=>x.FinishTime<= endTime.AddDays(1))报错linq不能识别 => var endT ...

  6. Sonar 配置及部署(windows系统)

    Sonar 是一个用于代码质量管理的开放平台.通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具. 与持续集成工具(例如 Hudson/Jenkins 等)不同,Sona ...

  7. react+es6+webpack环境搭建以及项目入门

    前言:拖了这么久,小菜鸟终于开始正式应用react,和es6来开发项目了.之前超喜欢同学的一个博客风格,这里贴一下地址:https://iwenku.net/,PC端是他很久之前做的,最近他重新做了一 ...

  8. Scss 与 Sass 是什么,他们的区别在哪里?

    转载自:http://yunkus.com/difference-between-scss-sass/ 要想了解Scss 与 Sass 是什么以及他们的区别又在哪里,我们不过不先从他们各自的定义说起. ...

  9. Windows 7环境下网站性能测试小工具 Apache Bench 和 Webbench使用和下载

    1.简要说明: Apache Bench 是Apache的网站性能测试小程序,Windows平台下的程序名简称ab.exe,要想获得这个80k的可执行程序,用户需要下载整个Apache Httpd软件 ...

  10. 学习笔记70—Photoshop画齿轮

    具体步骤如下: 1)选择多边形工具: 2)设置齿轮个数及颜色相应参数: 3)画出模型: 4)找到上图模型的中心 (借助:ctrl + T),选择椭圆工具,并 长按Shift+Alt, 画出圆: 5) ...