目录
什么是Shell
Linux系统中运行的一种特殊程序
在用户和内核中充当翻译官
在用户登录linux系统时,自动加载一个shell程序
Bash是Linux系统中默认使用的shell程序此文件处于/bin/bash中
接受用户输入的命令,解释命令,传递给系统内核执行
Linux命令的分类
内部命令 外部命令
继承于shell解释其程序内部 Linux系统中能够完成特定功能
的特殊命令也称为内建设命令 的脚本文件或二进制程序
属于shell的一部分 属于shell解释器程序之外的命令
没有单独对应的系统文件 每个外部命令对应了系统中的一个文件
自动载入内存,可以直接使用 必须知道其对应的文件位置,由shell加载后才能执行
Linux命令行的格式
通用的命令行使用格式
命令字 【选项】 【参数】
命令字是整条命令中最关键的一部分
唯一确定一条命令
选项
短格式选项:使用“-”符号引导
长格式选项:使用“--”符号引导
参数
命令字的处理对象
可以是文件名,目录名或用户等内容
个数可以是零到多个
常用的命令
Su 用户名 #切换后所在目录不变
Su – 用户名 #切换后所在的目录变成用户家目录
查看当前主机完整名称
Hostname
临时设置主机名
Hostname 主机名
永久设置主机名
Hostnamectl set-hostname 主机名 或者
Vi /etc/hostname(设置后需要重新启动系统才生效)
按i键先删除旧主机名,在输入新主机名(只有第一行有效)
按ESC键,再按SHIFT+“;”组合键,输入wq,再按回车退出
查看当前系统版本信息
Cat /etc/redhat-release或
Cat /etc/*release
Ls是查看目录,cat是查看文件
查看当前内核版本
Uname -r
临时修改网卡ip
Ifconfig ens33 192.168.80.3/24或
Ifconfig ens33 192.168.80.3 netmask 255.255.255.0
永久修改网卡ip
Vi /etc/sysconfig/network-scripts/
重启网卡
Cd /etc/sysconfig/network-scripts/
Vim ifcfg-ens33
systemctl restart network
systemctl restart network #重启所有的网卡
ifdown ens33 ; ifup ens33
ifdown ens33 #关闭某个网卡
ifup ens33 #启动某个网卡
ifconfig ens33 down #临时禁用某个网卡
ifconfig ens33 up #重新激活某个网卡(不会更新IP地址)
临时修改网卡信息
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0
ifconfig ens33:0 192.168.239.130/24
ifconfig ens33:0 up
创建虚拟网卡:
右击虚拟机打开设置点击添加,点击网络适配器点击完成
完成后输入ifconfig会发现多出一个网卡
cd /etc/sysconfig/network-scripts/
去到network-scripts网卡信息文件夹
会发现虽然有新网卡的配置信息但是没有网卡配置信息
这时候需要将复制ens33的配置信息创建一个新的名为ens37的网卡配置信息
cp /etc/sysconfig/network-scripts/ifcfg- ens33 ifcfg- ens37
复制完成后进入ens37的配置文件
Vim /etc/sysconfig/network-script/ifcfg-ens37/
这里需要注意,需要将uuid删掉详细情况如下:
查看内部命令:
type #查询内部外部指令
enable-n + 指令 #禁用内部指令
enable + 指令 #开启指令
help #帮助
#其中内部命令与外部命令是有区别的
ls --help #外部命令查询帮助
help cd #内部命令查询帮助
echo #shell内嵌/也可以是外部指令(给出具体命令所在)
hash #可以直接调取缓存中的指令
which + 指令 #查询指令所在路径与别名
linux的辅助操作:
Tab键:自动补齐
反斜杠“\”:强制换行(不影响该命令的操作)
Ctrl+U:请控制行首
Ctrl+K:清空至行尾
Ctrl+L:清屏
Ctrl+C:取消本次命令编辑
Ctrl+A:至行首
Ctrl+E:至行尾
添加路由条目
临时添加路由(重启network服务失效)
Linux中配置静态路由,以及如何开机启动时加载网卡
方法一:
Route add -net 192.168.3.0/24 gw 192.168.8.2 【dev ens33】
-net:指定目标网段的网址
Gw:指定吓一跳路由器的ip地址
Dev:指定输出接口
查看路由方法:route -n
删除路由:route del -net 192.168.3.0/24
方法二:
Ip route add 192.168.15.0/24 via 192.168.80.2 [dev ens33]
永久添加路由(重启network服务生效)
方法一:
vi letc/ sysconfig / static-routesaiay net any gw 192.168.80.2
any net 192.168.3.0/24 gw 192.168.80.2
any net 10.0.0.0 netmask 255.0.0.0 gw 192.168.80.2
any host 192.168.100.1o0 gw 192.168.80.2
systemctl restart network
方法二:
vim /etc/sysconfig/network-scripts/route-ens33
default via 192.168.80.2. dev ens33
#默认路由,另一种格式0.0.0.0/0 192.168.14.254 dev ens33
10.211.6.0/24 via 192.168.80.2 devens33
192.168.100.200 via 192.168.14.254 dev ens33
systemctl restart network
测试网络连通性
Ping
Tracert+route(静态跟踪)判断三层设备中哪个有问题
Mtr (动态跟踪)检测延迟(其中之一)
Tcpdump******
关闭防火墙
Systemctl stop firewalld
Systemctl disable firewalld.server 开机不启动或
Systemctl status firewalld
Vim /etc/selinux/config
把这个改成disable
Set enforce[核心防护] 0
0是关闭
重启系统
Reboot
Init 6
Shutdown -r now
关机
Poweroff
Init 0
Shutdown -h now
Shutdown -c
关闭selinux
安装好新机要做的几件事
- 关闭防火墙,禁用防火墙
- 关闭核心防护,配置永久禁用
- 建议 配置好DNS /etc/resolv.conf
绝对路径: 绝对路径即为在根目录的情况下直接指向文件夹。
相对路径:相对路径与绝对路径的最大区别在于绝对路径在根目录下儿相对路径不在,在生产环境下例如在/etc/文件夹中有nanjing1与nanjing2两个文件夹在这两个文件夹中都有lnj这个文件当我在nanjing1文件夹中我想修改lnj这个文件是不可以使用相对路径的因为有重复的文件,所以在这里必须使用绝对路径明确的指向/etc/nanjing1/lnj/。
Ls的作用
文件的颜色区别
白色数据文件TXT
绿色 可执行文件
黄色 块设备文件
红色 压缩包
蓝色 文件夹
天蓝色 连接文件(快捷方式)
通配符
-“?”匹配一个字符
Ls -1h /dev/sd?1
- “*”匹配所有非隐藏的字符无论多长
Mkdir 创建文件夹
Touch 创建文件
硬链接与软连接
硬链接:相当于备份,等于复制了一个副本 in 1.txt 2.txt
软连接:相当于快捷方式in -s
软硬连接的区别:
- 软硬连接的文件大小不同,硬链接和源文件一样大,软连接就是一个inode值的大小
- 文件读取方式不同硬链接直接访问内容,儿软连接则是需要寻找原文件
- 软连接可指向目录,硬链接不行
- 查看软连接时,是直接找源文件文件名,查看硬链接,是直接查看数据的(副本)。
输出重定向
Echo “this is nanjing”>1.txt
一个>是覆盖而两个>>是追加
复制命令cp
-p 连着属性一起复制
-a 保留权限,复制软连接本身,递归复制
-r 递归复制
-f 强制复制,不与用户交互
-I 提醒覆盖
Find功能按条件匹配
-name 按名称查找
-size 按文件大小查找
-user 按文件属主查找
-type 按文件类型查找 普通文件(f),目录(d),块设备(b),字符设备(c),链接(i)
按时间查找:mtime atime ctime 案例 -mtime +30表示三十天前的
案例:find ./(当前目录) -name “ho?”(不支持中文问号)
Find ./ -size +4M查找文件大小为4m的文件
Find ./ -user lnj根据用户属主查找
其中!是取反就是除了这个文件其他全部查找