1,vi 读文件(类似于读记事本)
写文件时先摁i启动编辑
编辑完成后摁esc
shift+; wq 表示保存退出(或者shift + zz) q!表示不保存退出 set nu 显示行号
vi + 22 读取文件第22行 vi + 直接到最后一行 或者vi 用shift+g
vi +/after profile 在profile文件中搜索after 光标会停留在第一个匹配到的位置
光标所在位置按i光标前输入,I,行首,按a光标后输入,O行尾
按小写o,下方新建一行输入,按大小O,上方新建一行
h 左移,l右移,j上,k下 w 下个单词跳跃 0 直接去第一个字符,shift+6行首,shift+4行尾
G文章最后一行 ctrl+f 向下翻屏 ctrl+b向上翻屏 x删除光标所在字符,r替换
dd删一行,dw 删除一个单词 ,2dd删2行,p粘贴
yy复制一行,2yy复制2行,yw复制单词,U撤销,ctrl+r重做撤销操作,.重复上述命令
末行模式 /after 查找after,$代表最后一行 , 1,$s/after/before 第一行到最后一行将after替换成before 加g一行内全部替换,.获取当前光标行 ! 加命令可执行 按空格返回, .,$-1d除了最后一行,删除到光标位置
2,pwd 显示当前路径
3,ls -l = ll 显示当前路径下的文件,并且长格式
ls-l 显示出的第一个字符为-说明为普通的文件,d为目录,c字符流(对编码方式有规则),b字节流为特殊文件,l链接
4,ifconfig 看网络配置
5,service network restart 网络重启
6,ping www.baidu.com
7,ctrl c 停止
8,clear清屏
9,cat 看文件内容 文件太长则不能显示完全
more 可以先看一屏,空格先看一屏,回车一点点看
head 只看头部十行 tail 只看后十行 或者head -4 前4行
tail -f tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。
tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。
10,rm -f 强制删除 rm -rf 强制删除文件夹
11,poweroff关机
12,type 接命令 表示返回该命令在系统的所在位置
13,file 加文件 输出字符串中如果有elf 表示为可执行二进制文件,类似exe
14,echo 打印输出
15,yum install 安装
16, man 学习外部命令, help学习内部命令
17,linux优点,代码移植性非常好
18,bin,sbin可执行程序,etc 通用配置,控制面板,lib,扩展库,boot引导目录,dev设备抽象到目录下,home,普通用户的交互文件,var,程序运行生成的数据,usr,rtm安装包安装的位置,opt,自己安装的文件
19,mkdir -p 创建多级目录, mkdir ./abc/{x,y,z}dir 在abc目录下创建xdir文件夹,ydir文件夹,zdir文件夹
20,df -h 类似于打开我的电脑
21,du -sh ./* 统计当前目录下各文件大小,du -a 显示所有文件大小,不光只有文件夹
23,linux 扩展名毫无意义
24,cd 什么都不加直接返回根目录,cd- 返回刚才所在目录
25,cp 拷贝 cp -r a /tmp 拷贝文件夹 不加-r为拷贝文件
scp 远程拷贝 scp -r ./hadoop.2.6.5/ xutianyu2:`pwd` 文件夹 `pwd` 为xutianyu1的当前路径
scp id_dsa.pub xutianyu2:`pwd`/xutianyu1.pub 文件 xutianyu1.pub为重命名
26,mv 移动 mv a /tmp 也可以重命名 mv a o a文件命名为o
27,ln a b a与b建立硬链接,a修改b同样修改,a删除,b继续存在,物理地址一样
ln -s 软链接,删除源文件,链接一样不会被删除,但是会爆红,物理地址不一样
28,stat 看文件元数据 access 访问时间 modify 内容修改,change 发生改变
29,touch 已有文件可更改stat的三个时间,touch不存在的文件可创建一个空大小的文件
20 管道概念 连接两个简单命令 例如head -4 profile | tail -1 读取profile 文件的低4行
echo '/' | xargs ls-l 显示根目录下的内容 ll | more 分屏显示 文件目录
21 grep 匹配行 grep "after" profile
显示profile文件中包含after的所有行 加-v反显,展示出没匹配到的
22,模式匹配 ls -l ./a* 显示当前目录下,任意数目,包括0的字符名文件,以a开头
a?表示只能为2个字符
23,正则表达式
匹配ooxx这个单词 grep "\
"oo[0-9]/+xx"匹配oo后出现任意次数的数字 \(oo\)\(xx\).*\1\2 1,2表示oo和xx出现的顺序
24,cut 剪切, cut -d ' ' -s -f1-3 grep.txt
-d 表示按列,-s 表示只显示切分过的,-f1-3 表示显示切分后的第一列到第三列
25,sort 排序 sort -t ' ' -k2 -nr sort.txt
-t 自定义分隔符 -k 选择排序列 -n 按数值排序 -r 倒序 默认为字典序
26,wc 统计 -l按行, cat profile | wc -l 输出为行数 例如 3
27,set 行编辑器
address 为指定行或字符串
sed -i "1a\hello world" sort.txt 在第一行后添加hello world
sed "2d" sort.txt 删除文件第二行 sed "/apple/d" sort.txt 删除apple那一行
sed "s@hello@nihao@" sort.txt 将hello 替换成nihao
sed "s/\(id:\)[0-6]\(:initdefault:\)/\15\2/" inttab
sed "s/is handle/is shangxuetang handle/" sort.txt
28,awk
awk -F ':' ' {print $1}' passwd -F为自定义分隔符,$1表示第一列 表示以:分割,输出第一列
awk -F ':' ' BEGIN{print "name\tshell"} {print $1 "\t" $7} END{print "end"} ' passwd
awk -F ':' '/root/{print $0}' passwd $0为第0行,为匹配到root就显示第该行
NR行号,NF列号 split($3,data,"-")切割,切割第三列,按-切,结果放入data
29,useradd sxt01 增加用户,passwd sxt01 改密码 passwd --stdin 接收标准输入作为密码 例如:echo $1 | passwd --stdin $1
30,id 看元数据,看属于哪个组
31 usermod -a -G sharesxt sxt01 将sxt01 加到sharesxt这个组里 groupadd sharesxt 增加这个组
32 chown root:sharetxt sxtshare 改变sxtshare文件的持有组权限
33,chmod g+w sxtshare 给sxtshare 的组权限增加写 chmod o-rx sxtshare 把sxtshare文件的其他人权限的读和执行减去 (r读,w写,x执行)
34,su 切换用户
35,tar -zxvf -C 解压缩, -C可指定路径
36,$$打当前进程的id(BASHPID效果相同), source file1.txt 将文件里的语句都执行(.效果相同)
37,bash 启动进程 bsah file1.txt 与source 相同 或者在文件头输入#!/bin/bash 当执行文件执行(脚本本质) bash sh03.sh & 后台执行
nohup后台启动
nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &
38,定义方法 sxt(){
}中间用分号隔开
39,IO重定向,0标准输入,1标准输出,2错误输出
ls -l / 1>ls.txt 将ls 的显示输出到ls.txt中 两个大于号为追加
ls -l / /god 1>ls07.txt 2>& 1 将错误的输出传给1,再将正确的输出和错误的输出再传给ls07.txt
id $1 &> /dev/null 将读取$1的信息重定向发到 /dev/null
read sxt 0<<<"hello" 将hello 赋给sxt
40,一个程序覆盖当前进程 exec
41,local 只有在函数内生效,local sxt = 100
42, $#位置参数个数,$*参数列表,$@参数列表 ${11}引用第几个参数 $? 去除上一个命令的运行状态,0是成功,非0是失败
43,export导出变量,子进程可以使用父进程的变量
44,双引号弱引用,单引号强引用
45,$?取上一个命令的退出状态码, &&全真为真,
||有真为真,全假为假 (或)
46,a =1 ((a++)) c = $((a++)) echo$c 为2
47,test 3 -gt 8 -gt 大于, echo $? 输出为1 1为假 与 [ ]效果一样
[ $# -eq 1 ] || exit 输入参数大于等于1向下执行,否则退出 ,-f检查是否为文件
48,./ 执行当前目录下的文件
49,if ls-l /god ; then echo "hello" ; else "no ok" fi
50,for ((i=0;i<10;i++));do echo $i; done
for i in sdfkl ssd sdsdfd sdsdsd ; do echo $i; done
51 , seq 10, 输出1到10,10个数,
for i in 'seq 10'; do echo $i; done
52,while command ; do command; done
53,``命令替换,将命令输出的结果变为变量
54,建立负载均衡模块
监控包
ipvsadm -A -t 192.168.9.100:80 -s rr -A表添加,-tTCP协议,-s选择模式,rr循坏模式,只有端口为192.168.9.100:80可以访问
负载包
-a -t|u|f service-address -r service-address [-g|i|m] [-w weight]
-a 添加 -t|u|f service-address 事先定义好的某集群服务 ,-r service-address 负载的服务地址 [-g|i|m] 表示为lvs模型 -g DR -i TUN -m NAT [-w weight] 权重
-L|l 查看 -lnc lvs负载的记录 -C清空 -S 重定向保存 -R读取
55,ssh 远程访问 ssh [email protected] 'll'
56 ssh -nal 显示端口号
netstat -atunlp