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