study05
回顾
所有的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 ——分区(逻辑边界)写入文件系统 -l 查看磁盘命名
mkfs -t ——指定文件系统格式
mount 要挂载的设备 挂载点——存储设备在Linux系统上必须挂载
umount 要挂载的设备、挂载点
df -h——查看磁盘挂载情况
/etc/fstab ——实现开机自动挂载
/bin /sbin
/etc
/usr /usr/local
/var
/opt
/sys /proc
/tmp
/lib /lib64
/home /root
/cdrom /media /mnt
ls 文件通配符 * ? [] ^ $
-li 查看文件的所有属性信息
alies ll 查看文件属性
cd
grep 正则表达式1、字符串匹配 . 任意一个字符
[]
[^](表否定)
[:digit:]
[:alpha:]
...
2、次数匹配 *
?
\{m\}
\{m,n\}
\{0,n\}
\{m,\}
3、位置锚定 ^
$
\b
<\
\b
/>
4、分组 \(ab\)* 前面ab出现的次数 abababababab
ab* 前面ab出现的次数 abbbbbb
“/$” 以/为结尾的
-v
mkdir -pv
rm -r
rmdir
tree -L -d
文件相关命令
1、创建和删除操作
Touch 模 修改时间戳 stat (atime mtime ctime修改文件属性时间),如果没有该文件就创建该文件
-C 修改时间戳,没有该文件可以不创建文件
MMDDhhmm[CC] 指定修改时间
help 内部指令
--help 外部指令
top 查看进程【cpu:sy(内核使用率) ur(用户使用率)】
-a
移动到tmp,删除
Rm *find* 【范围】
-file d
-name a*
【属性】
-exec 命令 {}\
-ok 命令 {}\
| xargs 命令
Mkdir -p
-v
2、拷贝和移动文件
cp -a 携带所有文件属性一块复制
Mv(move)1、移动文件 mv /tmp/a /root/
2、修改文件名称 mv a b
文件名扩展
{}
mkdir -pv mylinux/{bin,****/***,*****,***,***/***}
3、查看文件内容
Cat 一次性查看文件中所有内容
cat /etc/init.d
绿色为可执行文件
More man命令
/
?
q 退出
Less 在更多的清下,查看大文件,用less
Tail 默认查看倒数10行
-n (tail -n 20 文件名 简化:-20)查看倒数20行
-f 不退出文件,实时查看文件内容
Head 查看行首
-n (head -n 20 文件名 简化:-20)查看前20行
Grep
4、其他
Echo -e -n
echo $PATH
-n 取消末尾的换行符
-e 识别 \t \n\r
echo -n -e "hello world \t" 识别...并取消换行符
重定向>和>>
fd 文件标识符
0 ——标准输入
1 ——标准输出
2 ——错误输出
程序 = 指令 + 数据
代码 变量
变量里面的数据从何而来?通过代码执行后的数据又输出到哪里?
规定:默认标准输入为键盘,标准输出为显示器
而重定向就是用来改变输入和输出的;
输出重定向
> 覆盖重定向!!!set -C(关闭覆盖重定向这个功能)echo abf >| b.txt (强制重写) set +C (开启覆盖重定向功能)
>> 追加重定向 在原有的文件上,再添加追加的数据即可; cat b.txt >> c.txt(将c.txt追加到b.txt)
扩展:在Linux中,命令输出除了默认输出结果以外,还返回一个命令执行状态的结果;返回0代表命令执行成功,而返回非0则是失败;$?存储上一条命令的执行状态结果;
在工作中,我们往往不需要命令输出的结果,而只需要命令执行的状态,我们就会使用重定向将输出结果重定向至空文件(/dev/null)
输入重定向
< 把后面的文件,交给前面的命令来执行 (tr shell SHELL << a.txt将a.txt中的shell替换为SHELL)
<< 将多行内容同时输入,用在cat命令中 cat >> 文件<<EOF(以EOF结尾将多行内容输入至文件中)
错误输出重定向
2> 需要带上fd(文件标识符)
2>> 追加的错误重定向输出
扩展优化:
cat a.txt > /dev/null
cat a.txt 2> /dev/null
*** &>/dev/null 无论命令执行与否,都将输出内容指定到/dev/null
&>>[普通文件]
管道
command 1 | command 2 | command 3 | command 4 | ……
将前面的命令的执行结果,输出给后面一条命令执行;
【Linux思想:结合小功能,完成复杂功能】
history | cut -d ' ' -f5 (取出第5列)
cat /etc/fstab
tail -7 /etc/dstab
tail -7 /etc/dstab | cut -d ' ' -f1
cut 切
-d 指定分隔符 ‘ ’
-f 取的列 1-3 1,3
Linux远程
1、查看或配置网卡信息
网卡和IP地址
ifconfig
没有该命令,我们需要安装网络包工具(net-tools)
apt install net-tools
ip addr(看是up还是down,如果是down就输入:ifup eth0(eth0是网卡))
sudo apt install net-tools -y
如果,网卡没有起来,我们需要修改默认的网卡配置文件;
/etc/network/interfaces
vim/etc/network/interfaces
1、动态 -dhcp
auto eth0
iface eth0 inet dhcp
【修改配置文件,就需要重启服务】
/etc/init.d/networking restart
2、静态 -手动去配置
sudo vim /etc/network/interfaces
编辑:i (进行输入) auto eth0
iface eth0 inet static
address 192.168.94.x(x除Windows地址以外的数字)
network 255.255.255.、 gateway 192.158.94.
修改配置文件,就需要重启服务
2、远程管理机制
Ssh开启Ubuntu的ssh端口的监听功能;tcp-22(tcp对应的22就是ssh的端口)
netstat -tnl t——tcp协议 n——不做解析
如果没有:apt install openssh-server -y
/etc/init/ssh start
【Ubuntu默认只能使用普通用户进行远程连接】
在Xshell里敲代码,远程连接虚拟机:
ssh root(root是要连接虚拟接的名)@192.168.189.128(要连接的虚拟机的IP地址)
Xshell的远程登录
cenOs连接Ubuntu
ping 198.168.189.128(IP地址)
1、生成秘钥对
ssh-keygen -t rsa 其他默认
2、将公钥传输给服务器
ls -a (查看所有文件)
cd.ssh
ls
ssh-copy-id -i root@192.168.189.128
会将公钥重命名为authorized_keys
3、进行无密码登录即可
ssh root@192.168.189.128
没有提示密码输入,能够直接登录即可;
exit退出远程连接
应用:在客户端执行服务端命令
在客户端上
ssh root@192.168.189.128'ip addr'
用户权限相关命令
1、用户和权限的基本概念
chmod 修改权限(rwx 7 r--4 -w- 2 --x 1)
chown 修改所属主和所属组
root:root
chown teacher:文件
chown :teacher 文件
chown teacher:teacher 文件
2、用户管理终端命令
Useradd 增加用户
Passwod teacher
Echo "xxxx" | password
Userdel 删除用户
系统信息相关命令
1、时间和容器
Date 系统时钟
Cal 日历
2、磁盘和目录空间
Df 挂载
Du 文件大小
Wc 文件统计
3、进程信息
Ps 进程查看
Ps aux
Top
kill -9 强制关闭进程
kill -9 进程号 (强制关闭此进程)
Upgrade 更新包组
vim看老师博客https://www.cnblogs.com/BurnovBlog/p/10444952.html
【如何做本地挂载?】
(vim interface 保存并退出)
浙公网安备 33010602011771号