0 远程链接
1 网络
1.1 centos中配置静态ip地址
2 shell
2.1 Shell基础语法
2.2 shell 补全
2.3 shell命令快捷键
2.4 命令History
2.5 命令别名
2.6 Shell获取帮助
2.7 什么是内部命令,什么是外部命令
2.8 外置命令内存缓存
0 远程链接
# 远程链接软件(centos虚拟机开启ssh服务的,监听了22端口)
-win:
-finalshell
-xshell :收费的,个人版免费
-cmd
# 快照
-保存这一时刻,后期恢复到这里
-可以拍摄多个快照
1 网络
### 网络
# 网络配置
-子网掩码
-dhcp
-网关
-dns
# mac网络配置
# https://blog.csdn.net/hadues/article/details/129214087
# https://blog.51cto.com/u_15687422/5389794
# win 上有网络模式
-桥接:跟宿主机在同一个网段
-Nat地址转换:虚拟机自有一套网络
-win上直接选它
-mac上选新建 vmnet3
-pd:host-only
-仅主机
# DHCP
### 2.1 DHCP协议用途
动态主机设置协议(Dynamic Host Configuration Protocol, 缩写:DHCP),
是一个用于IP网络的网络协议,位于OSI模型的应用层,包括两个主要用途:
用于内部网络或网络服务提供商自动分配IP地址给用户
用于内部网络管理员对所有电脑做中间管理
### 2.2 DHCP工作原理
DHCP是一种使网络管理员能够集中管理和自动分配IP网络地址的通信协议。在IP网络中,每个链接Internet的
设备都需要分配唯一的IP地址,DHCP使网络管理员可以从中心节点监控和分配IP地址。
DHCP使用了租约的概念,称为计算机IP地址的有效期,租期时间的长短取决于连接Internet时间的长短,
透过较短的租期,DHCP能够在一个计算机比IP地址多的环境中动态地重新配置网络。
DHCP支持为计算机分配静态地址,如需要永久性IP地址的Web服务器。
# 保存一个模板机
-shutdown now #关机
- 克隆一个虚拟机(完整克隆)
- 开启,进入,修改ip 10.0.0.100
-关机
-以后想再复制一个虚拟机,直接基于模板机克隆即可
1.1 centos中配置静态ip地址
1 vmware网段设置好
-虚拟机选用了这个nat地址转换
-虚拟机中,使用命令和修改文件
cd /etc/sysconfig/network-scripts 下
然后 ls 查看是 ifcfg-ens32 或者 ifcfg-ens33 又或者其他
ifcfg-ens33 # ifcfg开头的文件,如果有多个网卡,有多个ifcfg-ensxx文件
-然后使用 vi ifcfg-ens33 打开后,将下面的比对填入,根据自己的情况配置:
TYPE=Ethernet
DEFROUTE=yes
NAME=ens33
UUID=cc56788f-4d01-4848-82d1-f8c4dab9aa86
DEVICE=ens32
# ----------------------------------------
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.0.0.150 # 根据你的网段配置ip地址
GATEWAY=10.0.0.254 # 网关要查看自己的vmware上的网关ip而定
NETMASK=255.255.255.0
DNS1=8.8.8.8
DNS2=114.114.114
2 修改完后重启网卡
systemctl restart network # 重启网卡
ip addr # 查看ip地址
2 shell
1 shell是什么
-Bash Shell是一个命令解释器(python解释器),它在操作系统的最外层,负责用户程序与内核进行
交互操作的一种接口,将用户输入的命令翻译给操作系统,并将处理后的结果输出至屏幕
-没有图形化界面了
-远程链接工具,链接上,就打开了一个shell窗口,可以输入命令
-进入和退出
bash
exit
2 shell 能干什么
使用Shell实现对Linux系统的大部分管理,例如:
1.文件管理(文件创建,移动,复制,删除,编辑…)
2.权限管理(不同用户不通权限)
3.用户管理(创建,删除….)
4.磁盘管理(挂载)
5.网络管理
6.软件管理
原来win上通过 点点点 完成的操作,现在都用bash命令来操作
3 shell 如何使用
1 直接输入命令 –> 效率低 –>适合少量的工作
ls
pwd
2 Shell Script(shell 脚本) –> 效率高–>适合复杂重复性的工作
-django项目部署:
uwsgi -x xx.xml
celery work,beat
-vi test.sh
for i in {1..100}
do
echo "create test$i"
done
-方式一:chmod +x test.sh # 加入执行权限
./test.sh # 可以执行
-方式二:
bash test.sh
4 Shell提示符
1 [root@xxx ~]# 解释
root:用户
@:没有含义
xxx:主机名
~ :路径,用户家路径,root用户家路径是 /root
# : 超级用户 # 一个井号是超级用户
$ :普通用户
2 主机名
hostname # 查看主机名
3 创建用户(先听)
useradd xxx # 在/home 路径下创建一个根用户同名的文件夹--->这个用户家路径
passwd xxx # 给用户设置密码
# 使用xxx登录 ---》final-shell重新使用xxx链接
# root用户链接了,切换成xxx用户
su 用户名 # 要不要输入密码,取决于你是谁
4 whoami
看我是谁
2.1 Shell基础语法
# 格式
#命令 选项 参数
command [-options] [arguments]
# 以ls命令为例
ls -a
ls --all
ls -al # 等同于 ls -l 等同于 ll
ls -al /home
# 必须以命令开头,选择和参数,可以有,也可以没有
2.2 shell 补全
# 敲了命令,按tab,如果有多种选择,都会列出来,如果没有了,只有这一个,直接补齐
# 查看本机ip
ip addr
# 使用 ifconfig:找不到,外部命令,第三方软件支持 win:ipconfig
yum install net-tools -y
ifconfig # 查看ip了
# 问题:
-刚刚不能上网了----》dns有问题---》解决:加了个dns2
-把yum源改成了阿里云的源----》
/etc/yum.repos.d
http://mirrors.aliyun.com/repo/Centos-7.repo # 下载Centos-7.repo 放在这个路径下即可
yum clean all
yum makecache
2.3 shell命令快捷键
Ctrl + a #光标跳转至正在输入的命令行的首部
Ctrl + e #光标跳转至正在输入的命令行的尾部
Ctrl + c #终止前台运行的程序
Ctrl + z #将任务暂停,挂至后台
Ctrl + l #清屏,和clear命令等效。
Ctrl + k #删除从光标到行末的所有字符
Ctrl + u #删除从光标到行首的所有字符
Ctrl + r #搜索历史命令, 利用关键字,Tab建选中
Ctrl + w #按单词或空格进行向前删除
Ctrl + 左右建 #按单词或空格进行向前向后跳
#在命令行前加面加 "#" 则该命令不会被执行
2.4 命令History
# history 可以查看命令历史
# 使用上下键可以快速选择之前执行过的命令
# !! 执行上一条命令
# !数字 执行history历史中第 数字 行的命令
# !yum 最近一次的yum命令
# history -d 100 删除第100条历史记录
# history -c 清空记录(保存到文件中的还有)
# history -w 保存历史集合,保存到当前用户的家目录 .bash_history
# > .bash_history 清空文件的保存(操作完,不让别人看你执行的命令)
2.5 命令别名
# 设置别名
alias xx='ls -al' # 以后敲xx等同于ls -al
alias lqz='ifconfig'
#取消别名
unalias lqz
# 上述操作只在当前会话生效,永久生效
echo "alias lqz=ls -al" >> /etc/bashrc # 所有人都生效
echo "alias lqz=ls -al" >> /root/bashrc #只针对于root
2.6 Shell获取帮助
# 命令 --help 提示你怎么用
# man ls
q退出
空格翻页,上下键翻页
2.7 什么是内部命令,什么是外部命令
# 内部命令
linux内置的命令 ls pwd
# 外部命令 --第三方软件支持的
ifconfig
# type -a pwd 查看是内部还是外部
# yum provides ifconfig
# 查看环境变量---》任意路径敲命令,都能找到,命令在环境变量中
echo $PATH #用 : 分割
# 外部命令,一般都在 :/usr/sbin/
2.8 外置命令内存缓存
如果是外置命令还会涉及到一个内存缓存,也就是说,当我们出现重复执行相同的命令,
会通过缓存调取执行,也就意味着不会搜索PATH路径
3 文件管理
3.1 系统目录结构
# Windows: 以多根的方式组织文件 C: D:
# Linux:以单根的方式组织文件 /
1 存放命令相关的目录
/bin, 普通用户使用的命令 /bin/ls, /bin/date
/sbin,管理员使用的命令 /sbin/service,poweroff,useradd…
只要看到bin路径,就应该意识到放的是可执行文件
# which 命令名
# whereis 命令名 更全
2 存放用户相关数据的家目录,比如:windows不同的用户登陆系统显示的桌面背景不一样
/home,普通用户的家目录, 默认为/home/lqz
环境变量的东西不要删,删掉试一下
/root,超级管理员root的家目录, 普通用户无权操作
3 系统文件目录
/usr,相当于C:Windows
/usr/local,软件安装的目录,相当于C:Program
/usr/bin/,普通用户使用的应用程序(重要)
/usr/sbin,管理员使用的应用程序(重要)
/usr/lib,库文件Glibc 32bit
/usr/lib64,库文件Glibc 64bit
# 补充:动态链接库文件
-win上能看到 xx.dll
-linux上能看到 xx.so
-c,c++编写过后,编译后会产生两种东西
-可执行文件
-动态链接库问题
4 启动目录
/boot 存放的系统启动相关的文件,例如:kernel,grub(引导装载程序)
linux内核+GUN软件
5 配置文件目录
/etc,极其重要,后续所有服务的配置都在这个目录中
/etc/sysconfig/network-script/ifcfg-,网络配置文件
/etc/hostname,系统主机名配置文件,主机名很重要,有些特殊服务要依赖主机名,没有主机名会报错起不来;修改了要重启:reboot
/etc/resolv.conf,dns客户端配置文件,域名解析服务器,一般我们不配置,因为网卡的配置好了,会覆盖掉它,网卡的优先级高
/etc/hosts,本地域名解析配置文件,域名解析,先找自己的hosts,再去域名解析
/etc/motd :登录后显示的信息
6 可变的目录与临时目录
/var,存放一些变化文件,比如/var/log/下的日志文件,登陆日志
/var/tmp,进程产生的临时文件
/tmp,系统临时目录(类似于公共厕所),谁都可以使用
1 查看登陆日志
cat /var/log/secure # 查看登陆时间
2 进程产生的临时文件(360清理垃圾,就是会清理)
7 设备目录文件
/dev,存放设备文件,比如硬盘,硬盘分区,光驱,等等
/dev/sd 硬盘设备
/dev/null,黑洞设备,只进不出。类似于垃圾回收站
/dev/random,生成随机数的设备
/dev/zero,能远远不断的产生数据,类似于取款机,随时随地取钱
8 虚拟的文件系统(如对应的进程停止则/proc下对应目录则会被删除)
/proc,反映系统当前进程的实时状态 :process
PS:类似于小汽车的仪表板,能够看到汽车是否有故障,或者是否缺油了
ls /proc # 可以看到很多id号,pid号,进程号,唯一
ls 进程id号的文件夹
如果进程被关闭,id号的文件夹就没了
id号每次启动都不唯一,只有一个进程唯一,systemd 是进程号1的进程,所有进程都是基于它派生出来的
9 其他
1 media:提供设备的挂载点,媒体文件
linux 新增了盘符,需要手动挂载
把光盘里的数据,挂载到media目录
mount /dev/cdrom /media/
2 mnt 提供设备的挂载点(同上)
3 opt 第三方工具,第三方软件默认安装的(mysql...)
4 run :下有pid,log结尾的文件
ls /run
cat sshd.pid # 进程运行的pid号,放在文件中
ps aux |grep sshd
5 .lock文件的作用,锁机制
# 假设现在执行
yum install tree
# 再开一个窗口执行相同命令
yum install tree
'''
Another app is currently holding the yum lock; waiting for it to exit...
The other application is: yum
Memory : 71 M RSS (470 MB VSZ)
Started: Tue Aug 18 00:26:31 2020 - 00:24 ago
State : Sleeping, pid: 6191
'''
cat /run/yum.pid
- 文件路径定位
- 系统文件管理:创建/复制/移动/删除
- 系统文件管理:查看文件内容(cat tac less more head tail tailf grep
- 文件管理之:联网下载文件(wget、curl)、文件上传与下载(rz、sz)
- 文件管理之:文件或命令查找(locate、which、whereis、find)
- 文件管理之:字符处理命令(sort、uniq、cut、sed、awk、wc、)
- 系统文件属性
- 系统文件类型
- 系统链接文件:软连接,硬链接