1)查看目录大小
du -sm /directory 查看/directory目录总大小, 单位MB
2) RPM软件包
rpm -qa |grep vnc 查询已经安装软件中带vnc关键字的软件包
rpm -e vnc 卸载vnc软件
rpm -e vnc --nodeps 卸载vnc软件,忽略软件包的依赖关系
rpm -i vnc.rpm 安装vnc 软件
3)获取IP地址
dhclient eth0 获取eth0的ip地址
4)打印硬盘分区的uuid信息
blkid
5)格式化硬盘
mkfs.ext4 /dev/sdb1 按照ext4格式来格式化/dev/sdb1分区
mkfs.ext3 /dev/sdb1 按照ext3格式来格式化/dev/sdb1分区
6) 磁盘检查
fsck
7) 编译src.rpm包
下载src 软件包
wget http://xen-4.0.1-6.fc14.src.rpm
安装
rpm -i xen-4.0.1-6.fc14.src.rpm
从build源代码中获取二进制包
#cd /root/rpmbuild/SEPCS
#rpmbuild -bb xen.spec
解释一下:
rpmbuild 有三个参数
bb (build binary)
bs (build source)
ba (build all)
安装新build出来的包
#cd /root/rpmbuild/RPMS/x86_64/
#rpm -Uvh xen-4.0.1-6*.rpm
8)打patch及生成patch
打patch(忽略第一级目录)
patch -p1 < my.patch
生成patch
patch -Nur old/ new/ > mypatch.diff
去除已经打的my.patch
patch -R -p1 < my.patch
9) git或hg下生成patch
git diff >my.patch
hg diff >my.patch
把修改后的代码生成统一格式的patch包
10)制作initramfs
ubuntu环境
mkinitramfs -o /boot/initramfs-3.3.7.img 3.3.7 (-o 参数是制定输出路径及名称)
Redhat环境
mkinitrd -f /boot/initramfs-3.3.7.img 3.3.7
命令后面的3.3.7 是/lib/modules/下你需要生成的initramfs的版本
11)把image文件mount起来
先查看image的offset偏移字节大小
[root@localhost work]# fdisk -lu ia32e_rhel6u2.img
You must set cylinders.
You can do this from the extra functions menu.
Disk ia32e_rhel6u2.img: 0 MB, 0 bytes
255 heads, 63 sectors/track, 0 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00086c44
Device Boot Start End Blocks Id System
ia32e_rhel6u2.img1 * 2048 15753215 7875584 83 Linux
Partition 1 does not end on cylinder boundary.
ia32e_rhel6u2.img2 15753216 16777215 512000 82 Linux swap / Solaris
Partition 2 has different physical/logical endings:
phys=(1023, 254, 63) logical=(1044, 85, 1)
通过fdisk -lu命令可以看到redhat的image的偏移是2048个sectors,而每个sector是512个字节,所以这个image的总偏移大小事2048*512=1048576
就可以通过命令:mount -o loop,offset=1048576 ia32e_rhel6u2.img /mnt 把这个image给mount到/mnt目录了。
12)在linux系统中,让程序启动的信息输出到串口
修改/boot/grub/grub.conf的grub启动配置文件,如下图所示。
title Red Hat Enterprise Linux (2.6.32-220.el6.x86_64)
root (hd0,0)
kernel /boot/vmlinuz-2.6.32-220.el6.x86_64 ro root=UUID=a71042df-7979-44b3-ad9f-21547df29ef7 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 rhgb crashkernel=128M KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM console=com1 com1=115200,8n1
initrd /boot/initramfs-2.6.32-220.el6.x86_64.img
只需要在kernel中添加红色字体的配置信息即可。
13)linux下的copy和paste
拷贝:选中复制内容,使用快捷键shift+ctrl+c
粘贴:在需要粘贴的地方,使用快捷键shift+ctrl+v
14) find的高级命令
find /home -name *.txt -exec ls -l {} \;
该命令是在/home命令下查找.txt后缀结尾的文件,并通过ls -l命令显示出来。前面查找不是重点,重点在于怎样通过ls显示出来。
该例子中特殊的地方有"{}"已经"\;",还有-exec这个关键字,这些东西的意义为:
{}代表“有find找到的内容”,find找到的结果放置到{}位置中。
-exec 一直到“\;”是关键字,代表find额外命令的开始(-exec)到结束(\;),在这中间就是find命令内的额外命令。
因为“;”在bash环境中有特殊意义,因此需要利用反斜杠来转义。
15) 删除repo sync文件夹中的全部.git文件夹
repo forall -c rm .git -rf
16) 生成带email地址的RSA key
ssh-keygen -t rsa -C "name@company"
-t 制定key 类型
-C 设置email地址