1.Linux:主要作用是管理好硬件设备,并为用户和应用程序提供一个简单的接口,以便于使用,作为中间人,连接软件和硬件
2.Linux 主要目录速查表
(1) /:根目录,一般根目录下只存放目录,在 linux 下有且只有一个根目录,所有的东西都是从这里开始。当在终端里输入 /home ,其实是在告诉电脑,先从 / (根目录)开始,再进入到 home 目录
(2)/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下
~ 表示当前用户的家目录
~edu 表示用户 edu 的家目录
(3)/bin、/usr/bin:可执行二进制文件的目录,如常用的命令 ls、tar、mv、cat 等
(4)/root:系统管理员root的家目录
3.Linux发现历程:unix->minix->linux
命令行程序
终端 terminal
cd 切换文件夹
cd /home 绝对路径 以根目录开头
cd admin 相对路径 不以根目录开头
cd …返回上级目录
cd ~ 到自己的家目录 /home/admin
cd - 电视回看功能(自己的家和根目录来回切换)
pwd 查看当前目录
ls 查看目录的内容
“.”代表当前目录,“…”代表上一级目录,以“.”开头的文件为隐藏文件,
ls(ls:list)
ls -l 显示详细列表
ls -lh 把文件大小以人性化的方式显示(h:human)
ls -a 显示所有的文件,包含隐藏文件,隐藏文件是.开头的文件
ll 等于ls -l
mkdir 创建文件夹
mkdir tupian 在当前目录下创建文件夹
mkdir /home/admin/tupian 以绝对路径创建文件夹
mkdir /home/admin/a/tupian -p 如果上级目录不存在,加上-p自动创建父目录
mkdir a b 在当前目录创建多个文件夹
mkdir a/{c,d} 在指定目录下创建多个文件夹
mkdir .abc 以.开头是创建隐藏文件夹
touch 创建空文件
touch abc.txt 在当前目录下创建 如果指定了目录,必须保证上级目录存在(没有像文件夹一样的-p操作)
touch .abc 创建隐藏文件
gedit abc.txt 使用记事本打开文件
rm 删除文件
rm a.txt 删除文件
rm abc -r 删除文件夹
rm * -r 删除所有文件 但不能删除隐藏文件
tab自动补全
ctrl+c结束命令
drwxrwxr-x d代表文件夹 -代表文件
rwx(第一组指文件的拥有者的权限) rwx(第二组代表文件拥有的组的权限) r-x(第三组代表其他用户的权限)
r可读 w可写 x可执行
ls 查看其他目录的内容
ls -la /home
ls *txt 查看当前目录下的所有以txt结尾的文件
通配符 | 含义 |
---|---|
* | 任意个任意字符 |
? | 任意一个字符 |
[] | [”和“]”将字符组括起来,表示可以匹配字符组中的任意一个。“-”用于表示字符范围。 |
\ | 如果要使通配符作为普通字符使用,可以在其前面加上转义字符。“?”和“*”处于方括号内时不用使用转义字符就失去通配符的作用。 |
cp 拷贝文件
cp 1.txt(源文件) 2.txt(目标文件)
cp abc abc_bak -r 拷贝文件夹(用的最多)
选项 | 含义 |
---|---|
-a | 该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性。(包括上一文件的创建时间) |
- f | 覆盖已经存在的目标文件而不提示 。 |
-i | 交互式复制,在覆盖目标文件之前将给出提示要求用户确认。 |
-r | 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。 |
-v | 显示拷贝进度 |
mv 移动 重命名
mv 1.txt 2.txt 同目录 重命名
mv 1.txt ~ 移动到指定目录
> 重定向
ls > 1.txt 把命令返回的结果输出到文件中,默认情况命令返回的结果是显示在屏幕中
ls>> 1.txt 把命令返回的结果输出到文件中,追加的方式
cat 查看文件内容
cat 1.txt 把文件的内容全部显示到屏幕中
cat 1.txt 2.txt 奥贝两个文件中的内容都输出到屏幕
cat 1.txt 2.txt > 3.txt 把多个文件的内容合并到新的文件中
more 查看文件内容,可以分页显示
ls / >>1.txt
cat 1.txt 内容多看不完
more
1.txt 查看内容多的文件,按空格键向下翻页,按b键往回翻页,按q键退出
管道 |
ls -l / | more 把左边的命令返回的结果交给右边命令进行处理
history 查看历史命令
ln 链接
软连接 软链接本身不存储内容,只记录源文件的名称
ln -s 1.txt 1_link 给1.txt创建一个软连接,相当于Windows中的快捷方式
ln -s 1.txt ~/1_link 给其他目录创建一个软链接,如果源文件不写绝对路径,软链接指向的文件是不存在的。如果软链接文件和源文件不在同一个目录,源文件呀使用绝对路径,不使用相对路径。
ln -s /home/admin/day1/1.txt ~/1_link
ln -s abc abc_link 给目录创建软链接
硬链接 本身占空间,相当于把源文件复制一份,与源文件同步变化,删除硬链接文件不影响源文件,不能给目录创建硬链接
使用ll查看时,有一个数字,代表有几个文件能同步发生变化
ln 1.txt 1_hard_link
linux 4剑客:grep find
grep 查找文件内容
grep hello test.txt 在某个文件中查找包含hello的内容,只要一行中有hello就把整行显示
grep -niv hello test.txt n 代表显示查找到的内容的行号 i表示不区分大小写 v反向查找,查找不包含指定内容的内容
grep -n hello /home/admin -r 查找整个目录中的所有文件,包含hello关键字的内容
find 查找文件
find /home -name 1.txt 在/home目录下查找文件名为1.txt的文件
find /home -name ‘*txt’在/home目录下查找文件名以txt结尾的文件
tar 归档管理
打包
tar cvf a.tar 1.txt 2.txt f必须放在最后,f后面第一个参数代表要生成的文件名,后面所有的参数是要打包的文件(Linux系统中,只有tar结尾的文件是红色的,打包文件)
列出包里面的文件
tar tf a.tar
解包
tar xvf a.tar 如果没有写目录,把包里面的文件解开放到当前目录
tar xvf a.tar -C tar 解包到指定的文件夹,文件夹需要提前创建好(大写C,解压到指定目录)
注:f要在最后一个字母
压缩
1、打包 tar cf a.tar * (把当前文件夹下的所有文件打包 生成a.tar文件)
2、压缩 gzip -r a.tar (生成a.tar.gz文件)(-r 把包进行压缩)
解压
1、解压 gzip -d a.tar.gz
2、解包 tar xf a.tar -C ~/atar
gzip 文件压缩解压
tar这个命令并没有压缩的功能,它只是一个打包命令,但是在tar命令中增加一个选项(-z)可以调用gzip实现了一个压缩的功能,实现一个先打包后压缩的过程。
一步到位 打包并且压缩
tar czf b.tar.gz *txt 以gzip的方式打包并且压缩
一步到位 解压并且解包
tar zxf b.tar.gz -C btar 以gzip的方式解压并且解包
bzip2 文件压缩解压
tar jcf b.tar.bz2 *txt
tar xjf b.tar.bz2 -C jtar
zip、unzip 文件压缩解压
zip -r zz *txt zz代表要生成的压缩文件,不需要写扩展名,会自动生成.zip
unzip -d zz zz.zip 解压时会自动创建目录
压缩率 zip<gzip<bzip2
通用性 zip>gzip>bzip2
(gzip应用最多)
查看命令位置 which which zip
切换到管理员账号
Centos下切换到root的简单命令:su。从普通用户切换到root直接 su,并且需要输入密码;切回来 su admin(+用户名,不需要密码)
设置用户密码:passwd
在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户密码。用户也可以直接使用该命令来修改自己的密码,而无需在命令后面使用用户名。
退出登录账户: exit
如果是图形界面,退出当前终端;
如果是使用ssh远程登录,退出登陆账户;
如果是切换后的登陆用户,退出则返回上一个登陆账号。
who 查看当前登录的用户
admin pts/0 pts代表一个终端
admin tty1 tty代表用户登陆了操作系统
pkill -kill -t tty1 杀死
关机重启:reboot、shutdown
reboot 不需要权限
shutdown需要root权限
命令 | 含义 |
---|---|
reboot | 重新启动操作系统 |
shutdown -r now | 重新启动操作系统,shutdown会给别的用户提示 |
shoutdown -h now | 立刻关机,其中now相当于时间为0的状态 |
shoutdown -h 20:25 | 系统在今天的20:25 会关机 |
shoutdown -h +10 | 系统再过十分钟后自动关机 |
chmod 设置权限 (ch:change)
字母法
u user文件的拥有者
g group文件的拥有组
o other其他用户
a all所有用户
+添加权限
-删除权限
=设置权限(把之前的权限换成新的权限)
chomd u+r test.txt 给文件的拥有者添加r(读)权限
r read读权限---- 4
w write写权限---- 2
x execute执行权限-- 1
-没有任何权限-- 0
数字法
chomd 123 test.txt 第一位代表自己的权限,第二位代表自己组的权限,第三位代表其他人权限
3=1+2 代表wx权限
wget下载文件
wget http://cn.wordpress.org/wordpress-3.1-zh_CN.zip 从网络下载一个文件并保存在当前目录
echo
在显示器上显示一段文字,一般起到一个提示的作用。
该命令的一般格式为: echo [ -n ] 字符串(用""括起来)
echo “bangbang” -->显示输出bangbang
encho “bangbang” > bang.txt -->创建bang.txt,创建文件
uname 操作系统信息的显示
uname 命令主要用于显示操作系统的信息,包括版本、平台的信息。
uname -a 显示全部信息
uname -r 显示当前系统的内核版本
free 查看当前主机信息 内存
free 命令显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。共享内存将被忽略。
free -h 以人性化设置显示
df 磁盘空间使用情况
df命令作用是列出文件系统的整体磁盘空间使用情况。可以用来查看磁盘已被使用多少空间和还剩余多少空间。
df命令显示系统中包含每个文件名参数的磁盘使用情况,如果没有文件名参数,则显示所有当前已挂载文件系统的磁盘空间使用情况。
man 帮助
man是manual的缩写,man命令用来提供在线帮助
编辑器vim (Visual interface)
进入插入模式:
i: 插入光标前一个字符
I: 插入行首
a: 插入光标后一个字符
A: 插入行未
o: 向下新开一行,插入行首
O: 向上新开一行,插入行首
进入命令模式:
ESC:从插入模式或末行模式进入命令模式
在命令模式 :set nu–>显示行号
移动光标:
h: 左移
j: 下移
k: 上移
l: 右移
M: 光标移动到中间行
L: 光标移动到屏幕最后一行行首
G: 移动到指定行,行号 G
w: 向后一次移动一个字
b: 向前一次移动一个字
{: 按段移动,上移
}: 按段移动,下移
Ctr-d: 向下翻半屏
Ctr-u: 向上翻半屏
Ctr-f: 向下翻一屏
Ctr-b: 向上翻一屏
gg: 光标移动到文件开头
G: 光标移动到文件末尾
shift^:光标移动到该行末首
shift$:光标移动到该行末尾
删除命令:
x: 删除光标后一个字符,相当于 Del
X: 删除光标前一个字符,相当于 Backspace
dd: 删除光标所在行,n dd 删除指定的行数 D: 删除光标后本行所有内容,包含光标所在字符
d0: 删除光标前本行所有内容,不包含光标所在字符
dw: 删除光标开始位置的字,包含光标所在字符
撤销命令:
u: 一步一步撤销
Ctr-r: 反撤销
重复命令:
.: 重复上一次操作的命令
文本行移动:
>>: 文本行右移
<<: 文本行左移
复制粘贴:
yy: 复制当前行,n yy 复制 n 行
p: 在光标所在位置向下新开辟一行,粘贴
可视模式:
v: 按字符移动,选中文本
V: 按行移动,选中文本可视模式可以配合 d, y, >>, <<实现对文本块的删除,复制,左右移动
替换操作:
r: 替换当前字符
R: 替换当前行光标后的字符,直到按esc
查找命令:
/: str查找
n: 下一个
N:上一个
网络命令详解
ifconfig 查看主机网络信息
ifconfig 命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。
注:用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。
什么是网络=通信方式+计算机
网络就是一群通过一定形式连接起来的计算机。计算机彼此之间能通信。
常见的通信方式:网线、wifi、蓝牙等等
如何通信:通过ip和端口进行通信
ip和端口
组合形式: ip:port
ip就是计算机在网络上的身份证号
ip是我们的计算机在互联网上的一个数字标识,类似我们的身份证号,一台计算机在某一具体的网络内的ip地址是唯一的。所以我们可以通过ip地址来找到我们想要连接的计算机。
ip地址的格式:192.168.8.14(每个数字范围 0-255,255广播用)
端口就是在主机上开启的一个窗口,一个端口d对应一个服务(面向大众的)
port就是端口,一个计算机上可以开启6万多个端口,端口是用来进行主机间的服务通信的。
端口就相当于我们的电视机的频道,你想看什么节目,你就打开某个频道。频道和频道之间是不一样的电视节目,所以端口是计算机中不同应用程序对外提供服务一个窗口。
常见ip地址:
127.0.0.1 当前系统的本地回环地址
192.168.x.x 当前局域网的ip地址段(x:0-254)
本地回环地址
127.0.0.1,通常被称为本地回环地址(Loopback Address),不属于任何一个有类别地址类。它代表设备的本地虚拟接口,所以默认被看作是永远不会宕掉的接口。在Windows操作系统中也有相似的定义,所以通常在安装网卡前就可以ping通这个本地回环地址。一般都会用来检查本地网络协议、基本数据接口等是否正常的。
常见端口:
22 ssh服务的端口
80 web服务的端口
3306 数据库的端口
9000 php的端口
域名
域名是什么?域名为了方便识别网络上面的某台主机
我们知道每个人都有一个唯一的标识,就是身份证号,但是它很长,我们记不住怎么办?就给他起个名字,这样记忆起来就方便了。
我们在上一节知道,我们可以通过ip地址连接到某台具体的计算机上,但是ip地址是一大堆数字,我们对他又不太敏感,所以不好记忆,怎么办,就是使用域名。
所以说域名就相当于ip地址在网络上的一个名字,我们通过域名找主机,也可以通过ip地址找主机,使用ip地址的话很费劲,通过名字找就很方便。
域名是什么样子的呢?
用 . 来分隔开名字的各个部分,域名的格式也是那个样子。
jd.com haha.ifeng.com 等等
在哪里配置域名?
在 /etc/hosts 文件中添加ip和域名的对照关系即可 cat /etc/hosts
例:127.0.0.1 nihao.com
192.168.8.14 iwebshop.itcast.com
配置计算器网络
网络配置流程
1.配置虚拟机的ip地址为静态ip(在虚拟机上进行配置)
2.重启虚拟机网卡服务(在虚拟机上进行配置)
3.VMware配置网卡ip段(在VMware工具上配置:编辑–>虚拟机网络编辑器)
4.检测虚拟机的网络适配器是否为NAT
5.整体测试
注:配置网卡信息,必须使用root用户
配置静态ip地址
在上面我们安装操作系统的时候,安装好的系统里面会自动生成一个随机的ip地址,不是固定的,因为随机,所以我们不好猜它具体的地址是多少,而且关闭电脑一段时间后,再次开机,会发现这个虚拟机的ip地址会变化,这对我们正常连接系统的时候,非常不友好。
在生产中,我们连接的所有服务器的ip地址都是固定的,那么现在我们就来做一个操作,将虚拟机的ip地址进行固定。
将动态获取的ip地址固定起来,那么这个时候的ip地址就叫做静态ip。
配置具体步骤:在root用户下
1.配置虚拟机的ip地址为静态ip
ls /etc/sysconfig/network-scripts/ifcfg-eth0 -->网卡的配置文件
ls /etc/init.d/network -->配置完网卡的配置文件后重启的可执行文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0
编辑该文件:
原内容:
修改后内容:
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=“eth0”
BOOTPROTO=“none”
ONBOOT=“yes”
TYPE=“Ethernet”
IPADDR=192.168.8.14
NETMASK=255.255.255.0
GATEWAY=192.168.8.2
DNS1=192.168.8.2
2.重启虚拟机网卡服务
网卡服务的启动文件是:/etc/init.d/network restart
检查网卡信息
[root@localhost ~]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:8B:17:CB
inet addr:192.168.8.14 Bcast:192.168.8.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe8b:17cb/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:28714 errors:0 dropped:0 overruns:0 frame:0
TX packets:15770 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:24496651 (23.3 MiB) TX bytes:981464 (958.4 KiB)
可以看到:
网卡地址修改成功了
这个时候能上网么?
ping不通,说明上不了网了。
3、VMware配置网卡ip段
打开VMware的虚拟网卡配置–>点击"虚拟网络编辑器"
可以看到:
VMnet8是NAT模式,我们刚才配置的ip地址是192.168.8.14,它属于192.168.8.0网段,而我们看到VMware的虚拟网络编辑器的VMnet8没有在192.168.8.0网段,怎么办呢?修改它
修改VMnet8的子网IP地址段(192.168.211.0)为(192.168.8.0)段,同时将本地DHCP前面的√去掉
点击红色箭头指向的 “NAT设置"按钮
修改红色框内的 192.168.211.2 修改为 192.168.8.2,效果如下:
点击最下面的"确定”
依次点击最下面的"应用"和"确定"
4、检测虚拟机的网络适配器是否为NAT
点击当前打开的虚拟机centos6-1,点击顶栏的"虚拟机"–>“设置”–>保证网络适配器的模式是NAT,设备状态是"已连接"
5、整体测试
使用ping命令来测试一下网络
可以看到:
网络配置成功了,可以正常上网了。
笔记本和虚拟机网络互通