您的位置:首页 > 运维架构 > Linux

linux学习总结(一)

2019-07-18 16:08 190 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_44091267/article/details/95354576

linux中,一切皆文件
从图形化界面切换到命令行界面:1:su root 2:init 3

文章目录

1.linux图形与命令行界面切换

#临时切换
init 3
init 5

#linux图形转命令行 root用户执行
vi /etc/inittab
把最后一行,即id:3:initdefault:中的3改成5就行

#centos图形转命令行 root用户执行
新版本的CentOS 系统里使用’targets’ 取代了运行级别的概念。系统有两种默认的’targets’: 多用户.target 对应之前版本的3 运行级别; 而图形.target 对应之前的5运行级别。
#查看默认的target,执行:
systemctl get-default
#开机以命令模式启动,执行:
systemctl set-default multi-user.target
#开机以图形界面启动,执行:
systemctl set-default graphical.target

#重启生效
reboot

2.网络配置连接

#查看ip
ifconfig -a
#问题:cnetos7最小化安装ifconfig命令找不到,使用如下命令
ip addr
ip link

#网卡配置文件
cd /etc/sysconfig/network-scripts/
#使用 ls 选择网卡

#配置文件内容如下:
配置文件位置:/etc/sysconfig/network-scripts/ifcfg-eth0
1. DEVICE=eth0 网卡的名字
2. HWADDR=00:0c:29:90:89:d9 HWADDR HardWare Address 硬件地址 MAC地址
3. TYPE=Ethernet 网络类型 以太网
4. UUID=ae779ae6-044d-43d5-a33b-48c89e8de10e #UUID 做到系统中独一无二。
5. ONBOOT=yes BOOT ON ? 在开机或重启网卡的时候是否启动网卡  推荐:yes
6. NM_CONTROLLED=yes 是否受network程序管理
7. BOOTPROTO=none 网卡是如何获取到ip地址 网卡获取ip地址的方式
  a. dhcp 自动获取ip地址
  b. none 固定的ip地址
  c. static 固定的ip地址
8. IPADDR=10.0.0.100 IPADDR ip地址
9. NETMASK=255.255.255.0 子网掩码 决定这个局域网中最多有多少台机器
10. GATEWAY=10.0.0.2 网关 整个大楼的大门
11. USERCTL=no 普通用户是否能控制网卡
12. /etc/resolv.conf 配置DNS 网卡配置文件的DNS优先于/etc/resolv.conf
13. DNS 域名解析器 阿里的域名解析器:223.5.5.5 223.6.6.6
重启网卡 /etc/init.d/network restart
重启网卡 systemctl restart network

DNS是域名解析系统,提供域名解析服务

常用的DNS域名解析有:
谷歌:8.8.8.8
百度:180.76.76.76
阿里:223.5.5.5
114:114.114.114.114

3.文件系统目录


/bin:
bin是Binary的缩写, 这个目录存放着最经常使用的命令。
/boot:
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev :
dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc:
这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:
用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib:
这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found:
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
/opt:
这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc:
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
/root:
该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/selinux:
这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
/srv:
该目录存放一些服务启动之后需要提取的数据。
/sys:
这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs
sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
/tmp:
这个目录是用来存放一些临时文件的。
/usr:
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
/usr/bin:
系统用户使用的应用程序。
/usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:内核源代码默认的放置目录。
/var:
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

drwxr-xr-x
第1个字母:代表文件类型
第2~4字母:代表用户的权限
第5~7字母:代表用户组的权限
第8~10字母:代表其他的用户的权限
第一个字母
-	普通文件,即file
d	目录文件
b	block device 即块设备文件,如硬盘;支持以block为单位进行随机访问    -io文件
c	character device 即字符设备文件,如键盘支持以character为单位进行线性访问  -io文件
l	symbolic link 即符号链接文件,又称软链接文件
p	pipe 即命名管道文件
s	socket 即套接字文件,用于实现两个进程进行通信
文件权限
r:写
w:读
x:执行

4.xshell使用

#在xshell的命令行下
ssh 主机IP

5.常用命令

shell命令结构:命令 -选项 参数 --选项=参数
注意:空格
shell命令会进行空白切割,第一个字符串认为是命令
经常使用 help 帮助 和 man 帮助手册
man:空格-向下翻屏 回车-向下翻一行 b-向上翻屏 按/ +内容可以查找内容:n向下 N向上 q-退出

#查看文件位置(绝对路径),和它是什么
type yum
#查看文件类型:file 文件路径
file /user/bin/yum
$:/usr/bin/yum: Python script, ASCII text executable
#进入目录 -返回上一次目录 ~返家目录
cd
#查看指定目录的文件列表 -l下拉列表  -a显示隐藏
ls
#查看当前目录
pwd
#报告文件系统磁盘空间使用情况
df
#文件系统空间使用情况
du
#加载文件系统到指定的加载点
mount /dev/sda1 /boot
#查看系统进程
ps -fe
#杀死进程
kill -9 进程号
#查看端口使用情况
netstat -ntulp |grep 80   //查看所有80端口使用情况
#创建目录
mkdir diradd
#删除 -rf删除目录
rm 文件
#拷贝
cp 文件目录 复制文件的目录
#移动
mv 文件目录 移动目录
mv 文件名a  文件名b #文件重命名
#链接:就是不同的文件指向同一个物理存储位置
ln 源文件 链接生成的文件 #硬链接 文件链接数加1,并且两个文件链接数一样
ln -s 源文件 链接生成的文件#软链接 类似快捷方式
#查看元数据 记录文件属性的数据
stat 文件名
#元数据3个时间相同,创建不存在的文件的  touch(摸)
touch 文件名
#打开查看文件
cat 文件名#显示文件内容并退出(适合打开小文件)
more 文件名#分页打开 操作:空格-下页,b-上页
head -5 文件名#前5行显示
tail -5 文件名#后5行显示
#查看路由表
route -n
#查看防火墙状态
systemctl status firewalld.service
#开启防火墙
systemctl start firewalld.service
#关闭防火墙
systemctl stop firewalld.service

链接:


linux内核是unux
kernel内核
用户态和内核态的切换
当在系统中执行一个程序时,大部分时间是运行在用户态下的,在其需要操作系统帮助完成一些用户态自己没有特权和能力完成的操作时就会切换到内核态

6.挂载

磁盘存储位置与文件的目录是解耦的,挂载的实质是为磁盘添加入口

umount /boot #不挂载
此时boot目录归属于/目录也就是sda3分区但是实际存储位置在sda1,
通过目录树查找将查不到内容
mount /dev/sda1 /boot  #挂载

7.用户

useradd  用户名
passwd  用户名 #root用户可以改所有用户的密码,其他用户只能修改自己的
groupadd 组名 #添加组
usermod -a -G 组名 用户名 #将用户添加到组
chown 文件持有者:文件用户组  文件#修改文件持有组
#修改文件权限
#chmod u g o a +/- rwx  文件
chmod 700 文件名

8.linux启动过程

GNU GRUB(GRand Unified Bootloader简称“GRUB”):多操作系统启动程序,允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统


启动第一步--加载BIOS
当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了。

启动第二步--读取MBR
众所周知,硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,别看地方不大,可里面却存放了预启动信息、分区表信息。
系统找到BIOS所指定的硬盘的MBR后,就会将其复制到0×7c00地址所在的物理内存中。其实被复制到物理内存的内容就是Boot Loader,而具体到你的电脑,那就是lilo或者grub了。

启动第三步--Boot Loader
Boot Loader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核做好一切准备。
Boot Loader有若干种,其中Grub、Lilo和spfdisk是常见的Loader。
我们以Grub为例来讲解吧,毕竟用lilo和spfdisk的人并不多。
系统读取内存中的grub配置信息(一般为menu.lst或grub.lst),并依照此配置信息来启动不同的操作系统。

启动第四步--加载内核
根据grub设定的内核映像所在路径,系统读取内存映像,并进行解压缩操作。此时,屏幕一般会输出“Uncompressing Linux”的提示。当解压缩内核完成后,屏幕输出“OK, booting the kernel”。
系统将解压后的内核放置在内存之中,并调用start_kernel()函数来启动一系列的初始化函数并初始化各种设备,完成Linux核心环境的建立。至此,Linux内核已经建立起来了,基于Linux的程序应该可以正常运行了。

启动第五步--用户层init依据inittab文件来设定运行等级
内核被加载后,第一个运行的程序便是/sbin/init,该文件会读取/etc/inittab文件,并依据此文件来进行初始化工作。
其实/etc/inittab文件最主要的作用就是设定Linux的运行等级,其设定形式是“:id:5:initdefault:”,这就表明Linux需要运行在等级5上。Linux的运行等级设定如下:
0:关机
1:单用户模式
2:无网络支持的多用户模式
3:有网络支持的多用户模式
4:保留,未使用
5:有网络支持有X-Window支持的多用户模式
6:重新引导系统,即重启
关于/etc/inittab文件的学问,其实还有很多

启动第六步--init进程执行rc.sysinit
在设定了运行等级后,Linux系统执行的第一个用户层文件就是/etc/rc.d/rc.sysinit脚本程序,它做的工作非常多,包括设定PATH、设定网络配置(/etc/sysconfig/network)、启动swap分区、设定/proc等等。如果你有兴趣,可以到/etc/rc.d中查看一下rc.sysinit文件,里面的脚本够你看几天的

启动第七步--启动内核模块
具体是依据/etc/modules.conf文件或/etc/modules.d目录下的文件来装载内核模块。

启动第八步--执行不同运行级别的脚本程序
根据运行级别的不同,系统会运行rc0.d到rc6.d中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务。

启动第九步--执行/etc/rc.d/rc.local
你如果打开了此文件,里面有一句话,读过之后,你就会对此命令的作用一目了然:
#This script will be executed after all the other init scripts.
#You can put your own initialization stuff in here if you don’t
#want to do the full Sys V style init stuff.
rc.local就是在一切初始化工作后,Linux留给用户进行个性化的地方。你可以把你想设置和启动的东西放到这里。

启动第十步--执行/bin/login程序,进入登录状态
此时,系统已经进入到了等待用户输入username和password的时候了,你已经可以用自己的帐号登入系统了。\

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: