linux命令学习

inode

目录
  1. 每个目录都会分配一个inode,和n个block, inode记录目录的权限与属性, block记录在这个目录下的文件名和该文件占用的inode号码数;所以用ls -lid看是发现目录的block数都是1kb人整数倍;
读取目录中的文件
  1. 文件明的记录保存在目录的inode中,所以要对文件进行增删操作,则必须有目录的W权限,只有这样才能通过目录的inode找到记录文件的block,这样才能找到文件;
    即先读inode再读block的数据, 看权限再处理文件
新建目录
  1. 判断目录权限是否有W,X;
  2. 通过inode bitmap找到没有使用的inode, 将新文件属性写入;
  3. 通过block bitmap找到没有使用的block, 将数据写入;
  4. 同步, 关联, 更新;

压缩/解压缩

gzip
  1. .gz文件
    压缩:gzip filename
  2. zcat filename 输出到屏幕
  3. 解压缩 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
useradd -g 组名 用户名
查看当前所有用户: /etc/passwd
修改组: usermod -g 组名 用户名
后天运行 加上& 扩展分区要分成逻辑分区才能用, 主分区+扩展分区<=4, 最多一个扩展分区; 主分区类似 系统盘; 挂载
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]++' 去除重复的行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值