楼主: changyongid

一天一个Linux命令

[复制链接]
 楼主| 发表于 2009-10-30 08:29:34 | 显示全部楼层
最近在做一个东西,同时也把C语言复习一下。书是K&R的《The C programming language》,买的英文本,正在进行中……

做完这个,就想弄一下lfs。没办法,感觉自己的Linux一直徘徊于各个发行版之间,fedora 、ubuntu 。。。想弄完lfs之后,可以再考虑以后用什么吧。。

坚持学习吧。。
 楼主| 发表于 2009-10-30 08:36:48 | 显示全部楼层
昨天我下了一个gentoo,如下
2.6G livedvd-x86-amd64-32ul-10.1.iso
太大了,我只有三个2G的U盘,所以想把它拷回去的话就得换一种办法了。当然是把它分割。。
现计划将其分割为1G的文件。 1G + 1G + 0.6G
 楼主| 发表于 2009-10-30 08:41:19 | 显示全部楼层
本帖最后由 changyongid 于 2009-10-30 08:43 编辑

split,Linux下的文件分割命令。
  -a, --suffix-length=N   后缀的长度,默认为2
  -b, --bytes=SIZE          指定多少字节切成一个小文件
  -C, --line-bytes=SIZE   这个选项带的参数与上面一样,但它会尽量保持文件的完整性
  -d, --numeric-suffixes  使用数字的后缀代替字母后缀
  -l, --lines=NUMBER      把infile拆分为具有n行的段,默认值为1000

后面的SIZE 可以跟bkm,b代表512B,k代表1KB,m代表1MB。
好的,我们来试一下这个命令吧。。
 楼主| 发表于 2009-10-30 08:48:34 | 显示全部楼层
[changyongid@localhost opt]$ split -d -b 1024m livedvd-x86-amd64-32ul-10.1.iso
[changyongid@localhost opt]$ ll -sh
2.6G -rw-r--r-- 1 changyongid changyongid  2.6G 10-09 20:08 livedvd-x86-amd64-32ul-10.1.iso
1.1G -rw-rw-r-- 1 changyongid changyongid  1.0G 10-30 08:43 x00
1.1G -rw-rw-r-- 1 changyongid changyongid  1.0G 10-30 08:44 x01
544M -rw-rw-r-- 1 changyongid changyongid  543M 10-30 08:44 x02

看到了,分为了x00 x01 x02三个文件。。。有点不爽,如果名字也指定就好了。
看下help说的:
Usage: split [OPTION]... [INPUT [PREFIX]]
Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default
size is 1000 lines, and default PREFIX is `x'.  With no INPUT, or when INPUT
is -, read standard input.
所以我们可以在命令的最后指定前缀。即:
split -d -b 1024m livedvd-x86-amd64-32ul-10.1.iso gentoo-10.1_
 楼主| 发表于 2009-10-30 08:56:20 | 显示全部楼层
分割的速度还可以。可以看到分割后生成了三个文件,原文件还是在的。这样拷到另一个电脑上去之后,怎么将这三个文件还原成一个完整的iso呢?
用cat。没错。
[changyongid@localhost opt]$ cat x0* > gentoo_10_1_iso
changyongid@localhost opt]$ ls -sh1
2.6G gentoo_10_1_iso
2.6G livedvd-x86-amd64-32ul-10.1.iso
   1.1G x00
1.1G x01
544M x02
看到了新生成的文件,大小也一致,那么挂载一下看看。
[changyongid@localhost opt]$ sudo mount -t iso9660 -o loop gentoo_10_1.iso /mnt/
[changyongid@localhost opt]$ ls /mnt/
Artwork  gentoo.efimg    isolinux  Media
CREDITS  image.squashfs  livecd    README.txt
嗯。里面的文件是正确的。
好了。这个命令就说明到这里。不会的时候看一下help,然后动手试一下就会了。
 楼主| 发表于 2009-10-30 09:13:25 | 显示全部楼层
本帖最后由 changyongid 于 2009-10-30 09:15 编辑

[changyongid@localhost opt]$ chmod --help
用法:chmod [选项]... 模式[,模式]... 文件...
  或:chmod [选项]... 八进制模式 文件...
  或:chmod [选项]... --reference=参考文件 文件...
将每个[文件]的模式更改为[模式]。
  -c, --changes           类似 --verbose,但只在有更改时才显示结果
      --no-preserve-root  do not treat `/' specially (the default)
      --preserve-root     fail to operate recursively on `/'
  -f, --silent, --quiet   去除大部份的错误信息
  -v, --verbose           处理任何文件都会显示信息
      --reference=参考文件  使用[参考文件]的模式,而非自行指定权限模式
  -R, --recursive         以递归方式更改所有的文件及子目录
      --help     显示此帮助信息并退出
      --version  输出版本信息并退出

Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.
u  user 用户,即文件所有者
g    group,即同组用户
o    other 其他用户
a all所有用户

+ 增加相应权限
- 去掉相应权限
= 等于某个权限

r 读
w 写
x 可执行
X 只有目标文件对某些文件是可执行的,该目标文件是目录时才追加X属性
s 设置SUID SGID g+s设置SGID u+s设置SUID 这个我也不懂
t 保存程序的文件到交换设备上

u 与文件所有者有一样的权限
g 与同组有一样的权限
o 与其他用户有一样的权限

这是字符设定法。还有一种是数字设定法,就不多说了。
这个命令重要,但是不复杂。很常用的。
发表于 2010-4-12 22:46:15 | 显示全部楼层
顶一个呗
发表于 2010-5-26 16:21:18 | 显示全部楼层
怎么讲完命令就开始写书了吗?
“说到中学时期,家乡的那片梯田,是我看过 最美的绿地……”
发表于 2010-5-27 12:14:08 | 显示全部楼层
谢谢呀
发表于 2010-5-27 12:17:27 | 显示全部楼层
啊啊啊啊啊啊啊啊啊啊啊
发表于 2010-5-28 08:47:50 | 显示全部楼层
呵呵 积少成多:“——)
发表于 2010-5-29 16:02:25 | 显示全部楼层
发表于 2010-5-30 23:40:32 | 显示全部楼层
linux怎么“克隆”?
发表于 2010-6-21 10:04:51 | 显示全部楼层
顶上去
发表于 2010-8-15 21:33:07 | 显示全部楼层
都成地主了,我啥时候也来一个就好了!!
发表于 2010-9-20 22:59:00 | 显示全部楼层
学习中
发表于 2010-9-28 15:09:56 | 显示全部楼层
楼主写个VIM的基本命令吧,好久不用都忘了
发表于 2010-10-5 22:51:19 | 显示全部楼层
说得好,积累最重要
发表于 2010-10-9 13:46:15 | 显示全部楼层
好啊,要多谢各位前辈给我们学习的机会,继续盖啊
发表于 2010-10-10 22:45:41 | 显示全部楼层
chmod
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表