LINUX入门基础.docx
《LINUX入门基础.docx》由会员分享,可在线阅读,更多相关《LINUX入门基础.docx(25页珍藏版)》请在冰豆网上搜索。
LINUX入门基础
LINUX系统安装
Centos(CommunityEnterpriseOperatingSystem),通常选用这个,因为开源。
RedHat EnterpriseLinux
Shell:
Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件
1.GUI:
图形界面(GraphicalUserInterfaceshell即GUIshell)GNOME
2.CLI:
命令行式(CommandLineInterfaceshell,即CLIshell)BASH
BASH(命令行程序)
1.提示符#(代表当前以根身份登录,即root身份)、$(代表当前以普通身份登录)
2.命名一般由3个部分组成
命名,选项,参数
3.执行命令
4.命令参数:
几乎所有的命令都是可以加参数(参数都是以“—加参数字符”)
5.命令的后台运行:
任何命令后面加“&”后,程序后台运行
6.使用TAB键来简化命令输入
自动补全命令
自动补全文件名
无法自动补全参数
7.历史记录
Bash会保存你输入命令的历史记录,可以通过上下按键或者history命令来查看
使用上下按键查看之前的命令
使用history命令查看历史记录
8.通过历史命令简化操作(用的很少)
!
!
重复前一个命令
!
字符重复前一个以“字符”开头的命令
!
num按照历史记录的序号执行命令
!
?
abc重复之前包含abc的命令
!
-n重复n个命令之前的那个命令
9.通过ctrl+r来在历史记录中搜索命令(reverse-i-search)‘’;
10.重复调用前一个命令中的参数esc,.按esc之后按.键
11.命令行通配符
12.Bashshell支持一下通配符:
*匹配零个或者多个
?
匹配任意一个字符
[0-9]匹配一个数字范围
[abc]匹配列表里任何字符
[^abc]匹配列表以外字符
13.切换用户
在CLI中,通过su命令切换用户
su-切换到root用户并使用一个新的运行环境
sudo使用管理员用户身份运行命名
显示当前用户信息id
修改当前用户密码passwd
14.在后台运行进程:
在命令后添加一个&
15.暂停某个程序:
通过ctrl+z或者发送信号17
16.管理后台作业:
jobs(查看当前在后台运行的所有程序)bg(控制程序继续在后台运行)fg(把程序放在前台运行)
LINUX文件系统结构
1.linux文件系统为一个倒转的单根树状结构
2.文件系统的根“/”
3.文件系统严格区分大小写
4.路径使用“/”分割(Windows中使用“\”)
1.当前工作目录
每一个shell或者系统进程都有一个当前的工作目录
使用pwd命令可以显示当前的工作目录
2.文件名称
文件的名称大小写敏感
名称最多可以255个字符
除了正斜线外,都是有效字符
通过touch命令可以创建一个空白文件或者更新已有文件的时间
已“.”开头的文件为隐藏文件,一般都是配置文件
3.ls命令用来列出目录文件
ls–a可以显示隐藏文件(显示所有文件)
ls–l显示详细信息
ls–R递归显示子目录结构
ls–ld显示目录和连接信息
4.通过file查看文件的类型
5.绝对路径:
以“/”,递归每级目录直到目标的路径。
不受当前所在工作目录限制
相对路径:
以当前目录为起点,到达目标的路径。
受当前所在目录限制。
6.cd命令用来切换目录
上一级目录“..”
当前目录“.”
用户家目录“~”
上一个工作目录“-”
7.复制文件、目录
使用cp命令复制文件或目录:
cp源文件(文件夹)目标文件(文件夹)
常用参数:
-r递归复制整个目录树
-v显示详细信息
8.移动、重命名文件或目录
通过mv命令移动或者重命名文件或目录mv文件目标目录
如果指定文件名,则可以重命名文件
9.创建、删除文件
通过touch命令来创建
通过rm命令也删除文件或目录
常用参数:
-i交互式,-r递归的删除包活目录中的所有内容,-f强制删除,没有警告提示(使用时需十分谨慎)
10.创建、删除目录
通过mkdir命令创建一个目录
通过rmdir命令删除一个空目录
通过rm–r(-f)命令删除一个非空目录
11.目录
bin:
可执行文件(常用的可执行命令)
boot:
引导目录(内核文件在里面,及相关驱动插件)
dev:
计算机上的所有硬件设备
etc:
所有的配置文件
home:
家目录,用户的私人文件
root:
管理员用户
lib:
相关库文件,
media:
挂载用的,比如光盘,u盘
mnt:
和上参不多
opt:
装大型软件,一般是空的
proc:
实时信息,是个虚拟的文件夹,只存在于内存当中
sbin:
可执行的二进制文件,只有超级用户root才可以执行,
selinux:
安全机制
sys:
系统相关信息,底层硬件信息
tmp:
usr:
默认软件安装
var:
经常变化的类似服务器的信息,如日志信息
LINUX系统基础常用命令
1.日期时间
命令date用以查看、设置当前系统时间;格式化显示时间:
+%Y--%m--%d
命令hwclock(clock)用以显示硬件时钟时间
命令cal用以查看日历
命令uptime用以查看系统运行时间
2.输出、查看命令
命令echo用以显示输入的内容
命令cat用以显示文件内容
命令head用以显示文件的头几行(默认10行)-n指定显示的行数
命令tail用以显示文件的末尾几行(默认10行)-n指定显示行数,-f最终显示文件更新(一般用于查看日志,命令不会退出,而是持续显示输入的新内容)
命令more用于翻页显示文件内容(只能向下翻页)
命令less用于翻页显示文件内容(带上下翻页)
3.查看硬件信息
命令lspci用以查看PCI设备,-v查看详细信息
命令lsusb用以查看usb设备,-v查看详细信息
命令lsmod用以查看加载的模块(驱动)
4.关机、重启
命令shutdown用以关闭、启动计算机
Shutdown[关机、重启]时间
-h关闭计算机
-r重新启动
如:
立即关机:
shutdown–hnow
10分钟后关机:
shutdown–h+1
23:
30分关机shutdown–h23:
30
立即重启shutdown–rnow
命令poweroff用以立即关闭计算机
命令reboot用以立即重启计算机
5.归档、压缩
命令zip用以压缩文件:
ziplinuxcost.zipmyfile
命令unzip用以解压zip文件:
unziplinuxcast.zip
命令gzip用以压缩文件:
gzip
命令tar用以归档文件
tar–cvfout.tar.linuxcast
tar–xvflinuxcast.tar
tar–cvzfbackup.tar.gz/etc-z参数将归档后的归档文件进行gzip压缩以减少大小
6.查找
命令locate用以快速查找文件、文件夹:
locatekeyword
此命令需要预先建立数据库,数据库默认每天更新一次,可用update命令手工简历,更新数据库
命令find用以高级查找文件,文件夹:
Find查找位置查找参数
如:
find.-name*linuxcast*//所有包含linuxcast的文件
find/-name*.conf//所有以.conf结尾的
find/-perm777//
find/-typed//返回所有的目录文件
find.-name“a*”-execls–l{}\;//所有以a开头的文件,并将返回结果作为参数给ls-l
7.FIND查找条件
Find支持很多种查找条件,常用的如下:
-name
-perm
-user
-group
-ctime
-type
-size
VI文本编辑
1.文本编辑工具,VI,VIM
2.VIM模式
VIM又有三种模式:
命令模式(常规模式)vim启动后,默认命令模式,任何模式都可以通过esc键回到命令模式(可以多按几次)。
命令模式下可以通过键入不同的命令完成选择、负责、粘贴、撤销等操作。
插入模式
在命令模式中按“i”键,即进入插入模式,在插入模式可以输入编辑文本内容,使用esc键可以返回命令模式
ex模式
在命令模式按“.”键可以进入ex模式,光标会移动到底部,在这里可以保存修改或者退出vim
Vim启动后,默认进入命令模式,任何模式都可以通过esc键回到命令模式(可以多按几次)。
命令模式常用的命令如下:
.i在光标前插入文本
.o在当前行的下面插入新行
.dd删除整行
.yy将当前行的内容放入缓冲区(复制当前行)
.n+yy将n行的内容放入缓冲区
.p将缓冲区中的文本放入光标后(粘贴)
.u撤销上一个操作
.r替换当前字符
./查找关键字
EX模式
在命令模式中按“.”键可以进入ex模式,光标会移动到底部,在这里可以保存修改或退出vim。
Ex模式下常用命令如下:
.:
w保存当前修改
.:
q退出
.:
q!
强制退出,不保存修改
.:
x保存并退出,相当于:
wq
.:
setnumber显示行号
.:
!
执行一个系统命令并显示结果
.:
sh切换到命令行,使用ctrl+d切换回vim
LINUM系统基础
1.磁盘基本概念
2.磁盘在linux中的表示:
IDE设备的名称为hd[a-z];SATA,SCSI,SAS,USB等设备的名称为sd[a-z]
3.分区概念:
不同分区用:
设备名称+分区号方式表示,如sda1,sda2.主流的分区机制分为MBR,GPT两种,是个软件概念。
a.MBR(MasterBootRecord)是传统的分区机制,用于绝大多数使用BIOS的PC设备。
MBR支持32bit和64bit系统
MBR支持的分区数量有限
只支持不超过2T的硬盘,超过2T的硬盘将只能使用2T空间(有第三方解决方法)
MBR分区:
主分区:
最多4个主分区;扩展分区:
一个扩展分区会占用一个主分区位置,不能直接使用,需要建立逻辑分区;逻辑分区:
最多支持63个IDE分区和15个SCSI分区
b.GPT(GUIDPsrtitionTable)是一个较新的分区机制,解决了MBR很多缺点
支持超过2T磁盘
向后兼容MVR
必须在支持UEFI的硬盘上才能使用
必须使用64bit系统
Mac/LINUX系统都能支持GPT
WINDOWS764bit、weidowsserver200864bit支持GPT
4.FDISK分区工具
.来自于IBM的老牌分区工具,支持绝大多数操作系统,几乎所有的LINUX发行版本都装有fdisk,包括在LINUX的rescue模式下依然能够使用
.是一个基于MBR的分区工具,所以如果需要使用GPT,则无法使用fdisk进行分区。
.只有超级用户权限才能运行
.使用fdisk–l可以列出已有硬盘信息
5.文件系统
.操作系统通过文件系统管理文件及数据,磁盘区分需要创建文件系统后才能够为操作系统使用,创建文件系统的过程又称之为格式化
.没有文件系统的设备又称之为裸设备
.常见的文件系统有fat32,NTFS,ext2,ext4,xfs,HFS等
.文件系统之间的区别:
日志、支持的分区大小、支持的单个文件大小、性能等
.Windows下的主流文件系统是:
NTFS
.Linux下的主流文件系统是:
ext3,ext4
.MKE2FS:
命令用来创建文件系统mke2fs–text4/dev/sda3
常用参数:
-bblocksize指定文件系统块大小
-c建立文件系统时检查坏损块
-Llabel指定卷标
-j建立文件系统日志
命令mkfs也可用于创建文件系统,相对于mke2fs简单,但是支持的参数较少,不能进行精细化的控制:
mkfs.ext3/dev/sda3,mkfs.ext4/dev/sda3,mkfs.vfat/dev/sda3
DUMPE2FS:
可以用来查看文件系统信息:
dumpe2fs/dev/sda3
6.JOURNAL日志:
稳定性,在出现错误时可以进行恢复
7.E2LABEL:
可以用来对文件系统进行打标签:
e2label/dev/sdb1LINNUX(标签一般用大写)
8.FSCK:
检查并修复损坏的文件系统:
fsck/dev/sda2
.使用-y参数不提示而直接进行修复
.默认fsck会自动判断文件系统类型,如果文件系统损坏较为严重,请使用-t参数指定文件系统类型
.对于识别为文件的损坏数据(文件系统无记录),fsck会将该文件放入lost+found目录
.系统启动时会对磁盘进行fsck操作
挂载操作
磁盘或分区创建好文件系统后,需要挂载到一个目录才能使用。
Wendows或mac系统可以自动挂载,windows上称为C盘、D盘等
LINUX需要手动进行挂载操作
1.MOUNT:
将格式化好的磁盘或分区挂载到一个目录上。
Mount/dev/sda3(要挂载的分区)/mnt(挂载点)
常用参数:
不带参数的mount命令会显示所有已经挂载的文件系统
-t指定文件系统的类型
-o指定挂载选项
ro,rw以只读或读写形式挂载,默认rw
sync代表不使用缓存,而是对所有操作直接写入磁盘
async代表使用缓存,默认是async
noatime代表每次访问文件时不更新文件的访问时间
atime代表每次访问文件时更新文件的方面时间
remount重新挂载文件系统
2.UMOUNT
命令umount用来卸载已挂载的文件系统,相当于windows中的弹出
umount文件系统/挂载点
umount/dev/sda3==umount/mnt
如果出现deviceisbusy报错,则表示改文件系统正在被使用,无法卸载,
可以使用一下命令查看使用文件系统的进程:
fuse–m/mnt
也可使用命令lsof查看正在使用的文件:
lsof/mnt
3.自动挂载
配置文件/etc/fstab用来定义需要自动挂载的文件系统,fstab中的每一行代表一个挂载配置,格式如下:
/dev/sda3
/mnt
ext4
defaults
00
需要挂载的设备
挂载点
文件系统
挂载选项
dump,fsck相关选项
要挂载的设备也可以使用LABEL进行识别,使用LABEL=LINUXCAST取代/dev/scfa3
mount–a命令会挂载所有fstab中定义的自动挂载项
LINUX获取帮助
1.几乎所有命令都可以使用-h或者--help参数获取使用方法,参数信息等
2.MAN
最为常用的帮助命令,将要获取帮助的命令作为参数运行man命令就可以获取相应的文档帮助
man–k关键字可以用来查询包含该关键字的文档
3.INFO
Info与man类似,但是显示更加详细,类似网页的形式显示
man与info都可通过“/+关键字”方式进行搜索
4.DOC
很多程序、命令都带有详细的文档,以TXT,HTML,PDF等方式保存在/usr/share/doc目录中,这些文档是相应的程序最为详尽的文档
用户及权限基础
LINUX系统基础权限
1.UGO
.LINUX权限基于UGO模型进行控制:
U:
UserG:
GroupO:
Other
.每一个文件的权限基于UGO进行设置;
.权限三个一组(rwx),对应UGO分别设置
.每一个文件拥有一个所属用户和所属组,对应UG,不属于该文件所属用户或所属组的使用O权限
.命令ls–l可以产看当前目录下文件的详细信息;
2.修改文件所属用户、组
命令chown用以改变文件的所属用户:
chownnash_su
-R参数递归的改变
命令chgrp用以改变文件的所属组:
chgrpnash_su
-R参数递归的改变
3.修改权限
命令chmod用以修改文件的权限:
chmod模式文件
.模式为如下格式:
.u、g,o分别代表用户、组和其他
.a可以代指ugo
.+,-代表加入和删除对应权限
.r,w,x代表三种权限
模式示例:
.chmodu+rw为这个文件的所属用户加入rw权限
.chmodg-x为这个文件所属组删去x权限
.chmodgo+r
.chmoda-x
4.修改权限
命令chmod也可以支持以数字方式修改权限,三个权限三个数字表示:
.r=4(2^2)
.w=2(2^1)
.x=1(2^0)
使用数字表示权限时,每组权限分别为对应数字之和:
rw=4+2=6
rwx=4+2+1=7
r-x=4+1=5
所以,使用数字表示ugo权限使用如下方式表示:
Chmod660==rw-rw------
Chmod775==rwxrwxr-x
LINUX扩展权限
每一个终端都有一个umask属性,来确定新建文件、文件夹的默认权限
Umask使用数字权限方式表示,如:
022
目录的默认权限是:
777-umask
文件的默认权限是:
666-umask
一般,普通用户的默认umask是002,root用户的默认umask是022
也就是说,对于普通用户来讲:
新建文件的权限是:
666-002=664
新建目录的权限是:
777-002=775
1.特殊权限:
除了普通权限外,还有三个特殊权限:
权限
对文件的影响
对目录的影响
suid
以文件的所属用户身份执行,而非执行文件的用户
无
Sgid
以文件所属组身份执行
在该目录中创建的所有文件的所属组和目录的所属组相同
sticky
无
对目录拥有写入权限的用户仅可以删除其拥有的文件,无法删除其他用户拥有的文件
设置特殊权限
设置suid:
chmodu+s
设置sgid:
chmodg+s
设置sticky:
chmodo+t
与普通权限一样,特殊权限也可以使用数字方式表示
.SUID=4
.SGID=2
.Sticky=1
所以,我们可以通过以下命令设置:
Chmod4755
网络基础原理
1.IP编址:
IPV4(32位),IPV6(128位)
IPV4:
网络部分.主机部分(没固定长度各多少位)
网络部分用来标识所属区域、主机部分用来标识该区域中的哪台主机
IP编址是一个双层编址方案,一个IP地址标识一个主机(或一个网卡接口)
现在应用最为广泛的IPV4编址,已经开始向IPV6编址切换
IPV4地址共32位,同城使用点分十进制方式表示
整个IP地址分为4个部分,每个部分8位
Eg:
192.
68.
|.
|.
11000000.
10101000.
00000000.
00000000
2.子网掩码:
用来确定网络部分的位数
子网掩码与IP地址一样,拥有32bit,每一位与IP地址中的每一位一一对应
IP地址中对应子网掩码中为I的部分为网络部分
同一个网络主机之间通信需要用的一个MAC地址(网卡的地址,买来就固定了)
3.路由:
在不同网络之间传输数据的功能叫做路由功能,一般有多个接口,连接到不同的网络中,并且通过路由表进行数据转发eg:
目标网络
子网掩码
出接口
192.168.1.0
255.255.255.0
Eth0
172.16.1.0
255.255.0.0
Eth1
61.1.1.0
255.255.255.252
Eth2
4.域名:
IP地址往往难以记忆,所以我们一般使用域名进行管理:
域名分为三个部分,用“.”分割:
类型标识此域名的类型(com,net,org,edu,gov)
域名域名称
主机名该域中的某台主机名称
www.Linuxcast.net(主机名+域名+类型)
5.DNS:
每个域名代表一个IP,而DNS服务就是用来在IP与域名之间进行转换的。
6.基本网络参数
要配置一个局域网通信的计算机:
IP地址+子网掩码
要配置一个跨网段通信的计算机:
IP地址+子网掩码+网关
要配置一个可以上网的计算机:
IP地址+子网掩码+网关+DNS
网络基础配置
1.以太网连接
在linux中,以太网接口被命令为:
eth0,eth1。
0,1代表网卡编号。
通过lspci命令可以产看网卡硬件信息(如果是USB网卡,则可能需要使用lsusb命令)
命令ifconfig命令用来查看接口信息:
eg:
.ifconfig–a查看所有接口
.ifconfigeth0查看特定接口
命令ifup、ifdown用来启动、禁用一个接口:
ifupeth0;ifdownet0
2.配置网络信息:
setup命令可以配置网络信息,配置完成后用ifup启动网卡
3.网络相关配置文件
网卡配置文件/etc/sysconfig/network-scripts/ifcfg-etf0
DNS配置文件/etc/resolv.conf(resolv解析的意思)
主机名配置文件/etc/sysconfig/network
静态主机名配置/etc/hosts
4.网络测试命令
测试网络连通性:
ping192.168.1.1ping
测试DNS解析:
hostdig
显示路由表:
iproute
追踪达到目标地址的网络路径:
tracerout(其实就是路由设备)
使用mtr进行网络质量测试(结合了traceroute和ping):
mtr
5.修改主机名
实时修改主机名:
hostname
永久性修改主机名:
/etc/sysconfig/network
HOSTNAME=
6.故障排查(遵循从底层到高层,从自身到外部的流程进行)
先看网络配置信息是否正确:
-ip地址
-子网掩码
-网关
-DNS
查看到达网关是否连通:
ping网管IP地址
查看DNS解析是否正常:
.host
.host
.hos