(自己入门linux时的痕迹,勿笑我这些都不知道,当时真是啥都不知道,被window毒害至深啊 )
1、查找
查找文件:find /(查找范围) -name 查找关键字 -print
tar jxvf XX.tar.bz2
如果tar不支持j选项,就用下面方式解压
bzip2 -d XX.tar.bz2
tar -xvf XX.tar.bz2
# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-x是解开的意思
范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar
[root@linux ~]# tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩
# 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。
# 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~
# 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~
# 上述指令在执行的时候,会显示一个警告讯息:
# 『tar: Removing leading `/” from member names』那是关於绝对路径的特殊设定
查看驱动配置信息: zcat /proc/config.gz
4、不同host间拷贝
rsync bb-sim-log.bb01::install/pkg/centos6u3/tarball.tgz .
scp拷贝多个文件
scp user@remotehost:/dir/{doc1,doc2,doc3} .
5、编译内核时遇到熵不够
#cat /proc/sys/kernel/random/entropy_avail
如果太少,就用这个来生成,吧
#rngd -r /dev/urandom
在固件开发过程中常常遇到这样的情况:为测试某个新功能,必需修改某个系统文件。而这个文件在只读文件系统上(总不能为一个小小的测试就重刷固件吧),或者是虽然文件可写,但是自己对这个改动没有把握,不愿意直接修改。这时候mount --bind就是你的好帮手。
假设我们要改的文件是/etc/hosts,可按下面的步骤操作:
1. 把新的hosts文件放在/tmp下。当然也可放在硬盘或U盘上。
2. mount --bind /tmp/hosts /etc/hosts
测试完成了执行 umount /etc/hosts 断开绑定。
如果我需要在/etc下面增加一个exports文件怎么办?原来没有这个文件,不能直接bind。我们有两个方法:
方法1:绑定整个/etc目录,绑定前先复制/etc
# mount -- bind / tmp / etc / etc
方法2:挂载ramfs到/etc,同样要先复制/etc
# mkdir / tmp / etc
# mount - t ramfs none / tmp / etc
复制 / etc,这里我们不能用cp - a,改用tar
# cd / etc
# tar cf - . | (cd / tmp / etc; tar xf - )
# cd /
覆盖 / etc
# mount -- move / tmp / etc / etc
8、VIM小命令
- :1,10 m 20
9.十六进制
二进制转十六进制:xxd 文件名 文件名.xxd
然后就可以查看了,head 文件名.xxd 显示为十六进制数
10.gdb使用