【读书笔记】Linux系统管理初学者指南读书笔记1——第1-2章
本博客记录⼀下《Linux系统管理初学者指南》这本书的读书笔记,最近由于想做⼀些关于嵌⼊式的项⽬,所以需要对Linux系统进⾏学习,正好之前买过这本书,内容还可以,能作为⼊门阅读
第1章了解并安装Linux系统
Linux系统的发展与特点
Linux的发展历史
Multics计划
UNIX系统:1970年为UNIX元年,1970年1⽉1⽇0:00在UNIX系统中作为计算机时间的起点
类UNIX操作系统
MINIX系统
Linux系统:Linus
系统内核:负责完成操作系统基本功能的程序,主要作⽤是负责统⼀管理计算机中的硬件资源,提供⽤户擦操作界⾯,提供应⽤程序的运⾏环境
Linux系统中的内核程序称为Kernel
GNU计划:世界知名的⾃由软件项⽬,决定了Linux系统⾃由、开放的属性
Kernel作为Linux系统的核⼼,只能实现系统的基本功能,⽽⼀个完整的Linux系统应该包括Kernel和应⽤程序两部分,⽽⽆论是Kernel还是Linux,其中的绝⼤部分应⽤程序属于GNU计划,遵守GNU计划中的GPL或LGPL协议
Linux的发⾏版本:作为⽤户使⽤的都是运⾏在内核之上的各种应⽤程序,很多公司或组织在Linux内核的基础上添加了各种管理⼯具和应⽤软件,构成了⼀个完整的操作系统
将系统内核和应⽤软件封装在⼀起的操作系统成为Linux发⾏版,⼀般平时接触和使⽤的Linux系统都是Linux的发⾏版
RedHat Linux
Fedora
RHEL(RedHat Enterprise Linux)
CentOS(Community Enterprise Operation System,社区企业操作系统)
Debian
Ubuntu
Kali Linux
SUSE
Linux系统较为⼴泛的应⽤是⽹络服务器以及各种嵌⼊式系统
在VMware Workstation安装虚拟机
设置虚拟机的⽹络环境:
桥接(bridged)模式:虚拟机像是⼀个独⽴主机,与物理主机是同等地位,可以通过物理主机的⽹卡访问外⽹,外部⽹络中的计算机也可以访问此虚拟机,桥接模式对应的虚拟⽹络名称为VMnet0
仅主机(host-only)模式:仅主机模式对应的是虚拟⽹络VMnet1,这是⼀个独⽴的虚拟⽹络,与物理⽹络之间是隔离开的,所有设为仅主机模式的虚拟机之间以及虚拟机与物理主机之间可以相互通信,但它们与外部⽹络中的主机⽆法通信
NAT(⽹络地址转换)模式:NAT模式对应的虚拟⽹络是VMnet8,物理主机就像⼀台⽀持NAT功能的代理服务器,⽽虚拟机就像NAT的客户端⼀样,虚拟机可以使⽤物理主机的IP地址直接访问外部⽹络中的计算机,但由于NAT技术的特点,外部⽹络中的计算机⽆法主动与NAT模式下的虚拟机进⾏通信
Linux系统的基本操作
⼀个完整的Linux系统是由Kernel和各种应⽤软件组成的,Linux系统的桌⾯环境(X Window)也是由应⽤软件来提供的,负责X Window桌⾯环境的软件主要有两个:GNOME和KDE
X Window只是Linux系统的⼀个应⽤软件,并没有集成到Linux的内核中,因此⽤户可以根据需要选择是否运⾏图形界⾯
Shell
Linux系统的字符界⾯称为Shell(Shell本来是指系统的⽤户界⾯,为⽤户与系统内核进⾏交互操作提供了⼀种接⼝,图形界⾯和字符界⾯都属于Shell,图形界⾯的Shell称为GUI,字符界⾯的Shell称为CLI,由
于Linux系统的操作以字符界⾯为主,因此Shell通常专指CLI)
Shell是Linux系统中的⼀个应⽤程序,将⽤户输⼊的命令解释成系统内核能理解的语⾔,命令执⾏后再将结果以⽤户可以理解的⽅式显⽰出来
Linux系统中负责提供Shell功能的软件有很多,⽐如sh、Csh、Zsh和Bash等,CentOS系统中默认使⽤的是Bash
启动Shell
Linux是⼀个多⽤户操作系统,可以同时接受多个⽤户登陆,⽽且还允许同⼀个⽤户从不同的终端进⾏多次登陆,在使⽤安装Linux系统的计算机时,虽然⽤户⾯对的也是⼀个物理终端设备,但可以在这⼀个物理终端上通过虚拟终端打开多个互不⼲扰,独⽴⼯作的页⾯Linux中提供的虚拟终端默认有6个,其中第1个是图形界⾯,第2-6个则是字符界⾯,可以通过Ctrl+Alt+F1-F6在不同的虚拟终端进⾏切换,同时在字符界⾯下执⾏startx命令也可以进⼊图形界⾯(在Ubuntu中Ctrl+Alt+F1-F6代表不同的虚拟终端,⽽Ctrl+Alt+F7则是返回图形界⾯,书中描述的是CentOS)
虚拟终端的缩写为tty,执⾏tty命令就可显⽰⽤户⽬前所在的终端编号
除了虚拟终端外,还有⼀种启动Shell的⽅式称为伪终端,缩写为pts,在图形界⾯中,右键打开终端即
可弹出⼀个运⾏在图形环境中的字符界⾯窗⼝,这就是⼀个伪终端,在其中执⾏tty命令,其中的结果为/dev/pts/0,表⽰这是系统启动的第⼀个伪终端(伪终端的编号从0开始)
启动Shell后,可以看到类似于zyh@zyh-virtual-machine:~$的命令提⽰符,命令提⽰符是Linux字符界⾯的标志
zyh:表⽰当前登录的⽤户账户
zyh-virtual-machine:表⽰本机的主机名
是⼀个特殊符号,泛指⽤户的家⽬录)
:表⽰⽤户当前所在的位置,即⼯作⽬录(
$:表⽰当前登录的是普通⽤户,如果是管理员⽤户则变为#
可以通过Ctrl+C键发出中断信号来中断命令的运⾏
Shell命令格式
Shell命令由命令名、选项和参数共3个部分组成:
命令名 [选项] [参数](命令名、选项和参数之间必须⽤空格分隔)
命令名:描述命令功能的英⽂单词或缩写
选项:调节命令的具体功能
选项通常以-开头,当有多个选项时,可以只使⽤⼀个-符号
部分选项以--开头,这些选项通常是⼀个单词或词组
少数命令的选项不需要-符号
参数:命令的处理对象,可以是⽂件、⽬录或⽤户账号等内容
在Shell中,⼀⾏可以输⼊多条命令,命令之间⽤分号分隔,如果在⼀⾏命令后加上****符号,就表⽰另起⼀⾏继续输⼊
通过上下⽅向键可以出曾经执⾏过的命令
关机与重启命令
关机:poweroff
重启:reboot
shutdown:既可以⽤来关机⼜可以⽤来重启
⽴即关闭系统:shutdown -h now
⽴即重启系统:shutdown -r now
15分钟后关闭系统:shutdown -h +15
10分钟后重启系统,并将信息发给登陆到本机中的各⽤户:shutdown -r +10 'The system will be rebooted!!'
对于延时运⾏的关机重启操作,可以⽤shutdown -c命令或Ctrl+C组合键取消
相⽐于poweroff和reboot命令,shutdown命令在执⾏前会给所有登陆⽤户发送警告信息,因次更加安全
第2章⽂件和⽬录管理
本章主要介绍⼀些常⽤的Linux系统的⽂件和⽬录管理类命令
Linux设计思想
⼀切皆⽂件:在Linux系统中,不只数据以⽂件的形式存在,其他资源(包括硬件设备)也被组织为⽂件的形式,例如硬盘以及硬盘中的每个分区在Linux中都被视为⼀个⽂件
整个系统由众多的⼩程序组成:整个Linux系统是由众多单⼀功能的⼩程序组成的,每个⼩程序只负责实现某⼀项具体功能,⽐如Linux的绝⼤多数命令,其实各⾃有⼀个相应的⼩程序,如果需要完成⼀项复杂任务,只需将相应的命令组合在⼀起即可
尽量避免与⽤户交互:在对系统进⾏管理操作时,要尽量避免⽤户的参与,因为Linux系统主要⽤作服务器的操作系统,在服务器上执⾏的操作最好通过编写脚本程序完成,从⽽⾃动化地完成某些功能
使⽤纯⽂本⽂件保存配置信息:如果需要改动系统或程序中的某项功能,只需编辑相应的配置⽂件
Linux系统中的⽂件和⽬录
Linux的⽬录结构
在Windows系统中,为每个磁盘分区分配⼀个盘符,在资源管理器中通过盘符就可以访问相应的分区,每个分区使⽤独⽴的⽂件系统,每个分区都有⼀个根⽬录,如C:\、D:\等
Linux系统的绝⼤多数发⾏版遵循FHS(Filesystem Hierarchy Standard)⽂件系统层次化标准,采⽤统⼀
的⽬录结构,按照FHS标准,整个Linux⽂件系统是⼀个倒置的树形结构,系统中只存在⼀个根⽬录,所有的⽬录和⽂件都在同⼀个根⽬录下在Linux系统中定位⽂件或⽬录时,使⽤/进⾏分隔(区别于Windows的),在整个树形⽬录结构中,使⽤/表⽰根⽬录,根⽬录就是Linux⽂件系统的起点,在根⽬录下按照⽤途不同划分有很多⼦⽬录
下⾯是遵循FHS标准的典型⽬录结构:
以下是CentOS 7中⼀些常见的⽬录及其作⽤:
/boot:存放Linux系统启动所必需的⽂件,Kernel被存放在这个⽬录中
/etc:存放Linux系统和各种程序的配置⽂件,Linux中的很多操作和配置都是通过修改配置⽂件实现的(类似于Windows系统中的注册表)
/dev:存放Linux系统中的硬盘、光驱和⿏标等硬件设备⽂件
/bin:存放Linux系统中常⽤的基本命令,任何⽤户都有权限执⾏
/sbin:存放Linux系统基本的管理命令,只有管理员权限才可以执⾏
/usr:软件的默认安装位置,类似于Windows系统中的Program Files⽬录
/home:普通⽤户家⽬录(也称为主⽬录)
/root:超级⽤户root的家⽬录
/mnt:⼀般是空的,⽤来临时挂载存储设备
/media:⽤于系统⾃动挂载可移动存储设备
/tmp:临时⽬录,⽤于存放系统或程序运⾏时产⽣的⼀些临时⽂件,可供所有⽤户执⾏写⼊操作
pwd(print working directory)命令:⽤于显⽰⽤户当前所在的⼯作⽬录路径
/:是Linux系统的根⽬录,也是其他所有⽬录的起点
/root:根⽬录下的⼀个⼦⽬录,⽤途是作为管理员root⽤户的家⽬录,家⽬录主要⽤于存放⽤户的各种数据
Linux系统中普通⽤户的家⽬录默认集中存放在/home⽬录中,以⽤户名命名
cd(change directory)命令:⽤于切换⼯作⽬录
单纯执⾏cd命令,将默认返回到当前⽤户的家⽬录
~表⽰当前⽤户的家⽬录
cd -可以在最近⼯作过的两个⽬录之间进⾏切换
关于路径的⼀些基本概念:
绝对路径:以根⽬录/作为起点,可以准确地表⽰⼀个⽂件或⽬录所在的位置
相对路径:以当前的⽬录为起点,在开头不使⽤/符号,输⼊的时候更加简单
.:表⽰当前⽬录
..:表⽰当前⽬录的上⼀级⽬录
⽂件和⽬录操作命令
ls(list)命令:以列表的⽅式显⽰⼀个⽬录中包含的内容
ls显⽰结果以不同的颜⾊来区分⽂件类别,蓝⾊代表⽬录,灰⾊代表普通⽂件,绿⾊代表可执⾏⽂件,红⾊代表压缩⽂件,浅蓝⾊代表链接⽂件
touch命令:⽤于创建空⽂件或修改已有⽂件的时间戳
mkdir(make directory)命令:⽤于创建新的空⽬录
rmdir(remove directory)命令:可以删除指定的⽬录(必须是空⽬录,没有任何⽂件和⼦⽬录)
cp(copy)命令:复制⽂件或⽬录
cp [选项] 源⽂件或⽬录⽬标⽂件或⽬录
mv(move)命令:⽤于移动⽂件或对⽂件重命名
mv [选项] 源⽂件或⽬录⽬标⽂件或⽬录
rm(remove)命令:删除⽂件或⽬录
-f选项:强制删除,⽆须⽤户确认
自学linux买什么书好-r选项:递归删除整个⽬录
⽂件内容操作命令
cat(concatenate)命令:⽤于查看⽂本⽂件内容
more命令和less命令:分页显⽰⽂件内容
head命令和tail命令:显⽰⽂件开头或末尾的部分内容
wc命令:⽤于统计⽂件中的⾏数、单词数和字节数
echo命令:⽤于输出指定的字符串或变量的值
在变量名称加前导符号$,可以引⽤⼀个变量的值
grep命令:⽤于在⽂本⽂件中查并显⽰包含指定字符串的所有⾏
diff命令:⽤于⽐较多个⽂本⽂件之间的差异
⽇期和时间的相关命令
date命令:显⽰或修改⽇期和时间
⽂件查命令
locate命令:简单快速的⽂件查命令
find命令:强⼤的⽂件查命令,可以实现的⽂件的精确查
xargs命令:find辅助命令
内部命令和外部命令
Linux系统中的命令总体上分为内部命令和外部命令两⼤类
内部命令:指集成在Shell中的命令,属于Shell中的⼀部分,只要Shell被执⾏,内部命令就⾃动载⼊内存,⽤户可以直接使⽤外部命令:很多的Linux命令独⽴于Shell之外,称为外部命令
Linux系统中的绝⼤多数命令属于外部命令,⽽每个外部命令都对应了系统中的⼀个可执⾏的⼆进制程序⽂件,这些⼆进制程序⽂件主要存放在下列⽬录中:
普通命令:/bin、/usr/bin和/usr/local/bin
管理命令:/sbin、/usr/sbin和/usr/local/sbin
其中,普通命令是指所有⽤户都可以执⾏的命令,管理命令则只有管理员root才有权限执⾏,Linux系统默认将外部命令程序⽂件的存放路径保存在⼀个名为PATH的环境变量中
type命令:判断⼀个命令是内部命令还是外部命令
which命令:查外部命令所对应的的程序⽂件
其他辅助命令
ln命令:⽤于为⽂件或⽬录建⽴快捷⽅式(Linux系统中称为链接⽂件)
alias命令:⽤于设置命令别名
系统定义的别名命令:ll(相当于ls -l)
unalias命令可以取消所设置的别名命令
history命令:查看命令历史记录
help命令:查看内部命令帮助信息
对于外部命令,可以使⽤通⽤命令选项"--help"
man命令:查看命令帮助⼿册
clear命令:清除当前终端屏幕的内容
ctrl+L也有相同的效果
其他技巧
通配符和扩展符
在Linux系统中执⾏命令时,可以通过⼀些特殊符号对多个⽂件进⾏批量操作,从⽽提⾼操作效率
通配符:通⽤的匹配信息的符号
*:匹配任意数量的任意字符
:在相应的位置上匹配单个字符
[]:匹配指定范围内的任意单个字符,如[a,b,c]是表⽰a、b、c任意⼀个字符;[a-z]表⽰任意⼀个⼩写字母扩展符:在扩展符({})中可以包含⼀个以逗号分隔的列表,并将其⾃动展开为多个路径或⽂件名
管道符|
通过管道符|可以把多个简单的命令连接起来以实现更加复杂的功能,管道符⽤于连接左右两个命令,将|左边命令的执⾏结果作为|右边命令的输⼊
命令的换⾏
Linux命令⾏需要换⾏可以使⽤\,出现>时可以继续输⼊命令

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。