防火墙
systemctl status firewalld
service iptables status
systemctl stop firewalld
service iptables stop
systemctl disable firewalld
chkconfig iptables off
systemctl enable firewalld
service iptables restart
查看文件
ls -l
ls -Rl
cat a.txt
cat a.txt b.txt > c.txt
tac a.txt
tail test.log -n 100
tail test.log -f
grep:搜索文件内容
grep "html" src/index.html
grep -R "var" ./src
ls -R ./src | grep ".test"
搜索文件名
find ./src
find ./src -name index.js
find ./src | grep 'scss'
复制或移动文件
cp a.txt ./test/a.txt
cp -R ./src ../test/src
ln -s ./bin/run.js ~/.bin/run.js
mv abc.txt ~/test/abc.txt
跨机器同步文件
scp ./conf/nginx.conf 10.9.188.2:/opt/nginx/conf
10.9.188.2:/opt/nginx/conf/nginx.conf ./conf
scp ./conf/nginx.conf user@10.9.188.2:/opt/nginx/conf
rsync -avz logs/ 10.9.166.19:/data/users/liwei/logs
rsync -avz 10.9.166.19:/data/users/liwei/logs ./logs
查看进程 id
ps aux | grep node
kill pid
kill -9 pid
查看端口占用
netstat -ap | grep 9000
发个 http 请求
curl 'http://cn.bing.com' -X GET -i
curl 'http://cn.bing.com/' -H 'Customer-Header: helo'
curl 'http://cn.bing.com/' -d 'a=1&b=2'
配置文件
vim ~/.bash_profile
source .bash_profile
export PATH=/app/flutter/bin:$PATH
iptables
iptables其实并不是真正的防火墙,我们可以把他理解为一个客户端的代理,用户是通过iptables这个代理,将用户的安全设定执行到对应的“安全框架”中,这个“安全框架”才是真正的防火墙。这个框架叫做“netfilter”。
1. netfilter:内核空间,是真正实现防火墙的功能。
2. iptables:用户空间,在/sbin/iptables存在的防火墙,通过iptables提供管理,修改,删除或者插入规则。用户和内核交互的一个工具就是iptables。
3. 主机防火墙:主要是用来防范单台主机的进出报文;-----filter表
4. 网络防火墙:能够实现对进出本网络的所有主机报文加以防护----nat表
5. 缺点:防火墙虽然可以过滤互联网的数据包,但却无法过滤内部网络的数据包。电脑本身的操作系统亦可能因一些系统漏洞,使入侵者可以利用这些漏洞绕过防火墙过滤,从而入侵电脑。防火墙无法有效阻挡病毒攻击,尤其是隐藏在数据中的病毒。
6. 工作流程:防火墙是一层层过滤的。实际是按照配置规则的顺序从上到下,从前到后进行过滤的。如果匹配上了规则,即明确表明是阻止还是通过,此时数据包就不在向下匹配新规则了。如果所有规则中没有明确表明是阻止还是通过这个数据包,也就是没有匹配上规则,向下进行匹配,直到匹配默认规则得到明确的阻止还是通过。防火墙的默认规则是对应链的所有的规则执行完以后才会执行的(最后执行的规则)
yum install -y iptables iptables-services
systemctl stop firewalld
systemctl start iptables
/etc/init.d/iptables start
iptables -V
/etc/sysconfig/iptables-config
/etc/sysconfig/iptables
以数字的形式显示ip和端口与协议
iptables -nL
iptables -t filter -A INPUT -p tcp -j ACCEPT
iptables -I INPUT -p udp -j ACCEPT
iptables -I INPUT 4 -p icmp -j ACCEPT
iptables -L
iptables -D INPUT 3
iptables -F
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -p tcp -m multiport --dport 80,443 -j ACCEPT
iptables -A INPUT -s 192.168.246.0/24 -j ACCEPT
service iptables save
systemctl restart iptables
保存规则
service iptables save
运维
- 1 vmware 安装,建议安装 7+ 安装虚拟机,镜像备份
- 2 linux 目录作为盘符 挂载点 mount 点,必须分区 /(根分区) swap(分区虚拟内存) 推荐分区 /boot(启动分区)
- 3 network restart 重启网络命令 sudo 获取 root 权限 sudo apt-get install python 安装插件
- 4 xshell 远程 linux 管理工具
- 5 常用命令 200 个,基本命令是 60 个左右 $普通用户登录 #管理员用户 -a 简化选项 --all 完整选项
- 6 pwd 命令:当前所在的位置
- 7 ls 命令:显示当前目录下的文件 ls -lh 查看详细信息 ll = ls -l ls -i a.txt 查看 i 节点
- 8 --rw 读写 --x 执行 所有者 所属组 其它人
- 9 mkdir 创建目录:mkdir -p ja/cang(递归创建目录) rmdir 删除目录 rm 删除文件: rm -rf ja (强制删除文件)
- 10 cd 切换目录: cd ~ cd - cd ..
- 11 cp 复制文件: cp -a xx.txt /tmp/ cp -r xx.txt /tmp/
- 12 date 命令:系统时间
- 13 mv 剪切文件:mv ja/ temp/ja1 改名文件:同一目录下 mv ja.txt ja1.txt
- 14 常用目录:boot 超级用户家启动目录 etc 配置文件目录 bin/sbin 保存系统命令目录 home 普通用户家 proc 和 sys 保存的是内存的过载点直接写在内存中 usr 系统资源保存目录 root/home/temp 可以放文件夹其他的不可以 var 系统文档目录
- 15 link 硬链接 ln a.txt /tem/b.txt 拥有相同的 i 节点和存储模块 可通过 i 节点识别 不能跨分区 不能针对目录使用
- 16 link 软连接 ln -s a.txt /tem/b.txt 快捷方式 源文件删除失效 源文件要写绝对路径
- 17 输出内容 echo 1111>>log.txt vim log.txt 修改文件 cat log.txt 查询文件内容
- 18 搜索命令 locate 文件搜索 基于/var/lib/mlocate 数据库更新 更新数据库 updatedb 速度快 locate install.log
- 19 搜索系统命令的命令 whereis ls 可以找到系统命令的执行文件位置 which ls 只能看到所在位置和别名
- 20 显示命令权限 whoami ls 显示命令帮助 whatis ls
- 21 搜索常用命令 find 搜索范围 搜索文件名 find /root -iname "*[cd]" 以 c 或者以 d 结尾的字符,不区分大小写
- find /root -nouser 无所有者的文件 find /var/log -mtime +10 10 天前修改的文件 ctime 改变文件属性 atime 文件访问时间 find /etc -size +25k find /etc -size +20k -a -size -50k -exec ls -lh {} \ ;
- 22 搜索文件内容 grep "size" log.txt 文件中搜索包含 size 的字符串位置
- 23 man 帮助命令 man ls 1 8 man -f ls whatis ls man -k passwd help shell 只获取内部命令的帮助文档
- 24 shell 用户和计算机交互的接口 cat test.log 查看内容
- 25 压缩 rar 文件 zip logziz.zip logziz 压缩文件名 压缩源文件 文件夹 zip -r logziz.zip logziz 解压缩 unzip
- 26 创建文件 touch jp/cc
- 27 压缩 gzip 会删除源文件的压缩 gzip -c abc > abc.gz 压缩文件输入内容 gzip -r jp 压缩目录下的子文件
- 解压缩 gzip -d abc.gz / gunzip logo.gz / gunzip -r logo.gz
- 28 vim 常用命令 :q!强制退出 :wq 保存并退出 :w 保存不退出 i 插入命令 esc 退出命令
- 29 目录压缩方法 tar tar -cvf jp.tar jp 文件名称 文件目录 gzip jp.tar 解压缩 tar -xvf jp.tar
- 30 直接压缩目录方法 tar -zcvf 压缩包名.tar.gz 源文件 解压缩目录方法 tar -zxvf 压缩包名.tar.gz 直接压缩目录方法 tar -jcvf 压缩包名.tar.gz2 源文件 解压缩目录方法 tar -jxvf 压缩包名.tar.gz2 / tar -jxvf 压缩包名.tar.gz2 -C tmp/ 指定目录了 c 代表压缩 x 代表解压缩 t 代表查看压缩 / tar -ztvf test.tar.gz2 查看文件
- 31 关机和重启命令 date shutdown -r now 立刻重启 / shutdown -r 05:30 & 在 5 点 30 分重启不挂起 / shutdown -c 取消关机重启命令 reboot 命令重启 init 0 - 6 关机 单用户 不完全多用户 完全多用户 未分配 图形界面 重启 runlevel 查看级别 logout 退出登录
- 32 执行权限 chmod 755 hello.sh ll 查看是否有执行权限才能执行 shell 脚本 .sh 文件
- 33 重新挂载节点赋给执行权限 mount -o remount , exec , /home/lichuang/application
- 34 查看磁盘信息 sudo fdisk -l
- 35 w / who 命令查看系统中登录了哪些用户 last 命令查询用户登录退出的时间 lastlog 查看系统所有用户登录信息
- 36 shell 编程 命令行解释器 有两种语法类型 Bounce 和 C 彼此不兼容 Bounce 包括 sh bash C 包括 csh tcsh
- 37 echo 指定内容输出到页面上 echo -e "hel\nl\to" 输出颜色 echo -e "\e[1;31m 内容信息 \e[0m";
- 38 脚本的调用命令 bash ./h.sh 或者 ./h.sh alias 别名 unalias 删除别名 geany 打开编辑器
- 39 命令:clear -> ctrl+l 删除命令-> ctrl + u 跳到行首 ctrl+a/e 终止 -> ctrl + c history 历史命令查看
- 40 输出重定向命令 date 时间命令 ifconfig 网卡命令 ifconfig>test.log 输出到 test.log 中覆盖 ls>>test.log 追加内容
- sls 2>>test.log 记录命令行错误信息写入文件 ls xx &>>log.txt xx 没有正确和错误信息都写入
- 41 管道符 date ; ls 并行执行命令 ls && echo 'yes' 逻辑与执行 lsg || echo 'yes' 逻辑或执行 ls && echo 'yes' || echo 'no' 如果正确执行输出 yes 否则输出 no ls -l /etc | more 管道符操作命令的后续
- 42 netstat -ltn 查看端口开放 netstat -an | grep Listen | wc -l (准备链接个数) Established (正在链接个数) 统计命令 pstree 查询目录
- 43 查询文件名称 ls | grep hell | wc -l 位置参数变量 $n
- 44 通配符 ls dzp* 匹配 dzp 后所有的字符 / dzp? 匹配 dzp 后 1 个字符 / dzp? 匹配 dzp[0-9]后是数字的字符 反引号表示系统命令
- 45 调用变量 echo name;输出名字shell中的变量都是字符串,字符串不能相加x="123"echo"x"456;拼接
- 46 环境变量声明 export 变量名 = 变量值 set 查看所有变量 env 查看系统变量 cp hell.sh /bin/ 复制到 bin 下可以直接执行
- 47 修改文件夹的执行权限 $PATH:'/home/lichuang/application/' 添加到全局环境变量中可以执行
- 48 语系变量 locale 查询当前语系 echo $LANG 中文 16 位编码 英文 8 位编码
- 49 预定义变量 echo $返回进程号psaux∣grep2911! 返回后台运行的最后一个程序
- 50 ISO 和 OSI 国际标准化组织和开放系统互联网模型
- 52 七层模型 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 后三层是为用户服务的
- 53 vim 学习 命令模式 底行模式 插入模式 命令模式 dd 删除行 vim + file.js 打开文件定位到最后一行
- 54 vim +/immoc file.js 光标定位到第一次出现的行 打开多个文件时候:n / :N 切换文件
- 55 vim 底行模式 :w 保存 :q 退出 :!强制 :ls 列出打开的所有文件 :15 快速定位到 15 行 /xxx 光标向后搜索字符串
- ?xxx 光标向前搜索字符串
- 56 vim 命令模式 h 光标左移动 j 下移 k 上移 l 右移 ctrl+f 向下翻页 ctrl+b 向上翻页 dd 删除一行 o 在光标的指定位置插入一行 yy 复制当前行 p 在光标所在的行下放粘贴 P 在光标所在行的上方粘贴
- 57 磁盘空间命令 查看所有空间 df -lhT 查看指定盘符 df -lhT -t ext4 查看指定文件夹的统计 du -sb *.zip / -sm / -sh 硬盘操作命令 fdisk 分区工具 -l parted 分区工具可以分区 GBT 模式 | mkfs 工具磁盘格式化 mkfs.ext2 /dev/sda 或 mkfs -t ext2 /dev/sdb 自动挂载修改分区文件 /etc/fstab
- 58 分区模式 MBR 分区模式:主分区不超过 4 个 单个分区容量最大为 2TB ->sdb 磁盘 GBT 分区模式 主分区和单个分区几乎没有限制 ->sdc 磁盘 1EB = 1024PB 1PB = 1024TB 1TB=1024GB x86 系统就是 32 位系统
- 59 创建分区 - 格式化分区 - 挂载分区 mount /dev/sdb1 /mnt/imooc unmount /mnt/imooc
- 60 swap 分区 格式化分区 mkswap /dev/sdb6 启用交换分区 swapon /dev/sdb6 关闭交换分区 swapoff /dev/sd6
- 61 用户组 groupadd xx / groupmod -n market xx / groupmod -g 668 market / groupdel market 用户 useradd -g market xx useradd -d /home/xxx imooc 创建私人文件夹 usermod -l cls sdf 修改用户名 usermod -g sexy imooc 修改用户组 userdel -r cls
- 62 锁定账户 passwd -l cls 解锁定账户 passwd -u cls 清除密码 passwd -d cls 修改用户同属于多个组 gpasswd -a cls boss 删除用户属于多个组 -d 切换用户 su username
- 63 arp -a 查询物理地址 传输层 传输控制协议 TCP 用户数据报文协议 UDP
- 64 网际互联网层主要包含三个协议 网际协议 IP 互联网组管理协议 IGMP 互联网控制报文协议 ICMP
- 65 echo $LANG 输入系统编码 echo date +%Y/%m/%d echo date +%H:%M cal 日历
- 66 字符串搜索 grep "[0-9]{4}-[0-9]{2}-[0-9]{2}" test.txt
- 67 字符截取 cut -f 2 student.txt 截取第 2 printf %s 'hello'
- 68 字符截取 awk 命令 awk '{printf 2"\t"4 "\n"}' student.txt awk 'BEGIN{print "test"}{print 2"\t"4}' student.txt
- 69 字符截取 sed 命令 sed -n '2p' student.txt 取第 2 行 sed '2a/i/c ping ping ping' student.txt 添加数据在 2 行
- 70 修改字符串 sed -i '4s/40/100/g' student.txt 修改原始文件内容
- 71 sort 作用排序 sort /etc/passwd wc 统计命令
- 72 tracert 命令路由跟踪一个公网地址经过路由的条数
- 73 nmap 命令批量主机服务的扫描 得出某一个路由中开放了哪些端口
- 74 fping 主机扫描命令 批量给目标主机发送 ping 命令 测试主机存活情况 fping -a -g 10.10.0.1 10.10.1.2
- 通过文件匹配 fping -a -f ./ip.txt 存活的主机 /u 没存活的主机
- 75 编译源码包 检测配置 ./configure 编译 make 安装 make install
- 76 hping 支持使用 TCP/IP 数据包组装 分析工具 对特定的端口发起 tcp 探测 伪造来源 IP 模拟 Ddos 攻击
- 77 安装 chrome sudo dpkg -i google-chrome-stable-current_i386.deb
- 78 CentOS 适用于不需要最新版本的企业和开发人员。CentOS 更加稳定和安全,因为它始终使用稳定(但较旧的)版本的软件。
CentOS 具有更长的释放周期; 它还具有更长的支持周期。Ubuntu 的长期支持版本每两年发布一次,具有 5 年的支持期。
CentOS 是托管行业的首选分销商,所以如果您希望服务器与该行业的大多数产品兼容,那么这是安全的选择。