Linux的目录
目录架构
目录的相关操作
. 当前目录
.. 上一层目录
- 前一个工作目录
~ 当前【用户】所在的家目录
#需要注意的是,在所有目录底下都存在两个目录,分别是【.】和【..】,分别代表当前目录,上层目录!
ls -la / #以竖状格式化显示列出/目录所有内容
man ls #查看命令解释(Linux下的帮助指令)
#结论:ls - list directory contens (列出目录内容)
cd # change directory
pwd # 显示当前目录
mkdir # 建立一个新目录
rmdir # 删除一个空目录
Linux的PATH
echo $PATH # 查看Linux下的PATH环境变量
# PATH(一定是大写的)这个变量是由一堆目录组成,分隔符是":"号,而不
# 同于windows的";"号
absolute path与relative path
#绝对路径:由根目录(/)为开始写起的文件名或者目录名称,如/home/oldboy/test.py;
#相对路径:相对于目前路径的文件名写法。例如./home/oldboy/exam.py或../../home/oldboy/exam.py,简单来说只要开头不是/,就是属于相对路径,因此你必须了解,相对路径是:以你当前所在路径的相对路径来表示的
Linux的文件系统
#用户在硬件存储设备中执行的文件建立,写入,读取,修改,转存与控制等操作都是依赖文件系统完成的。文件系统的作用是合理规划硬盘,保证用户正常使用
#Linux系统支持数十种文件系统,常见文件系统如下。
# Ext3 是一款日志文件系统,能够在系统异常宕机时避免文件系统资料丢失,并能 自动修复数据的不一致与错误。
# Ext4 Ext3 的改进版本,作为 RHEL 6 系统中的默认文件管理系统,它支持的存储容 量高达 1EB(1EB=1,073,741,824GB),且能够有无限多的子目录。另外,Ext4 文件系统能够批量分配 block 块,从而极大地提高了读写效率。
# XFS 是一种高性能的日志文件系统,而且是 RHEL 7 中默认的文件管理系统,它的优势在发生意外宕机后尤其明显,即可以快速地恢复可能被破坏的文件,而且强大的 日志功能只用花费极低的计算和存储性能。并且它最大可支持的存储容量为 18EB, 这几乎满足了所有需求
#/etc/fstab是用来存放文件系统的静态信息的文件
cat /etc/fstab #检查linux的文件系统
远程连接Linux
IP address
#方式1:
ip addr
#方式2:
ifconfig
虚拟机网络配置
nat模式(网络地址转换)
虚拟机的ip是nat分配的,电脑环境无论怎么变化,都不会影响虚拟机
好处:
在家,在学校,在公司,使用虚拟机,ip地址都不会变化
桥接
只要换了个教室,插上网线,ip就变了
好处:不用配置
坏处:更换ip麻烦
NAT模式
电脑宿主机的ip在局域网内是唯一的,选择了NAT模式创建虚拟机,虚拟机就是一个新的局域网
桥接模式
用此模式,就是局域网中一台独立的主机,它可以访问该类网段任意一台机器,
连接Linux
1.下载Xshell
2.命令:ssh ip (默认22端口)
#Linux终端也称为虚拟控制台,Linux终端采用字符命令方式工作,用户通过键盘输入命令,通过Linux终端对系统进行控制
#Linux是一个多用户、多任务、支持多线程和多CPU的操作系统
#普通用户登录后系统的提示符:$
#root用户登录后系统的提示符:#
查看终端信息shell命令
tty 查看当前终端
who am i 仅显示当前用户正在使用的终端和登录时间
w 查看所有终端(功能最全,显示用户名,终端标记,登录时间,负载等信息)
SSHD服务
SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理 Linux 系统的首选方式。在此之前,一般使用 FTP 或 Telnet 来进行远程登录。但是因为它们 以明文的形式在网络中传输账户密码和数据信息,因此很不安全,很容易受到黑客发起的中 间人攻击,这轻则篡改传输的数据信息,重则直接抓取服务器的账户密码。
想要使用 SSH 协议来远程管理 Linux 系统,则需要部署配置 sshd 服务程序。sshd 是基于 SSH 协议开发的一款远程管理服务程序,不仅使用起来方便快捷,而且能够提供两种安全验证的方法:
- 基于口令的验证-------用账号和密码登录
- 基于密钥的验证-------需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器,并与服务器中的公钥进行比较;
之前说过“Linux一切接文件”,也就是在Linux系统中修改服务程序,都得去修改它对应的配置文件,sshd程序的配置文件是/etc/ssh/sshd_config,检查配置文件参数
grep -v '^#' /etc/ssh/sshd_config |grep -v '^$'
使用密码登陆
ssh 192.168.1.39
基于口令的·认证
The authenticity of host 'ssh-server.example.com (12.18.429.21)' can't be established.
RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.
Are you sure you want to continue connecting (yes/no)?
pyyuc.cn,123.206.16.61 ecdsa-sha2-nistp256....
Warning: Permanently added 'ssh-server.example.com,12.18.429.21' (RSA) to the list of known hosts.
Password: (enter password)
#私钥是server端独有的,即使client的信息泄露,也没有私钥进行解密,保证数据安全。
使用安全密钥
加密是对信息进行编码和解码的技术,它通过一定的算法将原本可以直接阅读的铭文信息转换成密文。密钥就是密文的钥匙,有私钥和公钥之分。
在数据传输时,担心被他人监听或截获,就可以在传输前先使用公钥对数据加密处理,然后再传送。这样只有掌握私钥的用户才能解密这段数据,除此之外的其让人即使截取了数据,也很难将其破解成明文
基于公钥的免密登录
-
在客户端主机生成“秘钥对”
ssh-keygen
-
把客户端主机中生成的公钥文件传送至远程主机:
ssh-copy-id root@123.206.16.61
-
对服务器端进行设置,使其只能允许秘钥登录,拒绝口令登录,然后重启sshd服务
vim /etc/ssh/sshd_config PasswordAuthentication no systemctl restart sshd
-
在客户端即可免密登录服务器了
ssh root@123.206.16.61