首页 > 代码库 > linux之文件的高级命令
linux之文件的高级命令
在我们日常系统运维中,经常需要利用shell写一些自动化脚本,这些脚本写的好坏很大程度上取决于linux的高级操作命令掌握的是否熟练,那么我们看看工作中使用频率最高的一些命令。
cat -n a.txt 给输入的文本编号
cat a.sh
cat > /etc/yum.repos.d/test.repo <<ok
[yumtest]
name=my home
baseurl=file:///yumtest/
enabled=1
gpgcheck=0
ok
./a.sh --->配置yum
tac
tac /etc/passwd 倒序显示
wc
统计文本内容的行数量 字符数 单词数
cat /etc/passwd | wc
wc -l 统计行数
-w 统计单词数
-c 统计字符数
cut
数列为单位切换
cut -b 按照字节切
-c 按照字符切
-d : 以冒号为分割符
切出/etc/passwd中redhat用户中的shell信息
cat /etc/passwd | grep redhat | cut -d: -f7
/bin/bash
cat /etc/passwd | cut -d ":" -f1,3,4 取出用户的第1、3、 4 列
cat /etc/passwd | cut -d ":" -f1-4 取出用户连续的4列
cat /etc/passwd | cut -d ":" -f -5 取出第5列前的所有列 包含第5列
cat /etc/passwd | cut -d ":" -f 5- 取出第5列后的所有列
cat /etc/passwd | cut -d ":" -f1,5-7 取出1 5 6 7
[root@server1 tmp]# cat /etc/passwd | grep jim | cut -b 5 切第五个字节
x
split
拆分文件
split -5 passwd 按照文本内容以5行为单位切割 每5行一个文件
split -1 -a 3 a.txt 以1行为单位切割 且切割后的文件后缀程度为3
split -l 5 a.txt 以5行为单位切割
split -b 1k passwd 默认单位为字节 以1kb为单位切割
(KB 1000,K 1024,MB 1000*1000,M 1024*1024,还有 G、T、P、E、Z、Y)
split -d a.txt 以数字作为切割后的后缀名
----------------------------------------------
tr
cat a.txt | tr "a" "A" 把文件中所有小写的a换为A
cat a.txt | tr "a-z" "A-Z" 把所有的小写字母换为大写字母
cat a.txt | tr "a-b" "A-C" a b ---> A B
cat a.txt | tr -s "\n" 去掉空白行
cat a.txt | tr -s "abcd" 把连续重复的字符替换为一个字符
sort
排序命令
sort -n a.txt 第一列以数字方式排序
-r a.txt
-k, --key=位置1[,位置2]
-t 指定分割符
-u, --unique 去掉重复行
sort -t " " -k 2.2 a.txt 以空格为分割符 取分割后的第2块的第2列
uniq
去掉连续重复行
uniq a.txt
uniq -c a.txt 统计每行重复的次数且重复的行要是连续重复
uniq -d a.txt 只输出重复的行(连续重复)
-i 忽略大写小
diff
文件差异对比
[root@server1 test]# cat a.txt
111
[root@server1 test]# cat b.txt
111
222
diff a.txt b.txt
1a2
> 222
diff -u a.txt b.txt > ab.patch -u标准格式 以标准格式制作补丁
patch < ab.patch a.txt 打补丁
du
du -h /etc/ 统计整个目录文件总大小
which
查看二进制命令的绝对路径
which cat
/bin/cat
stat
stat /etc/passwd 查看文件类型和三个时间
Access: 最后一次被访问时间
Modify: 最后一次修改属性时间
Change: 最后一次内容的改变
touch /etc/passwd 刷新三个时间
系统有一种保护机制 当Modify比Access时间旧 旧不频繁刷新access时间
lsof
lsof -i:80 通过端口号查看服务是否在运行
fuser
fuser -km /mnt 如果卸载分区的时候 有人占用挂载点 强制踢掉
fuser -km /dev/pts/3
本文出自 “云计算” 博客,请务必保留此出处http://huanghaisky.blog.51cto.com/3064496/1918946
linux之文件的高级命令