linux获取文件的路径名及其文件名的方法
1、简单测试实例
for i in `find . -type f -name "*.c"`
do
echo $i
basename $i 获取*.c文件名
dirname $i 获取*.c对应的目录名
done
2、实际应用
diff Linux源码,并将有不一样的源码整理在一起,要求:文件名以new和old区分。
(1)、简单测试
rm -rf ~/Desktop/20091107
cp_source()
{
#for i in `find . -type d -print`
for i in `find $1 -type f -name "*.s"`
do
#echo $i
#basename $i
dirname $i
mkdir -p ~/Desktop/20091107/`dirname $i`
cp $i ~/Desktop/20091107/`dirname $i`/`basename $i`_"$2"
done
}
cd linux-0.11 && cp_source "." "new"
cd ../linux-0.11 && cp_source "." "old"
(2)、实际实现(以diff -Nur linux-2.6.30 linux-2.6.31.5为例)
rm -rf ~/Desktop/20091107
#cat linux-patch.txt | grep 'diff -Nur ' | sed 's/^.*linux-2.6.30\///g'| sed 's/ linux-2.6.31.5.*$//g' > ~/Desktop/diff.txt
old_source_noprefix=`cat linux-patch.txt | grep 'diff -Nur ' | sed 's/^.*linux-2.6.30\///g'| sed 's/ linux-2.6.31.5.*$//g'`
new_source_noprefix=`cat linux-patch.txt | grep 'diff -Nur ' | sed 's/^.*linux-2.6.31.5\///g'`
old_source_haveprefix=`cat linux-patch.txt | grep 'diff -Nur ' | sed 's/^.*linux-2.6.30/linux-2.6.30/g'| sed 's/ linux-2.6.31.5.*$//g'`
new_source_haveprefix=`cat linux-patch.txt | grep 'diff -Nur ' | sed 's/^.*linux-2.6.31.5/linux-2.6.31.5/g'`
cp_source()
{
#for i in `find . -type d -print`
for i in $1
do
#echo $i
#basename $i
#dirname $i
#Used "diff -Nur", some file didn't exist!
mkdir -p ~/Desktop/20091107/`dirname $i` && cp ./$2/$i ~/Desktop/20091107/`dirname $i`/`basename $i`_"$3" 2>/dev/null
done
}
cp_source "$old_source_noprefix" "linux-2.6.30" "old"
cp_source "$new_source_noprefix" "linux-2.6.31.5" "new"
相关文档:
1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI) 就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......
dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
dd 的主要选项:
指定数字的地方若以下列字符结尾乘以相应的数字:
b=512, c=1, k=1024, w=2, xm=number m
if=file
输入文件名,缺省为标准输入。
of=file
输出文件名,缺省为标准输出。
ibs=bytes
一 ......
一、前言
Linux最初的开发完全是围绕ASCII编码体系进行的,没有考虑非英语用户面临的问题,因此导致其使用门槛较高,尤其对于亚洲用户而言,由于采用象形
文字的特殊性(包括中文、韩文、日文,简称为CJK),使得对Linux进行本地化更为困难。在这样的背景下,ejoy等人发起 ......
如何在linux下查看当前登录的用户,并且踢掉你认为应该踢掉的用户?
看了网络中的一些例子.在这里总结一下.主要用到的命令有,w,who,ps,kill,pkill
查看当前登录用户:
node8:/home # who
root :0 2009-11-04 16:26
root pts/0 &n ......