笔记记录于《鸟哥的Linux私房菜-第三版》,以备多看。
Linux
Free software
Stallman:
“Free software” is a matter of liberty, not price. To understand the concept, you should think of “free speech”, not “free beer”. “Free software” refers to the users’ freedom to run, copy, distribute, study, change, and improve the software
概念
Linus Torvalds:linux
目前Linux核心的发展分为两种版本,分别是稳定版本的偶数版,如2.6.X,适合于商业与家用环境使用; 一种是发展中版本的奇数版如2.5.X 版,适合开发特殊功能的环境。
硬盘
IDE:/dev/hd[a-d][1-63]
SATA,SCSI,USB,Flash碟:/dev/sd[a-p][1-15]
sector(扇区)》cylinder(磁柱)》filesystem
第一扇区(512bytes):MBR(446)+partition table(64)
默认是4个分区,可以延伸分割拓展分区
inode & block
inode(128bytes)记录相关block信息(档案的属性权限),一个记录4byte
1K最多记录文件大小:12 + 256 + 256256 + 256256*256 (K) = 16GB
superblock记录filesystem整体信息,包括inode/block
支持文件系统类型
ls -l /lib/modules/$(uname -r)/kernel/fs
cmd
基础
man
h help (有着一个也够了)
/string 向下搜索 (n); ?string 向上搜索 (N)
空格 下一页; u 上一页
man -k (apropos)查找关键字;man -f (whatis) 列出指令简易说明
info
tab 在node间移动
chown
修改组和用户:chown user:group fileName
单改组:chown .group fileName (同chgrp)
chmod
u g o a [+(加入) -(除去) =(设定)] r w x #a 全部
w 具有相当重要的权限,可以让使用者删除、更新、新建档案戒目录(即使非当前用户文件)
pwd
pwd -P 显示链接源路径
mkdir
-m 配置权限 :mkdir -m 711 test2
-p 递归建立目录
cp
-a 不改变权限
-u 差异复制
-d 复制链接非源文件
-s 复制为一个连接档
mv
-b :若需覆盖文件,则覆盖前先行备份。备份文件加
~
后缀-b 不接受参数,mv会去读取环境变量VERSION_CONTROL来作为备份策略。
–backup该选项指定如果目标文件存在时的动作,共有四种备份策略:
1.CONTROL=none或off : 不备份。
2.CONTROL=numbered或t:数字编号的备份
3.CONTROL=existing或nil:如果存在以数字编号的备份,则继续编号备份m+1…n:
执行mv操作前已存在以数字编号的文件log2.txt.1,那么再次执行将产生log2.txt2,以次类推。如果之前没有以数字编号的文件,则使用下面讲到的简单备份。
4.CONTROL=simple或never:使用简单备份:在被覆盖前进行了简单备份,简单备份只能有一份,再次被覆盖时,简单备份也会被覆盖。-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
od
od -t oCc /etc/issue 显示八进制和ASCII码对照
chattr
i 不可删除、修改、链接
a 只能追加
特殊权限
n代表n天前的那一天
-n是n天内
+n是n天前(>=5)
find /bin /sbin -perm +6000 -exec ls -l {} ; #查找包含任一SUID,SGID的文件并列出
- -perm -mode #完全满足mode
find /etc -size +50k -a -size -60k -exec ls -l {} ; #找出 /etc 底下,档案大小介亍 50K 到 60K 间的档案,并将权限完整的列出 (ls -l)
-a # and
! # 反向选择,不是后边的项目
-o # or
ln
ln #hard link 直接操作源文件
ln -s #symbol link 快捷方式
磁盘
dd
dd if=/dev/zero of=/boot/test.img bs=1M count=10 生成10M的测试数据
dd if=/etc/passwd of=/tmp/passwd.back #备份
每笔record默认用512bytes,可备份完整的partition和disk ,因为 dd 可读取磁盘的sector 表面数据
cpio
cpio -ovcB > [file|device] <==备份
cpio -ivcdu < [file|device] <==还原
cpio -ivct < [file|device] <==察看
mount
mount –bind #将某个目录挂载到其他目录里
磁盘使用必需要经过:分割、格式化不挂载,分别惯用的指令为:fdisk, mkfs, mount 三个指令
df+du
du -sh ./* #查看目录下全部统计信息,子目录大小会累加到根目录
du -Sh ./* #子目录不累加
dumpe2fs
dumpe2fs /dev/sda1 -h #查看硬盘主要信息
e2label
e2label 装置名称 新的Label名称
tune2fs
l :类似 dumpe2fs -h 的功能
将 superblock 内的数据读出来j :将 ext2 的 filesystem 转换为 ext3 的文件系统;
L :类似 e2label 的功能,可以修改 filesystem 的 Label 喔!
压缩
gzip
gzip -9 -c man.config > man.config.gz #gzip后保留源文件
gzip -v man.config #压缩并显示压缩比
gzip -d man.config.gz #解压
zcat man.config.gz #读取压缩文件内容
bzip2
性能优于gzip,操作参数同上
bzcat man.config.bz2
tar
j:bzip2;z:gzip
压 缩:tar -jcv -f filename.tar.bz2 要被压缩的档案戒目录名称
查 询:tar -jtv -f filename.tar.bz2
解压缩:tar -jxv -f filename.tar.bz2 [待解开档名] -C 欲解压缩的目录
-p 保留权限属性
–exclude=file #过滤
tar -jcv -f /root/etc.newer.tar.bz2 –newer-mtime=”2008/09/29” /etc/* #增量备份
tar -cvf - /etc | tar -xvf - #利用标准IO将/etc边打包边解压复制到当前目录
vim
vim-cmd
unix2dos dos断行格式
k :保留该档案原本的mtime 时间格式 (并更新档案上次内容经过修订时间)
n :保留原本的旧档,将转换后的内容输出到新档案,如: unix2dos -n old new
dos2unix unix断行格式
同上使用,相反操作
iconv
iconv -f 原本编码 -t 新编码 filename [-o newfile]
tr
echo “A”|tr “A-Z” “a-z” #小写转换
tr -s ‘\n’ #多个字符替换为一个
tr -cd [:digit:] #除数字都替换
如有疑问,请文末留言交流或邮件:newbvirgil@gmail.com 本文链接 : https://newbmiao.github.io/2015/09/15/Niaoge-Linux-Desktop-Guide-notes-basis.html