day5-文件管理命令

2019-07-31  本文已影响0人  不懂helloword

1.linux下载工具 wget、curl

在linux系统我们需要下载网络上的资源常用的两个工具: wget curl

curl由于可自定义各种请求参数所以在模拟web请求方面更擅长;
wget由于支持ftp和Recursive所以在下载文件方面更擅长。
类比的话curl是浏览器,而wget是迅雷

centos7安装wget:


yum install wget -y

wget -O /home/Cython-0.19-5.el7.x86_64.rpm http://mirrors.ustc.edu.cn/centos/7/os/x86_64/Packages/Cython-0.19-5.el7.x86_64.rpm    
 #这段命令表示使用wget把网络上的资源 "Cython-0.19-5.el7.x86_64.rpm"下载保存至/home根目录下

#如果想改下载文件名,可以不必在下载后再去mv改文件名,可以直接在下载时就用命令形式做完这一步

wget -O /home/Cython.rpm http://mirrors.ustc.edu.cn/centos/7/os/x86_64/Packages/Cython-0.19-5.el7.x86_64.rpm 


curl http://mirrors.ustc.edu.cn/centos/7/os/x86_64/Packages/Cython-0.19-5.el7.x86_64.rpm  
#这种方式会使curl查看到的文件成为乱码,因为地址是一个软件,单使用curl时一般是用来查看文本文件比较方便

#既然curl查看文件会乱码,那么我们可以使用-o这个参数,是可以把文件保存至指定目录的。

curl -o /home/Cython-0.19-5.el7.x86_64.rpm http://mirrors.ustc.edu.cn/centos/7/os/x86_64/Packages/Cython-0.19-5.el7.x86_64.rpm

一般常使用wget来作为下载工具,但由于默认最小安装linux时,一般没有安装有wget,所以偶尔会使用到curl。

PS:wget 参数-O是大写,curl参数-o是小写,不能弄混淆了。

2.linux下载、上存工具 rz sz

rz、sz是linux与windows之间上传下载的工具

rz :只支持4G以内的文件;而且只能上传文件类型的文件;不支持断点续传。

sz:只能下载文件,不能下载目录。

若不能直接将文件拖拽至linux服务器中时

1.拖拽的文件是空文件

2.安装rz、sz软件包


yum install lrzsz -y

3.linux查找工具 which、wheres、type


 which ls #查找ls命令的绝对路径

whereis ls #也使用来查询命令的绝对路径,直接使用whereis  -->查找命令的路径、帮助手册、等

whereis -b ls #使用参数-b   -->仅显示命令所在的路径

//对于内核相关的一些命令,使用which whereis是无法查询到,需要使用type命令查询


type -a ls #查看命令的绝对路径(包括别名)

4.linux文件内容处理工具 sort、uniq、cut、sed、awk、wc

1.sort命令是对一个文件内容进行排序:

-r 倒序
-n 按数字排序
-t 指定分隔符(默认为空格)
-k 指定第几列;指定第几列几字符(-k1.1 -k3.1,3.3)

实例:创建一个无序文件内容
[root@localhost ~]# vi file.txt
[root@localhost ~]# cat file.txt
a:1
b:3
c:4
f:2
J:11

使用sort对file.txt进行排序

[root@localhost ~]# sort file.txt 
a:1
b:3
c:4
f:2
J:11

直接使用sort排序只是排序字母,而我们需要排序数字那么我们需要加上一个参数-t(指定分隔符),使用-k(指定需要排序的列)

[root@localhost ~]# sort -t ":" -k2 file.txt
a:1
J:11
f:2
b:3
c:4

为什么J:11不是排在最后?而是第2行?按照排序方式,只会看到第一个字符,11的第一个字符时1,按照字符排序比2是小,所以这时需要加个参数-n(依照数值大小排序)

[root@localhost ~]# sort -t ":" -k2 -n file.txt
a:1
f:2
b:3
c:4
J:11

2.uniq去重

uinq:文件出现很多完全相同的内容时,能够排掉重复的内容,同时还可以统计出完全相同的内容出现的总次数。(ps:必须配合sort使用)

实例:创建一个重复数据的文件
[root@localhost ~]# vi file.txt 
[root@localhost ~]# cat file.txt 
abc
123
bcd
abc
123

然后使用uniq和sort对file.txt文件进行排序去重

[root@localhost ~]# sort file.txt  #首先是进行排序
123
123
abc
abc
bcd
[root@localhost ~]# sort file.txt | uniq #排序后使用管道进行去重
123
abc
bcd
[root@localhost ~]# sort file.txt | uniq -c #-c参数让其统计(只需这一条命令即可完成排序、去重和统计)
      2 123
      2 abc
      1 bcd

3.cut、awk截取字段

cut:(大概了解一下就行)
-d 指定分隔符
-f 数字,截取第几列
-f3,6 3列和6列
-c 按字符取(空格也算)

awk:
-F 指定分隔符
实例:筛选出zj及6789

[root@localhost ~]# cat file.txt 
zj tel 12345 , qq 6789
[root@localhost ~]# awk '{print $1,$6}' file.txt 
zj 6789

一般使用过程中,很少使用到cut,通常使用awk,因为awk时取列专业户

4.wc统计行号

[root@localhost ~]# wc -l /etc/passwd
19 /etc/passwd    #19就是代表/etc/passwd文件里面有19行数
上一篇 下一篇

猜你喜欢

热点阅读