inode
目录
- 每个目录都会分配一个inode,和n个block, inode记录目录的权限与属性, block记录在这个目录下的文件名和该文件占用的inode号码数;所以用
ls -lid
看是发现目录的block数都是1kb人整数倍;读取目录中的文件
- 文件明的记录保存在目录的inode中,所以要对文件进行增删操作,则必须有目录的W权限,只有这样才能通过目录的inode找到记录文件的block,这样才能找到文件;
即先读inode再读block的数据, 看权限再处理文件新建目录
- 判断目录权限是否有W,X;
- 通过inode bitmap找到没有使用的inode, 将新文件属性写入;
- 通过block bitmap找到没有使用的block, 将数据写入;
- 同步, 关联, 更新;
压缩/解压缩
gzip
- .gz文件
压缩:gzip filename- zcat filename 输出到屏幕
- 解压缩 gzip -d filename
tar
打包命令
-c 新建打包文件
-v 将正在处理的文件名显示出来
-x 解压缩(cvx不可能同时出现)
-j bzip2支持人解压缩/压缩 .tar.bz2
-z gzip支持的压缩/解压缩 .tar.gz
压缩: tar -jcv -f filenam.tar.bz2
查询: tar -jtv -f filename.tar.bz2
解压缩: tar -jxv -f filename.tar.bz2 -C 解压目的目录
vi/vim
:syntax on 开启语法检查
一般模式
ctrl + u 上翻半页
ctrl + d 下翻半页
H 屏幕第一个字符
L 屏幕最后一个字符
M 中间的一行的字符
G 文件最后一行
nG 如20G 移动到20行
gg 文件第一行
n+[Enter键] 光标向下移动n行
/word 向下寻找第一个word字符
?word 向上寻找word
n 重复前面的操作
N 前一个操作的反操作
:n1,n2s/word1/word2/g 将n1与n2行之间查找word1,并替换为word2
:1, s/word1/word2/g全文直接替换:1, s/word1/word2/g 全文替换,替换前要确认
x 向后删字符, X向前删, nx 后删n个
dd 删当前行
ndd 删n行
d1G 删除光标到第一行的所有
dG 删光标到最后一行
d[美元符] 光标该行的后面全删
d0 光标行的第一个到光标删
yy 复制一行
nyy 光标向下n行复制
y1G 第一行到光标所在行
yG 光标所在行到最后一行复制
y[美元符]
y0
p/P 复制在下/上一行
u 复原上一个操作
ctrl+r 重做上个动作
. 重复上一个动作
:! command 暂时离开取运行命令
:set nu 显示行号
:set nonu 关闭行号
V/v/ctrl+v 块选择 y复制 d删除
ZZ 退出保存 :wq!
==================
vim 后面同时接几个文件来打开几个文件
1. :files 查看当前打开的文件
2. :n 下一个文件 :N上一个
==================
多窗口编辑
1 :sp [filename]
2. ctrl + w + 向上/下箭头 在窗口间切换
3.
用户管理
useradd XXX passwd xxx(user name) 不加xxx会修改自己的密码 init:2:initdefault 设置于/etc/inittab文件中, 用于系统启动类型:
- 1 单用户 2 多用户无网络 3 多用户有网络 6 重启(会一直重启, 只能通过单用户进入系统后修改inittab文件)
find / -name he.cpp
组 /etc/group
- groupadd xxx
后天运行 加上& 扩展分区要分成逻辑分区才能用, 主分区+扩展分区<=4, 最多一个扩展分区; 主分区类似 系统盘; 挂载
useradd -g 组名 用户名
查看当前所有用户: /etc/passwd
修改组: usermod -g 组名 用户名- IDE 硬盘在Linux或者其它类Unix系统的一般表示为 hd* ,比如hda、hdb(第二块硬盘),
SCSI 和SATA 硬盘在Linux通常也是表示为 sd* ,比如sda 、sdb
mount /dev/sda1 /test 将sda1挂载到test,即打开test可以看到sda1下的内容
卸载: umount /test如下面的是3个主分区,后面几个逻辑分区
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 9729 55617030 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
网络
ifconfig
显示当前的网卡配置 (windows下是ipconfig)
配置网卡的ip号: ifconfig etho 192.106.0.1
crontab
任务调度: 循环/定时任务
crontab -e在文件里配置
netstat -anp | more
网络情况
netstat | grep mysql | wc -l 统计mysql的连接
grep
模式匹配
^M 以M开头的行
M$ 以M结尾的行
^[12] 以数字1,2开头
^b.12 .表示任意字符
*表示在>=0个的字母
匹配字符: \’abc\’
.* 任意字符
[] 指定范围内的字符 \’[Gg]rep\’ : Grep grep
单词锁定: \’bgrepb\’ 只锁定grep
grep magic /usr/src #显示/src目录下的文件(不含子目录)包含magic的行
grep -r magic /usr/src #显示/src目录下的文件(包含子目录)包含magic的行
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),
grep ‘test’ aa bb cc #显示在aa,bb,cc文件中包含test的行
grep ‘test’ d* #显示所有以d开头的文件中包含 test的行
-C num 匹配前后num行上下文
-B num 前num行上文
-A num 后num行下文
–color 匹配项显示颜色
-E “2016 | COMPLETE ” xxx.txt 逻辑运算 正则表达式匹配
注 >: 锁定结尾
#### 删除^M字符
vim 下输入命令: “:%s/^M//g” , 其中的^M是:[Ctrl+V] 与 [Ctrl + M]生成;
echo 直接输出颜色
http://onlyzq.blog.51cto.com/1228/546459
echo -e “\033[字背景颜色;文字颜色m字符串\033[0m”
上面的\033[是起始设置, \033[0m 是终止设置;
awk
awk '!a[$0]++'
去除重复的行