Linux
基础篇—Linux的目录结构:
Linux目录结构
/bin/sbin:存放常用的指令,sbin管理员使用的系统管理程序
/boot:存放启动linux是使用的一些核心文件,包括一些连接件>和镜像文件
/dev:将硬件系统用文件存储
/opt:安装软件包存放目录
/mnt:临时挂载存放目录
/selinux:安全加强目录
/home:存放普通用户的主目录
/root:系统管理员
/lib:系统开机需要最基本的动态连接共享库,几乎所有应用程序都要使用
/lost+found:当系统非法关机时,存放一些文件
/etc:所有的系统管理员配置文件和子目录
/usr:应用程序和文件存放地址,类似于program files目录
/media:自动设备
/usr/local:存放安装软件后的安装目录
/var:存放不断变化的数据,如日志文件,类似于360
/proc:虚拟目录,系统内存的映射,访问这个目录获取系统信息
/srv:存放服务启动之后需要提取的数据
/sys:该目录下安装了2.6内核中新出现的文件系统,ysfs
总结:
1.linux只有一个根目录:"/"
2.linux的目录中有且只有一个文件
3.linux的各个目录存放的内容是实现规划好的,不要乱放文件4.linux是以文件的形式管理我们的设备,一切皆文件
基础篇—远程连接
sshd的打开使用
如果希望安装好xshell可以远程访问Linux系统的话,需要启动sshd服务,开启一个22号端口
setup->系统服务->sshd
####查询linux连接的ip地址:
ifconfig
实操篇—vi和vm的使用
vi和vim的简单使用
在xshell中输入: 1.vim 文件名(创建) ----正常模式 2.输入i,变为插入状态 ----插入模式/编辑模式 3.文本内容编辑完毕后,按下esc,输入wq写入,并退出。----命令行模式 4.当查看时 vim 已创建的文件,输入q退出
命令行模式: q!:退出但不修改 q:退出 wq:保存并退出
vim中快捷键的使用
1. yy:拷贝当前行,(p键粘贴)
2. nyy(5yy):拷贝当前行向下5行,并粘贴
3. dd:删除当前行
4. ndd(5dd):删除当前行向下5行
5. /关键字,回车:查找关键字,输入n则跳转到查询到的下一个
6. /set nu设置文件的行号
7. /set nonu取消文件的行号
8. /etc/profile 文件名:正常模式下,使用快捷键到文档的最末行(G),最首行(gg)
9. u:正常模式下,撤销上一次操作
10. 跳转到具体行:set nu显示行标,输入数字+回车
实操篇—开机,重启,用户登录
重启&&关机:
reboot:重新启动系统
halt:关机
shutdown -h now:表示立即关机
shutdown -h 1:表示一分钟后关机
shutdown -r now:立即重启
sync:把内存的数据同步到磁盘
每次关机前最好执行一次sync同步数据
用户登录和注销:
注销账户:logout(此命令在图形界面使用无效)或者exit
实操篇—用户管理
说明:
- Linux系统是一个多用户多任务的操作系统,如何一个要使用系统资源的用户,都必须向系统管理员申请一个账号,然后以这个账号的身份进入系统
- Linux用户需要至少属于一个组
添加用户
useradd [选项] 用户名
例:
useradd xh,在创建xh这个用户的时候,还会同时创建一个叫xh的组,同时创建一个 /home/xh 的家目录
指定文件夹下创建
useradd -d 之指定目录 新的用户名
例:
useradd -d /home/yxx xh,会自动创建目录
为用户设置或者密码:
passwd 用户名
删除用户
删除用户,但保留家目录(一般使用这个)
userdel 用户名
删除用户,以及用户主目录
userdel -r 用户名
查询用户
id 用户名
当用户不存在的时,返回"无此用户"的信息
当用户存在时,显示:用户id号,用户所在组id号,组名
切换用户
su - 用户名
从权限高的用户切换到权限低的用户,不需要输入密码,反之则需要
当需要返回原来用户时,使用exit指令
用户组
增加组:
groupadd 组名
删除组:
groupdel 组名
增加用户时直接指定到具体组:
useradd -g 用户组 用户名
修改用户组:
usermod -g 用户组 用户名
组类似于角色,系统可以对共性的多个用户进行统一的管理
用户组和组相关的文件:
/etc/passwd文件:
用户的配置文件,记录用户的各种信息
每行的含义:用户名:口令:用户标识符:组标识号:注释性描述:主目录:登录shell
/etc/shadow文件:
口令配置文件
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
etc/group文件
组的配置文件,记录Linux包含的组的信
每行含义:组名:口令:组标识号:组内用户列表
实操篇—使用指令
指令运行级别:
运行级别说明:
0:关机
1:单用户[找回丢失密码]
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用的运行级别是3和5,要修改默认的运行级别可改文件
修改级别:vim /etc/inittab 输入i进入可编辑模式,将最后一行 "id:5:initdefault:"这一行中的数字改为其他级别
命令:init[级别],如;init[0123456],init 3
面试题:如何找回root密码?
思路:进入到 单用户模式,然后修改root密码。因为进入单用户模式不需要密码登录。
具体步骤:
开机 --> 在引导时输入 enter键 --> 看到一个有一行的界面输入e --> 进入另一个有三行选择的界面,选择第二行(编辑内核) --> 在输入 e–> 在这一行最后输入(1之前加入空格) 1,再输入 回车键 --> 再次输入b,这时就会进入到单用户模式,然后使用passwd修改root密码。
帮助指令
获得帮助信息
man[命令或配置文件] (功能描述:获得帮助信息)
help 命令 (功能描述:获得shell内置命令的帮助信息)
文件目录类
pwd指令
pwd
功能描述:显示当前工作目录的绝对路径)
ls指令
ls [选项] [目录或是文件]
常用选项:-a :显示当前目录所有的文件和目录,包括隐藏的。
-l :以列表的方式显示信息
-ls:在-l的基础上显示文件大小
cd指令
cd [参数]
常用参数:
cd~ 或者cd :回到自己的家目录
cd…/ :回到上一级目录
功能描述:切换到指定目录
mkdir指令
mkdir [选项] 要创建的目录
常用选项:-p:创建多级目录
功能描述:创建文件目录
rmdir指令
rmdir [选项] 要删除的空目录
功能描述:删除指令空目录
注意事项:rmdir删除的是空目录,如果目录下有内容是无法删除的
如果需要删除非空,则使用 rm -rf 要删除的目录
touch指令
touch 文件名称 文件名称 …
功能描述:指令创建一个空文件
cp指令
cp[选项] source dest
常用选项:-r:递归复制整个文件夹
使用小细节:当发现拷贝下已有此文件时,强制覆盖但不提示的方法:\cp[选项] source dest
功能描述:将当前目录的文件拷贝到指令目录
rm指令
rm[选项] 要删除的文件或目录
常用选项:-r:递归删除整个文件夹
-f:强制删除不提醒
功能描述:移除文件或目录
mv指令
mv oldNameFile newNameFile
功能描述:重命名
mv /temp/movefile /targetFolder
功能描述:移动文件
cat指令
cat[选项] 要查看的文件
常用选项:-n:显示行号
功能描述:查看文件内容,只能浏览不能修改
cat[选项] 要查看的文件|more
功能描述:查看文件内容并分页
more指令
more 要查看的文件
快捷键:
空格 :向下翻页
回车 :向下翻一行
q :立即离开more
Ctrl+F :向下滚动一屏
Ctrl+8 :返回上一屏
= :输出当前行的行号
:f :输出文件名和当前行的行号
功能描述:基于VI编辑器的文本过滤器,它一全屏幕的方式按耶显示文本文件的内容
less指令
less 要查看的文件
快捷键:
空格 :向下翻动一页
[pagedown] :向下翻动一页
[pageup] :想上翻动一页
/子串 :向下搜寻[字串]的功能 n:向下查看 N:向上查看
?字串 :向上搜寻[字串]的功能 n:向下查看 N:向上查看
q :离开less这个程序
功能描述:分屏查看文件内容,它的功能与more指令类似,但是比more更加强大,支持各种显示终端
less指令在显示文件内容时,并不是一次将整个文件加载之后显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率
指令和>>指令
输出重定向
追加
ls -l > 文件
功能描述:列表的内容写入文件(a.txt)中(覆盖写)),如果没有次文件,则自动创建
ls -al >>文件
功能描述:列表的内容追加到aa.txt的末尾
cat 文件1 > 文件2
功能描述:将文件1的内容覆盖到文件2
echo"内容">>文件
功能描述:将引号中的内容追加到文件
echo指令
echo [选项] [输出内容]
功能描述:输出内容到控制台
如:echo $PATH:输出当前环境变量路径
head指令
head 文件
功能描述:查看文件头10行的内容
head -n 5 文件
功能描述:查看文件头5行内容,5可以是其他数字
tail指令
tail 文件
功能描述:查看文件后10行内容
tail -n 5文件
功能描述:查看文件后5行内容,5可以是任意行数
tail -f 文件
功能描述:实时追踪该文档的所有更新,Ctrl+c退出
In指令
软连接也叫符号连接,类似于Windows里的快捷方式,只要存放了链接其他文件的路径
In -s [原文件或目录][软连接名]
功能描述:给原文件创建一个软连接
history指令
hostory
功能描述:查看已经执行过的历史指令
hostory 5
功能描述:查看最近使用过的5条指令
5!
功能描述:执行历史编号为5的指令
时间日期类
date指令-显示当前日期
date
功能描述:显示当前时间
date +%Y
功能描述:显示当前年份date
date +%m
功能描述:显示当前月份
date +%d
功能描述:显示当前是哪一天
date “+%Y-%m-%d %H:%M:%S”
功能描述:显示当前年月日时分秒
date指令
date -s 字符串时间
功能描述:设置日期2020-10-03 10:20:15
cal指令
cal[选项]
功能描述:不加选项,显示本月日历,选项为年份
搜索查找类
find指令
find [搜索范围] [选项]
功能描述:从指令目录向下递归遍历其各个子目录,将满足条件的文件或者目录显示在终端
选项说明:-name<文件名> :按照指定的文件名查找模式查找文件
-user<用户名> :查找属于指定用户名所有文件
-size<[+,-]文件大小> :按照指定的文件大小查找文件,+表示大于,-表示小于,不写表示等于
locate指令
locate 搜索文件
功能描述:
locate指令可以快速定位文件路径
locate指令利用事先建立的系统中所有文件名称及路径的locate数据库可以实现快速定位给定的文件,且无需遍历整个文件系统。
管理员需要定期更locate时刻。
locate指令基于数据量进行查询,第一次运行前,必须使updatedb指令建立locate数据库。
grep指令和管道符号
grep [选项] 查找内容 源文件
常用选项:-n:显示匹配行及行号
-i:忽略字母大小写
功能描述:grep 过滤查找,管道符,"|",表示将前一个指令的处理结果输出传递给后面的指令处理。
压缩和解压类
gzip/gunzip指令
gzip 文件
功能描述:压缩文件,只能将文件压缩为*.gz文件
压缩后不会保留原文件
gunzip 文件.gz 文件.gz
功能描述:解压缩文件
zip/uzip指令
zip [选项] xxx.zip 将要压缩的内容
常用选项:-r:压缩目录
功能描述:压缩文件或目录
uzip [选项] xxx.zip
常用选项:-d<目录>:指定解压后文件的存放目录
功能描述:解压缩文件
tar指令
tar [选项] xxx.tar.gz 打包的内容
选项说明:-c:产生.tar打包文件
-v:显示详细信息
-f:指定压缩后的文件名
-z:打包同时压缩
-x:解包.tar文件
功能描述:打包指令,最后打包的文件是.tar.gz的文件
压缩:-vzcf
解压缩:-vzxf
实操篇—组管理和权限管理
组管理
在linux中的每个用户必须属于一个组,不能独立于组外。在Linux中每个文件有所有者,所在组,其他组的概念。
ls -ahl指令
ls -ahl
功能描述:查看文件的所有者
chown指令
chown 用户名 文件名
功能描述:修改文件所有者
chgrp指令
chgrp 组名 文件名
功能描述:修改文件所在组
权限的基本介绍
ls -l中显示的内容如下:
-rw-r–r-- 1 root root 1213 Feb 2 09:39 abc
0~9位说明:第0位确定文件类型(d:目录,-:普通文件,l:软链接,c:字符设备,b:块文件)
第1-3位确定所有者(该文件的所有者)拥有改文件的权限 --user
第4-6位确定所属组(同用户组的)拥有改文件的权限 --group
第7-9位确定其他用户拥有该文件的权限 --other
rwx权限详解
rwx作用到文件
[r]:代表可读:可以读取,查看
[w]:代表可写,可以修改,但不代表可以删除,需要有些的权限才能删除
[x]:代表可执行
rwx作用到目录
[r]:代表可读:可以读取,ls查看目录内容
[w]:代表可写,可以修改,目录内创建+删除+重命名目录
[x]:代表可执行:进入该目录
文件及目录权限实际案例
修改权限
chmod指令
chmod [选项] 文件目录名
第一种方式:+,-,=变更权限
选项说明:u:所有者
g:所有组
o:其他人
a:所有人(u,g,o的总和)
例:chmod u=rwx,g-w,o+wx 文件目录名
chmod a+r 文件名
第二种方式:通过数字变更权限
选项说明:r=4
w=2
x=1
rwx=4+2+1=7
例:chmod u=rwx,g=rx,o=x 文件目录名
相当于 chmod 751 文件目录名
功能描述:修改文件或目录的权限
chown指令
chown newowener file
功能描述:改变文件的所有者
chown newowner:newgouper file
功能描述:改变用户的所有者和所有组
-R
功能描述:应该使用root用户,如果是目录,则使其下所有子文件或目录递归生效
例:chown -R tom 文件目录/
chgrp
chgrp newgroup file
功能描述:改变文件的所有组
chgrp -R newgroup 目录
功能描述:改变目录下所有文件和目录的所在组
实操篇—Linux磁盘分区,挂载
分区的方式:
mbr分区gpt分区:
支持无限多个主分区
最大支持1024G*1024G的最大容量
Windows7 62位以后支持gpt
硬盘说明:IDE硬盘:驱动器标识符为"hdx~",hd表名分区所在类型设备
SCSi硬盘:驱动器标识符为"sdx~",sd表名分区所在类型设备
lsblk-f指令
lsblk-f
功能描述:查看系统的分区和挂载的情况
显示详情:
分区情况
分区类型
唯一标识分区的40位不重复的字符串
挂载点
如何增加一块硬盘
1.虚拟机添加硬盘
2.分区 fdisk /dev/sdb
3.格式化 mksf -t ext4 /dev/sdb1
4.挂载 先创建一个 /home/newdisk 挂载:mount /dev/sdb1 /home/newdisk
5.设置可以自动挂载
增加一块硬盘
1.虚拟机菜单中,设置添加硬盘,设置大小
2.分区
分区命令:fdisk /dev/sdb
开始对/sdb分区
m 显示命令列表
p 显示磁盘分区 同fdisk -l
n 新增分区
d 删除分区
w 写入并退出
说明:开始分区后输入n,新增分区,然后选择p,分区类型为主分区。两次回车默认剩余全部空间。最后输入w写入分区并退出,若不保存退出输入q。
3.格式化磁盘
分区命令:mkfs-t ext4 /dev/sdb1
其中ext4是分区类型
4.挂载
将一个分区与一个目录联系起来
mount 设备名称 挂载目录
例:mount /dev/sdb1 /newdisk
断取挂载:
umount 设备名称 或者 挂载目录
例:umount /dev/sdb1 或者umount /newdisk
5.永久挂载
通过修改/etc/fstab实现挂载添加完成后执行 mount -a 即可生效
/dev/sdb1 /home/newdisk ext4 defaults 0 0
磁盘情况查询
df -h
df-h / df-lh
指令描述:查询系统整体磁盘使用情况
du -h
du -h /目录
指令描述:查询指定目录的磁盘占用情况,默认为当前目录
-s :指定目录占用大小汇总
-h :带计量单位
-a :含文件
–max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值
工作使用指令
统计/home文件夹下文件的个数:
ls -l /home | grep “^-” | wc -l统计/home文件夹下目录的个数:
ls -l /home | grep “^d” | wc -l统计/home文件夹下文件的个数,包括文件夹里面的:
ls -lR /home | grep “^-” | wc -l统计/home文件夹下文件夹的个数,包括文件夹里面的:
ls -lR /home | grep “^d” | wc -l树状结构显示
tree安装指令
yum install 指令
Linux实操篇—网络配置
网络配置
vim /etc/sysconfig/network-scripts/ifcfg-eth0
Linux实操篇—进程管理
进程介绍和查询
ps -aux指令
ps -a
功能描述:显示当前终端的所有进程信息
ps -u
功能描述:以用户的格式显示进程信息
ps -x:
功能描述:显示后台进程运行的参数
功能描述:查看目前系统中,有哪些正在执行,以及它们执行可以不加任何参数
ps -ef指令
ps -ef |grep xxx
e:所有进程
f:全格式
UID:用户ID
PID:进程ID
PPID:父进程ID
C:CPU用于计算执行优先级的因子。数值越大,表名CPU是密集型运算,执行优先级会越低
TTY:完整的终端名称
TIME:CPU时间
CMD:启动进程所用的命令和参数
功能描述:查看父进程
ps指令详解
终止进程
kill,killall指令
kill [选项] 进程号
功能描述:通过进程号杀死进程
killall 进程名称
功能描述:通过进程名称啥词进程,也支持通配符,这在系统因负载过大而变慢时很有用
常用选项:-9 :表示被迫进程立即停止
例: 关闭用户进程:
先用ps -aux 查询用户的进程号,然后再kill 进程号
终止远程登录sshd,在适当的时候重启sshd:
kill 进程号(与sshd有关的进程)
终止多个gedit进程:
killall gedit
patree指令
pstree [选项]
常用选项:-p:显示进程的PID
-u:显示进程的所属用户 ·
功能描述:可以更加直观的来看进程信息
服务管理
服务本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如mysql,sshd,因此我们又称为守护进程
service管理指令
service 服务名 [start|stop|restart|reload|status]
systemctl
talent指令
telnet ip地址 端口号
Windows打开,测试某个端口是否打开
setup
setup ->系统服务
ls -l /etc/init.d/服务名称
功能描述:查看服务名,并列出
服务运行级别
查看或者修改默认级别:
vi/etc/inittab
Linux共有7中运行级别(runlevel):常用的是3多用户和5GUI模式
开机运行流程
开机 -> BIOS -> /boot -> init进程1 -> 运行级别 -> 运行级别对于的服务
chkconfig指令
查看服务 chkconfig --list| grep xxx
chkconfig 服务名 -list
chkconfig --level 5 服务名 on/off
功能描述:通过chkconfig命令可以给每个服务的各个运行级别设置 自启动 / 关闭
动态监控进程
top命令
top [选项]
选项说明:
-d 秒数:指定top命令每隔几秒更新,默认是3秒在top命令的交互模式当中可以执行的命令
-i:使top不显示任何闲置或者僵死进程
-p:通过指定监控进程ID来仅仅监控某个进程的状态
交互操作说明:
u:监视特定用户
k:终止指定进程 k -> 进程ID号
p:以CPU使用率来排序,默认是此项
M:以内存的使用率排序
N:以PID排序
q:退出top
功能描述:top与ps命令很相似。他们都用来显示正在执行的进程。top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的进程
监控网络状态
netstat指令
netstat [选项]
选项说明:-an:按一定顺序排列输出
-p:显示哪个进程在调用
功能描述:查看系统网络情况
实操篇—RPM和YUM
RPM包管理
介绍:一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有RPM的拓展名的文件。类似windows的step.exe
rpm -qa | grep xx
功能描述:查询已安装的rpm列表
rpm -q 安装软件包
功能描述:查询软件是否安装
rpm -qi 软件包名
功能描述:查询软件包信息
rpm -ql 软件包名
功能描述:查询软件包中的文件
rpm -qf 文件全路径名
功能描述:查询文件所属的软件包
卸载rpm包
rpm -e RPM包的名称
功能描述:卸载rpm包
强制卸载rpm包
$ rpm -e --nodeps rpm包的名称
功能描述:当删除的包和其他包有依赖关系时,可以强制删除
安装rpm包
ipm -ivh RPM包全路径名称
参数说明:
i=install:安装
v=verbose:提示
h=hash:进度条
功能描述:安装RPM包
yum
介绍:一个Shell前端软件包管理器。基于PRM包管理,能够从指定的服务器自动下载PRM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
yum指令
yum list | grep xx软件列表
功能描述:查询yum服务器是否需要安装的软件
yum install xxx 下载安装
功能描述:安装指定的yum包