1.文件管理,联网下载(wget,curl)、文件上传与下载(rz,sz)
一、联网下载wget
1.CentOS7系统最小化安装默认没有wget命令,需要进行安
[root@oldboyedu ~]#yum install wget -y
2.找到我们需要下载的资源
-------->>复制下载资源链接
3.在linux上使用wget命令进行下载(默认下载在当前目录)
[root@oldboyedu ~]# wget http://fj.xuliangwei.com/public/weixin.py
4.由于我们下载的是文件,所以我们可以使用less,more,cat,来查看该文件
[root@oldboyedu ~]# cat weixin.py
5.使用wget下载资源时,指定保存位置,并重新命名。
[root@oldboyedu ~]# wget -O /opt/tt/png http://fj.xuliangwei.com/public/ks.jpeg
6.下载资源是如果不想改名,只想改变路径,带上原有名称。
[root@oldboyedu ~]# wget -O /opt/ks/jpeg http://fj.xuliangwei.com/public/ks.jpeg
二、curl网上浏览资源
1.在线浏览网站资源内容(源代码)
[root@oldboyedu ~]#curl http://fj.xuliangwei.com/public/weixin.py
2.使用curl将内容保存在本地,并命名(如果没有指定保存路径,则表示保存在当前目录)
[root@oldboyedu ~]# curl -o wei.txt http://fj.xuliangwei.com/public/weixin.py
3.将资源保存在指定路径
[root@oldboyedu ~]#curl -o /opt/weixin.py xuliangwei.com/public/weixin.py
三、文件上传与下载(rz,sz)
1.如果无法将文件拖进Linux服务器
#没有安装lrzsz,建议安装 yum install lrzsz -y
#你上传的是一个空文件
rz 只能上传文件,不支持上传文件夹,不支持大于4个G上传,也不 支持断点续传
sz /path/file 只能下载文件 (任意单个文件),不支持下载文件 夹
2.文件管理,命令的查找(which,whereis,find...)
1.当我们查找一个命令的绝对路径时
当我们想执行一个命令的绝对路径时,使用which commad,查询绝对路径
which ls #查找命令ls的绝对路径
2.whereis也用来查找命令的绝对路径
whereis ls #查找命令的绝对路径,帮助手册等
whereis -b ls #仅显示命令所在的路径
3.对于一些内核命令,使用which,whereis是无法查到的,需要使用type命令查询
type -a ls #查看命令的绝对路径(包括别名)
3.文件管理,文件内容处理命令(sort,uniq,cut,sed,awk,wc)
sort排序
sort [OPTION]... [FILE]... # -r:倒序 -n:按数字排序 -t:指定分隔符(默认空格) -k:指定第几 列, 指定几列几字符(指定1,1 3.1,3.3)
首先创建一个文件,写入一写无序的内容
[root@xuliangwei ~]# cat >> file.txt <<EOF
b:3
c:2
a:4
e:5
d:1
f:11
EOF 使用sort下面对输出的内容进行排序
[root@xuliangwei ~]# sort file.txt
a:4
b:3
c:2
d:1
e:5
f:11 #结果并不是按照数字排序,而是按字母排序
可以使用-t指定分隔符, 使用-k指定需要排序的列。
[root@xuliangwei ~]# sort -t ":" -k2 sort.txt
d:1
f:11 #第二行为什么是11?不应该按照顺序排列?
c:2
b:3
a:4
e:5
按照排序的方式, 只会看到第一个字符,11的第一个字符是1, 按照字符 来排序确实比2小。
如果想要按照数字的方式进行排序, 需要使用 -n参数。
[root@xuliangwei ~]# sort -t ":" -n -k2 p.txt
d:1
c:2
b:3
a:4
e:5
f:11
uniq去重
uniq [OPTION]... [INPUT [OUTPUT]] #选项:-c 计算重复的行
创建一个file.txt文件:
[root@xuliangwei ~]# cat >>file1.txt <<EOF
abc
123
abc
123
EOF
#2.uniq需要和sort一起使用, 先使用sort排序, 让重复内容连续在一 起
[root@xuliangwei ~]# sort file.txt
123
123
abc
abc
#3.使用uniq去除相邻重复的行
[root@xuliangwei ~]# sort file.txt |uniq
123
abc
#4.-c参数能统计出文件中每行内容重复的次数
[root@xuliangwei ~]# sort file.txt |uniq -c
2 123
2 abc
cut截取字段
cut OPTION... [FILE]... #选项:-d 指定分隔符 -f 数字,取第几列 –f3,6三列和6列 -c 按字符 取(空格也算)
[root@oldboyedu ~]# cat >>file2.txt <<EOF
Im xlw, is QQ 552408925
EOF
实现: 筛选出文件里 xlw以及552408925
[root@oldboyedu ~]# awk '{print $2,$5}' file2.txt | awk -F "," '{print $1,$2}'
xlw 552408925
[root@oldboyedu ~]# cut -d " " -f 2,5 file2.txt | awk -F "," '{print $1,$2}'
xlw 552408925
[root@oldboyedu ~]# cut -d " " -f 2,5 file2.txt | sed 's#,##g'
xlw 552408925
[root@oldboyedu ~]# sed 's#,##g' file2.txt | awk '{print $2,$5}'
xlw 552408925
PS: 实际生产使用过程中,很少使用到cut,通常都是使用awk,因为awk 是取列专业户
wc统计行号
wc [OPTION]... [FILE]...
#选项:-l显示文件行数
# wc -l /etc/fstab #统计/etc/fstab文件有多少行
# wc -l /etc/services #统计/etc/services 文件行号
过滤出/etc/passwd以nologin结尾的内容,并统计有多少行
#1.先筛选出目标的行
#2.然后进行统计
[root@oldboyedu ~]# grep "nologin$" /etc/passwd | wc -l
18
# 扩展统计文件行号的方法
[root@oldboyedu ~]# cat -n /etc/services | tail -1
[root@oldboyedu ~]# grep -n ".*" /etc/services | tail -1
总结
sort:-r是倒序
sort -t "." -k2 file.txt -t分割符,.分割 -k2以第二列开始分布///不指定分割符还是按 照第一例排序
sort -t "." -k2 -n file.txt 可以按照逻辑排序
sort -t "." -k2 -nr file.txt 按照倒叙排列
sort -t "." -k2.1,2.2 -n -K4.1,4.3 -n file.txt ////排序按照第二例的第一个字符到第二个字符,
去重命令:
uniq:
sort -t "." -k2 file.txt | uniq------去重
sort -t "." -k2 file.txt | uniq -c----去重,统计数量
字符截取命令:
cut-----d指定分割符 -- -f指定取第几列(-f 3,6 取第三列和第六列) -c按字符取(空格也算)
sed-----sed 's###g' +-i改变文件内容
-n 2p 可以提取行
awk: 指定分割符 -F 按列处理 默认以逗号作为分割符
过滤操作:awk '/roor/' /etc/passwd