初识linux

一、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区
不同发行版之间的联系:

系列:
·Debian:
Debian Project诞生于1993年8月13日,它的目标是提供一个稳定容错的Linux版本。支持Debian的不是某家公司,而是许多在其改进过程中投入了大量时间的开发人员,这种改进吸取了早期Linux的经验。Debian的安装完全是基于文本的,对于其本身来说这不是一件坏事。但对于初级用户来说却并非这样。因为它仅仅使用fdisk 作为分区工具而没有自动分区功能,所以它的磁盘分区过程令人十分讨厌。磁盘设置完毕后,软件工具包的选择通过一个名为dselect的工具实现,但它不向用户提供安装基本工具组(如开发工具)的简易设置步骤。最后需要使用anXious工具配置X Windows,这个过程与其他版本的X Windows配置过程类似。完成这些配置后,Debian就可以使用了。
Ubuntu:基于Debian开发的开源Linux操作系统,主要针对桌面和服务器
Linux Mint:基于Debian和Ubuntu的Linux发行版,致力于桌面系统对个人用户每天的工作更易用,更高效,且目标是提供一种更完整的即刻可用体验。
·Knopix
Slackware
suse:基于Slackware二次开发的一款Linux,主要用于商业桌面、服务器。
OpenSUSE:由suse发展而来,旨在推进linux的广泛使用,主要用于桌面环境,用户界面非常华丽,而且性能良好
·RedHat
rhel(red hat enterprise Linux):Red Hat公司发布的面向企业用户的Linux操作系统。早起版本主要用于桌面环境,免费:
Fedora:基于Red Hat Linux终止发行后,红帽公司计划以Fedora来取代Red Hat Linux在个人领域的应用,而另外发行的Red Hat Enterprise Linux取代Red Hat Linux在商业应用的领域。Fedora的功能对于用户而言,它是一套功能完备、更新快速的免费操作系统,而对赞助者Red Hat公司而言,它是许多新技术的测试平台,被认为可用的技术最终会加入到Red Hat Enterprise Linux中。Fedora大约每六个月发布新版本
CentOS:基于Red hat Linux提供的可自由使用源代码的企业级Linux发行版本。每个版本的Centos都会获得十年的支持(通过安全更新的方式)。新版本的Centos大约每两年发行一次,而每个版本的Centos会定期(大概6个月)更新一次,以支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的Linux环境。
·其他发行版本
Gentoo:基于linux的自由操作系统,基于Linux的自由操作系统,它能为几乎任何应用程序或需求自动地作出优化和定制。追求极限的配置、性能,以及顶尖的用户和开发者社区,都是Gentoo体验的标志特点, Gentoo的哲学是自由和选择。得益于一种称为Portage的技术,Gentoo能成为理想的安全服务器、开发工作站、专业桌面、游戏系统、嵌入式解决方案或者别的东西–你想让它成为什么,它就可以成为什么。由于它近乎无限的适应性,可把Gentoo称作元发行版
ArchLinux:以轻量简洁为设计理念的Linux发行版。其开发团队秉承简洁、优雅和代码最小化的设计宗旨

联系:所有发行版都是使用Linux内核;都需要遵循GNU的GPL(General Public License)协定
不同发行版之间的区别:
发行版的本质区别,在于继承不同版本的内核,库、程序的组成。不同发行版几乎采用了不同包管理器(SLES、Fedora、openSUSE、centos、RHEL使用rmp包管理系统,包文件以RPM为扩展名;Ubuntu系列,Debian系列使用基于DPKG包管理系统,包文件以deb为扩展名。)
把程序的组成文件打包成一个或有限个文件,可以安装、卸载、查询。
Debian程序管理命令:deb, apt-get
RedHat程序管理命令:rpm, yum --> dnf
S.u.S.E程序管理命令: rpm, zypper
ArchLinux:port

二、安装Centos7.6操作系统
虚机安装按照默认模式下一步即可安装。
物理机,首先先将服务器制作RAID,系统盘推介两块盘做RAID1,双盘镜像有冗余,避免盘坏导致系统奔溃问题。
在启动方式上在BIOS上将设定的两块RAID1系统盘作为启动盘(一般系统默认)。
虚拟机安装主要截图:

三、配置环境变量,实现执行history的时候可以看到执行命令的时间。
1.在~/.bash_profile文件中新增一行,写入:HISTTIMEFORMAT=" %F %T ",保存退出。
#source ~/.bash_profile 载入profile

四、总结Linux哲学思想。
1.一切皆文件。便于管理和定义。
2.众多单一功能的小程序。一个程序只做一件事,多个程序组合完成复杂任务。
3.使用文本文件保存配置信息。
4.提供机制,而非策略。给用户充分的可调配性。
5.以/为顶点

五、总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令

COMMAND [OPTIONS…] [ARGUMENTS…]
命名 [选项…] [参数…]

echo命令
功能:显示字符
语法:
echo [-neE] [字符串]
选项:
-E (默认)不支持 \ 解释功能
-n 不自动换行
-e 启用 \ 字符的解释功能
显示变量
echo “$ NAME” 变量会替换,弱引用
echo ‘$ VAR_NAME’ 变量不会替换,强引用

screen
功能:Linux screen命令用于多重视窗管理程序。
语法:
screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]
选项:
-A  将所有的视窗都调整为目前终端机的大小。
-d<作业名称>  将指定的screen作业离线。
-h<行数>  指定视窗的缓冲区行数。
-m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-r<作业名称>  恢复离线的screen作业。
-R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s  指定建立新视窗时,所要执行的shell。
-S<作业名称>  指定screen作业的名称。
-v  显示版本信息。
-x  恢复之前离线的screen作业。
-ls或–list  显示目前所有的screen作业。
-wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。
实例:
创建新screen会话
screen –S [SESSION]
加入screen会话
screen –x [SESSION]
退出并关闭screen会话
exit
剥离当前screen会话
Ctrl+a,d
显示所有已经打开的screen会话
screen -ls
恢复某screen会话
screen -r [SESSION]
date
功能:显示或设定系统的日期与时间
Linux的两种时钟
系统时钟:由Linux内核通过CPU的工作频率进行的
硬件时钟:主板
时间参数:
% : 印出 %
%n : 下一行
%t : 跳格
%H : 小时(00…23)
%I : 小时(01…12)
%k : 小时(0…23)
%l : 小时(1…12)
%M : 分钟(00…59)
%p : 显示本地 AM 或 PM
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
%S : 秒(00…61)
%T : 直接显示时间 (24 小时制)
%X : 相当于 %H:%M:%S
%Z : 显示时区
日期参数:
%a : 星期几 (Sun…Sat)
%A : 星期几 (Sunday…Saturday)
%b : 月份 (Jan…Dec)
%B : 月份 (January…December)
%c : 直接显示日期与时间
%d : 日 (01…31)
%D : 直接显示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001…366)
%m : 月份 (01…12)
%U : 一年中的第几周 (00…53) (以 Sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0…6)
%W : 一年中的第几周 (00…53) (以 Monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000…9999)
实例:
date 显示和设置系统时间
date +%s
date -d @1509536033
hwclock,clock: 显示硬件时钟
-s, --hctosys 以硬件时钟为准,校正系统时钟
-w, --systohc 以系统时钟为准,校正硬件时钟
时区:ll /etc/localtime
列出时区:timedatectl list-timezones
显示日历:cal –y
同步服务器时间:ntpdate ip地址

ifconfig
ifconfig命令用于显示或设置网络设备。
ifconfig可设置网络设备的状态,或是显示目前的设置。
语法:
ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<网络设备类型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]
选项:
add<地址> 设置网络设备IPv6的IP地址。
del<地址> 删除网络设备IPv6的IP地址。
down 关闭指定的网络设备。
<hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。
io_addr<I/O地址> 设置网络设备的I/O地址。
irq<IRQ地址> 设置网络设备的IRQ。
media<网络媒介类型> 设置网络设备的媒介类型。
mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。
metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。
mtu<字节> 设置网络设备的MTU。
netmask<子网掩码> 设置网络设备的子网掩码。
tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。
up 启动指定的网络设备。
-broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。
-pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。
-promisc 关闭或启动指定网络设备的promiscuous模式。
[IP地址] 指定网络设备的IP地址。
[网络设备] 指定网络设备的名称。
实例:
显示网络设备信息
ifconfig
启动关闭指定网卡
ifconfig eth0 down
ifconfig eth0 up
export
export命令用于设置或显示环境变量。在 shell 中执行程序时,shell 会提供一组环境变量。export 可新增,修改或删除环境变量,供后续执行的程序使用。export 的效力仅限于该次登陆操作。
参数:
-f  代表[变量名称]中为函数名称。
-n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p  列出所有的shell赋予程序的环境变量。
实例:
列出当前的环境变量值
export -p
定义环境变量并赋值
export MYENV=7

六、描述Linux发行版的系统目录名称命名规则以及用途。
linux的各个发行版目录结构使用的是FHS的层次结构:
1文件和目录组织和一个单根的倒置树结构
2文件系统从根目录开始/
大致结构如下:

其中在centos7中发生了细微的变化:
/bin 、/sbin、 /lib、 /lib64都发生了变化,通过软链接分别指向了/bin/usr/bin 、/ usr/sbin、/usr/lib、/usr/lib64.

文件命令规则:
1文件最长为255个字节:
使用快捷键ALT+数字(次数)+字母,则输入有次的文件,创建255个字节长度的:

2包括路径在内最长4095个字节
3对大小写敏感,要注意大小写,不能使用特殊的目录命名
4除了/和NUL ASCII中的0,所以其他的字符都有效

七、描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?
可以用ls -l或者ll来查看文件的属性
[root@centos ~]#ls -l a.txt
-rw-r–r–. 1 root root 9 Feb 6 11:49 a.txt
① ② ③ ④ ⑤ ⑥
①文件的元数据一般由开头显示的11位组成:
1 位是文件的类型,- 普通文件,d 目录文件,b 块设备,c 字符设备,l 符号链接文件,p 管道文件pipe,s 套接字文件socket;
2-4 三位是文件所属组的权限位,其中r为读权限、w为写权限、x为执行权限,S为超级权限,X为特殊权限;
5-7 三位是文件所属组的权限位;
8-10三位是其他用户对文件的权限位;
. 位是表示SElinux的开关;
② 位是表示文件的硬链接数量;
③ 位是文件的所属用户和所属组的信息;
④ 位是文件的大小;
⑤ 位是文件默认的mtime也就是修改时间;
⑥ 位是文件的名称;
前面所有的数据,存在于文件的lnode索引节点里,后面文件的名称是存在于其父目录的block块里;

修改文件的时间戳信息:
stat file
三个时间戳:
access time 访问时间,atime,读取文件内容
modify time 修改时间,mtime,改变文件内容(数据)
change time 改变时间,ctime,元数据发生改变

可以使用touch命令更改文件的时间戳
touch命令
格式:touch [OPTION]… FILE…
-a 仅改变 atime和ctime
-m 仅改变 mtime和ctime
-t [[CC]YY]MMDDhhmm[.ss] 指定atime和mtime的时间戳
-c 如果文件不存在,则不予创建

八、总结软连接和硬连接区别,并用实例操作说明。
软链接:
ln -s 原文件 目标文件
特征:1、相当于windows的快捷方式
  2、符号链接,所以链接文件大小都很小
  3、当运行软连接的时候,会根据链接指向找到真正的文件,然后执行
4、所有链接文件的权限都是777,而真正的权限是由指向的那个文件决定的
5、原文件丢失后,软链接无法访问,会报找不到的错误
6、ls -al ,软连接后面箭头执行的时源文件
硬链接
ln 源文件 目标文件
特征:1、原文件和链接文件的属性完全一样
  2、链接文件和源文件的关系类似于:复制+同步更新
   3、当原文件丢失,硬链接文件还可以访问
   4、不能跨分区,不能针对目录使用
   5、原理:原文件和硬链接文件的节点相同的,1个文件名只能对应1个节点号。但是1个节点号能对应多个文件名。所以,他们的属性完全相同,并且修改了其中一个的内容另外一个也会跟着修改。
实例如下:
创建a文件的软连接b,并查看a和软链接文件a.link的inodes、权限、大小,如下:
[root@centos6 ~]# ln -s a a.link
[root@centos6 ~]# ll -i
total 6728
394681 -rw-r–r-- 1 root root 6888896 Nov 10 21:42 a
394522 lrwxrwxrwx 1 root root 1 Nov 10 21:45 a.link -> a
从命令的执行结果上看,结论如下:
1、a文件的inode号为394681,a.link文件inode为394522,inode号不一致。
2、符号链接,所以链接文件大小都很小。a.link大小为1bit,而a文件的大小为6.6M。
3、所有a.link文件的权限都是777,而真正的权限是由指向的那个文件决定的

删除文件a,访问a.link链接文件
[root@centos6 ~]# mv a a.bak
[root@centos6 ~]# cat a.link
cat: a.link: No such file or directory
总结:原文件丢失后,软链接无法访问,会报找不到文件的错误

创建a文件的硬链接a.hard,查看a和软链接文件a.link的inodes、权限、大小等元数据。
[root@centos6 ~]# ln a a.hard
[root@centos6 ~]# ll -i
total 13456
394681 -rw-r–r-- 3 root root 6888896 Nov 10 21:42 a
394681 -rw-r–r-- 3 root root 6888896 Nov 10 21:42 a.hard
394522 lrwxrwxrwx 1 root root 1 Nov 10 21:45 a.link -> a
总结:原文件和链接文件的属性完全一样,元数据完全一样。

删除a文件后,硬链接文件a.hard的情况
[root@centos6 ~]# mv a a.bak
[root@centos6 ~]# ll -i
total 13456
394699 -rw-r–r-- 2 root root 6888896 Nov 10 22:39 a.bak
394699 -rw-r–r-- 2 root root 6888896 Nov 10 22:39 a.hard
394522 lrwxrwxrwx 1 root root 1 Nov 10 21:45 a.link -> a
[root@centos6 ~]# tail a.hard
999991
999992
999993
999994
999995
999996
999997
999998
999999
1000000
总结:当原文件丢失,硬链接文件还可以访问。
[root@centos6 ~]# echo “1”>>a.bak
[root@centos6 ~]# tail -1 a.hard
1
总结:链接文件和源文件的关系类似于:复制+同步更新

综合以上实例,软连接和硬链接的区别总结如下:
软链接和硬链接的区别:在linux的文件系统中,保存在磁盘分区中的文件不管事什么类型都给它分配一个编号,称为索引节点号inode。具体如下:
1、软连接,其实就是新建立一个文件,这个文件就是专门用来指向别的文件的。软连接的inode跟原文件的inode是不一致的
2、硬链接是不会建立inode。他只是在文件原里的inode link count域再增加1而已,也因此硬链接是不可以跨越文件系统的。
3、硬链接是一个文件别名。
4、软链接可以跨文件系统,硬链接不可以
5、软链接可以对一个不存在的文件名进行链接,硬链接不行。
6、软链接可以对目录进行连接,硬连接不可以
7、两种链接都可以通过ln来创建,ln默认创建的是硬链接
8、使用-s开关可以创建软链接。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值