目录
- 一、指令的理解
- 二、Linux的目录结构
- 三、XShell 下的热键
- 四、shell命令以及运行原理
- 五、Linux常见的指令汇总
- 1. ls 指令
- 2. pwd 指令
- 3. cd 指令
- 4. touch指令
- 5. mkdir指令
- 6. rmdir指令 && rm 指令
- 7. man指令
- 8. cp指令
- 9. echo指令
- 10. mv指令
- 11. cat指令
- 12. more指令
- 13. less指令
- 14. head指令
- 15. tail指令
- 16. 时间相关的指令
- 17. cal指令
- 18. find指令
- 19. grep指令
- 20. zip/unzip指令
- 21. which指令
- 22. alias指令
- 23.tar指令
- 24.bc指令
- 25.uname –r指令
- 26.关机
一、指令的理解
- 指令本质就是:文件-------可执行程序,指令就是安装在了系统的特定路径下
- 执行指令前,首先要在系统查找该指令,若找到,则执行,没找到,系统会提示你:command not found
二、Linux的目录结构
linux的目录结构一定是一个多叉树的样子,它的叶子结点一定是空目录或者是非空文件,路上节点一定是一个非空目录。
绝对路径:从根目录到指定位置,具有唯一性的路径
相对路径:我们以自己当前所处路径为起始参照位置,来进行特定文件的定位,这种路径叫相对路径。
- 绝对路径往往比较长,但是不变,一般在一些固定场景,配置文件中使用。
- 相对路径在命令行输入中,一般比较常见。
三、XShell 下的热键
- ctrl + c:终止因为程序或指令异常,而导致的指令无法输入。
- ctrl + insert:复制 (有的 insert 需要配合 fn 来按)
shift + insert:粘贴 - Tab:具有『命令补全』和『档案补齐』的功能
- ctrl + d:通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,它也可以用来取代exit
- ctrl + r:搜索历史命令
四、shell命令以及运行原理
Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。如何理解?为什么不能直接使用kernel?
从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)主要包含:
- 将使用者的命令翻译给核心(kernel)处理。
- 同时,将核心的处理结果翻译给使用者。
命令行存在的意义:
- 进行命令行解释
- 保护OS,对于用户的非法请求,直接拦截
五、Linux常见的指令汇总
- ls 指令 2. pwd 指令
- cd 指令 4. touch指令
- mkdir指令 6. rmdir指令 && rm 指令
- man指令 8. cp指令
- echo指令 10. mv指令
- cat指令 12. more指令
- less指令 14. head指令
- tail指令 16. 时间相关的指令
- cal指令 18. find指令
- grep指令 20. zip/unzip指令
- which指令 22. alias指令
- tar指令 24. bc指令
- uname –r指令 26. 关机
1. ls 指令
语法: ls [选项][目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
文件的操作:文件内容的操作+文件属性的操作
ls :文件的属性的操作
关于 ls 查看文件或目录的三种方法:
-
进入目录,然后 ls 查看当前目录
-
先进入要查找的文件或目录的上级目录,然后 ls + 要查找的目录或文件名
-
直接 ls + 要查找的目录或文件 的绝对路径 查看
1.1 常见的一些有关 ls 的别名
1.2 隐藏文件或目录
- 隐藏文件或目录:以 . 开头的文件或目录
- linux下,任何一个目录都有两个隐藏文件: . 和 . .
- . . 表示当前路径的上级路径,. 表示当前路径
- . 存在的意义:帮助用户定位当前目录下的一个文件
1.3 * 的匹配
2. pwd 指令
语法: pwd
功能:显示用户当前所在的目录
3. cd 指令
语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。
将当前工作目录改变 到指定的目录下 的两种方法:
- cd + 绝对路径/相对路径
- 将目录改变为 指定的目录的上级目录 ,再cd + 指定的目录名。
3.1 cd . . 指令
- . . 表示当前路径的上级路径,那么 cd . . 指令 即回退到上级路径
4. touch指令
语法:touch [选项]… 文件…
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件
5. mkdir指令
语法:mkdir [选项] dirname…
功能:在当前目录下创建一个名为 “dirname”的目录
6. rmdir指令 && rm 指令
6.1 rmdir指令
rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除空目录(不可以删文件)。
语法:rmdir [-p][dirName]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录,非空目录不可删
6.2 rm 指令
rm命令可以同时删除文件或目录,若该目录为非空目录,则子目录和文件都会删除
语法:rm [-f-i-r-v][dirName/dir]
适用对象:所有使用者
功能:删除文件或目录
使用rm * -rf 或 rm -rf * 指令,可以使该目录下的子目录和文件全部删除。
7. man指令
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man
语法: man [选项] 命令
8. cp指令
语法:cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
8.1 cp 拷贝文件
8.2 cp 拷贝目录
9. echo指令
9.1 echo:显示后面跟着的字符串
echo 指令默认加一个换行符。
9.2 echo 字符串 > 文件名
-
输出重定向
-
覆盖写入
输出重定向的特点:
向目标文件进行写入时,覆盖写入:
1.清空数据
2.写入新内容
-
清空文件
那么,如果我们想清空文件,该怎么做呢?
我们可以像下面这样做:
-
追加重定向
-
无论是输出重定向还是追加重定向,如果文件不存在,则会自动创建一个这样的文件。
则还可以如下方法来创建文件:
10. mv指令
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。
语法: mv [选项] 源文件或目录 目标文件或目录
功能:
- 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
- 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
- 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中
10.1 mv 剪切,重命名 目录
格式:mv + 目录1 +目录2
如果目录2为已有目录,则是剪切(将目录1剪切到目录2中)。
如果目录2为新目录,则是重命名。
10.2 mv 剪切,重命名 文件
重命名格式:mv + 文件1 + 文件2
- 如果文件2为已有文件,则是会询问是否覆盖,覆盖后,内容为文件1,名字为文件2。
- 如果文件2为新文件,则是将文件1剪切到文件2中,内容为文件1,名字为文件2。
格式 2:mv + 文件 + 目录
- 将文件剪切到目录中。
11. cat指令
语法:cat [选项][文件]
功能: 查看目标文件的内容
注意:cat 不适合看大文本,只适合看小文本
-
cat 可以理解为一种输入重定向,本来应该从文件中读取,现在不用从文件中读取,从指定文件中读取
-
如果 cat 后什么都没有,则默认从键盘这个文件中读取:
12. more指令
语法:more [选项][文件]
功能:more命令,功能类似 cat
- 首先先打印一屏,按换行键,则会接着打印,more仅能向前移动,却不能向后移动
13. less指令
语法: less [参数] 文件
功能:less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
14. head指令
语法: head [参数]… [文件]…
功能:head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
15. tail指令
语法: tail[必要参数][选择参数][文件]
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
16. 时间相关的指令
date显示
date 指定格式显示时间: date +%Y:%m:%d
date 用法:date [OPTION]… [+FORMAT]
1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下
2.在设定时间方面
3.时间戳
时间->时间戳:date +%s
时间戳->时间:date -d@1508749502
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
17. cal指令
命令格式: cal [参数][月份][年份]
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
18. find指令
语法: find pathname -options
功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
19. grep指令
语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
20. zip/unzip指令
语法: zip 压缩文件.zip 目录或文件
功能: 将目录或文件压缩成zip格式
zip文件解压后,zip文件仍存在。
21. which指令
语法: which 指令
功能: 显示指令的路径
22. alias指令
语法: alias 别名=‘要取别名的指令’
功能: 给指令取别名
当你不想要这个别名时,可以将这个别名改置为 空 的别名,如下所示:
23.tar指令
tar指令:打包/解包,不打开它,直接看内容
tar czf XXX -------------打包压缩
tar tzf XXX.tgz ---------预览
tar xzf XXX.tgz ---------解压解包
XXX.tgz 全称是 XXX. tar. gz
.tar:打包后缀 .gz:压缩后缀
24.bc指令
bc命令可以很方便的进行浮点运算
25.uname –r指令
语法:uname [选项]
功能: uname用来获取电脑和操作系统的相关信息。
补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息
26.关机
语法:shutdown [选项]