配置(或修改)网络:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
重启网络(网卡):
/etc/init.d/network restart
service network restart
设置网卡:
setup
修改 mv
编辑 vi
重启系统 reboot
查看当前所在文件夹: /pwd
查询系统运行内存 df -h
查看 ls
创建有内容的文本文档 :echo 123456789 > 123.txt
拷贝 cp 11.txt 22.txt
返回上一级目录 cd …/
删除 rmdir /s/q 文件
添加空文件 touch
添加文件内容 echo
行首 ^或0
行末 $
文件顶部 gg
文件底部 G
指定文件行数 n+gg(G)或:n
向上翻页 Ctrl + b
向下翻页 Ctrl + f
{ 上一段
} 下一段
d 移动删除光标
dd 删除光标所在行
D 删除至行尾
从光标位置删除到单词末尾 dw
从光标位置删除到单词开头 d0
从光标位置删除到段落尾 d}
从光标位置向下连续删n行 ndd
vim 文件名 + 会定位到文件末尾
vim 文件名 +2 会定位到文件第二行
上下左右 kjhl
前后 bw
文件顶部 gg
文件末尾 G
屏幕顶部 H
屏幕中间 M
屏幕底部 L
yum install -y tree 安装tree插件
yum search rxzx
yum install -y lrzsz
reboot重启
set nu 行号
---------用户权限--------
exit 退出当前用户
vi /etc/passwd 进行用户权限修改
su 用户名 切换用户
useradd -g 组名 用户名 创建新用户
userdel 用户名 删除用户
userdel -r 用户名
--------chown -R U用户名 : G组名 T文件名 :将 T 文件 修改为 U所属用户 G所属组
halt 关机
free -h 查询显示内存使用
df -h 查询磁盘空间
top 查询cpu内存等使用情况
du -h 查看某一目录所占空间大小
ps aux 查询进程详细信息
-------cut : 《 cut根据条件从命令结果中提取对应内容》
-c (第几个字符)
-d (指定分隔符)
-f (显示第几段内容)
-------sort : 《sort可针对文本文件的内容,以行为单位来排序》
-u (去重)
-n (数值从大到小排序)
-r (倒叙)
-t (指定分隔符)
-k (根据哪一列排序)
--------wc : 《显示指定文件字节数, 单词数, 行数信息》
-w (单词数)
-c (字节数)
-l (行数)
-------uniq : 《uniq 命令用于检查及删除文本文件中重复出现的行,一般与 sort 命令结合使用。》
-c (计数)
Cut
按照字符提取 head -2 1.txt | cut -c 5
指定分隔符 head -2 1.txt | cut -d ‘:’ -f 1,2
Sort
文本排序 sort 文件名
文本排序反转 sort -r 文件名
文本排序去重 sort -u 文件名
数值按大小排序 sort -n 文件名
指定分隔符、指定排序列 sort -t ‘分隔符’ -k2nr 文件名
Wc
查看文件基本信息 wc 文件名
查看文件行数 wc – l 文件名
查看文件单词数 wc -w 文件名
查看文件字节 wc -c 文件名
查看多个文件信息 wc 文件1 文件2 文件3
Uniq
与sort连用
排序、去重 cat 5.txt | sort | uniq
排序、去重计算总数 cat 5.txt | sort | uniq -c
Tee
数据定位到多个文件 cat 5.txt | tee a.txt b.txt c.txt
Tr
小写i 替换成 echo “itheima” | tr ‘i’ ‘I’
把 HELLO 转成 小写 echo “HELLO” |tr ‘[A-Z]’ ‘[a-z]’
删除数字 echo ‘abc1d4e5f’ | tr -d ‘[0-9]’
Split
按照文件大小切分 split -b 10k 被切分的文件
按照行数进行切分 split -l 1000 被切分的文件
Awk
模糊查询 awk ‘/zhangsan|lisi/’ score.txt
按照分隔符拆分,根据角标显示
awk -F ‘,’ ‘{print $1, $2, $3}’ 1.txt
按照分隔符拆分,根据角标显示并指定分隔符
awk -F ‘,’ ’ {OFS="==="}{print $1, $2, $3}’ 1.txt
支持函数 awk -F ‘,’ ‘{print toupper($2),$3*100}’ 1.txt
If判断语句
awk -F ‘,’ ‘{if($4>60) print $1, $4, “及格”; else print $1, $4, “不及格”}’ score.txt
Shell编程
Shell 脚本的解释器
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
脚本的编写规范
首行描述解释器 #!/bin/bash
执行脚本的三种方式
1、bash 脚本名称 脚本参数
2、 sh 脚本名称 脚本参数
3、 ./脚本名称 脚本参数【./脚本名称之间没有空格】【chmod 777 脚本名称】
变量的声明
变量名=”值”【中间不能有空格】
变量名要求 字母或下划线或数字(开头不能是数字)构成
变量的引用
使用$ 或 ${}引用变量
删除变量 只读变量
删除 unset 变量名
只读 readonly 变量名
字符串使用
双引号(””):内部可以使用变量
单引号(‘’):内部所有的原样输出
反引号(``):表示可执行
字符串长度及截取
长度: echo ${#skill}
截取: echo ${str:2:2} 【在第二个字符开始截取截取两位】
脚本参数传递
bash 脚本名 参数1 参数2 参数3 。。。。。。
脚本内
$0 脚本名称
$1 参数1
$2 参数2
$n 参数n
$* 所有参数
$# 参数的个数
算数运算符
加法计算 expr 2 + 2
乘法计算 expr 2 \* 2
流程控制if
if [ $a -gt 10 ];then
代码1
elif [ $a -lt 10 ];then
代码2
else
代码3
fi
关系运算符
大于 小于 大于等于 小于等于 等于 不等于
-gt -lt -ge -le -eq -ne
循环
For 循环
For aa in XXXX
do
循环体
done
While循环
While 条件 ;
do
循环体
done
跳出循环
跳出所有循环 break
跳出当前循环,进入下一次循环 continue
case ()
case 值 in
结果1)
结果1对应的操作;;
结果2)
结果2对应的操作;;
结果3)
结果3对应的操作;;
esac
接收控制台数据
read 变量名
函数的使用
函数声明: [function] 函数名(){
函数体
$参数1
$参数2
$参数3
}
函数调用
函数名 参数1 参数2 参数3
数组
数组声明: 数组名称=(元素1 元素2 元素3 元素4)
数组的使用
单个使用 echo 数组名[角标] 【角标从0开始】
遍历数组 for var in ${my_arr[*]}
do
echo $var
done
文件加载
在文件中添加 . 脚本名称 或者 source 脚本名称
#!/bin/bash
source ./test1.sh # 加载test1.sh 的文件内容