前言:
所有的电脑软件,都是用电脑语言编写出来的。无论是office,windows,linux以及Sohu里的网页,还是本软件,都是由人用电脑语言精心编写而成。
简单来说(相对于 从1946年计算机被冯.诺伊曼发明以来的至今的72年历史而言确实是简单来说。)
从人的易用性来分,电脑语言好用程度从难到易可以分为三类:
一类是低级语言,如汇编语言、机器语言
一类是中级语言,如c语言
还有一类为高级语言。java python 都有自己的编译器
当前,我们要学的是高级语言。电脑语言的级别越高,越接近人类语言,但灵活性与效率也越低。
机器语言最难用,但它是电脑的母语,因此它能直接存取电脑里的一切资源,运行效率也最高,而像VB等一些高级语言,在做一些细节工作时就很不方便。
如果从电脑语言的执行方式来看,则也可分为三种:
一种是编译形式,即通过编译系统,将用户输入的高级(中级)语言指令预先翻译成机器语言形式,每次运行时直接以机器语言的形式运行,速度快,保密性强,但编译后的结果跟机器有关,换一种机器可能不能执行。
一种是解释运行方式,即每次执行时由一个解释器将用户输入的高级(或中级)语言解释成机器语言,然后操作,此种方式的运行速度慢、保密性差,但适用的机器广,只要这种电脑里配备了相应语言的解释器,则都可运行用户编写的程序,早期的Basic电脑语言,现在的Lisp语言,Html都是解释型的。
另一种是介于两者之间的,即半编译,半解释型,兼由两者的优点。如java语言,C#语言等。他们的特点是系统先将用户输入的指令翻译成一种通用的,比较规则的中间形式的代码,保密性强,运行时则由所在机器的解释器进行解释,适用的电脑类型范围比较广。
电脑本身是没有思维能力的,他是严格按照人的预先设定指令工作的。这些指令都是用电脑语言按一定的语法规则写成的,我们称之为程序或软件
如同任何一种语言,电脑语言也有自己的名词,自己的基本词汇,自己的语法结构。并且它们的语法结构大致相同。
- 典型服务模式
C/S,Client/Server架构
– 由服务器提供资源或某种功能
– 客户机使用资源或功能
- TCP/IP协议及配置
TCP/IP是最广泛支持的通信协议集合
– 包括大量Internet应用中的标准协议
– 支持跨网络架构、跨操作系统平台的通信
- 主机与主机之间通信的三个要素
- – IP地址(IP address)
- – 子网掩码(subnet mask)
- – IP路由(IP router)
IP地址 : 唯一标识网络中一台主机
IP地址:身份证号
- 作用:用来标识一个节点的网络地址
- 地址组成(点分十进制):
ipv4地址:
- - 一共32个二进制位
- – 表示为4个十进制数,以 . 隔开
- – 网络位与主机位
- – 网络位:代表本ip属于哪一个网络
- – 主机位:在该网络中编号
IP地址的分类
- – A类:1 ~ 127 网+主+主+主
- – B类:128 ~ 191 网+网+主+主
- – C类:192 ~ 223 网+网+网+主
组播及科研专用
- – D类:224 ~ 239 组播
- – E类:240 ~ 254 科研·
子网掩码:标识 ip地址的网络位与主机位,用1代表网络位 0代表主机位
配置ip地址:
1.手工配置
2.自动获取(DHCP服务)
什么是网关
- – 从一个网络 接到 另一个网络的“关口”
- – 不同网络之间的通信
本网连通性测试
– ping同一网段内其他计算机的IP地址
什么是Linux
一个操作系统:一群软件的集合,让计算机硬件正常工作
Linux服务器操作系统
UNIX诞生 1970-1-1
Linux之父,Linus Torwalds
Linux系统内核:软件
用户操作--------->内核-------->调配所有的硬件
– 版本号:主版本.次版本.修订号
是一套的完整Linux系统
– Linux内核 + 各种应用软件
Linux管理员用户:root
如何使用硬盘
一块硬盘的“艺术”之旅
– 物理硬盘==>分区规划==>格式化==>读/写文档
格式化:赋予分区空间文件系统的过程
文件系统:数据在空间排列的规则
典型的文件系统类型
- – EXT4,第四代扩展文件系统,RHEL6系列默认
- – XFS,高级日志文件系统,RHEL7系列默认
- – SWAP,交换空间(虚拟内存) 缓解真实物理内存的压力
Linux目录结构,树型结构
根目录:所有的数据都在此目录下(Linux系统的起点)
/dev : 所有设备文件相关的数据都在此目录下
- hd,表示IDE设备
- sd,表示SCSI设备
- vd,表示virtual设备 虚拟化设备
/dev/hda /dev/hdb /dev/hdc /dev/hdd
/dev/sda /dev/sdb /dev/sdc /dev/sdd
/dev/sda6 :该设备表示的含义
表示SCSI设备第一块硬盘第6个分区
通过软件来模拟真实计算机的一类软件程序
- – 一台物理机可运行多个虚拟机
- – 每个虚拟机提供一个相对独立的操作系统环境
安装完成:
点击 “未列出”
利用root用户登陆输入密码
RHEL7基本操作
命令行基本操作
虚拟控制台切换( Ctrl + Alt + Fn 组合键)
- – tty1 : 图形桌面
- – tty2 ~ tty6 : 字符控制台
命令行提示标识的含义
– [当前用户@主机名 当前所在位置]
– 若当前用户是root,则最后一个字符为 #
pwd — Print Working Directory
– 用途:查看当前工作目录
cd — Change Directory
– 用途:切换工作目录
– 格式:cd [目标文件夹位置]
ls — List
– 格式:ls [选项]... [目录或文件名]...
用户的 家目录 的概念
/root : Linux管理员的家目录
/home/ : 存放所有普通用户的家目录
~: 当前用户的家目录
cat 查看文本文件的内容
/etc/redhat-release : 当前系统版本的文件
[root@localhost ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.4 (Maipo)
[root@localhost ~]# cat /etc/passwd #查看/etc/passwd文件的内容
查看及设置主机名
hostname
[root@localhost ~]# hostname
localhost.localdomain
[root@localhost ~]# hostname nsd1802
[root@localhost ~]# hostname
nsd1802
[root@localhost ~]#
新开一个终端 验证提示符的变化
或者修改/etc/hostname
或者hostnamectl set-hostname nsd1802
查看本机ip地址
127.0.0.1 永远代表本机
Ctrl+c: 结束当前正在运行的指令
[root@localhost ~]# ifconfig
[root@localhost ~]# ifconfig eth0 192.168.1.1
[root@localhost ~]# ifconfig
[root@localhost ~]# ping 192.168.1.1
Ctrl+c: 结束当前正在运行的指令
列出CPU处理器信息
[root@room9pc01 ~]# lscpu
......
型号名称:
Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
......
检查内存大小、空闲情况
/proc/meminfo :储存内存信息的文件
[root@room9pc01 ~]# cat /proc/meminfo
MemTotal: 16166612 kB
关机:poweroff
[root@svr7 ~]# poweroff
重启:reboot
[root@svr7 ~]# reboot
mkdir — Make Directory
新建目录
命令完整的格式
命令字 选项 参数
操作 如果执行该操作 作用于那个对象
# cat -n /etc/default/useradd
admin3
查看内核版本
[root@nsd1802 ~]# uname -r
3.10.0-693.el7.x86_64
[root@nsd1802 ~]# hostname #显示主机名
[root@nsd1802 ~]# pwd #显示当前所在位置
[root@nsd1802 ~]# cd / #切换到 / 目录下
[root@nsd1802 /]# pwd #显示当前所在位置
[root@nsd1802 /]# ls #显示当前所在目录的 内容
查看文本文件内容
[root@nsd1802 ~]# cat #不适合 查看大文件
[root@nsd1802 ~]# less /etc/passwd #适合查看大文件,分屏阅读工具
按 q 退出
查看文本文件部分内容
[root@nsd1802 ~]# head -3 /etc/passwd #显示文本文件内容的前3行
[root@nsd1802 ~]# tail -4 /etc/passwd #显示文本文件内容的尾部4行
[root@nsd1802 ~]# head -2 /etc/passwd #显示文本文件内容的前2行
[root@nsd1802 ~]# tail -1 /etc/passwd #显示文本文件内容的尾部1行
[root@nsd1802 ~]# head /etc/passwd #默认显示文本文件前10行
[root@nsd1802 ~]# tail /etc/passwd #默认显示文本文件尾10行
查看文本文件,包含指定字符串的行
grep '指定字符串' /路径/文本文件
[root@nsd1802 ~]# grep 'root' /etc/passwd
命令行基础[root@nsd1802 ~]#
• Linux命令
– 用来实现某一类功能的指令或程序
执行命令一般都要找到相应的程序
– 命令的执行依赖于解释器(例如:/bin/bash)
默认的解释器:/bin/bash
绿色:可以执行的程序
用户 ------------>命令----------->$PATH--------->解释器 -------->内核------->硬件
命令行的一般格式
• 基本用法
– 命令字 [选项]... [参数1] [参数2]...
[root@server0 ~]# ls -l /root/
• 快捷键
- – Ctrl + l: 清空整个屏幕
- – Ctrl + c: 结束正在运行的命令
- – Esc + . : 粘贴上一个命令的参数
- – Ctrl + u:清空至行首
- – Ctrl + w:往回删除一个单词(以空格界定)
mount挂载操作
访问光盘的内容
windows:
光盘文件------->光驱设备------->CD驱动器
Linux:
光盘文件------->光驱设备-------->访问点(随意的目录)
青色:快捷方式
访问点: 在访问设备资源时
1.通过图形将光盘文件放入光驱设备
2.查看光驱设备文件
[root@nsd1802 ~]# ls /dev/sr0
/dev/sr0
[root@nsd1802 ~]# ls /dev/cdrom
/dev/cdrom
[root@nsd1802 ~]# ls -l /dev/cdrom #以长格式显示参数详细属性
3.访问光驱设备内容
[root@nsd1802 ~]# mkdir /dvd
[root@nsd1802 ~]# ls /dvd/
[root@nsd1802 ~]# mount /dev/cdrom /dvd #让/dvd目录成为/dev/cdrom访问点
[root@nsd1802 ~]# ls /dvd/
4.卸载
[root@nsd1802 ~]# umount /dvd
[root@nsd1802 ~]# ls /dvd/
[root@nsd1802 ~]# mount /dev/cdrom /dvd #让/dvd目录成为/dev/cdrom访问点
[root@nsd1802 ~]# ls /dvd/
注意:
1.挂载时 挂载点目录(访问点)尽量不要是 根目录 已经存在的目录,自己创建新目录
2.卸载时 当前路径,不能是挂载点目录(访问点)
目录 与 文件 的管理
• cd — Change Directory
– 用途:切换工作目录
– 格式:cd [目标文件夹位置]
绝对路径: 以根目录开始的路径
相对路径: 不以根目录开始的路径,以当前为参照的路径
[root@nsd1802 /]# cd /etc/pki/ #绝对路径
[root@nsd1802 pki]# cd CA #相对路径
[root@nsd1802 CA]# pwd
[root@nsd1802 pki]# cd .. #后退一层
[root@nsd1802 etc]# pwd
~user表示用户user的家目录
[root@nsd1802 log]# cd ~root
[root@nsd1802 ~]# pwd
/root
[root@nsd1802 ~]# cd ~lisi
[root@nsd1802 lisi]# pwd
/home/lisi
[root@nsd1802 lisi]# useradd tom #创建用户tom
[root@nsd1802 lisi]# cd ~tom
[root@nsd1802 tom]# pwd
/home/tom
[root@nsd1802 /]# cd #默认回家
[root@nsd1802 /]#cd - 返回到上一次目录
• ls — List
– 格式:ls [选项]... [目录或文件名]
• 常用命令选项(查看命令的帮助信息可以使用 man 命令)
- – -l:以长格式显示
- – -A:包括名称以 . 开头的隐藏文档
- – -d:显示目录本身(而不是内容)的属性
- – -h:提供易读的容量单位(K、M等)
使用通配符
• 针对不确定的文档名称,以特殊字符表示
– *:任意多个任意字符
– ?:单个字符
[root@nsd1802 /]# ls /boot/init* #显示/boot目录下init开头
[root@nsd1802 /]# ls /boot/vm* #显示/boot目录下vm开头
[root@nsd1802 /]# ls /etc/*.conf #显示/etc目录下.conf结尾
[root@nsd1802 /]# ls /dev/tty* #显示/dev目录下tty开头
[root@nsd1802 /]# ls /dev/tty? #显示/dev目录下tty开头后面一个字符的
[root@nsd1802 /]# ls /dev/tty?? #显示/dev目录下tty开头后面二个字符的
[root@nsd1802 /]# ls /dev/tty??? #显示/dev目录下tty开头后面三个字符的
针对不确定的文档名称,以特殊字符表示
- – [a-z]:多个字符或连续范围中的一个,若无则忽略
- – {a,min,xy}:多组不同的字符串,全匹配
[root@nsd1802 /]# ls /dev/tty{1,3,5,7,9,23}
[root@nsd1802 /]# ls /dev/tty[1-4]
[root@nsd1802 /]# ls /dev/tty[1-7]
[root@nsd1802 /]# ls /dev/tty{1,3,5,7,9,23,S0}
请显示/dev目录下,tty设备 显示 tty20~tty30
[root@nsd1802 /]# ls /dev/tty2[0-9] /dev/tty30
[root@nsd1802 /]# ls /dev/tty{2[0-9],30}
别名的定义,简化较为复杂的命令
[root@nsd1802 /]# alias hn='hostname' #设置命令的别名
[root@nsd1802 /]# hn
[root@nsd1802 /]# alias aa='ls -ld' #设置命令的别名
[root@nsd1802 /]# aa /root/
[root@nsd1802 /]# alias
[root@nsd1802 /]# unalias hn #删除命令的别名
[root@nsd1802 /]# hn
bash: hn: 未找到命令...
[root@server0 ~]# mkdir -p /vod/movie/cartoon #-p表示连父目录一起创建
[root@nsd1802 /]# mkdir -p /opt/aa/bb/cc/dd
[root@nsd1802 /]# mkdir /boot/nsd02 /mnt/nsd03 /opt/nsd04
[root@nsd1802 /]# ls /boot
[root@nsd1802 /]# ls /mnt/
[root@nsd1802 /]# ls /opt/
复制、删除、移动
rm 删除
• rm — Remove
– 格式:rm [选项]... 文件或目录...
• 常用命令选项
– -r、-f:递归删除(含目录)、强制删除
[root@nsd1802 /]# mkdir /opt/test01
[root@nsd1802 /]# mkdir /opt/test02
[root@nsd1802 /]# touch /opt/1.txt
[root@nsd1802 /]# rm -rf /opt/test01
[root@nsd1802 /]# ls /opt
[root@nsd1802 /]# rm -rf /opt/test02
[root@nsd1802 /]# ls /opt
[root@nsd1802 /]# rm -rf /opt/1.txt
[root@nsd1802 /]# ls /opt
mv 移动/改名
• mv — Move
– 格式:mv [选项]... 原文件... 目标路径
[root@nsd1802 /]# rm -rf /opt/*
[root@nsd1802 /]# mkdir /opt/nsd01
[root@nsd1802 /]# touch /opt/1.txt
[root@nsd1802 /]# ls /opt/
[root@nsd1802 /]# mv /opt/1.txt /opt/nsd01
[root@nsd1802 /]# ls /opt/
[root@nsd1802 /]# ls /opt/nsd01
重命名:路径不变的移动
[root@nsd1802 /]# ls /opt/
[root@nsd1802 /]# mv /opt/nsd01/ /opt/student
[root@nsd1802 /]# ls /opt/
[root@nsd1802 /]# mv /opt/student/ /opt/haha
[root@nsd1802 /]# ls /opt/
cp 复制
• cp — Copy
– 格式:cp [选项]... 原文件... 目标路径
• 常用命令选项
– -r:递归,复制目录时必须有此选项
[root@nsd1802 /]# rm -rf /opt/*
[root@nsd1802 /]# cp /etc/passwd /opt/
[root@nsd1802 /]# ls /opt/
passwd
[root@nsd1802 /]# cp /etc/redhat-release /opt/
[root@nsd1802 /]# ls /opt/
passwd redhat-release
[root@nsd1802 /]# cp /boot/ /opt/
cp: 略过目录"/boot/"
[root@nsd1802 /]# ls /opt/
[root@nsd1802 /]# cp -r /boot/ /opt/
[root@nsd1802 /]# ls /opt/
对于通配符使用,需理解每个通配符的作用:
*:任意多个任意字符
?:单个字符
[a-z]:多个字符或连续范围中的一个,若无则忽略
{a,min,xy}:多组不同的字符串,全匹配
vim是Linux系统上最常用的命令行交互式文本编辑器,主要工作在三种模式:命令模式、输入模式、末行模式。
通过vim打开一个文件时,默认处于命令模式;从命令模式按i键可以进入编辑状态,按Esc键返回命令模式;从命令模式输入冒号:可以进入末行模式,在末行模式下主要执行存盘、退出等基本操作。
3.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:使用ls命令列出指定的文件
1)列出/etc/目录下以re开头.conf结尾的文件
使用通配符 * 代替未知的字符串。
[root@server0 ~]# ls /etc/re*.conf1 案例1:命令行基础技巧
2)列出/dev/目录下编号是个位数的tty控制台设备
使用通配符 ? 代替单个未知的字符。
[root@server0 ~]# ls /dev/tty?
/dev/tty0 /dev/tty2 /dev/tty4 /dev/tty6 /dev/tty8
/dev/tty1 /dev/tty3 /dev/tty5 /dev/tty7 /dev/tty9
或者更严谨一些,使用 [0-9] 代替单个数字。
[root@server0 ~]# ls /dev/tty[0-9]
/dev/tty0 /dev/tty2 /dev/tty4 /dev/tty6 /dev/tty8
/dev/tty1 /dev/tty3 /dev/tty5 /dev/tty7 /dev/tty9
修改文本文件内容
vim 文本编辑器
命令模式 输入模式(插入模式) 末行模式
[root@server0 ~]# vim /opt/haxi.txt
i 键
命-----------------------------》输入模式(Esc 键回到命令模式)
令
模
式-----------------------------》末行模式(Esc 键回到命令模式)
: 键
末行模式 :wq 保存并退出
:q! 强制不保存并退出