这里就不分类了,用到一个直接添加一个。都是嵌入式linux开发中常用到的指令。(1)开发板挂载到虚拟机上mount -t nfs -o nolock 192.168.1.101:/work/nfs_root /mnt
(2)压缩文件a目录为b.zip
zip -r -q -o b.zip a
(3)文件打补丁,进入文件目录下,补丁在上一层
patch -p1 < ../u-boot.patch
(4)当前的绝对路径
pwd
(5)加载、卸载、查看驱动insmod a.ko
rmmod a.ko
lsmod
(6)压缩文件zip -r -q -o 输出名字.zip 要压缩的目录zip -r -q -o u-boot-2012.04.01pat40.zip u-boot-2012.04.01
-o 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间
-q 安静模式,在压缩的时候不显示指令的执行过程
-r 将指定的目录下的所有子目录以及文件一起处理(7)NFS拷贝文件系统、内核到内存中,设置启动参数,并从内存启动内核nfs 30000000 192.168.1.102:/work/nfs_root/fs_mini_mdev_new2.yaffs2
(nfs 30000000 192.168.1.102:/work/nfs_root/fs_mini_mdev_new2.jffs2)
nand erase.part rootfs
nand write.yaffs 30000000 260000 $filesize
(nand write.jffs2 30000000 260000 $filesize)
set bootargsconsole=ttySAC0,115200 root=/dev/mtdblock3
(set bootargs console=ttySAC0,115200 root=/dev/mtdblock3 rootfstype=jffs2)
nfs 32000000 192.168.1.100:/work/nfs_root/uImage_yaffs
bootm 32000000
网络文件系统:set bootargs noinitrd root=/dev/nfs nfsroot=192.168.1.102:/home/yangfei/yangfei/baiwen_prj/rootfs_jz2440 ip=192.168.1.17:192.168.1.102:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0(8)解压tar.bz2文件tar xjf linux-3.4.2.tar.bz2
(9)根据文件名查找
find –name "*defconfig"
(10)根据字符串查找文件中匹配的内容grep ""Boot Agent"" * -nR
grep "u-boot-env" * -nR
(11)对比文件不同之处diff name1 name2
输出:
n1 a n3,n4n1,n2 d n3n1,n2 c n3,n4 这些行类似ed命令把filel转换成file2。字母(a、d和c)之前的行号(n1,n2)是针对file1的,其后面的行号(n3,n4)是针对file2的。字母a、d和c分别表示附加、删除和修改操作。(12)裁剪好内核,制作好根文件后重烧整个系统nfs 30000000192.168.1.100:/work/nfs_root/fs_mini_mdev_new2.yaffs2
nand erase.part rootfs
nand write.yaffs 30000000 460000 $filesize
nfs 32000000192.168.1.100:/work/nfs_root/uImage_4m
nand erase.part kernel
nand write 32000000 kernel
set bootargs console=ttySAC0,115200 root=/dev/mtdblock3
set 'nand read 30000000kernel;bootm30000000'
set machid 16a
save
(13)git提交代码到仓库git clone https:。。。
cd 。。
修改代码
git config --global user.name "fengyuwuzu0519"
git config --global user.eamil "992872987@qq.com"
git add .
git commit -m "备注"
git push -u origin master
提交到自己的仓库:git init
git add .
git commit -m "first commit"
git remote add origin https://github.com/fengyuwuzu0519/test.git
提示出错信息:fatal: remote origin already exists.
解决办法如下:
先输入$ git remote rm origin
git tag v1.0
git push -u origin master
git push -u origin v1.0
(14)解压缩1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压 .解压
tar –xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar –xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip (15)解压缩文件:tar zcvf a.tar.gz a
tar zxvf a.tar.gz
(16)查看文件大小du -h --max-depth=1 my_rootfs.tar.gz (17)编译2440 内核make s3c2410_defconfig
make menuconfig
make uImage
make modules
(18)编译2440 ubootmake smdk2440_config
make
(19)vi命令集剪切:剪切选定块到缓冲区,用d;剪切整行用dd复制:复制选定块到缓冲区,用y;复制整行,用yy
粘贴:粘贴缓冲区中的内容,用p
(20)chmodchmod +x xxx:增加可执行权限,常用于脚本chmod +w xxx :增加写权限(21)发布nfs共享文件夹//修改配置文件
vim /etc/exports
//加入:
/work/nfs/filesystem *(rw,sync,no_root_squash)
//查看是否发布成功
showmount -e 192.168.1.123
(22)查找大文件find / -size +100000
(23)关闭防火墙,即时生效,重启后失效: 开启:service iptables start
关闭:service iptables stop
(24)shell 脚本中 1>、2>、2>&1 的作用sh /tmp/aa.sh >/dev/null 2>&1解释:>和>>都是重定向输出1> 指标准信息输出路径(也就是默认的输出方式)
2> 指错误信息输出路径
2>&1 指将标准信息输出路径指定为错误信息输出路径(也就是都输出在一起)
习惯上
标准输入(standard input)的文件描述符是 0
标准输出(standard output)是 1
标准错误(standard error)是 2> /dev/null 将输出重定向到/dev/null,这是个空设备,也就是忽略其输出。
2> &1 是将错误输出到标准输出,如果在控制台调试,也就是屏幕上,方便调试。
有3个默认的i/o,0是标准输入,一般是键盘;1是标准输出,一般是屏幕了;2是标准错误。2>&1可以这么理解:把标准错误输出重定向>,通过后台&,放到标准输出所在的地方.因为是在后台运行,所以是看不见出错信息的.因此,&,可以理解成是后台行为.(25)find+xargs+sed批量替换把当前目录下的所有.c 和 .h 文件中的 "waf"字符 全部 替换成 “tamper”
find . -name "*.[ch]" |xargs sed -i 's/waf/tamper/g'
把/opt/test/ 目录下所有含有"linux"字符的文件全部替换成windowsfind /opt/test/ -type f | awk -F":" '{print $1}' |xargs sed -i's/linux/windows/g'
未完待续...