配置(或修改)网络: 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 的文件内容