linux入门开发常用小工具小命令

(自己入门linux时的痕迹,勿笑我这些都不知道,当时真是啥都不知道,被window毒害至深啊 )

1、查找 

查找 find / -name 'kvm.h'
查找 find ./ -name *.h|xargs grep "add_wait_queue" -rn
查找目录:find /(查找范围) -name '查找关键字' -type d
查找文件:find /(查找范围) -name 查找关键字 -print
2、打包

解压: tar -zxvf filename.tar.gz
压缩: tar -zcvf ..

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』那是关於绝对路径的特殊设定

3、查看OS信息

查看版本: cat /etc/rehat-release
查看位数、内核版本: uname -a
内核输出dmesg

查看驱动配置信息: 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  -o /dev/random  -f -t 1

6、挂载相关

在固件开发过程中常常遇到这样的情况:为测试某个新功能,必需修改某个系统文件。而这个文件在只读文件系统上(总不能为一个小小的测试就重刷固件吧),或者是虽然文件可写,但是自己对这个改动没有把握,不愿意直接修改。这时候mount --bind就是你的好帮手。

假设我们要改的文件是/etc/hosts,可按下面的步骤操作:

1. 把新的hosts文件放在/tmp下。当然也可放在硬盘或U盘上。
2. mount --bind /tmp/hosts /etc/hosts

测试完成了执行 umount /etc/hosts 断开绑定。

如果我需要在/etc下面增加一个exports文件怎么办?原来没有这个文件,不能直接bind。我们有两个方法:

方法1:绑定整个/etc目录,绑定前先复制/etc


# cp  - / etc  / tmp
# mount 
-- bind  / tmp / etc  / etc
此时的/etc目录是可写的,所做修改不会应用到原来的/etc目录,可以放心测试。

方法2:挂载ramfs到/etc,同样要先复制/etc

挂载ramfs
# 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
测试完了记着 umount /etc

挂载镜像命令
guestmount -a test.img -i --rw /mnt/
7、非常有用的 sed
sed的介绍 http://www.iteye.com/topic/587673 觉得这个还算不错。

8、VIM小命令

vsplit 
18,30s/temp_ptr/ptr/g  替换
剪切1-10行到20行
  1. :1,10 m 20 

9.十六进制

二进制转十六进制:xxd 文件名  文件名.xxd

然后就可以查看了,head 文件名.xxd 显示为十六进制数

10.gdb使用

gdb coredump core.8943
where
disassemble  pc
display
11、驱动相关
加载卸载: insmod /rmmod  *.ko
查看:  lsmod   
or  modinfo *.ko

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值