[Linux文件管理之上传与下载、输出与重定向、字符串处理、压缩与打包、软连接]
[Linux文件管理之上传与下载、输出与重定向、字符串处理、压缩与打包]
文件管理之上传与下载
1) wget:下载文件
如果系统中没有wget,执行如下命令:yum install wget -y
wget url
-O : 指定下载文件的路径及名称


2) curl:读取文件
curl :读取文件
-o : 指定下载文件的路径及名称
-k : 免证书认证
#curl命令是⼀个利⽤URL规则在命令⾏下⼯作的⽂件传输⼯具。它⽀持⽂件的上传和下载,所以是综合传输⼯具,
但按传统,习惯称curl为下载⼯具。作为⼀款强⼒⼯具,curl⽀持包括HTTP、HTTPS、[ftp]等众多协议,还⽀
持POST、cookies、认证、从指定偏移处下载部分⽂件、⽤户代理字符串、限速、⽂件⼤⼩、进度条等特征。做⽹
⻚处理流程和数据检索⾃动化,curl可以祝⼀臂之⼒。
[root@localhost ~]# curl -o 123.png https://www.xxx.com/img/hello.png
# ps: 如果遇到下载提示⽆法简历SSL链接,使⽤-k选项或者--insecure
curl -k -o 123.png https://www.xxx.com/img/hello.png


3)sz下载文件与rz上传文件
# 注意: yum install lrzsz -y
#
# sz : 下载文件(从linux系统下载文件到windows)
# # 系统默认没有该命令,需要下载:yum install lrzsz -y
# # 将服务器上选定的⽂件下载/发送到本机,
#
#---------------------------------------------------------------------------------------
# rz : 上传文件(将windows文件上传至Linux)
# rz [文件路径]
# 系统默认没有该命令,需要下载:yum install lrzsz -y
# 运⾏该命令会弹出⼀个⽂件选择窗⼝,从本地选择⽂件上传到服务器。
[root@localhost opt]# rz # 如果⽂件已经存,则上传失败,可以⽤-E选项解决
[root@localhost opt]# rz -E # -E如果⽬标⽂件名已经存在,则重命名传⼊⽂件。新⽂件名将添加⼀个点和⼀个数字(0..999)
rz 回车即可选择上传文件
也可以进入都某个路径下将文件直接拖入~ (人性化)

输出与重定向
0 代表标准输⼊
1 代表标准正确输出
2 代表标准错误输出。
& 标准输出及错误输出
输出重定向:
正常输出是把内容输出到显示器上,⽽输出重定向是把内容输出到⽂件中,>代表覆盖,>>代表追加
Ps:标准输出的1可以省略





注意:
1、下述两个命令作⽤相同
# 命令 >>file.log 2>&1
# 命令 &>>file.log # 将正确以及错误输入都写入file.log 文件中
2、正确⽇志和错误⽇志分开保存
# 命令 >>file1.log 2>>file2.log
3、系统有个常⻅⽤法 ls &>/dev/null 正确输出或错误输出结果都不要。(null可以理解为⿊洞或垃圾站)
⽂件管理之:字符处理命令
1) sort排序命令
# 排序sort
-n # 依照数值的⼤⼩排序
-r # 以相反的顺序来排序
-k # 以某列进⾏排序
-t # 指定分割符,默认是以空格为分隔符
-n # 依照数值的⼤⼩排序

-r # 以相反的顺序来排序

-k # 以某列进⾏排序
-t # 指定分割符,默认是以空格为分隔符

# -f:忽略大小写;
# -b:忽略每行前面的空白部分;
# -n:以数值型进行排序,默认使用字符串排序;
# -r:反向排序;
# -u:删除重复行。就是 uniq 命令;
# -t:指定分隔符,默认分隔符是制表符;
# -k [n,m]:按照指定的字段范围排序。从第 n 个字段开始,到第 m 个字(默认到行尾);
# [root@python ~]# sort -t ":" -n -k2 3.txt
# g:0
# k:2
# j:3
# d:7
# h:8
# l:9
# 字符串替换
-d # 删除字符
cat /etc/passwd | tr "root" "ROOT"
# 统计字数的
-c # 统计⽂件的Bytes数;
-l # 统计⽂件的⾏数;
-w # 统计⽂件中单词的个数,默认以空⽩字符做为分隔符
2) uniq去重命令
用于检查及删除文本文件中重复出现的行列,一般与sort命令结合使用
# 重复uniq
-c # 在每列旁边显示该⾏重复出现的次数。
-d # 仅显示重复出现的⾏列。
-u # 仅显示出⼀次的⾏列。

3) cut命令
cut命令用来显示行中的指定部分,删除文件中指定字段
# 字符串分割命令
-d # 指定字段的分隔符,默认的字段分隔符为"TAB";
-f # 显示指定字段的内容; cat /etc/passwd | cut -d: -f2 # 查看 /etc/passwd 路径下 的每一行的第二个单词
# -d 指定以:分隔 获取 # -f2 为显示指定的第2列
cat 4.txt | sort | uniq -c | sort -r | head -n 3 | cut -d " " -f8
4) tr命令(替换或者删除)
# 字符串替换
# tr 替换
# -d # 删除字符
cat /etc/passwd | tr "root" "ROOT"
# 将/etc/passwd路径下的 所有 ‘root’ 替换为 ‘ROOT’
# 只要是包括里面的字母都会替换掉 按位置一一对应 如果超出范围就按照最后一个字母全部替换
cat /etc/passwd | tr -d "root"
# 将/etc/passwd路径下的 所有 ‘root’ 删除 只要包括root里面任意字母的都将删除
5) wc命令(统计字数)
# 统计字数的
-c # 统计⽂件的Bytes数;
-l # 统计⽂件的⾏数;
-w # 统计⽂件中单词的个数,默认以空⽩字符做为分隔符
# 查看文件内容方便下面操作查看
[root@afei ~]# cat 1.txt
root
Hello World
Hello Baby
# 统计⽂件的Bytes数;
[root@afei ~]# cat 1.txt | wc -c
30
# 统计⽂件的⾏数;
[root@afei ~]# cat 1.txt | wc -l
4
# 统计⽂件中单词的个数,默认以空⽩字符做为分隔符
[root@afei ~]# cat 1.txt | wc -w
5
[root@afei ~]# cat 1.txt | wc -c -l -w
4 5 30
[root@afei ~]#

⽂件管理之:压缩与打包
1. 什么是打包压缩
打包指的是将多个⽂件和⽬录合并为⼀个特殊⽂件
然后将该特殊⽂件进⾏压缩
最终得到⼀个压缩包
2. 为什么使⽤压缩包
1.减少占⽤的体积
2.加快⽹络的传输
3.Windows的压缩和Linux的有什么不同windows: zip rar(linux不⽀持rar)
linux: zip tar.gz tar.bz2 .gz
如果希望windows的软件能被linux解压,或者linux的软件包被windows能识别,选择zip.
PS: 压缩包的后缀不重要,但⼀定要携带.
4. Linux下常⻅的压缩包类型

# gzip 压缩与解压格式
例1:将压缩文件text.zip在当前目录下解压缩。
命令: unzip 文件名
$ unzip text.zip
例2:将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。
$ unzip -n text.zip -d /tmp
例3:查看压缩文件目录,但不解压。
$ unzip -v text.zip
gzip :
压缩
gzip [文件路径] # gzip 后面跟指定压缩的文件路径
解压
gzip -d 1.txt.gz # 解压需要跟一个 -d 命令 加文件路径
--------------------------------------------------------------------------------
tar :
tar 打包 (tar 只打包不压缩)
tar打包
# -f : 指定打包的名称
# -c : 将某些文件进行打包
# 打包格式 tar -c -f test.tar 1.txt
# -v : 显示打包的整个过程
#
# -z : 指定使用gzip压缩工具进行压缩
tar -czf test.tar.gz 1.txt
# -j : 使用bzip2压缩工具进行压缩
#----------------------------------------------------------
# tar 解压
注意使用顺序 xfv 不可弄反
# -f : 指定打包的名称
# -x : 将某些打包文件进行解压
# -v : 显示解压的整个过程
解压格式
tar -xf test.tar
tar 命令 [压缩后的文件路径]

软连接
软连接相当于Windows中的快捷方式,
ln -s 源路径 目标路径


浙公网安备 33010602011771号