Linux在服务器领域的应用是最强的,尤其在一些高端领域应用较为广泛
linux运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百KB等特点,使其近些年来在嵌入式领域的应用得到非常大的提高
主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、PDA、智能家居、智能硬件等都是其应用领域以后在物联网中应用会更加广泛。
安装VMware
安装Centos
硬盘分区,/根分区17G,boot分区1G,swap分区2G
网络连接三种模式
1.桥接模式,虚拟系统可以和外部系统 通讯,但是容易造成IP冲突
2.NAT模式,网络地址转换模式,虚拟系统可以和外部系统通讯,不造成IP冲突
3.主机模式:独立的系统
虚拟机
虚拟机克隆
方法一:直接复制一份安装好的虚拟机文件
方法二:通过vmware克隆功能
虚拟机快照
担心误操作导致异常,需要回到之前某个正常运行的状态
虚拟机移动和删除
移动或删除虚拟机只需要移动对应文件夹即可
Linux指令
Linux目录
文件系统采用层级式树状目录结构,最上层为根目录/,在此目录下再创建其他的目录
在Linux中“一切皆文件”
Linux目录结构
/bin存放着最常用的命令
/sbin存放着系统管理员使用的系统管理程序
/home存放着普通用户的主目录,一般以用户的账号命名
/root该目录为系统管理员,也称为超级权限者的用户主目录
/lib存放着系统开机需要的基本的动态连接数据库,类似于DLL文件
/lost+found一般为空,非法关机后存放了一些文件
/etc系统管理需要的配置文件和子目录
/usr重要目录,很多应用程序和文件都放在这个目录下
/boot启动Linux时使用的核心文件,包括一些连接文件以及镜像文件
不能动/proc是虚拟目录,是系统内存的映射,访问该目录获取系统信息
不能动/srv存放一些服务启动后需要提取的数据
不能动/sys2.6内核的很大变化,安装了新出现的文件系统sysfs
/temp用于存放临时文件
/dev设备管理器,将硬件用文件形式存储
/media自动识别设备,如U盘,光驱等
/mnt为了让用户临时挂载别的文件系统,将外部存储挂载在/mnt/上
/opt主机额外安装软件摆放的目录
/usr/local另一个给主机额外安装软件的目录,一般通过编译源码方式安装的程序
/var存放着不断扩充着的东西,包括日志文件
/selinux安全子系统,控制程序只能访问特定文件
远程登录Linux
通过Xshell和Xftp登录Linux进行项目管理或开发
vi和vim
常用的三种模式
正常模式:以 vim 打开一个档案就直接进入一般模式(默认模式)。在这个模式中 ,你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或「『删除整行】来处理档案内容 ,也可以使用『复制、粘贴』来处理你的文件数据。
插入模式:按下i,I,o,O, a, A,r,R等任何一个字母之后会进入编辑模式,一般来说按i即可
命令行模式:在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开 vim、显示行号等的动作则是在此模式中达成的!
:wq表示写入并退出,:q表示退出,:q!表示强制退出
快捷键
关机和重启
shutdown -h now立刻关机
shutdown -h 1 1分钟后关机,shutdown默认这项
shutdown -r now 立刻重启
halt 关机
reboot重启
sync 把内存数据同步到磁盘
不管是关机还是重启系统,首先要运行sync命令,把内存中数据写入磁盘中
目前的shutdown/reboot/halt等命令均已经在关机前进行了sync
登录和注销
登录时尽量少用root帐号登录,因为它是系统管理员,权限最大,避免操作失误。可以利用普通用户登录,登录后再用”su-用户名’命令来切换成系统管理员身份
在提示符下输入 logout 即可注销用户
logout 注销指令在图形运行级别无效,在 运行级别 3下有效,
用户管理
添加用户
useradd 用户名,创建用户成功后会自动创建和用户名同名的家目录
也可以通过useradd -d 指定目录 新用户名,指定家目录创建用户
指定/修改密码
passwd 用户名
删除用户
userdel 用户名,删除用户但保留家目录
userdel -r 用户名,删除用户且删除家目录(慎用)
查询用户信息
id 用户名
切换用户
当前用户权限不够,可以通过su -指令切换到高权限用户
su -切换用户名
高权限切换低权限不需要密码,反之需要
当需要返回原来用户时,使用exit/logout
查看当前用户
whoami 查看的是最开始登录的用户信息
用户组
Linux每个用户都属于一个组,创建文件的人为文件所有者,自动归于用户所在组
ls -ahl,查看文件所有者
groupadd 组名,新增组
groupdel 组名,删除组
useradd -g 用户组 用户名,增加一个用户直接进入组,不指定组则默认分配到一个与用户名同名的组
usermod -g 组名 用户名,改变用户所在组
usermod -d 目录名 用户名,改变用户登录的初始目录(需要用户有进入该目录的权限)
chown 用户名 文件名,修改文件所有者
chgrp 组名 文件名,修改文件所在的组
/etc/passwd文件,用来记录user的各种信息,每行的含义:用户名,口令,用户标识号,组标识号,注释性描述,主目录,登录Shell
/etc/shadow文件,口令的配置文件,每行的含义:登录名,加密口令,最后一次修改时间,最小时间间隔,最大时间间隔,警告时间,不活动时间,失效时间,标志
/etc/group组配置文件,每行的含义:组名,口令,组标识号,组内用户列表
运行级别
0关机
1单用户(找回丢失密码)
2多用户状态没有网络服务
3多用户状态有网络服务
4系统未使用保留给用户
5图形界面
6系统重启
常用运行级别是3和5,也可以指定默认运行级别systemctl set-default Target.target
multi-user.target运行级别3
graphical.target运行级别5
init(0123456)切换不同运行级别
system get-default查看当前运行级别
找回root密码
进入开机界面,在界面中按e进入编辑界面
进入编辑界面,使用光标上下移动找到以Linux16开头的内容所在行数,在行最后输入init=/bin/sh
接着按ctrl + x进入单用户模式
在光标闪烁位置输入mount -o remount,rw/完成后按回车
在新的一行最后输入passwd,完成后按回车输入密码,然后再次确认即可,密码修改成功后会显示passwd...的形式
接着输入touch /.autorelabel,按回车
接着输入exec /sbin/init按回车,等待系统自动重启
帮助指令
man [命令或配置文件] 获取帮助信息 退出按q,查看下一页按空格
help 命令 获得shell内置命令的帮助信息
文件目录指令
查找切换目录ls,cd
pwd显示绝对路径,绝对路径:从根目录开始定位
相对路径:从当前目录开始定位
ls 选项 目录或文件,常用选项,-a显示当前目录所有文件和目录,包括隐藏的;-l以列表形式显示信息
cd 参数,切换到指定目录,cd ~或cd表示回到自己的家目录,cd ..表示返回上一级目录
创建目录mkdir
mkdir 选项要创建的目录,常用选项 -p 创建多级目录
删除空目录rmdir
rmdir 选项 要删除的空目录
目录下有内容无法删除,若要删除非空目录使用rm - rf 要删除的目录
创建空文件touch
touch 文件名
拷贝文件cp
cp 选项 资源名 目录/
常用选项-r递归复制整个文件夹,cp -r 要拷贝的目录地址 目标地址
强制覆盖使用/cp
移除文件rm
rm 选项 要删除的文件或目录,常用选项-r递归删除整个文件夹,-f,强制删除不提示
移动文件或重命名mv
mv 原文件名 新文件名,重命名(在同一文件下)
mv 原地址 目标地址,移动文件(不在同一文件下)
mv 原地址 目标地址 文件名,移动并重命名(不在同一文件下)
也可以移动整个目录
查看文件cat
cat 选项 要查看的文件,-n显示行号
cat指令只能查看不能修改,为了浏览方便一般会带上管道命令| more,只显示一页,按回车继续显示下一行,按空格直接翻页
more指令
more 要查看的文件
less指令
less 要查看的文件
与more类似,但比more更强大,支持各种显示终端,根据显示需要加载内容,对于显示大型文件具有较高的效率
输出指令echo
echo 选项 输出内容
使用echo输出环境变量,如$PATH $HOSTNA
使用echo输出hello,world
显示前行head指令
显示文件前十行内容
head 文件,显示前十行
head -n 5 文件,显示前五行
显示尾行tail指令
tail 文件 查看文件尾十行
tail -n 5 文件,查看文件尾五行
tail -f 文件,实时追踪文件的所有更新(ctrl+c退出)
写入指令>和>>
ls -l > 文件,列表内容写入文件中(覆盖)
ls -al >> 文件,列表内容追加到文件末尾
cat 文件1 > 文件2,将文件1内容覆盖文件2
echo “内容” >> 文件,追加内容到文件中
链接指令ln
ln -s 原文件或目录 软链接名,给原文件创建一个软链接
删除软链接时只需要rm 链接名即可(不要在最后加/)
查看历史指令history
直接使用即可,查询已经执行过的历史命令
history 10,查看近十条
!5 执行曾经执行的第五条指令
时间日期类指令
时间指令date
date,显示当前时间
date + %Y显示当前年份,%m月份,%d当前天,“+%Y-%m-%d %H:%M:%S”显示年月日时分秒
date -s 字符串时间,设置日期“2024-04-15 22:48:00”
日历指令cal
cal 选项,查看日历
cal 2023,显示2023年日历
搜索查找类指令
find指令
find 搜索范围 选项,-name 文件名,按照指定的文件名查找模式查找文件
-user 用户名,查找属于指定用户名所有文件
-size 符号文件大小,按照指定的文件大小查找文件,符号可以为+或-,表示大于或小于该大小,不加符号则需要等于该文件大小
locate指令
可以快速定位文件路径,利用事先建立的系统中的所有文件名称及路径的locate数据库实现快速定位给定的文件。无需遍历整个系统,查询速度快,为保证查询结果准确度,需要管理员定期更新locate时刻。
locate 搜索文件,第一次运行前需要使用updatedb创建locate数据库
which指令
which 指令名,可以查看指令在哪个目录下
grep指令
过滤查找,管道符号|,表示将前一个命令处理结果输出传递给后面的命令处理,比如cat查找一个文件,命令后面加上|grep在所得到的文件中查找内容
grep 选项 查找内容 原文件,-n显示匹配行及行号,-i忽略字母大小写
或cat 文件名 | grep -n "查找内容"
压缩和解压指令
gzip 文件,压缩文件,将文件压缩为*.gz文件
gunzip 文件.gz,解压文件
zip 选项 文件,zip 要压缩的内容,用于压缩文件和目录,-r递归压缩,压缩目录
zip -r myhome.zip /home/,将home下的文件,包括home本身一起压缩
unzip 选项 文件.zip,解压文件,-d 目录,指定解压文件存放目录
tar 选项 文件.tar.gz 打包的内容(多个文件用空格分隔),打包目录,压缩后的文件格式.tar.gz
Linux权限管理
要对文件做修改,需要首先有对目录有相应权限,仅对文件有权限不行
权限基本介绍
-表示普通文件
rwx作用于文件:r表示可读,w表示可写(不代表可删除,只有对文件所在目录有权限才能删除),x表示可执行,-表示无此权限
rwx作用于目录:r表示可查看内容,w表示可写,对目录内创建、删除或重命名目录,x表示可以进入该目录,-表示无此权限
目录可读才可以ls列举目录内文件,但是不可读只要可进入,即可对目录内有权限的文件进行修改查看
目录可写表示对目录内文件有创建和删除的权限,不代表可以修改目录内文件内容
目录可执行表示可以进入该目录
第一个root表示用户,第二个root表示所在的组
修改权限
chmod u=rwx,g=rx,o=x 文件/目录名
chmod o+w 文件/目录名
chmod a-x 文件/目录名
u表示所有者,g表示所有组,o表示其他人,a表示所有人,通过+,-,=修改rwx权限
也可以通过数字变更权限,4,可读,2可写,1可执行,7为三者均可
chmod 751 文件/目录名,效果同chmod u=rwx,g=rx,o=x 文件/目录名
修改文件所有者或所有组
chown 用户名 文件/目录名,改变所有者
chown 用户名:组名 文件/目录名,改变所有者和所在组
-R如果是目录则其下子文件递归生效
chgrp 组名 文件/目录名,改变所在组
Linux任务调度
crontab定时任务设置
crontab 选项,-e编辑定时任务,-l查询任务,-r删除当前用户所有任务,service crond restart重启任务调度
表示每分钟展示etc目录下的文件列表并存在tmp文件下的to.txt文件中
at定时任务设置
at是一次性定时计划任务,at守护进程atd以后台模式运行,默认情况下,atd守护进程每60秒检查作业队列,有作业时检查作业运行时间,如果与当前时间匹配则运行此作业。
at命令是一次性定时计划任务,执行完一个任务后不再执行
在使用at命令时,要保证atd进程启动ps - ef | grep atd
at 选项 时间
ctrl + d结束at命令输入
Linux磁盘分区挂载
Linux分区
Linux只有一个根目录,一个独立唯一的文件结构,每个分区都是用来组成文件系统的一部分,Linux采用了一种叫载入的处理方法,整个文件系统中包含了一整套文件和目录,且将一个分区和目录联系起来,这时要载入的一个分区将使他的存储空间在一个目录下获得
lsblk 或lsblk -f,查看设备挂载情况
增加硬盘
1。在虚拟机中添加硬盘
2。分区,分区命令:fdisk /dev/sdb(设备名),执行分区命令后进入选项,m显示命令列表,p显示磁盘分区(同fdisk -l),n新增分区,d删除分区,w写入并退出。开始分区后输入n新增分区,然后选择p,分区类型为主分区,两次回车默认全部剩余空间,最后输入w写入并退出,若不保存退出则输入q。
3。格式化磁盘,mkfs -t ext4 /dev/sdb1,ext4是分区类型
4。挂载,mount 设备名 挂载目录。卸载umount 设备名或挂载目录。(使用命令行挂载重启失效)
5。永久挂载,用vim 修改/etc/fstab实现挂载,添加完成后执行mount -a立即生效
磁盘情况查询
df -h查询磁盘情况
du -h查询指定目录磁盘占用情况
-s,指定目录占用大小汇总
-h,带计量单位
-a,含文件
--max-depth=1子目录深度
-c列出明细同时增加汇总值
Linux网络
NAT网络配置
虚拟机IP地址与VMNET8ip地址建立连接(共享同一个c类地址),VMNET8ip地址与无线网卡建立连接,通过网卡经过网关连接互联网
在windows环境中配置VMnet8网络(ipconfig)
PING 目的主机IP地址或网址,测试网络连通性
网络环境配置
自动获取
登录后自动获取IP,缺点是每次获取的ip地址可能不一样
指定IP
直接修改配置文件指定IP,可以连接到外网
vi /etc/sysconfig/network-scripts/ifcfg-ens33
把文件红色部分修改如图
配置完成后重启网络服务service network restart或重启系统reboot生效
Tips
在linux中,隐藏文件以.开头