linux基础


在这里插入图片描述

在这里插入图片描述

一、操作系统
桌面操作系统window、macOS:适合开发 苹果开发的Linux:用户软件少CentOS; Linux发行版是一个稳定的,可预测的,可管理的和可复现的平台,
服务器操作系统Linux
Window Server
嵌入式操作系统
移动设备操作系统iOS Android(基于Linux)

centos7

二、linux

李纳斯.托瓦兹–linux 之父(1991.9)
发现历程:unix->minix->linux

是一款操作系统,免费,开源,安全,高效,稳定,处理高并发非常强悍

2.1、linux内核与发行版关系

在这里插入图片描述
centos 的包管理工具rpm、yum,稳定
ubuntu 的包管理工具apt,页面漂亮

下载centos 7
http://mirror.centos.org/centos/7/
选ISOS目录
使用阿里云镜像下载,CentOS-7-x86_64-DVD-2009.iso (4.4G)

安装VMware
在官网下载600M,workstation pro 16

在vmware 中新建虚拟机

安装要点:
–>自定义高级©–> -->–>使用网络地址转换(NAT)
在BIOS上启动虚拟机,需要配置centos7的镜像源,才能安装centos7
选择GNOME桌面
A盘、B盘是软盘

安这个版本
在这里插入图片描述

自定义分区:挂载到对应文件下,分区挂载点
①/boot
文件系统:ext4,,
现在文件系统选xfs,高性能日志系统,支持8EB
②swap 交换分区,相当于虚拟内存
文件系统是swap
③/ 其他的
文件系统是xfs
KDUMP:内核崩溃转储机制
为节省性能,先不启用

root密码:81234567
创建用户:wl

删除虚拟机:(右键)管理,从磁盘中删除(永久删除)

安装成功后的使用,
control+alt+F6 //进入大黑屏,F2-F6进入控制界面
control+alt+F1 //进入图形化界面
ctrl+shift++ //放大
ctrl+shift± //缩小
如果是UBANTU,F7是图形化界面,F1-F6是控制界面

在控制台中,输入exit 退出

2.2、linux系统:人操作应用软件->shell命令解释->linux内核->硬件

在这里插入图片描述

Linux与window比较

在这里插入图片描述

2.3、linux目录,系统的挂载技术

用户可以将目录作为存储设备的挂载点,通过挂载点可以看到存储设备中的数据
linux所有文件都在根目录下
linux各个目录的内容是规划好,不用乱放文件
linux以文件的形式管理设备,一切皆文件
linux各个目录下存放什么内容,必须有一个认识

/root  该目录为系统管理员,超级权限者
/bin   存放经常使用的目录,
/boot  存放启动linux使用的核心文件,连接文件及镜像文件
/dev   device,类似于window的设备管理器,把所有的硬件用文件的形式存储
/home  存放普通用户的主目录,用组管理用户
/usr/	用户的很多应用程序和文件都放在这个目录下,类似window下的program file
/media   linux会自动识别一些设备,如U盘,光驱等,linux会将识别的设备挂载到该目录下
/mnt    系统提供该目录让用户临时挂载别文件系统,我们可将外部的存储挂载在/mnt上,进入该目录就可以查看内容
/sbin   super user  系统管理员使用的系统管理程序了。
/opt    给主机额外安装软件所摆放的目录,存放第三包软件的位置
/proc   虚拟目录,是系统内存的映射,访问这个目录获取系统信息
/src    service,存放一些服务启动之后需要提取的数据
/sys   系统硬件相关信息
/tmp    存放临时文件
/etc/passwd 用户配置文件(用户信息)                vim/etc/passwd
/etc/group 组配置文件(组信息)                     vim/etc/group
/etc/shadow 口令配置文件(密码和登录信息,是加密)    vim/etc/shadow

自己可以动的目录:opt、home、tmp、var


三、linux基本命令
命令行程序
    终端:terminal
cd切换文件夹
    cd/home 绝对路径 以根目录开头
    cd admin 相等路径 不以根目录开头
    cd .. 返回上级目录
    cd ~ 到自己的家目录 /home/admin
    cd - 电视回看功能
pwd 查看当前目录
ls 查看目录内容
    ls只列出文件名或目录名
    ls -l 显示详细列表 =ll
    ls -lh把文件大小以人性化的方式显示
    ls -a 显示所有文件,包含隐形文件.
mkdir 创建文件夹
    mkdir tupian 在当前目录下创建文件夹
    mkdir /home/admin/tupian 以绝对路径创建文件夹
    mkdir 、home/admin/a/tupian 如果上级目录不存在,加上-p自动创建父目录
    mkdir a b 在当前目录创建多个文件夹
    mkdir a/{b,c} 在指定目录创建多个文件夹
    mkdir .abc 以.开头 创建隐藏文件
touch 创建空文件
    touch abc.txt 在当前目录下创建,若指定目录,必须保证上级目录存在
    touch .abc 创建隐形文件
    gedit abc.txt 使用记事本打开文件 
rm 删除文件
    rm a.txt 删除文件
    rm -r 文件夹名 删除文件夹   rmdir 文件夹名
    rm * -r 不能删除隐藏文件      
3.1、linux终端命令格式:
command
help   功能描述,获得shell内置命令的帮助信息
man   帮助指令
3.2、linux基本命令一:
drwxrwxr-x   //d 代表文件夹 -代表文件
rwx rwx r-x   //r可读 w可写 x可执行
第一组指文件的拥有者的权限,第二组代表文件拥有的组的权限,第三组代表其它用户的权限
cp  复制、修改文件名 
    cp 1.txt 2.txt 修改文件名
    cp a a_bak -r 复制文件夹
mv 移动、重命名
    mv 1.txt 2.txt
    mv 1.txt ~  //移动到指定目录
cat   
Ln -s 软连接 /ln 硬链接
输出重定向:
    > 将命令结果放在文件内
    >> 将命令执行结果追加在文件后
3.3、Linux命令有四剑客:find/ grep
grep:相当于ctrl+F
-n 查找全部内容  -i查找时不区分大小写      -v反向查找,用的少
grep hello test.txt
grep -n ^l test.txt
grep -n u$ test.txt
grep -n h. test.txt

find查找文件
find /home -name 1.txt
find . -name test.txt
find . -name '*txt'
3.4、Linux的文件读写
写:vi 要写的文件名 (vi有命令模式和编辑模式 i是进入编辑模式esc是进入命令模式
    :w保存 :wq保存并退出 :q退出 :q!不保存退出)
    vim
    gedit
读:cat 要读的文件 直接读取所有内容
    more 要读的文件 逐步读取所有内容 适合内容较多的时候使用
    tail -f 动态读取 一般用来读软件的日志
3.5、tar 归档打包 打包->压缩->解压->解包
打包   tar cvf a.tar *.txt    f必须放在最后一个
显示   tar tf txt.tar
解包   tar xvf a.tar 将包内文件解开放到当前目录
       tar xvf a.tar -C tar解包到指定文件夹,文件夹要提前创建好,C大写
压缩 gzip
gzip -r txt.tar      压缩
gzip -d txt.tar.gz   解压

一步到位打包压缩

tar czvf abc.tar.gz *txt  打包压缩
tar xzvf abc.tar.gz -C abc 解压解包
3.6、切换用户
su:切换到超级用户root
su wl :进入我的普通用户
passwd:设置用户密码
exit:
who:查看当前所有登录用户的信息
    pts 代表一个终端   tty代表用户登录了操作系统
3.7、关机重启
reboot   重启,不提示
shutdown  
    shutdown -h +10系统再过10分钟后自动关机   //ctrl+c取消
    shutdown -h now  立即关机
    shutdown -r now  立即重启
sync  把内存的数据同步到磁盘

chmod命令

字母法:
    u:user文件拥有者
    g:group文件拥有的组
    o:other其它用户
    a:所有用户
+-=
    +:增加权限
    -:撤销权限
    = :重新复制新权限
chmod u+r 1.txt //给文件拥有者添加读权限
数字法:
    r:读 4
    w:写 2
    x:执行 1
    -:不具备任何权限,0
chmod 777 1.txt

echo\head\tail

head:用于显示文件的开头部分内容,head显示文件的前10行内容

时间日期类

date:
3.8、crond任务调度
crontab -r:终止任务调度
crontab -l:列出当前那些任务调度
service crond restart[重启任务调度]
案例1:每隔1分钟,就将当前的日期信息,追加到/tmp/mydate文件中
案例2:每隔1分钟,就将当前的日期信息,追加到/home/mycal文件中
date >> /tmp/mycal
cal >> /tmp/mycal
chmod 744 /home/mytask2.sh
3.9、编辑器vim

还有一个编辑器,叫 emacs

文本编辑器
V1是Unix操作系统和类Unix操作系统中最通用的文本编辑器。
VIM编辑器是从VI发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM与VI编辑器完全兼容。
在这里插入图片描述

//编辑模式
i  //当前光标前
a  //当前光标后
o  //当前光标行的下一行
I  //光标所在行最前
A  //光标所在行最后
O  //当前光标行的上一行
//命令模式
Shift+   //进入末行模式
:w       //保存
:q       //退出
:wq:        //保存并退出
:q!//不存盘,强制退出
/要查找的词      //n查找下一个,N往上查找
:noh           //取消高亮显示
:set nu        //展示行数
:set nonu      //不展示行数
:s/old/new     //替换当前行匹配到的第一个old为new
:s/old/new/g   //替换当前行匹配到的所有Old为new
:%s/old/new    //替换文档中每一行匹配到的第一个old为new
:%s/old/new/g  //替换文档中匹配的所有old为new

在这里插入图片描述

yy    //复制光标当前一行
y数字y  //复制一段(从光标当前行到后n行)
p  //箭头移动到目的行粘贴
u  //撤销上一步
dd  //删除光标当前行
d数字d //删除光标(含)后多少行
x  //剪切一个字符(当前光标),相当于del
X  //剪切一个字符(当前光标的前一个),相当于Backspace
yw  //复制一个词
dw  //删除一个词
shift+6(^)  //移动到行头
shift+4($)  //移动到行尾
w //移动到下一个词(词头位置)
e  //移动到当前词尾
1+G //移动到页头,数字
G  //移动到页尾
数字N+G  //移动到目标行

四、远程登录

Xshell:远程登录Linux

XFtp5:远程上传下载文件

使用了xftp后,windows用户能安全地在linux与window pc间传输文件

Linux系统是多用户多任务操作系统,任何一个要使用系统资源的用户,必须西安申请账号,以账号进入系统

五、用户组

Linux用户需要至少一个组

用户

useradd wanglu01   //创建名为wanglu01的文件(用户)
passwd wanglu01    //更改wanglu01的用户密码
userdel wanglu01   //删除用户
su wanglu01         //切换用户
exit                //退出当前用户
id 用户名        //查询用户id

用户组

用户组,类似于角色,系统可以对有共性的多个用户进行统一的管理
groupadd 组名      //新增组名
groupdel 组名       //删除组名
useradd -g groupname username  //将username 添加到groupname中,前提是组存在
usermod -g 用户组 用户名     //修改用户的组

在这里插入图片描述

六、指定运行级别 /etc/inittab
运行级别说明:
0:关机
1:单用户【找回丢失密码】2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6.系统重启
常用运行级别是3和5,要修改默认的运行级别可改文件
/etc/initab的id:5:initdefault:这一行中的数字
命令:init[012356]
在单用户模式下找回root密码
七、磁盘分区、挂载

分区的方式:

1)mbr分区:传统分区

1.最多支持四个主分区

2.系统只能安装在主分区

3.扩展分区要占一个主分区

4.MBR最大只支持2TB,但拥有最好的兼容性

2)gtp分区:

1.支持无限多个主分区(但操作系统可能限制,比如windows下最多128个分区)

2.最大支持18EB的大容量(EB=1024PB,PB=1024TB)

3.windows7 64位以后支持gtp

Linux分区

硬盘说明

  1. Linux硬盘分IDE硬盘和SCSl硬盘,目前基本上是SCSI硬盘

2)对于IDE硬盘,驱动器标识符为“hdx",其中“hd”表明分区所在设备的类型,这里是指IDE硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),~代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。

3)对于SCSI硬盘则标识为“sdx”,SCsi硬盘是用“sd”来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样。

lsblk -f :查看系统分区及挂载情况   (老师别离开)

如何增加一块硬盘

1)虚拟机添加硬盘
2)分区
3)格式化
4)挂载
5)设置可以自动挂载

磁盘情况查询

df -h  //查看磁盘使用情况
du -h  //目录
ll /home |grep "^d" |wc -l   查询home下文件的个数
八、Linux网络、环境配置

VMware提供了三种网络连接模式:

  • 桥接模式

虚拟机直接连接外部物理网络的模式;主机起到了网桥的作用。这种模式下,虚拟机可以直接访问外部网络,并且对外部网络是可见的。

  • NAT模式

虚拟机和主机构建一个专用网络,并通过虚拟网络地址转换(NAT)设备对IP进行转换。虚拟机通过共享主机IP可以访问外部网络,但外部网络无法访问虚拟机。

  • 仅主机模式

虚拟机只与主机共享一个专用网络,与外部网络无法通信。

Linux网络配置原理图

Linux环境配置

1)自动获取IP,在系统->首选项->网络连接->勾选自动连接

2)使用固定IP地址:

主机与虚拟机之间可联通
a类地址:192.168
b类地址:172.17

九、进程管理

进程基本介绍

1)在linux中,每个执行的程序都称为一个进程,每一个进程都分配一个ID号

2)每个进程都有两种方式存在:前台和后台,前台就是用户可以在屏幕上操作的,后台进程是实际在操作,但屏幕看不到的进程,通常使用后台方式进行

3)一般系统的服务都是以后台进程的方式存在,还会常驻在系统中,直到关机才会结束

查看进程使用指令ps

ps -a:显示当前终端的所有进程信息
ps -u:以用户的格式显示进程信息
ps -x:显示后台进程运行的参数    

在这里插入图片描述

终止进程kill/killall

ps -aux |grep sshd   //ssh:远程登录;d:守护进程
kill 进程id

服务service管理

在centos7.0后,不再使用service,而是使用 systemctl
service iptables status //打开防火墙,查看端口22
service iptables stop  //关闭防火墙
chkconfig指令

进程监控指令

top:
netstat://查看系统网络情况

在这里插入图片描述

十、软件包管理 rpm、yum
10.1、rpm

RPM(RedHat Package Manager),RedHat软件包管理工具,类似windows里面的sctup.exe是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的。

rpm -qa  //查询所安装的所有rpm包
rpm -qa | grep rpm     //过滤 
rpm -e rpm包名  //卸载软件包
rpm -e --nodeps rpm包名  //卸载软件时,不检查依赖。这样的话,那些使用该软件包的软件在此之后可能就不能正常工作了。
rpm -install  //安装
rpm -ivh   rpm包名  //-V  详细版本   -h  进度条
10.2、yum

YUM(全称为Yellow dog Updater,Modified)是一个在Fedora和 RedHat 以及 CentoS 中的 Shell 前端软件管理器。基于RPM包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装

yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令

installe   //安装rpm软件包
update    //更新rpm软件包
check-update   //检查是否有可用的更新rpm软件包。
remove    //删除指定的rpm软件包
list    //显示软件包信息
clean     //清理yum过期的缓存
deplist   //显示yum软件包的所有依赖关系
10.3、Linux apt 命令

服务service管理

在centos7.0后,不再使用service,而是使用 systemctl
service iptables status //打开防火墙,查看端口22
service iptables stop  //关闭防火墙
chkconfig指令

进程监控指令

top:
netstat://查看系统网络情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值