指令其二)
前言今天是星期日大早上起来刷到两只知更鸟给我整精神了所以爬起来继续写。昨天写了十个指令今天会接着昨天的继续讲讲剩下的指令。1.more语法:more (选项要打开的文件功能类似于cat不过cat会一次性把全部内容打印到终端文件太大就会刷屏了而more会预加载整个文件翻到文件末尾自动退出不能返回上一页空格翻一页回车翻一行例子下面有个进度条进度条达到一百之后直接退出选项①. -n指定输出⾏数注意这里的n是具体的数字②. q在more中点击q可以退出2.less语法:less (选项文件功能less与more类似但使⽤less可以随意浏览⽂件⽽more仅能向前移动却不能向后移动⽽且less在查看之前不会加载整个⽂件接下来讲讲如何操作空格向下翻一整页b: 向上翻一整页回车向下滚动一行↑ 向上滚动一行↓ 向下滚动一行g: 跳转到第一行G 跳转到最后一行例子小demo我在这里生成演示文本的时候最开始用的是for i in {1..1000};do echo 这里是第$i行hello.txt;done但是打印出来的是以下的这种情况并没有我所期待的第几行第几行所以在我查找之后对易错点进行了区分(单引号纯文本里面的符号例如$失去特殊含义一字不差输出(双引号:普通文本但会解析符号所以用双引号就可以解析$符号从而实现目的即选项①.-i 忽略搜索时的⼤⼩写②.-N 显⽰每⾏的⾏号③./字符串向下搜索“字符串”的功能④.?字符串向上搜索“字符串”的功能⑤.n重复前⼀个搜索(人话跳转到下一个匹配的内容⑥.N反向重复前⼀个搜索⑦.q:quit3.head语法:head (选项 文件功能把文件从开头显示显示n行默认为10例子选项①. -n: 显示的行数4.tail语法:tail 参数 文件功能和head相对应head要打开的是文件的前n行那tail自然是要打开文件的倒数n行例子与head一样没有参数默认打开十行选项①. -n: 显示的行数小demo管道那么如果我们有一个一千行的文件我们要看文件的第501行到510行那我们应该怎么办呢所以在这里我们就引入管道的概念使用我们可以发现这里似乎是先把前五百一十行找出然后直接打印出了找出这五百一十行的倒数十行。管道符号|作用把前一条命令的输出结果直接当做后一条命令的输入数据不生成中间临时文件一步完成通用格式命令1 | 命令2 | 命令3注意hello.txt | tail -10这样可以吗不可以管道只能接收命令输出不能直接接收文件左侧必须是能输出内容的命令cat/head/ls5.date语法:date %Y:%m:%d功能按你规定的格式输出时间例子标记列表①.%H : ⼩时②.%M : 分钟③.%S : 秒④.%X : 相当于 %H:%M:%S⑤.%d : ⽇⑥.%m : ⽉份⑦.%Y : 年份⑧. %F : 相当于 %Y-%m-%d时间戳下面打出来的数字就是时间戳这个数字代表着从1970年一月一日午夜到现在所经过的秒数通过这个时间戳我们就可以知道当时的时间6.cal语法:cal (选项 年份功能⽤于查看⽇历等时间信息例子情况1如果给了年份会把对应年份的十二个月的日历打出来会把当前所在的日子标白情况2不给参数那么会把这个月的日历打出来选项①.-3 显⽰系统前⼀个⽉当前⽉下⼀个⽉的日历②.-j 显⽰在当年中的第⼏天③. -y 显⽰当前年份的⽇历7.find语法:find (路径 匹配条件 后续操作功能⽤于在⽂件树中递归搜索文件或者目录支持按照文件名大小时间戳权限属主等条件筛选是linux中最强大的检索工具具体使用①首先如果省略搜索路径默认起点为.(当前路径find -name *.txt就等价于find . -name *.txt此外这里的*是通配符在这里的意思是不管前面叫啥xixi,haha都行只要后缀是.txt那就是我要找的②.如果我这样写*.txt处在路径位置find以为是文件路径所以会报错③而我这样呢那么shell提前展开通配符表示当前目录里所有txt文件只能在当前目录找无法递归④如果我这样写的话先写find -name *.txt那么就相当于find -name hello.txt haha.txt要让一个文件同时满足两个不同文件的名字显然不可能直接报错但如果我不要-name了那么就会返回当前目录下的所有.txt文件但是不会进行递归搜索dirb中的xixi.txt我是找不到的总结正确写法find -name *.txt选项①.-name 按照⽂件名查找⽂件这里的选项太多就不一一列了8.which语法:which 选项命令功能搜索系统指定的命令例子这里的alias我们一会会讲选项①. -a:默认只输出第一个匹配到的程序加-a会列出所有同名可执行文件②. -i:匹配忽略大小写③. -v: 打印which版本④. -help:查看全部帮助文档9.whereis语法:whereis ( 程序 )功能⽤于找到程序的源、⼆进制⽂件或⼿册例子10.alias语法:alias 别名命令内容别名命令内容中间没有空格功能给长命令起快捷别名简化输入可以永久/临时自定义指令具体使用①. alias(后面啥都不跟查看所有别名②. 删除别名语法unalias (别名名字若要删除所有别名unalias -a11.grep语法:grep (选项 要搜的功能在⽂件中搜索字符串将找到的⾏打印出来经常与less与more以及管道配合使用例子选项接下来我们用这个来验证选项①.-i 忽略⼤⼩写的不同所以⼤⼩写视为相同②.-n 输出⾏号③.-v 反向选择亦即显⽰出没有 搜寻字符串 的内容12.zip语法:zip压缩⽂件.zip⽬录或⽂件功能将文件或者目录压缩成zip格式例子选项①. -r:递归处理将指定⽬录下的所有⽂件和⼦⽬录⼀并处理如果不加的话这里吧dir1这个目录压缩为dir1.zip我拖到dirb中解压后发现此时解压后居然只有一个dir1dir1里面的内容消失了如果加了-r这样解压出来就是我们想要的状态了13.unzip语法:unzip (压缩包名字) -d 目标目录路径功能解压例子选项①. -d 解压到特定路径不写的话默认解压到当前路径14.rzsz语法:rz:当我们在把文件拖入到当前面板时就会运行sz:sz (要移到该电脑上的文件功能⽤于 windows 机器和远端的 Linux 机器通过 XShell 传输⽂件. 安装完毕之后可以通过拖拽的⽅式将⽂件上传过去.例子15.tar语法:tar 选项 打包压缩包 源文件/目录功能可单纯打包也能实现打包压缩例子压缩解压选项①.-c 建⽴⼀个压缩⽂件的参数指令(create 的意思压缩就用c解压缩就用x别的选项不变②.-x 解开⼀个压缩⽂件的参数指令③.-t 查看 tarfile ⾥⾯的⽂件④.-z 是否同时具有 gzip 的属性是否需要⽤ gzip 压缩⑤.-j 是否同时具有 bzip2 的属性是否需要⽤ bzip2 压缩⑥.-f 使⽤档名请留意在 f 之后要⽴即接档名,不再添加参数⑦.-C 解压到指定⽬录⑧. -v 压缩的过程中显⽰⽂件写在后面的话花了我好久时间^ ^,指令这块终于写完啦完结撒花如果有不足之处欢迎大佬们指出不胜感激明天应该就是写权限部分的内容现在我要沉睡了最后祝大家天天开心呢~