8.5
回顾:
所有的IT知识都依托以OSI七层模型(TCP/IP四层);
协议:(规定)
应用层协议:http https(B/S) ssh telnet smtp pop3 imap ftp tftp dns dhcp
传输层:tcp(可靠) udp(不可靠) -- 端口
网络层:路由协议 被路由协议(重点)(IPv4 IPv6) x.x.x.x
数据链路层:以太网协议 MAC ff:ff:ff:ff:ff:ff:ff 全球唯一
物理层:01电信号
Linux的目录结构
Linux的磁盘管理
fdisk -- 分区(逻辑边界)写入文件系统;
mkfs - t : //指定文件系统格式;
mount : 要挂载的设备 挂载点【存储设备在Linux系统上必须挂载】
umount : 要挂载的设备 / 挂载点
df : // 查看挂载情况
/ etc / fstab : // 实现开机自动挂载
/ / bin / sbin
/ etc
/ usr
/ var
/ opt
/ sys / proc
/ tmp
/ lib / lib64
/ home / root
/ cdrom / media / mnt
常见的关于目录文件操作的命令:
ls //文件通配符 * ? [ ] ^ $
cd . .. ~ - 绝对路径和相对路径
grep
正则表达式 1、字符串匹配 : . [] [^] [:dight:] [:alpha:] ...
2、次数匹配 : * ? \ { m \ } \ { m,n \} \ {0,n \} / { m,\ }
3、位置锚定 :^ $ \b <\ \b />
4、分组 \(ab\)*
. *
- v
- i
^ $ -- 空白行
mkdir -pv //同时创建多级子目录
rm -r
rmdir 删除空行
tree -L -d
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
文件相关的命令
1、创建和删除操作
Touch 摸 //修改时间戳 stat (atime{访问时间} mtime{文件内容时间} ctime{文件属性时间哎}),如果没有该文件就创建该文件
-C
MMDDhhmm [CC]YY.ss
top --> 查看进程【CPU : sy ur 】
-a
Rm
* find * 【范围】 -file d -name a* [文件属性]
-exec 命令 {}\;
-ok 命令 {}\;
l xargs 命令;
Mkdir - pv
2、拷贝和移动文件
Cp - a //携带所有文件属性一快复制
Mv move 1、移动文件 2、修改文件名称
mv a b
mv / tmp /a / root /
文件名扩展
{}
创建目录 姓名 _ 学号 赵云_0001
mkdir {赵云,石磊}_{0001,0002}
赵云_0001
赵云_0002
石磊_0001
石磊_0002
3、查看文件内容
Cat 一次性查看文件中所有内容; cat / etc / init.d /
More //man 命令
/
?
q
Less 在更多的情况下,查看大文件,我们使用less
Tail 默认查看倒数10行
- n // tial -n 20 文件名; 简化:- 20
* -f- * 不退出文件,实时查看文件内容
Head 查看行首
-n // head -n 20 文件名 简化:- 20
4、其他
Echo -e -n
echo $PATH
- n // print( "Hello World”,end=")print("Hello World")
print(“Hello World”)
- e 识别 \t \n \r
echo -n -e " Hello World \t "
重定向 > 和 > >
fd 文件标识符
0 -- 标准输入
1 -- 标准输出
2 -- 错误输出
程序 = 指令 + 数据
代码 变量
变量里面的数据从何而来?通过代码执行的数据又输出到哪里?
规定:默认标准输入为 -- 键盘 标准输出为 -- 显示器
而重定向就是用来改变输入和输出的;
输出重定向
> 覆盖重定向 -- 默认工作中不能使用 set - 去掉这个功能,同时 >l 可以进行强制定向(set + C开启覆盖重定向功能)
> > 追加重定向 在原有的文件上,在添加追加的数据即可;
扩展:
在 Linux中,命令输出除了默认输出结果以外,还返回一个命令执行状态的结果;返回 0 代表命令执行成功,而返回非 0 则是失败;$ ?存储上一条命令的执行状态结果
在工作中,我们往往不需要命令输出的结果,而只需要命令执行的状态,我们就会使用 重定向 将输出结果重定向至 空文件( / dev / null)
cat a.txt > /dev/null
输入重定向
< 把后面的文件,交给前面的命令来执行;
tr 命令,将前面的内容替换为后面的内容;
tr abc ABC < a.txt
< < 将多行内容同时输入,用在 cat 命令中
cat > > 文件 < <EOF
> a
>EOF
错误输出重定向
2 > 需要带上 fd( 文件标识符)
2 > > 追加的错误重定向输出
扩展优化:
cat a. txt > /dev / null
cat a. txt 2 > /dev /null
& > /dev /null 无论命令执行正确与否,都将输出内容指定到 /dev /null
& >> [普通文件]
管道
command 1 l comand 2 l comand 2 l comand 4 l ..........
将前面的命令的执行结果,输出给后面一条命令执行;
【Linux思想:结合小功能,完成复杂功能】
tail - 7 / etc / fstab l cut -d ' ' -f1
cut 切
- d 指定分隔符 ' '
- f 取的列 1-3 1 ,3 1
-----------------------------------------------------------------------------------------------------------------------------------
Linux远程
1、关机 \ 重启
Shutdown
Init 0
2、查看或配置网卡信息
网卡和IP地址
ifconfig 没有该命令,我们需要安装网络包工具(net - tools)
apt install net - tools
如果,网卡没有起来,我们需要修改默认的网卡配置文件;
/ etc / network / interfaces
vim / etc / network / interfaces
1、动态 - dhcp
auto eth0
iface etho inet dhcp
【修改配置文件,就需要重启服务】
/ etc / init.d / networking restart
2、静态 - 手动去配置
address 192.168.94.10
netmask 255.255.255.0
gateway 192.168.94.1
3、远程管理机制
Ssh 开启Ubuntu的ssh端口的监听功能;tcp - 22
netstat - tnl // t -- tcp协议 n -- 不做解析
如果没有:apt install openssh -server -y
【Ubuntu默认只能使用普通用户进行远程连接】
ssh teacher@192.168.94.10
无密码的的远程登陆
【见截图】