tree
注意要先登录才能安装
安装命令
yum install tree
cat
查看或者写入文本内容
cat >> test2.txt <<EOF
> ads
> adf
> EOF
这里以命名为test2的txt文件为例
这个模块的功能是写入文件,当你写完想结束的时候输入EOF就可以了
我们看一下刚刚写进去的内容
less,more
#查看etc下的services文件
less /etc/services #使用光标上下翻动,空格进行翻页,q退出
more /etc/services #使用回车上下翻动,空格进行翻页,q退出(有百分比)
less打开文件:ctrl+b:下翻页 ctrl+f:上翻页
按q退出,就是回到刚才那个页面了
head
head pass #查看头部内容,默认前十行
head -n5 pass #查看头部5行,使用-n指定
ps aux | head -5 # 只看头部5个进程
tail
以此类推
tail pass # 查看文件尾部,默认10行
tail -20 /var/log/secure # 查看文件尾部20行
tail -f /var/log/messages #-f动态查看文件尾部的变化
tailf /var/log/messages #查看文件尾部的变化
ps aux | tail -2
grep
grep "^root" pass #匹配以root开头的行
# grep "bash$" pass #匹配以bash结尾的行
# grep -i "ftp" pass #忽略大小写匹配
# grep -Ei "sync$|ftp" pass #匹配文件中包含sync结尾或ftp字符串
# grep -n -A 2 "Failed" /var/log/secure #匹配/var/log/secure文件中Failed字符串,并打印它的下2行
# grep -n -B 2 "Failed" /var/log/secure #匹配/var/log/secure文件中Failed字符串,并打印它的上2行
# grep -n -C 2 "Failed" /var/log/secure #匹配/var/log/secure文件中Failed字符串,并打印它的上下2行
检索etc文件夹下services文件的有关root的内容
wget
yum install wget
一样的,先登录后安装
#wget 路径(这个路径用于指定下载的源码包的路径,想下载的对象在网上的地址) 默认下载在(放到)当前路径
#选项: -O: 指定下载地址
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#上面这行命令的意思是把右边网址的内容下载到左边的本地地址上去
curl
这个用于联通性测试,也具有下载功能,使用方法与wget类似
curl www.baidu.com
# crul:浏览网络上资源,-o保存到本地
#选项: -o: 指定下载地址
# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
rzsz
用于上传下载文件,使用前要安装,安装前要先登录
yum install lrzsz -y
# rz #只能上传文件文件上传(不能大于4g)
# sz /path/file #只能下载文件
输入rz会弹出这个用于上传文件
下载命令(注意要有这个文件在里面才能下载)
然后会出现这个
文件查找
locate /etc/sh #搜索etc目录下所有以sh开头的文件
locate -i /etc/sh #搜索etc目录下,所有以sh开头的文件,忽略大小写
命令查找
which ls #查找ls命令的绝对路径
whereis ls #查找命令的路径、帮助手册、等
whereis -b ls #仅显示命令所在的路径,仅看二进制
# 对于内核相关的一些命令,用which whereis 是无法查询到的,需要使用type采查询
type -a ls #查看命令的绝对路径(包括别名)
type -a for
sort排序
用于对一个无序的文本文件进行数据的排序
sort file.txt 对内容进行排序
sort -t ":" -k2 file.txt
sort -t ":" -n -k2 file.txt
首先创建一个文件,写入无序的内容
cat >> file.txt <<EOF
b:3
c:2
a:4
e:5
d:1
f:11
EOF
然后使用sort下面对输出的内容进行排序
sort file.txt
使用方法同理
#结果并不是按照数字排序,而是按字母排序。
#可以使用-t指定分隔符, 使用-k指定需要排序的列。
# -t 指定分隔符,-k指定列,按第二列排序
sort -t ":" -k2 file.txt
#按照排序的方式, 只会看到第一个字符,11的第一个字符是1, 按照字符来排序确实比2小。
#如果想要按照数字的方式进行排序, 需要使用 -n参数,按数字排序。
sort -t ":" -n -k2 file.txt
uniq去重
uniq [OPTION]... [INPUT [OUTPUT]]
#选项:-c 计算重复的行
创建一个file.txt文件:
cat >>file.txt <<EOF
abc
123
abc
123
EOF
uniq需要和sort一起使用, 先使用sort排序, 让重复内容连续在一起
cat file.txt |sort
使用uniq去除相邻重复的行
cat file.txt |sort|uniq
-c参数能统计出文件中每行内容重复的次数
cat file.txt |sort|uniq -c
cut截取字段
cut OPTION... [FILE]...
#选项:-d 指定分隔符 -f 数字,取第几列 –f3,6三列和6列 -c 按字符取(空格也算)
#echo "Im lqz, is QQ 306334678" >file.txt
#过滤出文件里 lqz以及306334678
#实现上述题目几种思路
# cut -d " " -f2,5 file.txt
# cut -d " " -f2,5 file.txt |sed 's#,##g'
# sed 's#,# #g' file.txt | awk -F " " '{print $2 " " $5}'
# awk '{print $2,$5}' file.txt |awk -F ',' '{print $1,$2}'
# awk -F "[, ]" '{print $2,$6}' file.txt
# awk -F '[, ]+' '{print $2,$5}' file.txt
# awk 取列
awk '{print $2,$5}' file.txt
# -F 指定分隔符
awk '{print $2,$5}' file.txt | awk -F "," '{print $1,$2}'
# sed 替换 sed 's###g'
# sed 's###g' 固定写法
# sed 's#,##g' 把逗号替换成空
cut -d " " -f2,5 file.txt | sed 's#,##g'
wc统计行号
wc [OPTION]... [FILE]...
#选项:-l显示文件行数 -c显示文件字节 -w显示文件单词
# wc -l /etc/fstab #统计/etc/fstab文件有多少行
# wc -l /etc/services #统计/etc/services 文件行号
# ls |wc -l #统计当前路径下有多少文件和文件夹
#扩展方法
# grep -n "." /etc/services | tail -1
# awk '{print NR $0}' /etc/services | tail -1
# cat -n /etc/services | tail -1