Linux基础操作
网络相关配置
通过对Linux系统的熟悉,今天来简要介绍一下Linux的常见的基础操作,以及对SSH协议的认识。
1、查看当前机的IP地址配置
2、修改网络配置
3、重启网络服务
systemctl restart network
4、测试连通状态
ping www.baidu.com
5、虚拟机额外配置
5.1、虚拟机网络设置为桥接方式
5.2、设置虚拟机net0的网卡为无线网卡
注意:实体机直接安装无序5配置
基础练习
su - username高级用户切换到低级用户不需要密码,低级用户切换到高级或者平级用户的切换需要密码
Date命令用来显示或设定系统(-s)的日期与时间
date +"%Y-%m-%d"
获取帮助提示的方法:
date --help 获取date命令的帮助文档
man date 以较为友好的方式获取date命令的帮助文档,可以上下翻页
查看,点q退出
history显示历史
按上下键则可以选择执行某个命令
history -c 清空当前 shell 中的历史
SSH
Secure Shell是一种安全外壳协议,是建立在应用层和传输层上的安全协议,是目前应用较多的,主要用于远程登录会话和其它安全网络服务的安全层协议,可以有效的防止远程登录等过程中可能出现的安
全信息泄露的问题。
1.支持多种系统,最初是Unix系统上使用的一个程序,因为它的便捷性和安全性的原因很快被移植到不同的其它操作系统中
2.采用加密且压缩传输的方式进行数据传输,不是telnet、FTP之类的应用中使用明文传递口令数据,SSH的安全性、传输速率等优势就很明显了,所以目前进行远程登录等操作中基本上都会选择使用SSH。当然在具体使用中会选择使用一些支持SSH的客户端工具
3.SSH加密技术有2种:1、对称加密:加密密匙与解密密匙相同,例如DES、AES。2、非对称加密:加密密匙与解密密匙不同,例如RSA,有公钥和私钥。
密钥认证流程:
1、首先在C上生成一对密钥
2、将公钥拷贝给S一份并重命名为authorized_keys
3、C向S发送一个连接请求,信息包括ip、用户名
4、S得到C的信息后,会到authonized_keys中查找,如果有相应的ip和用户名S会随机生成一个字符
串,离去:qwer
5、S将使用公钥对字符串qwer进行加密,发给C
6、得到S发来的消息后,C会使用私钥进行解密,然后将解密后的字符串发送给S
7、接收到解密后的字符串会跟先前生成的字符串进行对比,如果一致,就允许免密码登录
SSH免密登录
开启ssh服务需要root权限,先用root账户登陆
先检查有没有安装ssh服务:rpm -qa | grep ssh
如果没有安装ssh服务就安装 : yum install openssh-server
安装好后在ssh配置文件里进行配置 : vim /etc/ssh/sshd_config
Port 22
PermitRootLogin no 是否要使用root连接,如果是则yes;如不用则no
开启ssh服务systemctl start sshd.service
将ssh服务添加到自启动列表中:systemctl enable sshd.service
pwd用于获取当前所在的目录树绝对路径
文件系统架构
1、Linux文件系统具有层级性
1)文件或者目录起始于根目录“/”成为树状结构
2)最顶层由/开始,linux系统中没有c盘、d盘之类的概念
2、文件和目录名区分大小写,而windows中的文件和目录名没有大小写之分,而在linux中是严格区分
大小写的。
3、路径通过“/”分隔开
4、【…】表示上层目录,【.】表示当前目录,可以使用命令【pwd】查看当前的目录全名
6、隐藏目录或者文件名以“.”开始
Linux中的文件都是采用的目录树的方式进行管理的。
目录和文件的命名规则
1、不超过255个字符
2、区分大小写,例如file、File、fILE表示不同的文件
3、 除了/外,所有的字符都合法,而windows中不允许包含/:?<>”|等特殊符号。最佳实践建议避免文件名首字符使用±.等;避免使用空格、制表符和@#$%等。
因为这里执行rm -rf f[123].txt时,系统识别[123]为正则式,删除的是f1、f2、f3这三个名称。另有t也会被识别为任意长度的任意字符。使用特殊符号就可能会出现这些问题,导致过多删除的问
题。
4、最好使用有意义的名称来命名
命令基本格式
cmd [options] [arguments],options称为选项,arguments称为参数
选项和参数都作为Shell命令执行时的输入,它们之间用空格分隔开。
Linux是区分大小写的。一般来说,后面跟的选项如果单字符选项前使用一个减号-。单词选项前使用两个减号–
例子:ls -a和ls --all,a 单个字符使用一个-,一个单词all使用两个–
在Linux中,可执行的文件也进行了分类:
1.内置命令:出于效率的考虑,将一些常用命令的解释程序构造在Shell内部。
2.外置命令:存放在/bin、/sbin目录下的命令
实用程序:存放在/usr/bin、/usr/sbin、/usr/share、/usr/local/bin等目录下的实用程序
3.用户程序:用户程序经过编译生成可执行文件后,可作为Shell命令运行
Shell脚本:由Shell语言编写的批处理文件,可作为Shell命令运行
输入命令的时候要常用tab键来补全。Tab键可以自动补齐,连按两次Tab键则显示所有可选项
Centos默认记录1000条命令历史,history显示所有命令记录,!编号调用指定编号对应命令
Ctrl+1或clear 清屏
which java 查找java命令的存储位置
man ls 查找ls命令的手册,手册一般位于/usr/share/man目录下
用户主目录
Linux是多用户的网络系统!所以可以在Linux下创建多个用户,每个用户都会有自己专属的空间。所以在创建用户时,系统管理员会给每个用户建立一个主目录,通常在/home/目录下。比如用户yanjun的主目录为/home/yanjun
用户对自己主目录的文件拥有所有权,可以在自己的主目录下进行相关操作。
注意:不允许文件夹的名称和文件名称冲突
目录基本命令
1)绝对路径必须是/开头
2)相对路径一般比较短,是相对于当前路径的路径写法
可用 pwd命令查看用户的当前目录
pwd
可用 cd 命令来切换目录
1.cd没有参数则返回home文件夹
2.cd … 表示返回上级文件夹
3.cd udev 进入当前文件夹的子文件夹udev,如果当前文件夹下没有udev子文件夹,则会回显报错信息
4.cd /root使用的是绝对路径
.表示当前目录
cd . 不会切换文件夹
… 表示当前目录的上一级目录(父目录)
cd … 返回上级文件夹
~ 表示用户主目录的绝对路径名
cd ~ 表示进入home文件夹
ls指令操作
ls命令是list的缩写,是列出目录或目录的内容的命令,在没有加任何参数的情况下,ls会列出当前目录的文件或目录,ls命令通过一些选项参数可以查看文件的权限(包括目录、文件夹、文件权限)和查看
目录信息等。
语法格式为: ls,ls[options][file_or_dirs]
1)ls列出当前目录内容
2)ls / 显示根目录的内容,如果需要查看指定目录的内容可以使用ls /目录名
3)ls -a,显示隐藏文件,默认是不显示隐藏的目录或文件,隐藏是点开头
4)ls -l,显示详细内容。具体显示内容为【类型和权限 硬链接次数 文件属主 文件所属的群组 文件大小(单位为kB) 创建或者最后修改的时间戳 文件或者目录的名称】
5)别名写法 ll
Linux的文件类型
查看目录中的内容ls -l或者ll
显示内容的第一个位置:
-普通文件;d目录文件;b块设备文件block;c字符设备文件character;l符号连接文件symbolic link
file;p命令管道文件pipe;s套接字文件socket
显示内容的第二部分:文件权限
共9位,每3位一组rwx(读r,写w,执行x,-表示没有三者中的任何一种权限)
第一组表示当前用户的权限
第二组表示当前用户所在组的其它用户权限
第三组表示其它组用户权限