学习linux系统的⼏个简单案例
从案例中学习linux系统,从linux系统中掌握基本使⽤!
修改⽹卡信息
#1.通过命令配置⽹卡地址:(临时⽣效,重启失效)
ifconfig DEVICE [IP] netmask [MASK]
#2.修改⽹卡配置⽂件(永久⽣效)
/etc/sysconfig/network-scripts/ifcfg-eth0
#⽹卡配置⽂件内容
DEVICE="eth0" #⽹卡设备名称
BOOTPROTO="static" #⽹卡启动协议(dhcp通过dhcp⾃动获取地址,static静态指定,none什么都不做) HWADDR="00:0C:29:78:7C:85" #⽹卡mac地址
NM_CONTROLLED=no #是否接受另⼀个服务控制
ONBOOT=yes #⽹卡是否开机激活
TYPE="Ethernet" #⽹卡类型
UUID="f332d9b1-4da0-4faf-83f7-cb893abff9bc" #⽹卡在系统中唯⼀⾝份标识
IPADDR=10.1.1.161 #ip地址
NETMASK=255.255.255.0 #⼦⽹掩码
GATEWAY=10.1.1.254 #⽹关
DNS1=114.114.114.114 #dns服务器
DNS2=115.115.115.115
重启⽹络服务
shell创建文件并写入内容/etc/init.d/network restart
service network restart
创建⼀个⽂件系统
0.查看硬盘使⽤情况,确保有⾜够空间分区 #fdisk -l /dev/sda
1.分区(fdisk,parted) sda--> sda1 sda2 ...
2.格式化(mkfs) sda1 --> sda1
3.挂载(mount) #可选
4.写⼊/etc/fstab
0.查看硬盘使⽤情况,确保有⾜够空间分区
#fdisk -l /dev/sda
#常⽤命令
p #print打印分区表
m #menu打印命令的帮助
l #list列出已知的分区类型
t #type修改分区类型id
n #new新建分区(主分区,扩展分区,逻辑分区)
d #delete删除分区
w #write保存分区信息到分区表
q #quit不保存退出
#需要重读分区表(通过重启或者命令重读)
partx -a /dev/sda
#lsblk 列出所有可⽤块设备的信息
1.分区(fdisk,parted) sda--> sda1 sda2 ...
#交互模式
(1)、fdisk -cu FILE ——> 只适⽤于MBR分区
(2)、parted FILE
mklabel msdos/gpt
mkpart
2.格式化(mkfs) sda1 --> sda1
语法: mkfs -t FS_TYPE 分区⽂件路径
#mkfs -t ext4 /dev/sda5
#mkfs -t ext4 /dev/sda6
#mkfs -t ext4 /dev/sda7
3.挂载(mount) #可选
语法: mount [option] SOURCE MOUNT_POINT
#option
-t FS_TYPE
-a #挂载fstab⽂件中的设备,测试fstab中设备是否能够正常挂载
-o option[,option]... #指定⽂件系统挂载选项
#⽂件系统独⽴挂载选项
defaults #不指定则使⽤此默认挂载选项,包含rw, suid, dev,exec,auto, nouser, async, and relatime ro #readonly,只读
rw #read&write,读写
suid #此⽂件系统中的⽂件的suid位⽣效
nosuid #suid不⽣效
dev #字符设备和块设备⽣效
nodev #不⽣效
exec #运⾏执⾏可执⾏⽂件
noexec
auto #可以被mount -a挂载
noauto
user #允许普通⽤户挂载⽂件系统
async #异步写⼊
sync #同步写⼊
realatime #实时更新atime
#其他挂载选项
remount #重新挂载(不需要卸载)
loop #挂载本地的⽂件到本地的⽬录,⽤于挂载iso镜像⽂件
#SOURCE
设备路径
/dev/sda5
LABEL(⼀般不⽤,因为卷标是可以重复的)
LABEL=xxx
#设置卷标
e2label DEVICE [LABEL_NAME]
UUID(设备在系统中的唯⼀⾝份标识)
UUID=xxx
#查看设备uuid
blkid 块设备
#blkid /dev/sda5
#umount 卸载
前提: ⽂件系统或挂载点不能被其他进程占⽤
lsof
fuser -av
4.查看
#blkid ——> 磁盘信息
#free/swapon -s ——> swap分区信息
5.写⼊/etc/fstab
linux的uuid码也是有内核提供的,在/proc/sys/kernel/random/uuid这个⽂件内
格式: SOURCE MOUNT_POINT FS_TYPE FS_MOUNT_OPTION dump fsck
# /dev/sda5 /mnt/movie ext4 defaults 0 0
# UUID="d1b8d741-cf79-4c26-8b2c-5b81f4e9d989" /mnt/music ext4 defaults 0 0
# LABEL=entertainment /mnt/yule ext4 defaults 0 0
swap分区创建步骤
⽅法⼀: fdisk分区去扩展swap
1.创建分区
fdisk -cu /dev/sda
2.格式化成swap分区
mkswap /dev/sda8
3.挂载
#查看swap分区信息
free
swapon -s
#挂载swap分区
swapon /dev/sda8
swapoff /dev/sda8
4.写⼊fstab
⽅法⼆: 使⽤⼤容量⽂件去挂载
1.⽣成⼀个⼤容量的⽂件
dd if=/dev/zero of=/root/BIGFILE bs=1M count=500
2.格式化
mkswap /root/BIGFILE
3.挂载
swapon /root/BIGFILE
4.写⼊fstab
配置仓库的配置⽂件:
0.清除官⽅仓库配置⽂件(官⽅仓库速度慢)
rm -rf /pos.d/*
1.创建⼀个仓库配置⽂件(/pos.d/以.repo结尾的⽂件) vim /pos.po
[local_repo] #仓库名称(不能有空格)
name=xxx #仓库说明
baseurl= #仓库位置url
#baseurl=file:///media/cdrom
#baseurl=mirrors.163/centos/6/os/x86_64/ #baseurl=ftp://10.1.1.251/cdrom
gpgcheck=0 #是否检查证书 0 | 1
enabled=1 #是否启⽤此仓库 1启⽤(默认) 0禁⽤
gpgkey=PATH #⾃动导⼊证书
2.测试仓库可⽤性
yum clean all #清除yum缓存
yum repolist #测试仓库可⽤性
yum install #软件名称
源码编译安装
源代码 (编译器) 链接⽬标代码
#automake,autoconf
#步骤:
1.下载源码包(. 或 .tgz)
wget /download/nginx-1.13. -C /usr/local/nginx 2.解压(tar -xf FILE)
3.⽣成Makefile(定义软件功能开关,检查源码依赖的库是否齐全)
./configure --prefix=/usr/local/nginx
4.安装makefile定义的内容编译源码⽣成⽂件
make
5.将⽬录代表安装到系统中
make install
伪⽂件系统(存放在内存中)
proc #进程信息,系统状态信息(cpu,内核,swap等)
数字⽬录 #进程信息(扩展了解进程信息⽂件)
cpuinfo #cpu信息
meminfo #内存信息(扩展了解⽂件各种参数意思)
uptime #运⾏时间
cmdline #内核启动时参数
sys⽬录 #可修改内核参数映射⽂件
#/proc/sys 可修改内核参数映射⽂件
net/ipv4/icmp_echo_ignore_all #忽略icmp所有报⽂
net/ipv4/ip_forward #ip转发功能(0关闭,1开启)
#修改内核参数
1.临时修改(不能⽤vi去改)
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
2.永久修改(/f)
#修改配置⽂件 /f
net.ipv4.ip_forward = 0
#让内核重新加载f读取新的内核参数: sysctl -p
⽂件管理命令
创建⽂件
vi/vim NEW_FILE
touch FILE #⽂件存在:修改⽂件时间戳,⽂件不存在:创建空⽂件
mkdir DIR
-p #parents,⾃动创建⽗⽬录
-v #verbose
#创建⽂件或⽬录对inode和block的影响
1.向⽂件系统申请空闲inode⽤来存放⽂件的元数据
2.在⽂件上⼀级⽬录的block中写⼊entry(⽂件与inode对应关系)
3.如果往⽂件写⼊内容向⽂件系统申请空闲block
查看⽂件
ls [option]... #查看⽂件内容
-a #all,显⽰所有⽂件包含隐藏⽂件
-l #long,显⽰⽂件属性
-
i #inode,显⽰⽂件inode编号
-d #directory,显⽰⽬录本⾝
-R #recursive,递归性地显⽰⽂件内容
通配符 #功能是⽤于匹配⽂件名(在路径中使⽤)
* #任意个任意字符
* #任意个任意字符
#单个任意字符
[] #字符集合,可以是[]中的任意⼀个字符
#shell定义的⼀些字符集:
[:digit:] #数字集合
[:alpha:] #字母集合
[:upper:]
[:lower:]
[:alnum:] #数字+字母
[:blank:] #空⽩字符(制表符,空格,换⾏符)
[:space:] #空格
du #查看⽂件占⽤磁盘⼤⼩
-s #summary 汇总,只显⽰⽬录⼤⼩
-h #human-readable,显⽰单位
场景:磁盘空间不⾜需要清除⽇志⽂件,清除前需要查看⽂件占⽤磁盘⼤⼩ du -sh * | grep G #按媒体⽂件、图⽚等类型查看G级别的⽂件⼤⼩
复制⽂件 cp
#语法: cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... DIRECTORY
选项:
-a #archive,归档,⽤于备份⽂件
-r #recursive,递归,⽤于拷贝⽬录
-f #force,强制,忽略交互
-i #interactive,交互
-v #verbose,输出拷贝过程信息
#拷贝⽂件对inode和block影响
#DEST是⼀个⽂件
1.向DEST所在的⽂件系统申请空闲inode
2.在DEST上⼀级⽬录中的block写⼊entry
3.申请空闲block将源⽂件的block拷贝到新的block中
删除⽂件 rm
#语法: rm [option]...
选项:
-r #递归
-f #强制
-i #交互
-v #过程信息
常⽤选项:
rm -rf *
移动⽂件 mv(可以直接移动⽬录)
# 语法: mv SOURCE DEST
选项:
-v
-i
-f
#移动对inode和block影响
情况⼀:在同⽂件系统中移动
#只是将⽂件的entry移动过程
情况⼆:在不同⽂件系统中移动(cp+rm)
⽤户管理:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论