本篇笔记目的: 多种多样的指令让我在没有系统学习linux经验的前提下,给我带来了很多的困扰,今天就在这里总结一些常用的linux系统命令。
总结的命令主要包括,基本语法,作用,常用选项,使用细节,举例
目录类
- pwd 命令
- 基本语法:pwd
- 作用:描述当前工作目录的绝对路径
- ls 命令
- 基本语法:ls [选项] [目录或文件]
- 基本作用:显示目录内包含的文件或目录信息
- 常用选项:
| 选项 | 作用 |
|---|---|
| -a | 显示当前目录的所有文件和目录,包括隐藏文件(linux隐藏文件以.开头) |
| -l | 以列表的方式显示目录文件信息 |
| -h | 以更符合人类看的方式显示文件信息(文件大小从字节数变到k,M结尾等) |
- cd 命令
- 基本语法:cd [目录] (目录可以是相对路径或者绝对路径)
- 基本作用:切换到指定目录
- 使用细节:
- cd ~ 回到用户的根目录
- 如果是root用户,回到/root目录下
- cd .. 返回当前目录的上一级目录
- cd ~ 回到用户的根目录
- mkdir 命令
- 基本语法:mkdir [选项] 文件夹名
- 基本作用:创建一个新文件夹
- 常用选项
| 选项 | 作用 |
|---|---|
| -r | 递归创建多级目录 |
- rmdir 命令
- 基本语法:rmdir [选项] 文件夹名
- 基本作用:删除文件夹
- 使用细节:
- rmdir 删除的是空目录,如果文件夹内有内容无法删除
- 如果要删除非空目录,使用rm -rf删除要删除的目录(递归强制删除)
- cp 命令
- 基本语法:cp [选项] source dest
- 基本作用:拷贝文件到指定目录
- 常用选项
| 选项 | 作用 |
|---|---|
| -r | 递归地复制整个文件 |
- 使用细节:强制覆盖不提示,使用/cp
- rm 命令
- 基本语法:rm [选项] 要删除的文件或目录
- 基本作用:删除要删除的文件
- 常用选项
| 选项 | 作用 |
|---|---|
| -r | 递归地复制整个文件 |
| -f | 强制删除文件,不提示 |
- mv 命令
- 基本语法:
- mv oldName newName
- mv 原文件 /新目录 移动文件
- 基本作用:
- 重命名
- 移动文件或文件夹
- ln命令
- 基本语法:ln -s [原文件或目录] [软链接名]
- 基本作用:给原文件创建一个软链接,类似windows快捷方式
- 使用细节:
- 可以使用rm删除软链接
- 在软链接中,使用pwd会显示软链接所在目录
文件类
- touch 命令
- 基本语法:touch 文件名
- 基本作用:创建一个空的文件
- cat 命令
- 基本语法:cat [选项] 要查看的文件
- 基本作用:浏览文件内容
- 常用选项
| 选项 | 作用 |
|---|---|
| -n | 显示行号 |
- 使用细节: cat 命令只能浏览文件,不能修改,为了方便浏览,一般会带上管道命令 | more,让文件内容依次显示
- more 命令
- 基本语法:more 文件名
- 基本作用:一个基于vi编辑器的文本过滤器,可以让你分片查看一个文件的内容。
- 常用选项
| 选项 | 作用 |
|---|---|
| 空格(space) | 翻页 |
| Enter | 翻一行 |
| q | 代表立刻离开more,不再显示该文件内容 |
| Ctrl+F | 向下滚动一屏 |
| Ctrl+B | 返回上一屏 |
| = | 输出当前行号 |
| :f | 输出文件名和当前的行号 |
- less 命令
- 基本语法:less 文件名
- 基本作用:分段查看文件内容,功能与more相似,比more指令更加强大,支持显示各种终端。
- 使用细节:less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据需要加载显示的内容,对于显示大型文件,效率较高
- 常用选项
| 选项 | 作用 |
|---|---|
| 空格(space) | 向下翻页 |
| [pagedown] | 向下翻页 |
| [pageup] | 向上翻页 |
| /字串 | 向下搜寻目标字串,n:向下查找,N:向上查找 |
| ?字串 | 向上搜寻目标字串,n:向下查找,N:向上查找 |
| q | 代表立刻离开less,不再显示该文件内容 |
- echo 命令
- 基本语法:echo [选项] [输出内容]
- 基本作用:输出内容到控制台
- 使用细节:可以输出环境变量,也可以输出具体内容,具体内容放在引号""中
- head 命令
- 基本语法:head [文件]
- 基本作用:查看文件前10行的内容
- 使用细节:head -n 5 文件,表示查看文件前5行的内容,5可以是任意数字
- tail 命令
- 基本语法:tail [文件]
- 基本作用:显示文件尾部内容,和head类似
- 使用细节:tail -f 文件,用来试试追踪文档的更新,占用terminal
- 常用来实时查看测试文档
- > 命令
- 基本语法:操作 > 文件
- 基本作用:输出重定向,覆盖
- 使用细节:可以使用 cat 文件1 > 文件2,达到用文件1内容快速覆盖文件2内容的效果。
- 举例:echo "hello" > update.txt, 将hello输出到update.txt文件中,覆盖文件内容。(如果要输出的文件不存在会自动创建)
- >> 命令
- 基本语法:操作 >> 文件
- 基本作用:和>基本一致,区别为>覆盖文件内容,>>在新文件后边追加内容
时间日期类
- date 命令
- 基本语法:date
- 基本作用:显示当前时间
- 使用细节:
- date -s 字符串时间,可以设置系统当前时间
- cal 命令
- 基本语法:cal
- 基本作用:显示当前月日历
搜索查找类
- find 命令
- 基本语法:find [搜索范围] [选项]
- 基本作用:从指定目录向下递归地遍历其各个子目录,将满足条件的文件或目录显示在终端
- 常用选项
| 选项 | 作用 |
|---|---|
| -name 文件名(正则) | 按照指定的文件名查找文件 |
| -user | 查找属于指定用户名的所有文件 |
| -size | 按照指定的文件大小查找文件(+表示大于,-表示小于,单位有k, M, G) |
- 举例
- find / -size +200M 查找根目录下大小大于200M的文件
- locate
- 基本语法:locate 文件名
- 基本作用:搜索文件:快速定位文件路径。利用提前简历文件系统所有文件名及路径的locate数据库实现快速定位给定的文件。
- 使用细节:
- locate指定基于数据库进行查询,第一次运行前,必须使用uodatedb指定船舰locate数据库
- locate指令无需遍历整个文件系统,查询速度较快。
- grep 命令
-
基本语法:grep [选项] 查找内容 源文件
-
基本作用:过滤查找
-
常用选项 | 选项 | 作用 | | --- | --- | | -n | 显示匹配行及行号 | | -i | 忽略字幕大小写查找 |
-
举例:
- grep -n "yes" hello.txt,在hello.txt文件中查找,yes所在行,并显示行号。
- | 管道指令
- 基本语法:操作 | 操作
- 基本作用:将前一个命令的处理结果输出传递给后面的命令处理
- 举例:
- cat hello.txt | grep "yes", 将cat输出的hello.txt文件内容交给grep处理
压缩解压类
1. gzip/gunzip 命令
- 基本语法
- gzip 文件:用于压缩文件,将文件压缩为 *.gz
- gunzip *.gz: 将文件解压缩
- zip/unzip 命令
- 基本语法:
- zip *.zip 文件目录:将目录文件压缩到具体的zip文件中
- unzip *.zip: 文件解压缩
- 特别说明:
- zip -r 递归压缩,用于压缩文件夹
- unzip -d <目录> 指定解压后文件的存放目录
- 举例:
- unzip -d /opt/tmp myhome.zip 将myhome.zip文件解压缩到.opt/tmp文件夹下
- 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的各种操作指令,给我带来过很大的困扰,其实了解了指令的作用之后,并不会感觉特别的困难,也没有什么逻辑上的问题,但是没有学过这些指令时,面对各个博客或教程上的操作会不自觉地感觉发怵,进而导致自己在实践时,做出一系列匪夷所思的操作,浪费大量时间。