学习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小时内删除。