这里就不分类了,用到一个直接添加一个。都是嵌入式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,n4
n1,n2 d n3
n1,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 uboot
make smdk2440_config
make
(19)vi命令集
剪切:剪切选定块到缓冲区,用d;剪切整行用dd
复制:复制选定块到缓冲区,用y;复制整行,用yy
粘贴:粘贴缓冲区中的内容,用p
(20)chmod
chmod +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
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可以这么理解:把标准错误输出重定向>,通过后台&,放到标准输出所在的地方.因为是在后台运行,所以是看不见出错信息的.因此,&,可以理解成是后台行为.
未完待续...