Linux基础(较全)

Linux

0.目录

1.Linux简介

1.1 Linux是什么

  • Linux是一种自由和开放源码的类UNIX操作系统,1991年由林纳斯托瓦兹创建,主要受Minix和UNIX思想启发。

  • Linux遵循GNU通用公共许可证(GPL),所有人都可以自由使用源代码,也可以自由修改并重新发布

  • Linux是基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统

  • Linux能运行主要的UNIX工具软件、应用程序和网络协议,继承了UNIX以网络为核心的设计思想。

1.2 Linux发行版?

LInux发行版简单的来说就是将Linux内核和应用软件做封装

市场上主流的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等

1.3 LInux应用领域?

从嵌入式设备到超级计算机、并到服务器领域确定了地位、通常服务器使用LAMP(Linux+Apache+Mysql+PHP)和LNMP(Linux+Nginx+Mysql+PHP)组合

目前,linux不仅在家庭中,企业中使用国家层面也在使用Linux

1.4 Linux vs Windows?

比较WindowsLinux
界面界面统一,外壳程序固定所有 Windows 程序菜单几乎一致,快捷键也几乎相同图形界面风格依发布版不同而不同,可能互不兼容。GNU/Linux 的终端机是从 UNIX 传承下来,基本命令和操作方法也几乎一致。
驱动程序驱动程序丰富,版本更新频繁。默认安装程序里面一般包含有该版本发布时流行的硬件驱动程序,之后所出的新硬件驱动依赖于硬件厂商提供。对于一些老硬件,如果没有了原配的驱动有时很难支持。另外,有时硬件厂商未提供所需版本的 Windows 下的驱动,也会比较头痛。由志愿者开发,由 Linux 核心开发小组发布,很多硬件厂商基于版权考虑并未提供驱动程序,尽管多数无需手动安装,但是涉及安装则相对复杂,使得新用户面对驱动程序问题(是否存在和安装方法)会一筹莫展。但是在开源开发模式下,许多老硬件尽管在Windows下很难支持的也容易找到驱动。HP、Intel、AMD 等硬件厂商逐步不同程度支持开源驱动,问题正在得到缓解。
使用使用比较简单,容易入门。图形化界面对没有计算机背景知识的用户使用十分有利。图形界面使用简单,容易入门。文字界面,需要学习才能掌握。
学习系统构造复杂、变化频繁,且知识、技能淘汰快,深入学习困难。系统构造简单、稳定,且知识、技能传承性好,深入学习相对容易。
软件每一种特定功能可能都需要商业软件的支持,需要购买相应的授权。大部分软件都可以自由获取,同样功能的软件选择较少。

2.Linux(虚拟机)安装

VMware虚拟机:www.vmware.com

VMware安装linux特点:

  • 不需要分区和重启即可同一PC上两种操作系统
  • 本机和虚拟机可以网络通信
  • 可以随时修改虚拟机配置

安装步骤:

2.1 系统分区

  1. 分区表
    • MBR分区表
      • 最大2.1TB,4分区数
      • 主分区(最多四个)
      • 扩展分区(1个,不能写数据)
      • 逻辑分区
    • GPT分区表
      • 最大9.4ZB,没有限制分区数(理论)
  2. 格式化
    • 又称逻辑格式化,是指用户选定文件系统(类型:ext4)
  3. 挂载

2.2 注意事项

  • linux严格区分大小写

  • linux一切皆文件

  • linux不靠扩展名区分文件类型

  • linux所有存储设备都必须挂载后才能使用

  • Windows程序不能直接在linux中使用

  • linux文件默认使用\n换行(LF),window默认使用\r\n(CR LF),ios默认使用\r(CR)

3.常用目录结构

目录作用
/bin存放系统命令的目录
/sbin存放系统命令的目录
/boot系统启动目录
/dev设备文件目录
/etc配置文件目录
/home普通用户家目录
/lib系统调用的函数库
/mnt挂载目录
/opt软件安装目录
/proc虚拟文件目录(内核、进程、外部设备状态、网络状态)
/sys虚拟文件目录(内核相关)
/rootroot家目录
/tmp临时目录
/usr系统软件资源目录
/var动态数据保存目录(缓存、日志、软件运行文件)

4.常用命令

命令作用
目录操作ls查看目录下文件
cd切换目录
pwd查看当前目录
mkdir创建目录
rmdir删除目录
文件操作touch创建空文件、修改元数据
stat查看详细信息
cat查看文件内容
more分屏查看文件内容
less分行查看文件内容
head查看文件头部
tail查看文件尾部
ln软连接
目录文件都可操作rm删除
cp复制
mv移动或者重命名
权限控制chmod修改权限
chown修改文件所有者和所属组
chgrp修改文件所属组
帮助命令man显示联机帮助手册
info完整的帮助信息
help查看内置命令信息
搜索命令whereis搜索系统命令(帮助文档位置)
which搜索系统命令
locate搜索普通文件
find在目录中搜索文件
grep显示匹配的行
|管道管道
文本操作awk文本处理工具
grep匹配 过滤
cut截取
sed文本处理工具
压缩、解压命令zip压缩
unzip解压.zip
gzip压缩
gunzip解压.gz
bzip2压缩
bunzip2解压.bz2
tar -c压缩
tar -x解压.tar
tar -z.tar.gz
tar -j.tar.bz2
关机重启sync刷新文件系统缓冲区(数据同步)
shutdown关机-h或重启-r
reboot重启
halt关机(不安全)
poweroff关机(不安全)
init关机或重启(不安全)
网络命令ifconfig配置网络接口
ping通过ICMP网络探测
netstat查看网络状态、查看端口
write向指定用户发信息
wall向所有用户发信息(包括自己)
mail给其他用户发邮件
系统痕迹命令w显示正在登陆的用户信息
who显示正在登陆的用户信息(简单)
last查看所有登陆过的用户信息
lastlog查看最后登陆过的用户信息
lastb查看登陆错误信息
挂载命令mount挂载
umount卸载

5.VI编辑器

vi 、vim 打开文件,进入编辑模式

三种模式:编辑模式、输入模式、末行模式(有不同叫法)

5.1 编辑模式

5.1.1 模式切换

: 进入末行模式
i、a、o 进入输入模式(前、后、下行)
I、A、O进入输入模式(行首、行尾、上行)

5.1.2 移动光标
  • 字符间
    h: 左;j: 下;k: 上;l: 右
  • 单词
    w: 移至下一个单词的词首
    e: 跳至当前或下一个单词的词尾
    b: 跳至当前或前一个单词的词首
  • 行内
    0: 绝对行首
    ^: 行首的第一个非空白字符
    $: 绝对行尾
  • 行间
    G:文章末尾
    3G:第3行
    gg:文章开头
  • 翻屏
    ctrl:f,b
5.1.3 编辑
  • 删除&替换单个字符
    x:删除光标位置字符
    3x:删除光标开始3个字符
    r:替换光标位置字符
  • 删除命令 : d
    dw,dd
  • 复制粘贴&剪切
    yw,yy
    p
    P
  • 撤销&重做
    u 撤销
    ctrl+r 重做 撤销的操作
    . 重复上一步的操作
5.1.4 退出
  • 直接退出

    ZZ:没修改退出

  • 进入末行模式退出

    wq:保存并退出

    q!:不保存退出

5.2 输入模式

  • 标准输入

  • 模式切换

    Esc进入编辑模式

5.3 末行模式

  • 模式切换

    Esc Esc 进入编辑模式

  • 退出

    :q 退出 没有动过文件
    :wq 保存并退出 动过了,不后悔
    :q! 不保存并退出 动过了,后悔了
    :w 保存
    :w! 强行保存
    :wq --> :x

  • 高级操作

    :set 设置 set nu 设置行数
    / 查找
    s/// 查找并替换

6.软件安装

软件包分为源码包和二进制包

6.1 二进制包安装

6.1.1 RPM包安装
  • 命令

    安装命令:rpm -ivh 包全名

    服务启动:service 服务名 start

    升级命令:rpm -Uvh 包全名

    卸载命令:rpm -e 包名

  • 默认安装位置

    /etc/ 配置文件

    /usr/bin/ 可执行文件

    /usr/lib/ 函数库

    /usr/share/doc/ 使用手册

    /usr/share/man/ 帮助文件

6.1.2 yum安装
  1. 安装yum
  2. 安装软件:yum -y install 软件名

6.2 源码包安装

安装步骤

  1. 下载软件包

  2. 解压缩

  3. 进入解压目录

  4. 编译前准备

    ./configure
    
  5. 编译

    make
    
  6. 编译安装

    make install
    

卸载:删除文件目录即可

7.用户管理

7.1 用户相关文件

目录作用说明
/etc/passwd用户信息文件用户名:密码:用户ID:组ID:用户说明:用户家目录:用户命令行
/etc/shadow影子文件用户名:加密密码:更改时间:更改间隔:有效期:到期前警告天数:过期后宽限天数:失效时间:保留
/etc/group组信息文件组名:组密码位:组内其他用户(组)
/etc/gshadow组影子文件保存组密码
/home/用户名、/root用户家目录
/var/spool/mail/用户名邮箱目录
/etc/skel用户模版目录

7.2 用户管理命令

命令作用
useradd添加用户
passwd设置密码
usermod修改用户
userdel删除用户
su切换用户

7.3 组管理命令

命令作用
groupadd添加用户组
groupdel删除用户组
gpasswd添加删除组成员
newgrp改变有效组

8.权限管理(缺)

9.文件系统管理

9.1 硬盘(缺)

9.2 文件系统

9.2.1 linux文件系统特性

super block(超级块):记录date block、inode的情况

date block(数据块):数据实际存储

inode(i节点):类似元数据

9.2.2 常见文件系统
常见文件系统简介
extlinux早期文件系统
ext2升级版(更大分区和文件)
ext3升级版(日志功能和可靠性)
ext4CentOS6.x默认文件系统(颠覆性)
xfsCentOS7.x默认文件系统(XFS+LVM)
swap交换分区文件系统(暂时代替内存)
nfs网络文件系统
iso9660光盘标准文件系统
fatWindows的fat16
vfatWindows的fat32
NTFSWindows的NTFS
ufsSunOS和Solaris
proc基于内存的虚拟文件系统
sysfs基于内存的虚拟文件系统
tmpfs基于内存的虚拟文件系统

9.3 命令

命令作用
df统计空间大小
du统计文件大小
fsck文件系统修复命令
dumpe2fs显示磁盘状态
stat显示文件状态
file判断文件类型
fdisk分区命令
parted分区命令
parkporbe强制重读分区文件、重新挂载所有分区(几乎不用)
mkfs格式化(创建文件系统)
free查看内存
swapon增加swap分区容量

9.4 手动创建分区

9.4.1 MBR分区
fdisk /dev/sdb			#进入分区交互界面
	n					#创建分区
	p					#查看分区
	m					#帮助
	l					#显示文件系统类型
	w					#保存退出
mkfs -t ext4 /dev/sdb1	#格式化
mkdir /disk1			#创建挂点
mount /dev/sdb1 /disk1	#挂载
vi /etc/fstab			#自动挂载

#查看
mount
fdisk -l
df

#修复权限
mount -o remount,rw /
9.4.2 GPT分区
parted /dev/sdb			#进入分区交互界面
	mklabel gpt			#修改类型
	mkpart				#创建分区
	mkfs				#创建文件系统
	resize				#修改分区大小
	re					#删除分区
	print				#查看分区
#挂载……
9.4.3 swap分区
fdisk /dev/sdb			#进入分区交互界面
	mkswap /dev/sdb1	#创建swap分区
swapon name				#增加分区

9.5 磁盘配额

9.5.1 依赖
  • 内核支持磁盘配额
    • grep CONFIG_QUOTA /boot/config-2.6.32-279.e16.i686
  • 已安装quota
    • rpm -qa |grep quota
9.5.2 概念
  • 用户配额和组配额
  • 磁盘容量限制和文件个数限制
  • 软限制和硬限制
  • 宽限时间
9.5.3 配额步骤
  1. 将分区挂载到目录上

  2. 用户、用户组、目录(条件)

  3. 开启磁盘配额功能

    mount -o remount,usrquota /disk
    
    vi /etc/fstab
    
    • defaults,usrquota
      
  4. 建立配额文件(需关闭SELinux)

    quotacheck -avug
    quotacheck -avugm(跟目录)
    
  5. 设置配额

    edquota -u username(进入命令行)
    edquota -p user1 -u user2(配额复制)
    
  6. 启动关闭配额

    quotaon -avug /disk/
    quotaoff -avug /disk/
    
  7. 测试

    dd if=/dev/zero of=/disk/testfile bs=1M count=60
    
  8. 非交互式配额

    setquota -u 用户 容量软限制 容量硬限制
    

9.6 LVM逻辑卷

9.6.1 步骤
  1. 将物理硬盘分区(也可以整体分区)

    fdisk 
    
  2. 将分区建立物理卷(PV)

    pvcreate /dev/sdb
    pvscan
    pvdisplay
    pvremove
    
  3. 将物理卷整合为卷组(VG)

    vgcreate 选项 卷组名 物理卷名
    vgscan
    
  4. 把卷组划分为逻辑卷(LV)

    lvcreate 选项 卷组名
    

10.启动引导与修复

10.1 系统运行级别

查看:runlevel

改变级别:init 级别

级别:

  • 0:关机
  • 1:单用户模式
  • 2:不完全的命令行模式(无NFS)
  • 3:标准命令行模式
  • 4:系统保留
  • 5:图形模式
  • 6:重启动

永久默认启动级别设置:/etc/inittab

10.1.1 开机执行文件

文件:/etc/rc.d/rc.local

  • /var/lock/subsys/local 开机触摸

10.2 启动引导程序

10.2.1 grub引导程序

优点:更多的文件系统、查找内核文件、启动时修改启动选项、动态配置grub配置文件

10.2.2 /boot/grub目录

作用:

  • 加载系统内核
  • 选择系统的菜单
  • 调用其他引导程序,实现多系统引导
10.2.3 grub配置文件

前四行:

  • 默认启动系统:0
  • 等待选择时间:5
  • 背景文件:
  • 隐藏按钮

后每四行:可用系统

  • 标题
  • 启动目录:
  • 内核:
  • 虚拟文件系统:
10.2.4 grub加密
  1. grub-md5-crypt
  2. 将秘钥放在grub配置文件背景文件后
  3. 不能加lock

10.3 系统修复模式

10.3.1 单用户模式

修改密码:

  1. 启动时按e,选中grub配置文件内核,按e
  2. grub配置文件内核加空格1,进入系统
  3. passwd root修改密码

修改启动级别:

  • 修改/etc/inittab
10.3.2 光盘修复模式
  1. 光盘启动
  2. chroot /mnt/sysimage
  3. 修复

11.服务管理

11.1 服务分类

  • RPM包安装服务
    • 独立服务
    • 基于xinetd服务
  • 源码包安装服务

11.2 管理

11.2.1 RPM包独立服务
  • 启动

    • 使用/etc/init.d目录下启动脚本启动

      /etc/init.d/httpd start
      
    • 使用service命令启动

      service 独立服务名 start|stop|restart
      
  • 自启动

    • chkconfig命令设置

      chkconfig --level 级别 服务名  on|off
      
    • /etc/rc.d/rc.local文件配置

      vi /etc/rc.d/rc.local
      
    • ntsysv命令设置

      ntsysv --level 级别
      
11.2.2 基于xinetd服务
  • 启动

    • 配置/etc/xinetd.d/telnet
    service 独立服务名 start|stop|restart
    
  • 自启动

    • chkconfig命令设置

      chkconfig 服务名  on|off
      
11.2.3 源码包服务
  • 启动

    • 使用/usr/local/服务/bin/…启动脚本启动

      /usr/local/服务/bin/... start
      
  • 自启动

    • /etc/rc.d/rc.local文件配置

      vi /etc/rc.d/rc.local
      
  • 配置命令识别

    • service命令识别:软连接启动脚本到/etc/init.d目录下

    • chkconfig命令识别:启动脚本前加入

      #chkconfig: 运行级别 启动顺序 关闭
      #description:说明
      
      chkconfig --add 服务名
      

12.系统管理

12.1 进程管理

ps 静态查看进程
top 动态查看进程
pstree 查看进程树
kill 杀死进程
killall 杀死进程
pkill 杀死进程

12.2 工作管理

转入后台:

  • &
  • ctrl+z

后台命令:

  • jobs -l 查看
  • fg %工作号 恢复到前台
  • bg %工作号 后台暂停>后台执行

12.3 资源查看

vmstat					监控系统资源

dmesg					开机时内核检查

free					内存使用情况

/proc/cpuinfo			cpu信息

w						已经登陆用户信息

who      				已经登陆用户信息

uptime					系统启动时间和平均负载

uname					查看系统与内核信息

12.4 定时任务

at						一次性定时任务
crontab					循环定时任务
anacron					关机情况定时任务

13.日志管理(缺)

常见日志文件目录:/var/log/

13.1 rsyslogd服务

配置文件:/etc/rsyslog.conf

13.2 日志轮替

@笔记分享

  • 118
    点赞
  • 874
    收藏
    觉得还不错? 一键收藏
  • 29
    评论
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值