前言
上文我们讲解了linux的基本指令,本文将继续讲解剩余指令,以便更好地进行Linux操作系统的操作
目录
通配符: *
man指令:查找手册
cp指令:拷贝
echo
cat
cp
mv指令:剪切并重命名
Ctrl + C
解析ll 等价于ls -l
安装
卸载
Alias:别名 (ˈeɪliəs)
Linux下一切皆文件
输出重定向:
追加重定向(>>实现)
cat:读取目标文件的内容
输入重定向(<实现)
More指令:打印内容
更强大的功能less:打印内容
Head指令
Tail指令
想看中间的指令
管道操作
通配符: *
*在Linux中是一个特殊的符号:通配符。可以匹配任意的字符。
我们新建了四个普通文件
可以看到*可以匹配任意字符
ls *可以匹配所有子文件
删除这些文件时,只需要如图即可,因为*可以匹配任意子文件
注意:rm * -rf 和 rm -rf *都是可以的,最好是 rm -rf *因为它更加直观,更容易被他人理解
man指令:查找手册
让我们先进入家目录下的lesson3文件下进行操作(cd ~/lesson3)
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是





cp指令:拷贝
echo
echo + 一段内容,可以将内容原封不动的打印到屏幕上(linux中一切皆文件,屏幕对于linux而言就是一个输出文件)
echo + 一段内容 + 一个文件,可以将内容写到对应的文件中。
cat
cat指令可以打印一个文件的内容。
echo后面跟的是字符串,cat后面跟的是文件名
cp
cp指令用来内容的拷贝
cp [选项] 源目录/文件 目标目录/文件
可以拷贝文件到文件,拷贝文件到目录,拷贝目录到目录

可以将内容拷贝到上级目录中 拷贝到上级(可以相对、绝对路径)

这样上级路径多了一个t1.txt的文件
上级路径t1确实将内容拷贝到了
拷贝文件该怎么?
拷贝目录文件不能直接cp,而是需要递归式的拷贝:cp -r
拷贝得到了t4,t4内部有t1递归展开的目录文件
cp的常用选项
mv指令:剪切并重命名
mv + src + dest

上级文件多了一个t1的备份
将上级文件重新剪切回来
如何区分是在剪切还是重命名呢?----mv的功能本质是剪切并重命名
mv可以重命名,可以剪切。
完成这两步需要 : mv 路径/文件名(src) 路径/文件名(dest)
//否则使用缺省值
mv也可以对目录文件进行操作
当我们移动目录时,如果dest是一个已经存在的目录,那么不会出现剪切,而是将src移动到dest
路径定位的时候,目录后面的/可带可不带,最好带上
Ctrl + C
这个指令主要是针对Xsehll下的linux而言。当我们输入了一串指令,如果不想按删除键,只需要一个ctrl +C就可以中止指令。
解析ll 等价于ls -l
先解析两个问题:你是如何看待指令的 2.执行指令之前,我们应该先做什么
1.你是如何看待指令的
指令和可执行程序一样,都是可以被执行的-----指令本身就是一种可执行程序(我们安装的tree指令)
2.执行指令之前,我们应该先做什么
指令需要先查找,然后再执行
当我们输入错误指令,发现指令无法查找到。
指令在/usr/bin目录下(搜索目录)
通过which指令,可查找到指令在/usr/bin目录下
这些指令就是一个个的可执行程序,和我们自己编写的代码没有本质区别
安装
将a.out这个可执行程序重命名为mycmd(mv可以重命名),将这个文件放在默认的搜索目录下,我们就可以在直接执行这个文件。
cp在这个地方的作用就是拷贝普通文件到一个目录。如下就是将文件拷贝到目录
卸载
删掉这条指令就叫卸载。
Alias:别名 (ˈeɪliəs)
alias 别名='原来的指令' //不能有空格
tree只能操作目录内部的文件(想操作本文件 ,需要tree ./)
注意,中间不能有空格,这样t1.txt就能像可执行程序一样使用
移除该指令
这样就什么也不会发生。
需要注意的是alias指令是一个临时的指令,每次登录操作系统,这个指令都会取消
Linux下一切皆文件
对于键盘、显示器,对于Linux而言,都是一个个的文件
可以向显示器写,但是从显示器读的读方法为空
Echo默认把数据写到显示器这个文件当中
输出重定向:
把本来应该写到显示其中的内容,写到了普通文件中。(通过>实现)
输出重定向是覆盖写入
清空一个文件的内容:可以直接>文件,这样直接清楚内容,不写入新内容
追加重定向(>>实现)
cat:读取目标文件的内容
当我们什么都不写时,默认从键盘读取,打印到显示器
输入重定向(<实现)
默认是从键盘读取(输入),重定向之后从其他文件中输入
三大重定向:输出、追加、输入
输出重定向、追加重定向,对应的文件不存在会自动创建。
想建立文件时,可以直接 >newfile.txt,这样可以建立一个空文件
建立一个大文件
cnt=1; while [ $cnt -le 1000 ]; do echo "nihao$cnt"; let cnt++; done > t1.txt
当我们使用cat时,发现效果十分不好,这时候就需要使用别的指令。
用cat查看文本,发现滑不到1000行(成本太高),cat不适合读取大文本
Cat适合小文本、代码片段
More指令:打印内容
将文件内容打印出来,占满整个屏幕,就不会再去打印,知道按回车,才会继续打印
按住q退出,按住下箭头也会翻滚。(more只可以下翻)
-n:只打印n行
也可以直接跳到某一行
更强大的功能less:打印内容
可以上下箭头翻滚
也可以/行号 ,跳转到某一行
less +n:快速打印第n行。
不同于more,more需要- less需要+
Head指令

Tail指令

想看中间的指令
方法一:先head再tail
缺陷:创建临时文件
管道操作
I是一个管道操作符
前面的指令的结果进入管道
后面指令进行对管道的操作
管道是一个内存中的文件,不占用磁盘空间
将前90行流入管道,后面对管道进行操作(不是对t1,而是对管道)后面的指令对管道的内容进行操作
我们想读取数据并不是直接读取磁盘的数据,而是先将数据加载到内存,再进行读取
可以有多节管道(将上一级处理完的数据交给下一个管道)
可以看到后续的参数都少了一个,默认的文件就是这个管道文件
cat用来读取(输入)文件内容,所以用cat而不是echo
echo用来输出,负责将内容输出到一个文件。
从文件读取内容用cat