Linux
查看Linux内核版本信息
使用
lab_reldase -a
查看内核版本信息Linux标准规范(英语:Linux Standard Base,缩写为 LSB)是一个在Linux基金会结构下对Linux发行版的联合项目,其目标使Linux操作系统符合软件系统架构,或文件系统架构标准的规范及标准。
Centos 7下找不到
lab_release
命令,使用yum install redhat-lsb -y
安装,注意Centos下的lib_release
命令的安装包的名字是redhat-lsb
。1
2[root@VM-0-10-centos ~]# lsb_release
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch1
2
3
4
5
6[root@VM-0-10-centos ~]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.5.1804 (Core)
Release: 7.5.1804
Codename: Coreunman -a
查看Linux内核版本1
2[root@VM-0-10-centos ~]# uname -a
Linux VM-0-10-centos 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
查看磁盘占用情况
1 | [root@VM-0-10-centos ~]# df -Th |
-T, –print-type print file system type
-h, –human-readable print sizes in human readable format (e.g., 1K 234M 2G)
Linux 目录结构
1 | [root@VM-0-10-centos /]# ls -la |
第一列是文件/目录及权限信息,前面的d
代表目录,后面九位是权限信息, r
代表读,w
代表写,x
代表可执行,分为三组,第一组是用户权限,第二组是组权限,第三组是其他用户权限。
目录结构
/home:用户目录
/etc:配置目录
/sys:系统目录
/usr:存放用户应用程序
/usr/sbin:存放超级用户使用的比较高级的管理程序和系统守护程序
/var:这个目录中存放着在不断扩充着的东西,习惯将那些经常被修改的目录放在这个目录下,包括各种日志文件
CPU/内存/进程
top
1 | [root@VM-0-10-centos ~]# top |
Tasks: 73 total, 1 running, 72 sleeping, 0 stopped, 0 zombie
总共73个进程
端口
1 | lsof -i:PORT |
查看端口占用情况
1 | [root@VM-0-10-centos ~]# lsof -i:22 |
文件
编辑后不保存
:q!
追加内容
echo 'xxxxx' >> filename
覆盖
echo 'xxxx' > filename
下载
wget url
解压缩
解压apache-tomcat-8.5.57.tar.gz
1 | tar zxvf apache-tomcat-8.5.57.tar.gz |
-z, –gzip, –gunzip, –ungzip 通过 gzip 过滤归档(.gz
结尾)
-x, –extract, –get 从归档中解出文件
-f, –file=ARCHIVE 使用归档文件或 ARCHIVE 设备
–force-local
-v, –verbose 详细地列出处理的文件
–warning=KEYWORD 警告控制:
压缩
1 | tar zcvf apache-tomcat-8.5.57 |
-c, –create 创建一个新归档
grep
查看名字中包含docker
的进程
1 | ps -ef | grep docker |
kill
终止进程
1 | kill -9 PID |
查看服务运行状态
1 | [root@VM-0-10-centos ssh]# service sshd status |
关闭服务
1 | service sshd stop |
重启服务
1 | service sshd restart |
systemctl
systemctl 命令是系统服务管理器指令
1 | systemctl status firewalld.service |
systemctl 和 service、chkconfig 命令的关系
- systemctl命令:是一个systemd工具,主要负责控制systemd系统和服务管理器。
- service命令:可以启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。
- chkconfig命令:是管理系统服务(service)的命令行工具。所谓系统服务(service),就是随系统启动而启动,随系统关闭而关闭的程序。
systemctl命令是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起。
所以systemctl命令是service命令和chkconfig命令的集合和代替。
如何改ssh端口?
netstat
1 | netstat -anlp | grep sshd |
-a, –all display all sockets (default: connected)
-n, –numeric don’t resolve names
-l, –listening display listening server sockets
-p, –programs display PID/Program name for sockets
1 | [root@VM-0-10-centos ssh]# netstat -anlp | grep sshd |
semanage
semanage 命令是用来查询与修改 SELinux 默认目录的安全上下文。
SELinux(Security-Enhanced Linux) 是一个Linux内核的安全模块,其提供了访问控制安全策略机制,包括了强制访问控制。
添加端口
1 | semanage port -a -t ssh_port_t -p tcp 10022 |
1 | semanage port -l | grep ssh |
yum
1 | yum whatprovides semanage |
1 | yum install -y policycoreutils-python |
1 | sudo yum remove docker \ |
1 | sudo yum install -y yum-utils \ |
Centos 7 修改 SSH 端口
修改ssh配置文件
1
vi /etc/ssh/sshd_config
1
2
3
4
5--- old ---
#Port 22
--- new ---
Port 22
Port 10022重启ssh服务
1
service sshd restart
查看端口是否生效
1
netstat -anlp | grep sshd
如果开启了防火墙,需要将新端口添加进去
查看防火墙是否开启
1
2[root@VM-0-10-centos ssh]# firewall-cmd --state
not running开启防火墙
1
systemctl start firewall.service
防火墙添加端口
1
firewall-cmd --zone=public --add-port=10022/tcp --permanent
1
2--permanent Set an option permanently
Usable for options marked with [P]1
2
3Load zone default settings [P only] [Z]
--zone=<zone> Use this zone to set or query options, else default zone
Usable for options marked with [Z]重载防火墙
1
firewall-cmd --reload
如果开启了SELinux,也需要将新端口添加进去
查看 SELinux 状态
1
2[root@VM-0-10-centos ~]# sestatus -v | grep SELinux
SELinux status: disabled开启 SELinux
1
2
3vim /etc/selinux/config
SELINUX=enforcing重启服务器即可生效
查看 SELinux 允许的 ssh 端口
1
semanage port -l | grep ssh
SELinux 添加端口
1
semanage port -a -t ssh_port_t -p tcp 10022
然后确认一下是否添加进去
1
semanage port -l | grep ssh
如果成功会输出
1
ssh_port_t tcp 10022, 22
Docker
Docker VS 虚拟机
Docker主要特性
对文件、资源、网络进行隔离
变更管理、日志记录
写时复制
Docker Compose
Docker hub、Harbor
Node
什么是nodejs?
免费、开源、跨平台
服务器上的javascript运行环境
基于Chrome V8引擎,事件驱动,非阻塞式I/O
事件驱动:餐厅举手叫服务员(事件),服务员(函数)响应
非阻塞式I/O:排队叫号
包管理工具
npm、cnpm
yarn
node版本管理工具
nvm、nvm-windows
如何发布一个自己的node模块
npm add user
yarn add xxx
等同于nom install xxx -S