1. 操作系统概述
2. 远程登录Linux系统
3. 强调重要Linux命令
4. Linux进程与线程
5. Linux网络的坑
6. 免密登录
- 操作系统概述
操作系统种类分为 Unix和"类Unix"
Unix,Linux,OSX,Windows,Androd
Linux:ubuntu,CentOS,redhat,Fedora,Debian
安装CentOS=> Minimal ISO
Windows下使用命令行工具: cmder
Cmder终端环境下使用ssh命令
官方网站: http://cmder.net/
下载地址: https://github.com/cmderdev/cmder/releases/download/v1.3.10/cmder.zip
远程登录: ssh root@192.168.1.164
$ ssh root@192.168.1.20
修改host, hostnamectl -h帮助信息
$ hostnamectl set-hostname XXXX
常用Linux命令
行编辑器: vi/vim
$ ll //查看目录
$ ls //查看目录
$ vi
$ vim
$ sudu vi
$ q //退出
$ q! //不保存退出
$ export PATH=xxxxx //加入到全局路径 (这个不确定是不是这么写)
服务管理命令: (systemctl [start stop restart enable disable] 服务名称)
$ systemctl //显示所有服务
$ systemctl start mysqld //启动mysql服务(mysql服务名称是mysqld,后面带个d代表守护进程)
$ systemctl start httpd //启动apahe
$ systemctl start nginx //启动nginx
$ systemctl restart nginx //重新启动nginx
$ systemctl stop nginx //停止nginx
$ systemctl disable nginx //禁用nginx (操作系统启动时,不跟着启动)
$ systemctl enable nginx //禁用nginx
命令行下载命令 curl,wget
CentOS下安装wget命令是yum
ubuntu是apt或apt-get
$ yum install wget //CentOS下安装wget命令是yum,ubuntu是apt-get
$ wget https://github.com/cmderdev/cmder/releases/download/v1.3.10/cmder.zip //下载cmder
$ curl https://github.com/cmderdev/cmder/releases/download/v1.3.10/cmder.zip -o xxxxname //下载cmder并重命名为xxxxname
curl 功能更强大
Linux下查看帮助
$ man curl //查看帮助信息
在终端下不小心ctrl+s 了怎么办?
意思是暂停终端,sleep 按ctrl+q 退出挂起
常用Linux终端快捷键
ctrl+c 结束正在运行的程序
ctrl+d 结束输入或者退出shell
ctrl+s 暂停屏幕输出(相当于挂起)
ctrl+q 退出暂停屏幕输出
ctrl+l 清屏(clear)
ctrl+a 移动光标到行首
ctrl+e 移动光标到行尾
进程、线程与协程
- 进程的目的就是担当分配系统资源(cpu时间,内存) 的实体
- 线程是操作系统能够进行运算调度的最小单位
- 协程是一种用户态的轻量级线程,无法利用多核资源
- IO密集型应用的发展: 多进程 -> 多线程 -> 事件驱动 -> 协程
- CPU密集型应用的发展: 多进程 -> 多线程
- 调度和切换的时间: 进程>线程>协程
sshd->shell->ping
ssh服务登录到远程服务器,利用shell拉起一个ping命令
ps aux | grep mariadb
kill pid
Linux进程管理相关命令
$ top
$ ps
$ kill -9 // 9 强制退出进程
$ pkill mysqld //退出名字中带有mysql的进程
$ w //查看当前系统上谁在登录
Linux网络管理
- ifconfig
- ip 查看
- traceroute 排查网络故障
- 查看网络端口占用进程
$ ifconfig //查看网络配置
$ ip
$ ip addr
$ ip route
$ traceroute www.baidu.com //追踪路由
$ ip addr //查看有几个网卡
$ ifup eth0 //启动显卡
$ ifdown //关闭显卡
$ netstat -h //
$ ss -anp | grep 80 //ss选择出使用80端口的进程
$ netstat -anp | grep 80 //netstat选择出使用80端口的进程
pixel@ubuntu:~/Desktop/workspace/koatest$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:b5:2b:fe brd ff:ff:ff:ff:ff:ff
inet 192.168.79.130/24 brd 192.168.79.255 scope global dynamic noprefixroute ens33
valid_lft 1322sec preferred_lft 1322sec
inet6 fe80::b5eb:2ef6:2e83:d647/64 scope link noprefixroute
valid_lft forever preferred_lft forever
pixel@ubuntu:~/Desktop/workspace/koatest$ ifup ens33 //启动网卡
Linux免密远程登录 (重点必须掌握)
免密登录的原理
配置免密登录的步骤
- 1.生成密匙对
- 2.上传配置公钥
- 3.配置本地私钥
- 4.免密登录功能的本地配置文件
1.生成秘钥对
- $ ssh-keygen -t rsa -C '名字' -f '名字_rsa'
2.上传配置公钥
- 上传公钥到服务器对应账号的home路径下的.ssh/中 (ssh-copy-i "公钥文件名" 用户名@服务器IP或域名)
- 配置公钥文件访问权限为600(-rw-r--r--),根用户可读可写,后面其他不可写 600/622
公钥会保存到服务器authorized_keys文件中
3.配置本地私钥
- 把第一步生成的私钥复制到你的home目录下的.ssh/ 路径下
- 配置你的私钥文件访问权限为600
- chmod 600 你的私钥名称
//-f:输出的文件名字
//-t:
pixel@ubuntu:~/Desktop/workspace/koatest$ ssh-keygen -t rsa -C "david" -f "david_rsa"
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in david_rsa.
Your public key has been saved in david_rsa.pub.
The key fingerprint is:
SHA256:/ix+8ZQQIqbCimVSbGgdBXASJTj58u7LBBGMyuSVL+U david
The key's randomart image is:
+---[RSA 2048]----+
|=O===. |
|*=B+ .o . . |
|B*. +o . . . |
|++*..E . |
|oB .. S . . |
|o.. . . o |
| .. . + |
| o. .o. . |
| .+. ..oo |
+----[SHA256]-----+
pixel@ubuntu:~/Desktop/workspace/koatest$
cat authorized_keys
ssh -i 名字_rsa root@192.168.1.20 //配置免密登录脚本的时候,要这样写
scp //远程上传
scp -i 名字_rsa /filename root@192.168.1.20:/ //将公钥文件上传到远程服务器的根目录
$ ssh -i 名字_rsa root@192.168.1.20
$ scp -i 名字_rsa /filename root@192.168.1.20:/
4 免密登录功能的本地配置文件
网友评论