Linux 学习笔记(六):Linux
预期学习目标
- CentOS的安装
- 相关命令的学习
- 脚本的编写
- 定时任务的编写
- vim的学习
系统设置
项目部署
项目权限设置- 确认 SELinux 的状态
[root@centos7 ~]$ /usr/sbin/sestatus -v # SELinux status: enabled [root@centos7 ~]$ getenforce # enabled
- 关闭 SELinux
- 修改配置文件并重启
[root@centos7 ~]$ vim /etc/selinux/config # SELINUX=disabled [root@centos7 ~]$ reboot
- 查看进程的用户
[root@centos7 ~]$ ps -axu | grep nginx # root 880 0.0 0.0 120808 2104 ? Ss 10:23 0:00 nginx: master process /usr/sbin/nginx # nginx 883 0.0 0.0 121192 3592 ? S 10:23 0:00 nginx: worker process # sea 1263 0.0 0.0 112704 968 pts/0 R+ 10:29 0:00 grep --color=auto nginx用户权限
- 将用户加入 git 组
[root@centos7 ~]$ usermod -a -G git apache [root@centos7 ~]$ usermod -a -G git mysql [root@centos7 ~]$ usermod -a -G git nginx
- 查看组内用户
[sea@centos7 ~]$ cat /etc/group | grep git # git:x:1002:apache,mysql,nginx
文件传输
- 文件的上传与下载
sz ( send Zmodem ) :
用 Zmodem 文件传输协议从 Linux 服务器发送文件到 Windowrz ( receive Zmodem ) :
用 Zmodem 文件传输协议在 Linux 服务器上接收文件,即 Window 上传文件到 Linux
不支持上传文件夹,需要打包后上传文件再解压
# 安装 yum -y install lrzsz # 下载 sz filename # 上传(Xshell 直接拖拽就好,用不到这个,用的多的还是 sz ) rz
- 传输文件
# 指定端口传输 scp -P 1080 vendor.zip [email protected]:/home/git
压缩解压
- 压缩文件
参数 | 全称 | 解释 |
---|---|---|
-c | --create | 创建一个新归档 |
-x | --extract | 从归档中解出文件 |
-r | --append | 追加文件至归档结尾 |
-t | --list | 列出归档内容 |
-z | --gzip | 通过 gzip 过滤归档 |
-v | --verbose | 详细地列出处理的文件 |
-f | --file | 使用归档文件 |
tar -czvf /tmp/etc.tar.gz /etc
参数 | 解释 |
---|---|
-m | 将文件压缩之后,删除源文件 |
-n | 特定字符串 不压缩具有特定字尾字符串的文件 |
-o | 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间 |
-q | 安静模式,在压缩的时候不显示指令的执行过程 |
-r | 将指定的目录下的所有子目录以及文件一起处理 |
-S | 包含系统文件和隐含文件 |
-t | 日期 把压缩文件的最后修改日期设为指定的日期,日期格式为mmddyyyy |
# 解压 unzip filename.zip # 压缩 zip -f /tmp/etc.zip /etc
系统语言
- 语言的更改
查看当前语言
[root@centos7 ~]$ echo $LANG # zh_CN.UTF-8
- 终端临时更改系统语言
[root@centos7 ~]$ export LANG="en_US.UTF-8" [root@centos7 ~]$ echo $LANG # en_US.UTF-8
- 全局更改系统语言
[root@centos7 ~]$ vim /etc/locale.conf #LANG="en_US.UTF-8"
图形界面
- 关闭图形界面
# 查看当前运行模式 systemctl get-default # 使用命令模式 systemctl set-default multi-user.target # 使用图像界面模式 systemctl set-default graphical.target
其他杂项
- 查看文件大小
# 查看目录大小(包括子目录) du -sh directory
- 命令
cd - # 回到上次的目录 grep -i # 忽略大小写的正则匹配 grep -v # 反选(选区不匹配的项) grep -E '^[0-3]|[abc]&' # 支持正则表达式语法
xargs
用作替换工具,读取输入数据重新格式化后输出# 多行输入单行输出 cat args.txt | xargs # 多行输入多行输出 cat args.txt | xargs -n 3 # 根据指定分隔符划分并输出 cat args.txt | xargs -d 'args' # 指定一个符号并将该符号替换用输出的元素替换 cat args.txt | xargs -n 1 | xargs -I [] echo []-copy-[]
- sed
# 还没写
- 文件类型
标识 | 解释 | 颜色标识 |
---|---|---|
- | 普通文件 | 白色 |
- | 可执行文件 | 绿色 |
- | 压缩文件 | 红色 |
- | 图片文件 | 粉色 |
- | SGID特殊权限文件 | 背景色黄色 |
- | SUID特殊权限文件 | 背景色红色 |
d | 目录文件 | 蓝色 |
d | 公开目录 | 背景色绿色 |
p | 管道文件 | 暗黄色 |
s | 套接字文件 | 洋红 |
c | 字符设备文件 | 黄色 |
l | 软链接文件 | 浅蓝色 |
b | 块设备文件 | 黄色 |
快快捷指令
文本编辑
插件 : Chrome 下载 Vimium , PhpStorm 下载 ideaVim- 配置
.vimrc
# 编辑个人主目录的VIM配置文件 vim ~/.vimrc # 设置支持GB2312和UTF8等编码 let &termencoding=&encoding set fileencodings=utf-8,gbk,ucs-bom,cp936 # tab 扩展为空格 set expandtab # tab 的宽度为 4 个空格 set ts=4 # 使粘贴代码时不会乱 set paste # vim的注释符号 "
- 快捷键
gg : 跳转到第一行 GG : 跳转到最后行 ^ : 跳转到行首 $ : 跳转到行尾 yy : 复制整行 p : 粘贴 N : 向上查找 n : 向下查找 u : 撤销更改
- 命令
# 全局查找「foo」替换为「bar」并且需要确认「y/n/a/q/l/^E/^Y」 :%s/foo/bar/gc # 显示行号 :set number # 将文件转化为UNIX格式 :set fileformat=unix
脚本命令
- 基本概念
# 所有参数 $@ # 传入脚本的参数个数 $# # 参数赋值 param=$1 # 引号的区别 单引号不解析 双引号会解析变量 # 调试追踪 sh -x
- 界面快捷键
Ctrl + A : 跳转到命令的行首 Ctrl + E : 跳转到命令的行尾 Ctrl + U : 删除整行
定时任务
参数说明# 查看定时任务列表 crontab -l # 查看指定用户的定时任务列表 crontab -l -u username # 查看所有用户的定时任务( root 权限执行) cat /etc/passwd | cut -f 1 -d : |xargs -I {} crontab -l -u {} # 定时任务中开头为井号(`#`)的行是注释
常用软件
- fping
批量检测地址连通性
- nc
批量检测端口连通性、端口是否开放
运维技能
系统状态
- 系统负荷 : N 个CPU的电脑,可接受的系统负荷最大为 N
# 实时状态 top
# 显示所有包含其他使用者的行程 ps -axu # 显示所有包含其他使用者的行程并显示程序间的关系 ps -axuf
系统防护
DenyHosts 是 Python 语言写的一个程序,它会分析 sshd 的日志文件(默认是 /var/log/secure ),当发现重复的攻击时就会记录 IP 到 /etc/hosts.deny 文件,启用 tcp_wrappers,从而达到自动屏IP的功能。# 查看 hosts.deny cat /etc/hosts.deny
# 查看状态 systemctl status firewalld.service # 添加端口 firewall-cmd --zone=public --permanent --add-port=2375/tcp # 查看防火墙规则 firewall-cmd --list-all
相关文章
Linux 学习笔记(一):内网穿透
Linux 学习笔记(二):搭建个人Git服务器
Linux 学习笔记(三):Ubuntu 操作系统
Linux 学习笔记(四):Docker
Linux 学习笔记(五):Redis
Linux 学习笔记(六):Linux
相关推荐
chensen 2020-11-14
lwnylslwnyls 2020-11-06
ATenhong 2020-10-15
yanzhelee 2020-10-13
佛系程序员J 2020-10-10
guojin0 2020-10-08
佛系程序员J 2020-10-08
bluewelkin 2020-09-16
wwzaqw 2020-09-04
zhongdaowendao 2020-09-02
favouriter 2020-08-18
奎因amp华洛 2020-08-15
一青年 2020-08-13
千锋 2020-08-10
nangongyanya 2020-08-09
dongxurr 2020-08-08
明天你好 2020-08-03
kyelu 2020-08-03
Ashes 2020-08-03