Linux实用指令总结

149 阅读8分钟

本篇笔记目的: 多种多样的指令让我在没有系统学习linux经验的前提下,给我带来了很多的困扰,今天就在这里总结一些常用的linux系统命令。

总结的命令主要包括,基本语法,作用,常用选项,使用细节,举例

目录类

  1. pwd 命令
  • 基本语法:pwd
  • 作用:描述当前工作目录的绝对路径
  1. ls 命令
  • 基本语法:ls [选项] [目录或文件]
  • 基本作用:显示目录内包含的文件或目录信息
  • 常用选项:
选项作用
-a显示当前目录的所有文件和目录,包括隐藏文件(linux隐藏文件以.开头)
-l以列表的方式显示目录文件信息
-h以更符合人类看的方式显示文件信息(文件大小从字节数变到k,M结尾等)
  1. cd 命令
  • 基本语法:cd [目录] (目录可以是相对路径或者绝对路径)
  • 基本作用:切换到指定目录
  • 使用细节:
    • cd ~ 回到用户的根目录
      • 如果是root用户,回到/root目录下
    • cd .. 返回当前目录的上一级目录
  1. mkdir 命令
  • 基本语法:mkdir [选项] 文件夹名
  • 基本作用:创建一个新文件夹
  • 常用选项
选项作用
-r递归创建多级目录
  1. rmdir 命令
  • 基本语法:rmdir [选项] 文件夹名
  • 基本作用:删除文件夹
  • 使用细节:
    • rmdir 删除的是空目录,如果文件夹内有内容无法删除
    • 如果要删除非空目录,使用rm -rf删除要删除的目录(递归强制删除)
  1. cp 命令
  • 基本语法:cp [选项] source dest
  • 基本作用:拷贝文件到指定目录
  • 常用选项
选项作用
-r递归地复制整个文件
  • 使用细节:强制覆盖不提示,使用/cp
  1. rm 命令
  • 基本语法:rm [选项] 要删除的文件或目录
  • 基本作用:删除要删除的文件
  • 常用选项
选项作用
-r递归地复制整个文件
-f强制删除文件,不提示
  1. mv 命令
  • 基本语法:
    • mv oldName newName
    • mv 原文件 /新目录 移动文件
  • 基本作用:
    • 重命名
    • 移动文件或文件夹
  1. ln命令
  • 基本语法:ln -s [原文件或目录] [软链接名]
  • 基本作用:给原文件创建一个软链接,类似windows快捷方式
  • 使用细节:
    • 可以使用rm删除软链接
    • 在软链接中,使用pwd会显示软链接所在目录

文件类

  1. touch 命令
  • 基本语法:touch 文件名
  • 基本作用:创建一个空的文件
  1. cat 命令
  • 基本语法:cat [选项] 要查看的文件
  • 基本作用:浏览文件内容
  • 常用选项
选项作用
-n显示行号
  • 使用细节: cat 命令只能浏览文件,不能修改,为了方便浏览,一般会带上管道命令 | more,让文件内容依次显示
  1. more 命令
  • 基本语法:more 文件名
  • 基本作用:一个基于vi编辑器的文本过滤器,可以让你分片查看一个文件的内容。
  • 常用选项
选项作用
空格(space)翻页
Enter翻一行
q代表立刻离开more,不再显示该文件内容
Ctrl+F向下滚动一屏
Ctrl+B返回上一屏
=输出当前行号
:f输出文件名和当前的行号
  1. less 命令
  • 基本语法:less 文件名
  • 基本作用:分段查看文件内容,功能与more相似,比more指令更加强大,支持显示各种终端。
  • 使用细节:less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据需要加载显示的内容,对于显示大型文件,效率较高
  • 常用选项
选项作用
空格(space)向下翻页
[pagedown]向下翻页
[pageup]向上翻页
/字串向下搜寻目标字串,n:向下查找,N:向上查找
?字串向上搜寻目标字串,n:向下查找,N:向上查找
q代表立刻离开less,不再显示该文件内容
  1. echo 命令
  • 基本语法:echo [选项] [输出内容]
  • 基本作用:输出内容到控制台
  • 使用细节:可以输出环境变量,也可以输出具体内容,具体内容放在引号""中
  1. head 命令
  • 基本语法:head [文件]
  • 基本作用:查看文件前10行的内容
  • 使用细节:head -n 5 文件,表示查看文件前5行的内容,5可以是任意数字
  1. tail 命令
  • 基本语法:tail [文件]
  • 基本作用:显示文件尾部内容,和head类似
  • 使用细节:tail -f 文件,用来试试追踪文档的更新,占用terminal
    • 常用来实时查看测试文档
  1. > 命令
  • 基本语法:操作 > 文件
  • 基本作用:输出重定向,覆盖
  • 使用细节:可以使用 cat 文件1 > 文件2,达到用文件1内容快速覆盖文件2内容的效果。
  • 举例:echo "hello" > update.txt, 将hello输出到update.txt文件中,覆盖文件内容。(如果要输出的文件不存在会自动创建)
  1. >> 命令
  • 基本语法:操作 >> 文件
  • 基本作用:和>基本一致,区别为>覆盖文件内容,>>在新文件后边追加内容

时间日期类

  1. date 命令
  • 基本语法:date
  • 基本作用:显示当前时间
  • 使用细节:
    • date -s 字符串时间,可以设置系统当前时间
  1. cal 命令
  • 基本语法:cal
  • 基本作用:显示当前月日历

搜索查找类

  1. find 命令
  • 基本语法:find [搜索范围] [选项]
  • 基本作用:从指定目录向下递归地遍历其各个子目录,将满足条件的文件或目录显示在终端
  • 常用选项
选项作用
-name 文件名(正则)按照指定的文件名查找文件
-user查找属于指定用户名的所有文件
-size按照指定的文件大小查找文件(+表示大于,-表示小于,单位有k, M, G)
  • 举例
    • find / -size +200M 查找根目录下大小大于200M的文件
  1. locate
  • 基本语法:locate 文件名
  • 基本作用:搜索文件:快速定位文件路径。利用提前简历文件系统所有文件名及路径的locate数据库实现快速定位给定的文件。
  • 使用细节:
    • locate指定基于数据库进行查询,第一次运行前,必须使用uodatedb指定船舰locate数据库
    • locate指令无需遍历整个文件系统,查询速度较快。
  1. grep 命令
  • 基本语法:grep [选项] 查找内容 源文件

  • 基本作用:过滤查找

  • 常用选项 | 选项 | 作用 | | --- | --- | | -n | 显示匹配行及行号 | | -i | 忽略字幕大小写查找 |

  • 举例:

    • grep -n "yes" hello.txt,在hello.txt文件中查找,yes所在行,并显示行号。
  1. | 管道指令
  • 基本语法:操作 | 操作
  • 基本作用:将前一个命令的处理结果输出传递给后面的命令处理
  • 举例:
    • cat hello.txt | grep "yes", 将cat输出的hello.txt文件内容交给grep处理

压缩解压类

1. gzip/gunzip 命令

  • 基本语法
    • gzip 文件:用于压缩文件,将文件压缩为 *.gz
    • gunzip *.gz: 将文件解压缩
  1. zip/unzip 命令
  • 基本语法:
    • zip *.zip 文件目录:将目录文件压缩到具体的zip文件中
    • unzip *.zip: 文件解压缩
  • 特别说明:
    • zip -r 递归压缩,用于压缩文件夹
    • unzip -d <目录> 指定解压后文件的存放目录
  • 举例:
    • unzip -d /opt/tmp myhome.zip 将myhome.zip文件解压缩到.opt/tmp文件夹下
  1. tar 命令
  • 基本语法:tar [选项] *.tar.gz [压缩的内容]
  • 基本作用:通过选项将内容压缩或解压
  • 常用选项
选项作用
-c产生打包文件
-v显示详细信息
-f指定压缩后的文件名
-z打包同时压缩
-x解压压缩包文件
  • 使用细节:
    • 压缩选项:-zcvf
    • 解压缩选项:-zxvf
  • 举例:
    • 将pig.txt 和 cat.txt文件压缩到pc.tar.gz中,tar -zcvf pc.tar.gz pig.txt cat.txt
    • 解压文件到指定目录, tar -zxvf pc.tar.gz -C /opt/tmp2

其它

1. history 命令

  • 基本作用:查看系统已经执行过的指令
  • 使用细节:
    • history n 查看系统最近执行的n个指令
    • !n 执行历史编号为n的指令

总结

总结:作为一个学生java程序员,会涉及到很多部署的项目,所以避免不了操作Linux服务器,其中linux的各种操作指令,给我带来过很大的困扰,其实了解了指令的作用之后,并不会感觉特别的困难,也没有什么逻辑上的问题,但是没有学过这些指令时,面对各个博客或教程上的操作会不自觉地感觉发怵,进而导致自己在实践时,做出一系列匪夷所思的操作,浪费大量时间。