Linux学习-系统基本设定
网络设定 (手动设定与 DHCP 自动取得)
网络其实是又可爱又麻烦的玩意儿,如果你是网络管理员,那么你必须要了解局域网络内的 IP, gateway, netmask 等参数,如果还想要连上 Internet ,那么就得要理解 DNS 代表的意义为何。如果 你的单位想要拥有自己的域名, 那么架设 DNS 服务器则是不可或缺的。
但鸟哥这里的网络介绍仅止于当你是一部单机的 Linux 客户端,而非服务器!所以你的各项网络参 数只要找到网络管理员, 或者是找到你的 ISP (Internet Service Provider) ,向他询问网络参数的取得 方式以及实际的网络参数即可。 通常网络参数的取得方式在常见的有底下这几种:
- 手动设定固定 IP
常见于学术网络的服务器设定、公司行号内的特定座位等。这种方式你必须要取得底下的几个参 数才能够让你的 Linux 上网的:
IP
子网掩码(netmask)
通讯闸(gateway)
DNS 主机的 IP (通常会有两个,若记不住的话,硬背 168.95.1.1 即可)
网络参数可自动取得 (dhcp 协议自动取得)
常见于 IP 分享器后端的主机,或者是利用电视线路的缆在线网 (cable modem),或者是学校宿舍的网络环境等。 这种网络参数取得方式就被称为 dhcp ,你啥事都不需要知道,只要知道设定上 网方式为 dhcp 即可。
- 光纤到府与 ADSL 宽带拨接
不论你的 IP 是固定的还是每次拨接都不相同 (被称为浮动式 IP),只要是透过光纤到府或宽带调 制解调器『拨接上网』的,就是使用这种方式。 拨接上网虽然还是使用网络卡连接到调制解调器 上,不过,系统最终会产生一个替代调制解调器的网络接口 (ppp0) , 那个 ppp0 也是一个实体 网络接口啦!
了解了网络参数的取得方法后,你还得要知道一下我们透过啥硬件连上 Internet 的呢?其实就是网 络卡嘛。目前的主流网卡为使用以太网络协议所开发出来的以太网卡 (Ethernet),因此我们 Linux 就 称呼这种网络接口为 ethN (N 为数字)。 举例来说,这部测试机上面有一张以太网卡,因此这部主机的网络接口就是 eth0 啰 (第一张为 0 号开始)。
不过新的 CentOS 7 开始对于网卡的编号则有另一套规则,网卡的界面代号现在与网卡的来源有关~基本上的网卡名称会是这样分类的:
- eno1 :代表由主板 BIOS 内建的网卡
- ens1 :代表由主板 BIOS 内建的 PCI-E 界面的网卡
- enp2s0 :代表 PCI-E 界面的独立网卡,可能有多个插孔,因此会有 s0, s1... 的编号~
- eth0 :如果上述的名称都不适用,就回到原本的预设网卡编号
其实不管什么网卡名称啦!想要知道你有多少网卡,直接下达『 ifconfig -a 』全部列出来即可!此 外,CentOS 7 也希望我们不要手动修改配置文件, 直接使用所谓的 nmcli 这个指令来设定网络参 数即可
- 手动设定 IP 网络参数
假设你已经向你的 ISP 取得你的网络参数,基本上的网络参数需要这些数据的:
- method: manual (手动设定)
- IP: 172.16.1.1
- netmask: 255.255.0.0
- gateway: 172.16.200.254
- DNS: 172.16.200.254
- hostname: study.centos.vbird
上面的数据除了 hostname 是可以暂时不理会的之外,如果你要上网,就得要有上面的这些数据才行 啊!然后透过 nmcli 来处理! 你得要先知道的是,nmcli 是透过一个名为『联机代号』的名称来设 定是否要上网,而每个『联机代号』会有个『网卡代号』, 这两个东西通常设定成相同就是了。那 就来先查查看目前系统上默认有什么联机代号吧!
[root@study ~]# nmcli connection show [网卡代号]
[root@study ~]# nmcli connection show
NAME UUID TYPE DEVICE
eth0 505a7445-2aac-45c8-92df-dc10317cec22 802-3-ethernet eth0
# NAME 就是联机代号,通常与后面的网卡DEVICE会一样
# UUID 这个是特殊的装置识别,保留就好
# TYPE 就是网卡的类型,通常是以太网卡
# DEVICE 当然就是网卡名称啰!
# 从上面我们会知道有个 eth0 的联机代号,那么来查察这个联机代号的设定为何?
[root@study ~]# nmcli connection show eth0
connection.id: eth0
connection.uuid: 505a7445-2aac-45c8-92df-dc10317cec22
connection.interface-name: eth0
connection.type: 802-3-ethernet
connection.autoconnect: yes
.....(中間省略).....
ipv4.method: manual
ipv4.dns:
ipv4.dns-search:
ipv4.addresses: 192.168.1.100/24
ipv4.gateway: --
.....(中間省略).....
IP4.ADDRESS[1]: 192.168.1.100/24
IP4.GATEWAY:
IP6.ADDRESS[1]: fe80::5054:ff:fedf:e174/64
IP6.GATEWAY:
如上表的输出,最底下的大写的 IP4, IP6 指的是目前的实际使用的网络参数,最上面的 connection 开头的部份则指的是联机的状态! 比较重要的参数鸟哥将它列出来如下:
- connection.autoconnect [yes|no] :是否于开机时启动这个联机,预设通常是 yes 才对!
- ipv4.method [auto|manual] :自动还是手动设定网络参数的意思
- ipv4.dns [dns_server_ip] :就是填写 DNS 的 IP 地址~
- ipv4.addresses [IP/Netmask] :就是 IP 与 netmask 的集合,中间用斜线 / 来隔开~
- ipv4.gateway [gw_ip] :就是 gateway 的 IP 地址!
所以,根据上面的设定项目,我们来将网络参数设定好吧!
[root@study ~]# nmcli connection modify eth0 \
> connection.autoconnect yes \
> ipv4.method manual \
> ipv4.addresses 172.16.1.1/16 \
> ipv4.gateway 172.16.200.254 \
> ipv4.dns 172.16.200.254
# 上面只是『修改了配置文件』而已,要实际生效还得要启动 (up) 这个 eth0 联机界面才行喔!
[root@study ~]# nmcli connection up eth0
[root@study ~]# nmcli connection show eth0
.....(前面省略).....
IP4.ADDRESS[1]: 172.16.1.1/16
IP4.GATEWAY: 172.16.200.254
IP4.DNS[1]: 172.16.200.254
IP6.ADDRESS[1]: fe80::5054:ff:fedf:e174/64
IP6.GATEWAY:
最终执行『 nmcli connection show eth0 』然后看最下方,是否为正确的设定值呢?如果是的话,那 就万事 OK 啦!
- 自动取得 IP 参数
如果你的网络是由自动取得的 DHCP 协议所分配的,那就太棒了!上述的所有功能你通通不需要 背~只需要知道 ipv4.method 那个项目填成 auto 即可!
[root@study ~]# nmcli connection modify eth0 \
> connection.autoconnect yes \
> ipv4.method auto
[root@study ~]# nmcli connection up eth0
[root@study ~]# nmcli connection show eth0
IP4.ADDRESS[1]: 172.16.2.76/16
IP4.ADDRESS[2]: 172.16.1.1/16
IP4.GATEWAY: 172.16.200.254
IP4.DNS[1]: 172.16.200.254
- 修改主机名
主机名的修改就得要透过 hostnamectl 这个指令来处理了!
[root@study ~]# hostnamectl [set-hostname 你的主机名]
# 1. 显示目前的主机名与相关信息
[root@study ~]# hostnamectl
Static hostname: study.centos.vbird # 这就是主机名
Icon name: computer
Chassis: n/a
Machine ID: 309eb890d09f440681f596543d95ec7a
Boot ID: b2de392ff1f74e568829c716a7166ecd
Virtualization: kvm
Operating System: CentOS Linux 7 (Core) # 操作系统名称!
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-229.el7.x86_64 # 核心版本也提供!
Architecture: x86_64 # 硬件等级也提供!
# 2. 尝试修改主机名为 www.centos.vbird 之后再改回来~
[root@study ~]# hostnamectl set-hostname www.centos.vbird
[root@study ~]# cat /etc/hostname
www.centos.vbird
[root@study ~]# hostnamectl set-hostname study.centos.vbird
日期与时间设定
- 时区的显示与设定
怎么知道目前的时区设定是正确的呢? 就透过 timedatectl 这个指令吧!
[root@study ~]# timedatectl [commamd]
选项与参数:
list-timezones :列出系统上所有支持的时区名称
set-timezone :设定时区位置
set-time :设定时间
set-ntp :设定网络校时系统
# 1. 显示目前的时区与时间等信息
[root@study ~]# timedatectl
Local time: Tue 2015-09-01 19:50:09 CST # 本地时间
Universal time: Tue 2015-09-01 11:50:09 UTC # UTC 时间,可称为格林威治标准时间
RTC time: Tue 2015-09-01 11:50:12
Timezone: Asia/Taipei (CST, +0800) # 就是时区啰!!
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
# 2. 显示出是否有 New_York 时区?若有,则请将目前的时区更新一下
[root@study ~]# timedatectl list-timezones | grep -i new
America/New_York
America/North_Dakota/New_Salem
[root@study ~]# timedatectl set-timezone "America/New_York"
[root@study ~]# timedatectl
Local time: Tue 2015-09-01 07:53:24 EDT
Universal time: Tue 2015-09-01 11:53:24 UTC
RTC time: Tue 2015-09-01 11:53:28
Timezone: America/New_York (EDT, -0400)
[root@study ~]# timedatectl set-timezone "Asia/Taipei"
# 最后还是要记得改回来台湾时区喔!不要忘记了!
- 时间的调整
由于测试机使用的是虚拟机,预设虚拟机使用的是 UTC 时间而不是本地时间,所以在预设的 情况下,测试机每次开机都会快上 8 小时... 所以就需要来调整一下时间啰!时间的格式可以是
『 yyyy-mm-dd HH:MM 』的格式!比较方便记忆喔!
# 1. 将时间调整到正确的时间点上!
[root@study ~]# timedatectl set-time "2015-09-01 12:02"
过去我们使用 date 去修改日期后,还得要使用 hwclock 去订正 BIOS 记录的时间~现在透过 timedatectl 一口气帮我们全部搞定,方便又轻松!
- 用 ntpdate 手动网络校时
那如何手动网络校时呢?很简单,透过 ntpdate 这个指令即可!
[root@study ~]# ntpdate tock.stdtime.gov.tw
1 Sep 13:15:16 ntpdate[21171]: step time server 211.22.103.157 offset -0.794360 sec
[root@study ~]# hwclock -w
语系设定
LANG 与 locale 的指令能够查询目前的语系数据与变量,也知道 /etc/locale.conf 其实就是语系的配置文件。 此外,你还得要知道的是,系统的语系与你目前软件的 语系数据可能是可以不一样的!如果想要知道目前『系统语系』的话, 除了呼叫配置文件之外,也能够使用 localectl 来查阅:
[root@study ~]# localectl
System Locale: LANG=zh_TW.utf8 # 底下这些数据就是『系统语系』
LC_NUMERIC=zh_TW.UTF-8
LC_TIME=zh_TW.UTF-8
LC_MONETARY=zh_TW.UTF-8
LC_PAPER=zh_TW.UTF-8
LC_MEASUREMENT=zh_TW.UTF-8
VC Keymap: cn
X11 Layout: cn
X11 Options: grp:ctrl_shift_toggle
[root@study ~]# locale
LANG=zh_TW.utf8 # 底下的则是『当前这个软件的语系』数据!
LC_CTYPE="en_US.utf8"
LC_NUMERIC="en_US.utf8"
.....(中間省略).....
LC_ALL=en_US.utf8
从上面的两个指令结果你会发现到,系统的语系其实是中文的万国码 (zh_TW.UTF8) 这个语系。不 过鸟哥为了目前的教学文件制作, 需要取消中文的显示,而以较为单纯的英文语系来处理~因此使 用 locale 指令时,就可以发现『鸟哥的 bash 使用的语系环境为 en_US.utf8』这一个! 我们知道直 接输入的 locale 查询到的语系,就是目前这个 bash 默认显示的语言,那你应该会觉得怪,那系统 语系 (localectl) 显示的语系用在哪?
其实一登入系统时,取得的语系确实是 zh_TW.utf8 这一个的,只是透过『 export LC_ALL=en_US.utf8 』来切换为英文语系而已。 此外,如果你有启用图形界面登入的话,那么默认 的显示语系也是透过这个 localectl 所输出的系统语系喔!
Linux学习-系统基本设定的更多相关文章
- linux学习-系统监控工具
系统监控工具 come from:https://blog.csdn.net/free050463/article/details/82842273top.free.vmstat.iostat.pma ...
- Linux学习 - 系统定时任务
1 crond服务管理与访问控制 只有打开crond服务打开才能进行系统定时任务 service crond restart chkconfig crond on 2 定时任务编辑 crontab [ ...
- Linux学习笔记 备份摘要
方案的目的:备份最重要的Linux档案 系统基本设定资讯 网络服务的内容资料 1.系统基本设定资讯 /etc 整个目录 其中 /etc/passwd /etc/show /etc/group /etc ...
- Linux学习之Centos(三)------系统文件目录及含义详解
Linux学习之Centos 之三------文件目录及含义 在了解了每个文件的相关种类与属性,以及了解了如何更改文件属性/权限的相关信息后,再来要了解的就是, 为什么每套Linux distribu ...
- Linux学习之三-Linux系统的一些重要配置文件
Linux学习之三-Linux系统的一些重要配置文件 1.网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 说明: DEVICE=eth0 ...
- Linux学习之系统时间同步
一.系统时间的设置 在Linux中设置系统时间,可以用date命令: //查看时间 [root@localhost ~]# date 2008年 12月 12日 星期五 :: CST //修改时间 [ ...
- Linux学习之系统的构建
实验环境:ubuntu 12.04 LTS 内核版本:linux-3.9.4 因为一直以来都对Linux的工作机理比较感兴趣,所以正好这两天有机会好好的研究一下,那闲话不多说,直接进入正题. 俗话说的 ...
- Linux学习笔记-Linux系统简介
Linux学习笔记-Linux系统简介 UNIX与Linux发展史 UNIX是父亲,Linux是儿子. UNIX发行版本 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP P ...
- Linux学习之二-Linux系统的目录结构
Linux学习之二-Linux系统的目录结构 在Linux的根目录下,有很多的目录,但是需要记住,对于Linux而言,一切皆文件.因此此处的目录也是文件.用ls / 命令就能看到根目录下的各类不同的目 ...
随机推荐
- MYSQL查询~ 存在一个表而不在另一个表中的数据
A.B两表,找出ID字段中,存在A表,但是不存在B表的数据.A表总共13w数据,去重后大约3W条数据,B表有2W条数据,且B表的ID字段有索引. 方法一 使用 not in ,容易理解,效率低 ~执 ...
- LCA 离线做法tarjan
tarjan(int u) { int v; for(int i=h[u];i;i=nex[i])//搜索边的 { v=to[i]; tarjan(v); marge(u,v); vis[v]=; } ...
- 有关JSOUP学习分享(一)
其实现在用JSOUP爬虫的也不多了,但是由于最近换公司,做数据爬虫需要用到,就看了下,感觉还是挺好用的,原理什么的感觉和weblogic也差不到哪里去,废话少说,这里就简单的分享下最近接触的干货. J ...
- 图解HTTP总结
一.TCP/IP 的分层管理 二.TCP/IP通信传输流 ARP地址解析协议参考:https://www.cnblogs.com/csguo/p/7527303.html 三.各种协议与HTTP协议的 ...
- [选择排序] 时间复杂度O(n^2)
思路:从未排序的序列中,找到最小的元素,放到序列的起始位置, 再从剩下没排序的里面,找到最小的,放到已经排序的末尾. 原地操作几乎是选择排序的唯一优点,当空间复杂度要求较高时,可以考虑选择排序:实际适 ...
- EasyUI Tabs + Yii2.0实现iframe方式打开页面(解决共用静态文件引入加载的问题)
在项目实际开发中,有将打开的各个链接页面隔离的需求(防止静态资源起冲突),这个时候常规思路就是使用iframe来实现!但遇到一个比较棘手的问题,当用easyui Tabs打开一个iframe页面时,怎 ...
- Python之查询最新的文件
import os # 定义文件的目录 result_dir = r'E:\python\测试报告' lists = os.listdir(result_dir) # 重新按时间对目录下的文件进行排序 ...
- 如何从桌面程序向浏览器传递cookie或自定义header
类似问题 从c#程序启动ie并传递cookie 打开默认浏览器并传递cookie 打开一个web浏览器使用c#应用程序并添加请求头 猜想 从wpf程序打开默认浏览器并定位到一个url ,并且向这个ur ...
- 从照片网站pexels批量爬取照片
调试中,未成功. from bs4 import BeautifulSoup import requests headers={ #'User-Agent':'Nokia6600/1.0 (3.42. ...
- Update主循环的实现原理
从写一段程序,到写一个app,写一个游戏,到底其中有什么不同呢?一段程序的执行时间很短,一个应用的执行时间很长,仅此而已.游戏中存在一个帧的概念. 这个概念大家都知道,类比的话,它就是电影胶卷的格.一 ...