linux 1/2
linux基础介绍
后两行都是发行版
目前主要的操作系统:windows、android、车载系统、linux、ios、mac
关于unix
linux是由他过来的
人机互动的意思是:人通过应用软件到shell层到操作系统到硬件
LINUX与windows比较
虚拟机的三种网络连接模式
桥接模式:指的是在同一网段下,可以与其他的通讯系统通讯
缺点:多了就会使ip地址不够用,会发现冲突
NAT模式:网络地址转换方式:linux可以访问外网,不会造成ip冲突
仅主机模式:ip地址独立,不能访问外网,linux是一个独立的主机
linux至少要分三个区
1.挂载点:/boot 文件系统类型:ext4
引导文件的默认引导
2.无挂载点 文件系统类型:swap 大小:<=2048,太大会影响性能
交换分区,当内存不够用的时候,会用swap暂时的替代这个内存
以上其余的默认
3.挂载点:/ 文件系统类型:ext4 其他大小选项:使用全部可用空间
vmtools介绍
1.可以直接粘帖命令在两个不同系统之间
2.可以设置windows和centos的共享文件夹
https://blog.csdn.net/qq648483997/article/details/88640936)
linux的目录结构:
文件系统是采用级层式的树状目录结构,在此结构的最上层是根目录/,然后再创建其他目录。
linux下都是文件
/dev 管理设备
/media 目录,例如U盘,dvd等
/etc 所有的系统管理所需要的配置文件和子目录
/lost+found这个目录是空的,当系统非法关机,就会存放文件
/lib 动态库,开机所需要的最基本的动态连接共享库,类似Win下的DLL文件,几乎所有的应用程序都需要这些共享库
/mnt 挂载的文件夹
/opt 安装的软件都会放在这
/sbin超级用户使用的(系统管理员使用的系统管理程序)
/selinux 安全的目录,类似win下的360,他能控制程序只能访问特定文件
/sys 系统临时文件夹
/usr 用户安装的应用程序及文件类似于win下的program files目录
/bin 存放经常使用的命令
/boot 存放的是启动linux时使用的一些核心文件,包括一些连接文件及镜像
/proc 这是目录是一个虚拟的目录,他是系统内存映射,访问这个目录来获取系统信息
/srv
目录存放一些服务启动之后所需要提取的数据
/tmp 存放临时文件
/dev类似于win的设备管理器,把所有的硬件用文件的形式存储
/opt 这是给主机额外安装软件所拜访的目录
/usr/local
这是宁一个给主机额外安装软件所安装的目录,一般是通过编译源码方式安装程序
/var
这个目录不断扩充东西,包括日志文件
/home 存放普通用户的主目录,在linux中每个用户都哟一个自己的目录。一般该目录是以用户名账号命名的
xshell远程访问linux,需要端口sshd 22开启
查询当前端口是否开启某种协议
rpm qa |grep ssh
解释:rpm用于管理套件
q 使用询问模式,当遇到任何问题,rpm指令都会先询问用户
a 查询所有套件
grep
查找文件里符合条件的字符串
重启网络服务命令 service network restart
卸载相关程序的apt-get remove --purge+ package
指的是删除所有配置文件
而去掉purge的是=只删除数据和可执行文件
apt-get autoremove --purge # ----(package 删除包及其依赖的软件包+配置文件等
也可以使用dpkg卸载
vi和vim介绍
vim是vi的增强版
vi和vim三种模式
正常模式
可以使用快捷键,默认模式,可以使用删除、复制、黏贴你的数据
编辑模式/插入模式
这个模式可以输入内容
i为居多
命令行模式
在这个模式中,可以提供相关的指令,完成读取、存盘、替换、离开vim、显示行号等的动作
yy对这一行复制
数字+yy对当前的第几行复制
同理dd是删除
查找在输入esc后,/加要查找的东西,并且next后是查找下一个
设置文件的行号 :set nu
取消行号: set nonu
回到末行G首行gg,正常模式下执行的
u是对当前输入的撤销
指定行数跳转 esc后输入:set nu然后输入要跳转的行数,然后shift+g跳转
关机命令
shutdown -h now 立刻关机
shutdown -h +时间 在几分钟后关机
shutdown -r now 立刻重启
halt等价于关机
sync 把内存同步到磁盘,也就是所谓的关机把进程都关闭并且保存。无论哪种关机与重启,都需要现运行sync,防止数据丢失
su - 用户名 来切换称系统管理员身份
lofout 注销用户 在gui界面无法使用
用户管理
用户家目录 /home/下创建有各个创建的用户的家目录,当用户登陆时,会自动进入到自己的家目录 /home/***
linux是一个多用户多任务的操作系统,任何一个使用系统资源的用户都必须要首先向管理员申请账号,然后凭借账号进入系统
linux用户至少属于一个组
添加用户:
useradd 【选项】 用户 如果不指定进入指定组,那么创建该用户时,就会创建一个对应的所属的相同名字的组
passwd 用户名 设置的密码
useradd -d 指定的创建目录下创建用户 用户名
pwd 当前所在的目录 绝对路径
删除用户
删除用户,但是保留家目录 useradd 用户名
删除用户及其用户主目录 useradd -r 用户名
-r一般指的是依次按照顺序删除
查询用户信息
id 用户名 如果不存在就返回无用户
切换用户 su - 用户名 (当从高到低可以任一切换,但是从低到高不行)
exit返回原来的用户
whoami 查询当前的用户名
用户组 类似于用户 系统可以对有共性的多个用户进行统一管理
新增组 groupadd 组名
删除组 groupadd 组名
增加用户到指定的组 useradd -g 用户组 用户名
修改用户到指定的组 useradd -g 用户组 用户名
用户配置文件(用户信息)/etc/passwd
组配置文件(组信息)/etc/group
口令配置文件(密码和登录信息,是加密的) /etc/shadow
关于用户和组的相关文件
/etc/passwd文件
用户(user)的配置文件,记录用户的各种信息
每行含义:
用户名:密码:id:组的id:家目录:用户所对应的shell解释器
/etc/shadow文件
口令配置文件
/etc/group文件
组配置文件
每行的意思:
组的名称:口令:组的id或者说是标识符
linux实操篇
指定运行级别
0:关机
1:单用户{找回丢失密码}
2:多用户状态但没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
这些级别的指定有配置文件 /etc/inittab
基本语法
init[123456]
如何找丢失的密码?
进入单用户模式,然后修改root密码,因为单用户模式,root不需要密码就可以登陆
从该开始的引导然后按照模式进入。。。依次是e e 1 b 然后改密码(仅是centos,回车省略)
必须得在linux的电脑上才可以使用单用户模式,不可以远程进行
帮助介绍指令
man 获得帮助信息
基本语法
man [文件或配置文件] (功能描述,获取帮助信息)【这是centos的】
在ls中添加-a会出现隐藏文件 通常是以.开头的
同理help也是
help [文件或配置文件] 【也是centos】
kali的是 [文件或配置文件] --help
文件目录类指令
pwd
显示当前工作目录的绝对路径
ls
ls [选项] [目录或者是文件]
-a 显示当前目录所有的文件和目录,包括隐藏的
-l 以列表的方式显示信息(可以理解为line)
-h:显示多少m的大小
cd
cd [参数]
cd~或者cd,回到自己的家目录
cd.. 回到当前目录的上一级目录
cd - 返回上一次的目录操作
再次解释绝对路径,相对路径:
绝对路径:从根目录开始定位 /home
相对路径:从当前工作目录开始定位到所需要的目录去 ../home
mkdir
mkdir [选项] 要创建的目录
-p创建多级目录 例子:mkdir -p /home/animal/dog
rmdir
rmdir [选项] 要删除的目录
如果不带选项,rmdir删除的是空目录,目录下有内容不可以
所以使用 rm -rf 删除目录
touch
touch 文件名称
创建一个文件
也可以一次性的创建多个文件
cp
指定拷贝文件到指定目录
cp [选项] 源 目的
-r:递归复制整个文件夹
rm
移除文件或目录
rm [选项] 文件或目录
-r: 递归删除整个文件
-f:强制删除
mv
移动文件与重命名
mv 旧名字 新名字
mv 文件路径 到的路径
cat
cat [] 要查看的文件
-n 显示行号
cat是以只读的方式
cat 文件查看的 | more 按照页显示
more
more 要查看的文件
是一个基于vi编辑器的文本过滤器,它以全屏的方式按照页显示文本内容
空格 :显示下一页
enter:显示下一行
q:离开more,不再显示该文件内容
CTRL+b 返回上一页
ctrl+ f 向下滚动一屏
=: 输出当前的行号
:f 输出文件名和当前的行号
less
类似more,但更加强大,不是一次整个文件加载之后显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率
less 要查看的文件
空格、pagedown:向下翻一页
pageup:向上翻一页
/字符:向下搜寻字符 n:向下查找 N:向上查找
?字符:向上搜寻字符 n:向上查找 N:向下查找
q:离开less这个程序
关于linux连接问题
1
硬链接:通过索引节点来进行连接
在linux中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,这叫做索引节点号
硬连接作用允许一个文件拥有多个有效路径,这样可以防止误删,文件真正被删除只有与之相关的所有硬连接文件均被删除
限制条件:
不能给目录创建硬连接
只有在同一文件系统中的文件之间才能创建连接
2
软连接
就是快捷方式
也称为符号连接,也叫软连接
ln -s 起始文件目录 要创建的快捷方式文件名称
删除软连接不要在最后面带斜杆/了,否则提示资源忙
>指令和>>指令
ls -l > 文件 列表内容写到文件中(会覆盖)
ls-al >> 文件 列表内容追加到文件
cat 文件1 > 文件2 将文件1的内容覆盖到文件2中
echo' '>> 文件
cal命令表示的是日历
echo
环境变量 PATH
echo $path
head
显示文件的开头部分
head -n 行数 文件 查看文件的前多少行
tali
显示文件的后几行
tali 文件 默认显示文件的后10行内容
显示的指定行数 同上面的head
tali -f 实时追踪文档的所有更新
ln
查看软连接和硬连接
pwd查看软连接目录,就是软连接的目录
history
查看已经执行过的历史命令
当要执行标号的 可以使用!编号
时间日期类
date
date 显示当前时间
date+%Y 显示当前年份,同理,y变成m,d就是显示哪一个月份,哪一天
date "+%y-%m-%d %h:%m:%s"
设置日期
date -s 字符串时间
cal
显示日历时间
不加选项,仅本月
cal 年份 写这一年的
搜索查找类
find
从指定目录向下
选项说明:
1
find 指定文件目录 -name 文件名字(也可以用星号来表示一些*.txt等)
2
按照文件的拥有者来查找
find 文件目录 -user 文件的拥有者
3
查找整个linux下大于指定的文件
find 目录 -size (+代表大于多少,-代表小于多少,=代表等于多少)
locate
快速定位文件路径,利用事先建立的系统中的所有文件名称及路径的locate数据库实现快速定位给文件。locate指令无需遍历整个系统文件,查询速度较快,为保证速度的结果的准确性,管理员必须定期更新locate时刻
在第一次运行,先创建updatedb指令创建locate数据库
grep和 |
grep过滤查找
| 表示将前面的一个命令的处理结果输出传递给后面的命令处理
grep 选项 查找内容 源文件
-n 显示匹配行及行号
-i 忽略大小写
gzip/gunzip指令
gzip用于压缩,gunzip解压
gzip 文件 压缩文件,只能将文件压缩为*.gz文件(不会保留原来的文件)
gunzip 文件.gz 解压文件的命令
zip/unzip
zip压缩
unzip解压文件
zip/unzip [选项] 内容.zip
再unzip种,-d<目录>指定解压后文件的存放目录
zip内可以用-r递归压缩文件目录 然后名字 然后指定目录
unzip -d 指定目录 文件名字
tar
打包指令,打包文件后缀.tar.gz的文件
tar [选项] xxxx.tar.gz 打包内容
-c: 产生tar打包文件
-v 显示详细信息
-f:指定压缩后的文件名
-z:打包同时压缩
-x:解压.tar文件
tar -zcvf 压缩文件名字.tar.gz 被压缩的文件/目录
tar -zxvf 压缩文件.tar.gz 解压文件
tar -zxvf 压缩文件.tar.gz 指定解压目录(目录要存在)
组管理与权限管理
linux组基本介绍
在linux中的每个用户必须是属于一个组,不能独立组外,每个文件都有所有者、所有组、其他组的概念
111
所有者
文件的创建者
查看文件的所有者
ls -ahl
修改文件的所有者
chown 用户名 文件名
222
所在组
修改文件所在组
chgrp 组名 文件名
333
其他组
除去文件所有者和所在组的用户外,系统的其他用户都是文件的其他组
改变用户所在组
usermod -g 组名 用户名
usermod -d 目录名 改变该目录用户登录的初始目录
文件类型的判断:
-:是一个普通文件
-d:是一个目录
-l:是一个软连接文件
c:字符设备(键盘,鼠标)
b:块文件,硬盘
关于三个权限过后的数字表示:
如果是文件,表示的是硬连接的数,如果是目录,则表示目录下的子目录
组后面跟的是字节,要想显示具体可视化的,可以在ls 后面添加选项h
ls中的时间为修改时间
修改权限chmod
可以修改权限或者目录的权限
第一种方法
u:所有者 g:所有组 o:其他人 a:所有人
chmod u/g/o/a=xxx之类的 文件目录名
第二种方法
通过数字变更权限
chmod 3个数字级别 文件目录名
修改文件下所有者chown
chown 新用户:新用户组 文件 改变用户的所有组和所有者
chown 新用户 文件 改变用户的所有者
-R:递归更改
chown -R 新用户 文件目录/文件
同理:可以尝试chgrp修改文件所在组进行递归
useradd -g 指定组 用户 就是使指定人走到指定组里
crond任务调度
定时任务的设置
任务调度:是指系统在某个时间执行的特定的命令或程序
调度任务分类:1.系统工作 :必须执行的重要的
2.个别用户工作: 可能希望执行某些程序,比如备份
crondtab [选项]
-e:编辑crondtab定时任务
-l:查询crondtab任务
-r:删除当前用户下所有的crondtab任务
快速入门案例:
*/1 * * * * ls -al/etc >> /tmp/1111.txt
意思就是个列出/etc下面的文件并且自动保存文件到1111.txt
conrtab -r:终止任务调度
crontab -l:列出当前有哪些任务调度
service crond restart 重启调度任务