linux系统管理员处理日常任务的几个简单小方法

一、 从linux日志文件中读取数据并处理的脚本程序   g317

#!/bin/bash

exec 0< testfile
count=1

while read line
do
    echo "line #$count: $line"
    count=$[ $count + 1 ]
done

二、 快速清除文件(例:日志文件)中所有数据,而不必删除再重新创建 g324

cat /dev/null > testfile

三、查找文件夹

-type指明该name的属性

查找ipc文件夹

find ~/pkg/petalinux -type d -name ipc

四、从文档中删除空白行的快速方法

sed '/^$/d' file1.txt

命令行直接输入上面的命令,就可以删除空白行

五、查看PATH变量值时希望以换行符分隔各条数据,方便查看,而不是以冒号分隔

echo $PATH | sed 's/:/\n/g'

六、查看文件中的部分行

6.1 查看日志文件的最后几行

tail log_file    // 默认查看最后10行
tail -n 2 log_file=tail -2 log_file  //查看最后2行

-f参数可以实时监测日志,持续显示添加到日志文件中的内容(由于文件开头一般不会改变,故此参数不适合head)

6.2 查看文件的前面几行

head log_file // 默认查看前10行
head -5 log_file //查看前5行

tail和head都支持破折号加行数,省略字母n

七、删除file1和file2两个文件(夹)之外的其他文件(夹)

ls | grep -ve file1 -ve file2 | xargs sudo rm -rf

ls | grep -ve file1 -ve file2 | xargs -I del_file sudo rm -rf /dir/del_file  //-I参数(大写的i), 可以对传过来的参数取个统一的别名,这里是del_file,执行时,具体的参数会替换掉del_file, 这样可以指定要删除的路径,比如是/dir目录下的各参数表示的文件

find ../dir1/* -print0 | xargs -0 -p -I {} sh -c 'ln -s {} $(basename {})'

-p: 先显示要执行的命令,没有问题输入y再执行

在xargs中不能使用命令替换等,因为他会在执行语句命令前先行执行命令替换,也就是反应号的执行是在xargs中需要执行的命令之前执行,可以通过用sh -c来把命令替换语句变成单引号括起来表示的原样字符串即可。

Ref:https://stackoverflow.com/questions/7144106/bash-problem-xargs-and-problem-using-the-basename-command-in-argument-list-subs

 -v代表反转,-e代表可以指定多个匹配模式

xargs代表将管道前面传过来的数据作为xargs后面指令的参数

rm -rf !(file1) #删除file1文件之外的所有文件(夹)
rm -rf !(file1|file2) #删除file1和file2文件之外的所有文件(夹)

八、查看链接文件的最终目标的多种方法

https://blog.csdn.net/xiang_shao344/article/details/82424292

九、查找所有文件里是否包含某个字符串,也可以用在大文件包含若干个小文件夹

grep -rn "<要查找的字符串>" ./*

-r表示递归,-n显示行号,./*在当前目录下的所有文件(夹),递归查询

十、Centos下查询库文件属于哪个包

yum whatprovides <库文件名>

11、批量解压缩

find * -print0 | xargs -0 -I {} sh -c 'file={};unzip {} -d "${file%.*}"' 

将当前路径的zip文件解压到同名的文件夹下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值