命令行记

写这个命令行记呢,是记一下自己会用到的一些小命令的。这个会不定期更新的,主要是为自己记下些命令,毕竟好记星比不上烂笔头呀。
开贴第一天吗,先写两个命令: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
//嗯,成功了

亲,mencoder 是属于多媒体的。

:sob: 我的沙发被删了,钱也被扣了,郁闷
这个比较综合呀,又不是只说 mencoder
如果可以的话,我以后还会再写些命令的
占沙发也是方便更新汇总什么的
毕竟一个命令的内容比较少,所以汇总起来比较好吧,也方便我自己查看
一个命令发一贴,绝对是没节操的骗金币的说

一个中科院的因为沙发被删哭的很伤心。你还能再有出息点吗?

PS:你那个不用 script 也能做。你找找百合仙子,他应该会。他不会你找找 phoenix,这是 Ubuntu 论坛的花花大神。

问题是我的金币也被删了,也不看看,我都滑出论坛的财富榜了。而且以后用沙发作目录等一系列大计也受到影响了。我是设想,会有些人来发布一些自己觉得好用的命令,我就可以在二楼作个连接或者目录什么的。现在只能用板凳来完成这计划了。
PS:其实中科院的很惨的,生活条件很差,还要忍受别人的吐槽,我容易嘛我

怎么可能删金币… 你上过财富榜么就滑出…

论坛好像没有单贴字数限制…

我的确是少了一个金币呀。

其实我曾经有段时间,靠着自己的勤劳,长居财富版不下。可是自从听信传言,以为抢劫能发家致富,结果就差点倾家荡产,之后,就渐渐滑出财富版了。所以奉劝大家,一定要做个守法良民。

楼歪了。。。