数据流 和 管道
数据流 输入流: 从键盘or文件中 读取内容到内存中 输出流: 从计算机内存中,把数据写入到文件or显示器上

将文件 分段 输入到 计算机内存中,就是 输入流 eg: 将文件拷贝到其他地方,文件—》内存—》其他位置 先 输入流 再输出流
linux三种流: 标准输入流 stdin 标准输出流 stdout 标准错误输出流
echo “hello world”  键盘 输入流 显示屏幕上 输出流
 重定向: 打破原来 路径 改变标准输出流的流向,改到文件中去。

echo ‘hello world’ > helloworld.txt 
如果原有文件本身有内容,直接重定向,会覆盖原来的内容 
不想 重新 覆盖 echo ‘www’ >> helloworld.txt

ls命令 重定向 
有输出 就可以重定向
实现将linux 输出结果 写入到 文件中 进行保存。
管道
类似生活中的管子
1号管子的输出 作为 2号管子的输入   管道的 符号 为 |
ls -l / more 分屏查看 根目录的内容
总结
数据流 输入输出流 一般 输入 键盘 输出 屏幕 重定向:改变数据的流向,一般是重定向到文件 重定向符号 > 以追加的形式重定向 >> 管道:一个命令的输出作为另外一个指令的输入 管道符号: | 指令1 | 指令2 指令1一定要有输出
建立链接 ln
硬链接 软链接
用于解决 文件路径太深入,建立快捷方式,快速访问。
用户 通过访问文件名 来打开文件 文件名 存储了通往 存储文件数据的地址 软链接 是建立一个路径到文件名上
如果把 文件名 删除了之后,软链接就无效了
硬链接相当于 给一个文件 赋予 多个名字 删除文件名,并不会影响硬链接

建立软链接: ln -s 源文件 软连接名  建立硬链接: ln 源文件 硬连接名 
查看通过链接建立的文件 cat hardlink1_2.txt
通过 软or 硬链接 修改文件会对 原文件 造成影响。
总结
linux 连接分为两种: 软连接: 快捷方式 In -s 源文件 连接名 硬链接:一个文件多个名字 ln 源文件 连接名
这一列是文件名 可以发现 硬链接是2个·文件名 软连接 是1个文件名

软连接 可以对 目录进行,硬链接 不可以。
总结
删除软硬连接 对 源文件的影响 删除软硬连接 对 源文件都无影响
删除源文件 对 软硬连接的影响 删除源文件,软连接不可用。 删除源文件,如果文件有多个硬链接,则无影响。
区别: 软连接 可以指向一个不存在的文件,硬链接不可以。 软连接可以对目录创建,硬链接不可以。
文件搜索 grep和find
grep 文件内容搜索 find 文件搜索
快速查找到计算机文件
文本内部搜索 grep 查找文件 find
举例子: 准备文件 test.text  文件内部搜索演示: 格式: grep 选项 收拾内容 文件名
grep ‘worker’ test.text  增加 -n可以在输出结果显示行号 grep -i -n ’workfer‘ test.txt  查询不包含 xx 的 增加 -v参数 grep -iv ‘worker’ test.txt
 查询以a开头的 grep -n “^a” 1.txt 查询以a开头的内容
查询以a结尾的 grep -n “a$” 1.txt 
find 查找文件
可以根据文件名,文件大小查询文件
find ./-name 文件名
*表示任意一个or多个字符 find ./ -name '.txt’ 表示以 txt文件结尾的任意文件  [a, b, c] 中括号可以用于做为通配符的搜索
下面 表示 搜索a1.txt文件;a2.txt文件

根据尺寸查看文件 find ./ -size + xx 表示大于xx 的文件 find ./ -szie - xx 表示小于xx的文件  查询大于15M 小于30M 的文件名
find ./ -size +15M -size -30M
总结
文本内部搜索 grep 内部搜索 正则搜索 grep ‘内容’ 文件路径 -n 查看结果行数 -i 忽略大小写 -v 取反
grep ‘^a’ 文件路径 搜索以a开头的行
计算机中搜索文件 find 按照名称搜索 -name
find 目标的目录 选项 具体条件 find ./ -name test.txt find ./ =name ‘*.txt’ 所有文本文件 * 任意一个or多个字符 ? 任意一个字符 []中括号范围 [12]要么1,要么2
按照大小搜索 -size find ./ -size +30M 大于30M find ./ -szie -20M 小于20M find ./ -szie +15M -size -30M 大于15M 小于30M的文件
归档 和 压缩命令 tar
压缩是一种打包 原理: 将文件中 相同的信息使用 同一个字符代替,从而使得文件变小达到压缩的目的, 压缩对于文本类 or 数据类 文件 有 较明显的作用。
归档: 将 一些文件放在一起变成一个包,便于保存和传输,图片和视频数据和文本不一样,多个文件在压缩时没有明显的效果,只能做归档进行保存。
用被子为例子 理解: 从 左 往 右, 依次是 源文件,归档,压缩。
多个文件—>一个文件—>压缩
 归档指令:tar
tar 使用格式 多文件归档: tar 参数 打包文件名 文件1 文件2 目录归档: tar 参数 打包文件名 目录
tar命令很特殊,其前面可以加参数-,也可以不使用。
常用参数:
-c 生成档案文件,创建打包文件。 -v 列出归档过程 -f 指定归档文件名称 放在参数最后面 -x 解压

归档 tar -cvf 文件名 解档 tar -xvf 文件名
举例子: 将 1.txt 和 2.txt文档归档 tar -cvf 1.txt 2.txt  解档 tar -xvf 1-2.tar 
打包 + 压缩 tar -zcvf 文件名 解压 + 解包 tar -zxvf 文件名  gz : gzip window的一种压缩方式
解压文件 tar -xvf 1-2.tar.gz
tar -cvf 1-2.tar 1.txt 2.txt 归档 tar -zcvf 1-2.tar.gz 1.txt 2.txt 归档压缩 tar -xcf 1-2.tar 解压 tar -zxvf 1-2.tar.zop 解压解档 解压到指定的目录 加 -C tar -zxvf 1-2.tar.gz -C d 指定解压到d目录
总结
归档 和 解档 归档:tar -cvf 归档的文件名.tar 文件1 文件2 解档: tar -xvg 档案文件名.tar 归档 + 压缩 和 解压+解档 归档+压缩: tar -zcvf 归档文件名.tar.gz 解压+解档: tar -zxvf 归档文件名.tar.gz 如要解压要指定解档的目录: tar -zxvf 归档文件名.tar.gz -C 要解压档到的目录
zip 和unzip 压缩和解压文件
zip 压缩文件
举例子: 将c目录压缩为 c.zip文件 -r 是压缩目录
zip -r c.zip c
 通过tree 可以查看到 被压缩的c.zip文件  unzip 解压缩
unzip c.zip
解压
多种压缩方式对比
bz2 tar.gz 相对最小 txt zip 
总结
zip 压缩 压缩目录 zip -r xxx.zip 目录 unzip解压 unzip xxx.zip 解压
文件权限介绍
文件权限: 一台服务器上面的文件,不是谁都可以使用的。 通过多种用户组,来管理文件权限。
9个字母分为三组 每一组 r w - 组成
第一组 表示 文件拥有者权限 第二组 表示 文件所属组的权限 第三组 表示 其他用户的权限
举例子: 班长 喜欢 踢足球 买了个足球
班长对足球拥有 所有权限 班长属于我们班的,同组就是我们班,如果组权限,就是班里每个人都可以踢球,但是不可以给别人。
其他用户:其他班的人,只给他们看的权限。
 linux 当创建一个用户时候,默认会创建一个同组。 r 可读 w 可写 x 可执行 : 就是文件可不可以直接去执行。 - 没有权限。
拥有者 : u 同组用户: g 其他用户: o 
总结

权限修改 chmod
数组法 修改权限 子母法 修改权限
chmod

修改权限参数  举例子: chmod u+x 1.txt
绿色就表示可执行了  chmod o+w 1.txt  chmod a-w 1.txt 每个用户的w权限都去掉 
总结
权限修改 chmod指令 用户: u g o a 权限设置: + - = 增加 撤销 设置 用法: chmod 用户加具体权限 文件名
数字法修改文件权限
 可读可写可执行 7 可读可执行 5
eg: chmod 754 u 可读可写可执行 g 可读可执行 o 可读


目录权限 修改目录权限,包含目录里面的每个文件的权限
举例子: chmod -R 777 a 将a目录权限修改为777
总结
数字法 r 4 w 2 x 1 - 0
三位权限数字: 第一位 文件拥有者权限 第二位 同组用户权限 第三位 其他拥有者权限 chmod 权限数字 文件路径
scp 远程拷贝(上传和下载)

上传: scp .本地路径 服务器用户名@服务器地址:远程路径
scp ./1/txt teacher@192.167.31.122:/home/teacher/1.txt
举例子:  scp 远程拷贝指令 ./logo.png 本地文件路径 demo 用户名 192.168.150.112 远程服务器ip /home/deni/python20/test/logo.png 远程服务器上的文件路径
下载 scp 服务器用户名@服务区路径 本地路径 scp demo@192.168.150.112:/home/demo/python20/test/logo/png ./logo/png 下载下来  
总结
scp作用 上传下载文件
上传 scp 本地路径 服务器用户名@服务器地址:服务器路径
scp ./log.png demo@192.1652.110.1:/home/demo/python20/log.png
下载 scp 服务器用户@服务器地址:服务器路径 本地路径 scp demo@192.1652.110.1:/home/demo/python20/log.png ./log.png
如果操作的是目录 添加参数 -r
|