写这个命令行记呢,是记一下自己会用到的一些小命令的。这个会不定期更新的,主要是为自己记下些命令,毕竟好记星比不上烂笔头呀。
开贴第一天吗,先写两个命令:script和mencoder
script是一个记录终端输入输出的命令,并且会把这些输入输出存到一个文本文档里。有人也许会说,我输出重定向不就搞定了。
嘿嘿,其实今天我就是遇到了一个输出重定向解决不了的问题才搜到这个命令的。
我想打印一下云诺日志给客服人员看,运行
yunio -d
就会不停的向终端打印日志,而且这种打印是永不停止的,除非你ctrl-c强行终止。
如果你用输出重定向来企图把日志存到某个文件里,由于这种重定向不是实时的,它会在整个程序完整的运行完了,才会存到文档里,所以你ctrl-c将命令中断的话,就不会重定向到文档了。
所以还是用script吧
script -a log.txt
就可以启动script了,后面的参数的意思是把终端的输入输出都记录到log.txt里。如果你只运行script 那么,会默认存到当前目录的typescipt里面。
script启动之后,你在终端的任何输入输出都会记录到log.txt里,你如果不想让它记录了,就运行
exit
这样就会退出script了
script其实还能记录时间信息,然后搭配scriptreplay这个命令,就可以实现回放功能,有点类似屏幕录像,但这个录的只是终端。
命令是这样的
~>script -t 2>time.txt -a log.txt
Script started, file is shrink.log
这个命令比之前多了个参数,就-t 2>time.txt,这个参数会把时间信息记录到time.txt里面。
其余的和之前一样了,它会开始记录你的一切动作,包括时间信息,直到你运行
exit
才会结束记录。
记录好之后,输入
scriptreplay time.txt log.txt
就可以进行终端回放了。
另外再谈一下mencoder
不得不吐槽一下,这个命令实在功能太强了,所以参数一大堆。但其实我今天只是想要一个很简单的提前视频文件中的音频文件的功能。所以在我在一堆差点能把我淹死的帮助文件中找呀找,搞了半天还是不会用。最终只好祭出度娘这个大杀器了。
mencoder -oac mp3lame -ovc copy -of rawaudio 超人前传第十季1.rmvb -o 超人前传1.mp3
解释一下:“-oac mp3lame”是指定编码为MP3,“-ovc ”本来是设定视频编码的,“copy”参数是不编码只进行流复制的意思,“超人前传第十季1.rmvb”是选定的视频文件,“-o 超人前传1.mp3”是设定从视频文件中提取的输出文件名为“超人前传1.mp3"
运行一下就OK了,能够成功。但有个问题就是我得到的是一个mp2文件而不是mp3文件。虽然都能听,但暂时还没找到原因。
LVM相关命令:
resize2fs——可以调整ext分区的大小
lvresize ——可以调整一个LV的大小
lvdisplay ——显示所有能够查找到的lv
下面就用一个缩小lv的演示项目来演示一下各个命令的用法:
# lvdisplay
--- Logical volume ---
LV Path /dev/vgssd/test
LV Name test
VG Name vgssd
LV UUID khY6b1-MGOU-3hKk-q3py-VFrd-wsTA-dMZo71
LV Write Access read/write
LV Creation host, time linux-lssw.site, 2013-07-22 20:51:11 +0800
LV Status available
# open 1
LV Size 300.00 MiB
Current LE 75
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:3
//这个/dev/vgssd/test就是今天的实验对象,下面要演示的就是把他的容量缩小40MB,也就是变成260M
#resize2fs /dev/vgssd/test 260m
resize2fs 1.42.6 (21-Sep-2012)
Filesystem at /dev/vgssd/test is mounted on /mnt/test; on-line resizing required
resize2fs: On-line shrinking not supported
//这条命令就是把它/dev/vgssd/test调节成260M的意思,但是没有成功,原因它说了,是因为不支持在线缩小的缘故。所以我们要先卸载/dev/vgssd/test
#umount /dev/vgssd/test
#resize2fs /dev/vgssd/test 260m
resize2fs 1.42.6 (21-Sep-2012)
请先运行 'e2fsck -f /dev/vgssd/test'.
//这里它又说要我们先运行磁盘检测,嗯,我们就按它的意思做
#e2fsck -f /dev/vgssd/test
e2fsck 1.42.6 (21-Sep-2012)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vgssd/test: 12/76912 files (0.0% non-contiguous), 122370/307200 blocks
#resize2fs /dev/vgssd/test 260m
resize2fs 1.42.6 (21-Sep-2012)
Resizing the filesystem on /dev/vgssd/test to 266240 (1k) blocks.
The filesystem on /dev/vgssd/test is now 266240 blocks long.
//好了,这回成功了
#mount /dev/vgssd/test /mnt/test
#df /mnt/test
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/vgssd-test 257800 112655 131833 47% /mnt/test
//看容量减下去了,但是还没有完,我们来看一下test这个逻辑卷
#lvdisplay
--- Logical volume ---
LV Path /dev/vgssd/test
LV Name test
VG Name vgssd
LV UUID khY6b1-MGOU-3hKk-q3py-VFrd-wsTA-dMZo71
LV Write Access read/write
LV Creation host, time linux-lssw.site, 2013-07-22 20:51:11 +0800
LV Status available
# open 1
LV Size 300.00 MiB
Current LE 75
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:3
//这里容量并没有下去
#lvresize -L -40m /dev/vgssd/test
WARNING: Reducing active and open logical volume to 260.00 MiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce test? [y/n]: y
Reducing logical volume test to 260.00 MiB
Logical volume test successfully resized
//如果是加40M的话,应该把那里改成加号,即lvresize -L +40m /dev/vgssd/test,我们看一下成功没有
#lvdisplay
--- Logical volume ---
LV Path /dev/vgssd/test
LV Name test
VG Name vgssd
LV UUID khY6b1-MGOU-3hKk-q3py-VFrd-wsTA-dMZo71
LV Write Access read/write
LV Creation host, time linux-lssw.site, 2013-07-22 20:51:11 +0800
LV Status available
# open 1
LV Size 260.00 MiB
Current LE 65
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:3
//嗯,成功了