1, linux 常用基础知识
- linux 链接命令
- xshell 链接 ssh ip 地址
- linux 命令与参数之间必须用空格隔开
- 命令帮助文档 help
- 常用的命令
- whereis 查询命令文件位置
- file 查看文件类型
- who 查看当前在线的用户
- whoami 我是谁
- pwd 我在那
- uname -a 查看内核信息
- echo 类似于 sout syso, 打印语句
- clear 清屏
- history 历史
1.1, 特殊字符
- .点
- 如果文件开始是.说明当前文件是一个隐藏的文件
- .指向当前目录
- … 指向当前目录的上级目录
- $
- 说明这是一个变量
- 通配符
- 通配符
- ~
- 当前用户的家目录
- 每个用户的家目录是不同的
- root 用户家目录在系统根目录下
- 其他用户的家目录在/home/用户名为家目录
- 空格
- Linux的命令与参数用空格隔开
- /
- 整个Linux的文件目录
- 命令参数
- 如果是单词一般加上–
- 如果是字母或单词一般加上-
1.2,文件系统
- 文件系统
- Linux只有一个根节点,他的名字叫做 /
- 查找文件方式
- 相对路径
- 以当前路径为基准,查找其他资源
- vi …/etc/sesconfig/network
- 绝对路径
- 以根目录为基准点,查找其他资源
- vi /etc/sysconfig/network-scripts/ifcfg-ens33
- 日常生活中,只要找到路径即可,但是如果是一些配置文件,尽量写绝对路径
- 相对路径
1.3 linux二级 文件目录
- /bin:
- bin是Binary的缩写, 这个目录存放着最经常使用的命令。
- /boot:
- 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
- /dev :
- dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问
文件的方式是相同的
- dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问
- /etc:
- 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
- /home:
- 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
- /lib:
- 这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用
程序都需要用到这些共享库。
- 这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用
- /lost+found:
- 这个目录一般是空的,当系统非法关闭之后,这里就存放了一些文件。
- /media:
- linux 系统会自动识别一些是被,比如U盘,光驱等等,Linux会把识别的设备挂载到这个目录下
- opt
- 这是给主机额外安装软件所摆放的目录,比如你安装一个MySQL数据库,就可以放在这个目录下,他默认是空的
- /proc:
- 这个目录是一个虚拟的目录,他是系统内存的映射,我们可以直接通过访问这个目录来获取系统信息。
- /root
- 该目录为系统管理员,也称作超级权限者的用固话主目录
- usr
- 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于Windows的 program files 目录
- usr/bin
- 系统用户使用的应用程序
- /run
- 是一个临时文件系统,存储系统启动以来的信息,当系统重启时,这个目录下的文件应该被删除
linux 文件操作
- ls ll
- 显示出指定目录下的所有文件
- 文件类型
- -普通文件
- d 文件夹
- l 软连接
- mkdir
- 创建文件目录
- mkdir -p a/b/c/d/e/f 会自动创建文件父目录
- mkdir -p lucky/{1234}ls 一次可以创建多个子目录
- rmdir
- 删除空文件夹
- 可以安全的删除文件目录
- 删除空文件夹
- cp
- 拷贝文件或者文件目录
- cp 源文件 目标目录
- mv
- 移动文件或者文件夹
- mv a1 /opt
- 修改文件名称
- mv a abcd mv可以修改文件名称的哦
- 移动文件或者文件夹
- rm
- 删除文件
- rm install.log
- rm -f install.log
- 删除文件夹
- rm -f abcd
- rm -rf abcd 谨慎使用,从删库到跑路
- touch
- 如果没有就创建一个文件
- 如果该文件已经存在,修改文件的三个时间,将三个时间改为当前时间
- stat
- 查看文件的状态
- Inode 当前文件在文件系统的唯一标识,类似于ID
- 时间
- access 访问时间
- modify 修改文件内容时间
- change 修改文件元数据信息时间
- 文件大小 ,文件所有者 ,文件权限
- 对于文件的描述信息
- ln
- 创建文件链接
- 软(符号)链接
- ln -s lucky01 sl
- 硬链接
- ln lucky02 hl
- 硬链接和原始文件使用文件系统中的同一个文件
- 如果你害怕一个文件被别人误删,你可以使用硬链接保护这个文件
软硬链接在链接文件的时候,推荐使用文件的绝对路径,否则有可能会出现问题
- 删除文件
读取文件信息
- cat
- 将整个文档加载到内存中,并进行一次性显示
- 除非后面使用管道,传递数据
- tac
- 将整个文档加载到内存中,并进行一次性逆序显示
- more less
- 分页查看文档内容
- 快捷键
- 回车 下一行
- 空格 下一页
- b 回退
- q 退出
- head
- 从文章开始读取N行
- head -3 profile | tail -1
- 读取第一行
- find
- 查找指定文件
- find 要查找的范围 -name名字
- find /etc -name profile
vi和vim编译器
- 正常打开
- vi profile
- 打开文件,并将光标置于第8行
- vi +8 profile
- 打开最后一行
- vi + profile
- 按n查找下一个,按N查找上一个
- 打开指定搜索单词的位置
- vi +/if profile
三种模式
- 编辑模式
- 编辑模式中,每一个按键都有其他的功能
- 输入模式
- 按什么输入什么
- 末行模式
- 我们可以直接在VI中输入特定的命令
三种模式的切换
- 编辑模式–>输入模式
- i在当前位置插入数据
- a 追加数据
- o 在当前行后面开启一个新的输入行
- l 行尾
- O 上一行
- 输入模式->编辑模式
- 按下esc
- 编辑模式-》末行模式
- :
- 末行模式-》编辑模式
- 按下esc
- 编辑模式
- G最后一行
- gg 跳转到第一行
- 数字gg 跳转到第数字行
- w 下个单词
- 数组 w
- dw 删除一个单词
- 3dw 删除三个单词
- dd 删除一行
- 3dd 删除三行
- u 回退到前面的操作
- . 回退u执行的操作
- yw 复制一个单词
- 3yw 赋值三个单词
- yy 复制一行
- p 粘贴
- 6p 粘贴6次
- x 剪切
- r 替换
- h左 l右 j下 k上
- shift 加 zz保存并退出
- q! 不保存退出
- w 保存
- wq保存并退出
- set noum 设置行号
计算机间的数据传输
- window-Linux
- lrzsz
- 需要手动安装
- yum install lrzsz -y
- rz
- 将文件从window上传到Linux
- sz 文件
- 将文件从Linux传输到window
- 需要手动安装
- xftp
- 较为通用的数据传输方式
- lrzsz
文件压缩
- tar
- 主要针对的文件是 lucky.tar.gz
- 解压缩
- tar -zc(压缩)v(过程)f(文件) lucky.tar.gz
- 压缩
- tar -zc(压缩)f(文件) tomcat.tar.gz(压缩后的名字) apache-tomcat-7.0.61(源文件)
- tar -zxf tomcat.tar.gz -C /opt/
- -C 指定解压缩的文件目录
- zip和unzip
- 安装
- yum install zip unzip -y
- 压缩
- zip -r tomcat.zip apache-tomcat-7.0.61
- unzip tomcat.zip 解压缩
- 安装
Linux的网络信息
- 主机名称
- 临时修改
- hostname school
- 长久修改
- vi /etc/hostname
- 临时修改
- dns解析
- 域名解析服务
- 可以将域名转换为ip地址
- DNS域名劫持
- window --> C:\Windows\System32\drivers\etc\hosts
- 123.56.138.186 www.baidu.com
123.56.138.186 www.taodao.com
修改主机域名 - vi /etc/hosts
- 将来我们需要把所有的虚拟机都配置hosts文件
- 192.168.31.101 bd1601
- 192.168.31.102 bd1602
网络相关命令
- ifconfig
- 查看当前网卡配置信息
- 这个命令属于 net-tools中的一个命令,但是Centos7中minimal版并没有集成这个包
- 如果没有ifconfig ,可以使用ip addr 临时代替
- netstat
- 查看当前网络的状态信息
- 一个机器默认有65536个端口号[0,65535]
- ping
- 查看与目标IP地址是否能够连通
- telnet
- 查看与目标IP的指定端口是否能够连通
- yum install telnet -y
- telnet 192.168.31.44 22
防火墙
-
防火墙技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、
外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术 -
在centOS7+中 使用firewalld代替以前的 iptables ;
- systemctl status firewalld.service 查看防火墙的状态
日期和时间(时间命令)
- 查看时区
- ll /etc/localtime
- /etc/localtime -> …/usr/share/zoneinfo/America/Los_Angeles
- ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- date
- 查看当前系统时间
- cal 查看日历
- cal 2020
- 修改时间
- date -s 11:11:11
- ll /etc/localtime
- 日期自动同步
- 自动同步时间
- yum install ntp -y
- ntpdate cn.ntp.org.cn
- 自动同步时间
- 本地搭建NTP服务
用户组权限
-
新增用户
- useradd libai
- 会创建同名的组和家目录(普通用户的根目录。基本上都是自己的名字。home 下面的名字,比如李白)
- useradd libai
-
设置密码
- passwd libai
-
删除用户
- userdel -r libai
- 级联删除家目录和组
-
修改用户信息
- usermod -l luckyss luckyls 修改用户名
- 家目录和组名称是不会被修改的
- usermod -L libai 锁定用户名
- usermod -U libai 解锁用户名
- usermod -l luckyss luckyls 修改用户名
-
常用文件
- cat /etc/shadow
- 用户名和密码
- cat /etc/passwd
- 用户名,编号,组编号,家目录,命令,目录
- cat /etc/shadow
-
切换账户
- su luckyboy
组
-
创建组
- groupadd libai
-
删除组
- groupdel libai
-
修改组名称
- groupmod -n school libai
-
查看用户对应的组
- groups
- group schoolboy
- 当我们创建用户的时候,会默认创建一个同名的主组
-
修改用户的组
- usermod -g lucky libai (主组)
- usermod -G lucky schoolls (附属组)
权限
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mGF0HHLP-1651893752738)(img.png)]
- 文件权限总共有三组
- 文件所有者
- 文件所属组用户
- 其他用户 (其他可以这么理解,不是这个用户,也不是这个组的)
- 三组权限每组对应三个字母
- r: 读取权限
- w: 写入权限
- x: 执行权限
- -:没有权限
管道与重定向
管道
- 将前面命令的结果作为参数传递给后面的命令
- grep
- 强大的文本搜索工具
- cat profile | grep if
重定向
- 改变数据输出的位置,方向
- ls / >lucky //吧根目录的文件输出到 lucky里面
- 替换,追加
- ls / 1 >> lucky 追加
- ls / 1 > lucky 替换
- 结合使用
- ls /etc /abc > lucky 2>&1
- s /etc /abc >> lucky 2>&1
- 信息黑洞
- ls /etc /abc >> /dev/null 2>&1
linux 系统进程
进程信息
- ps - ef // 查看进程,相当于 windons里面的任务管理器
- uid 进程的所属用户
- pid 当前进程的编号
- ppid 当前进程编号的父进程编号
- ps -ef | grep redis //相当于在进程里面搜索redis
- ps -aux 进程的使用情况
- 也是进程的所有信息
- 如cpu的使用情况
- top 当前服务器内存使用率
- 杀死进程
- kill -9 17599
软件的安装方式
- 解压就可以使用
- 使用安装包安装(window-exe linux-rpm)
- 自己下载安装包
- 使用统一的软件帮助我们
- 通过源码安装
rpm 安装
- RedHat Package Manager,它属于红帽的一种包管理方式
- 通过rpm命令安装软件
- rpm -ivh jdk-7u67-linux-x64.rpm
- 可以查询软件
- rpm -qa | grep jdk
- rpm -q jdk
- 卸载
- rpm -e jdk-1.7.0_67-fcs.x86_64
yum 安装
- yum的作用
- 可以帮我们管理RPM包
- 可以帮我们安装软件
- 如果软件有其他依赖,会帮我们安装依赖后在安装软禁
- yum 命令
- search 查询命令或者软件
- info
- 查看包的信息
- list / list jdk
- 查询安装的rpm包,或者值查询某一周
- 更换yum源
- 首先安装 wget
- yum install wget -y
- 将系统原始配置文件失效
- mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
- 使用Wget 获取阿里yum配置文件
- 首先安装 wget