首页
›
答案
›
标签
›
Linux操作系统基础
Linux操作系统基础
101
Shell 传递参数我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……实例以下实例我们向脚本传递三个参数,并分别输出,其中 $0 为执行的文件名:;!/bin/bash; author:菜鸟教程; url:wwwrunoobcomecho Shell 传递参数实例!;echo 执行的文件名:$0;echo 第一个参数为:$1;echo 第二个参数为:$2;echo 第三个参数为:$3;
102
my_array=(A B C D)echo 第一个元素为: ${my_array[0]}echo 第二个元素为: ${my_array[1]}echo 第三个元素为: ${my_array[2]}echo 第四个元素为: ${my_array[3]}执行脚本,输出结果如下所示:$ chmod +x testsh
103
原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。expr 是一款表达式计算工具,使用它能完成表达式的求值操作。例如,两个数相加(注意使用的是反引号 ` 而不是单引号 ):实例;!/bin/bashval=`expr 2 + 2`echo 两数之和为 : $val执行脚本,输出结果如下所示:两数之和为 : 5
104
num1=$[2*3]num2=$[1+5]if test $[num1] -eq $[num2]thenecho 两个数字相等!elseecho 两个数字不相等!fi输出结果为:连个数字不相等!
105
顺序输出字符串中的字符:for str in This is a stringdoecho $strdone输出结果:This is a string
106
num1=100num2=100if test $[num1] -eq $[num2]thenecho 两个数相等!elseecho 两个数不相等!fi输出结果:两个数相等!
107
;!/bin/bashint=1while(( $int=5 ))doecho $intlet int++done运行脚本,输出:12345
108
;!/bin/bashfunction demoFun1(){echo 这是我的第一个 shell 函数!
109
Linux的口令存储于/etc/passwd文件中。
110
Linux的口令存储于/etc/shadow文件中。
111
Linux口令的加密采用的是加盐hash的方法。
112
口令攻击的常用方法有:查表法、字典法、暴力攻击法。
113
使用弱口令也无所谓。
114
最安全的口令是一次一密。
115
Linux口令采用加盐hash的目的是为了增加破解的难度。
116
超级用户root的UID为0
117
密码域密文也是由三部分组成的,即:$id$salt$encrypted,其中id是一个具体的数字,表示加密的方法。id为数字1,表示加密算法为md5
118
密码域密文也是由三部分组成的,即:$id$salt$encrypted,其中id是一个具体的数字,表示加密的方法。id为数字5,表示加密算法为SHA256
119
一个磁盘可以划分为多个磁道。
120
多个磁盘上相同大小的磁道在竖直空间上构成了一个柱面。
121
一个磁盘的存储容量 = 磁头数 × 磁道(柱面)数 × 每道扇区数 × 每扇区字节数
122
一个磁盘有3个圆盘6个磁头,7个柱面(每个盘片7个磁道) 的磁盘,每条磁道有12个扇区,所以此磁盘的容量为:6 * 7 * 12 * 512 = 258048字节
123
读写一次磁盘信息所需的时间可分解为:寻道时间、延迟时间、传输时间。
124
Linux 的所有设备都被抽象为一个文件,保存在 /dev 目录下。硬盘名称一般为:设备类型 + [a-z],其中 [a-z] 表示第几块硬盘。
125
IDE 硬盘的名称一般是: hd[a-z] 。SATA 硬盘、SAS A硬盘、SCSI 硬盘和 USB 硬盘的名称一般为: sd[a-z]
126
如果我只有一块硬盘,而且是IDE 2的主盘,那么它的代号是/dev/hdb
127
硬盘最开头的 512 字节,即 0 柱面 0 磁道 1 扇区,称为引导扇区。该扇区由三个部分构成:1、前 446 字节是引导代码,不同操作系统的引导代码不一样。2、然后是 4 个 16 字节的主分区表信息。3、最后 2 个字节 55 AA,是结束标志。
128
主分区:最多只能创建 4 个主分区。2、主分区加上扩展分区要小于等于4。
129
扩展分区放在主分区后面。扩展分区可以有多个。
130
扩展分区不能直接使用,必须要进一步的划分为一个或多个逻辑分区才能使用。
131
如果硬盘分为四个区,那么可以分为两个主分区,再加上两个扩展分区。
132
/dev/sda5表示硬盘上的主分区。
133
硬盘按照接口类型来分,大致可以分为IDE硬盘、SATA硬盘、SCSI硬盘、移动硬盘、固态硬盘。
134
千万不要随意打开硬盘的外壳,因为硬盘的内部是不能沾染灰尘的,否则立即报废。
135
SCSI硬盘是采用SCSI接口的硬盘,SCSI是Small Computer System Interface(小型计算机系统接口)的缩写,使用50针接口,外观和普通硬盘接口有些相似。SCSI硬盘和普通IDE硬盘相比有很多优点:接口速度快,并且由于主要用于服务器,因此硬盘本身的性能也比较高,硬盘转速快,缓存容量大,CPU占用率低,扩展性远优于IDE硬盘,并且支持热插拔。
136
SATA是Serial ATA的缩写,即串行ATA。它是一种电脑总线,主要功能是用作主板和大量存储设备(如硬盘及光盘驱动器)之间的数据传输。这是一种完全不同于并行PATA的新型硬盘接口类型,由于采用串行方式传输数据而得名。SATA总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点。
137
IDE接口(Integrated Drive Electronics)是电子集成驱动器,是把硬盘控制器与盘体集成在一起的硬盘驱动器。把盘体与控制器集成在一起减少硬盘接口的电缆数目与长度,数据传输的可靠性得到增强,硬盘制造起来变得更容易的技术。因此硬盘生产厂商不需要再担心自己的硬盘是否与其它厂商生产的控制器兼容。对用户而言,硬盘安装起来也更为方便。IDE这一接口技术从诞生至今就一直在不断发展,性能也不断地提高,其拥有的价格低廉、兼容性强的特点,为其造就了其它类型硬盘无法替代的地位。
138
固态硬盘领域,目前能见到的不同接口主要就是SATAmSATAM2、SATA Express、PCI-E及U2等。
139
文件压缩后与压缩前所占存储空间之比,称为压缩比。
140
最常用的打包命令是 tar,使用 tar 程序打出来的包我们常称为 tar 包,tar 包文件的命令通常都是以 tar 结尾的。
141
tar 命令的选项有很多(用 man tar 可以查看到),但常用的就那么几个选项,下面来举例说明一下:; tar -cf alltar *jpg这条命令是将所有 jpg 的文件打成一个名为 alltar 的包。-c 是表示产生新的包,-f 指定包的文件名。
142
; tar -rf alltar *gif这条命令是将所有 gif 的文件增加到 alltar 的包里面去,-r 是表示增加文件的意思。
143
; tar -uf alltar logogif这条命令是更新原来 tar 包 alltar 中 logogif 文件,-u 是表示更新文件的意思。
144
; tar -tf alltar这条命令是列出 alltar 包中所有文件,-t 是列出文件的意思。; tar -xf alltar这条命令是解出 alltar 包中所有文件,-x 是解开的意思。
145
gzip 是 GNU 组织开发的一个压缩程序,gz 结尾的文件就是 gzip 压缩的结果。与 gzip 相对的解压程序是 gunzip。tar 中使用 -z 这个参数来调用gzip。下面来举例说明一下:; tar -czf alltargz *jpg这条命令是将所有 jpg 的文件打成一个 tar 包,并且将其用 gzip 压缩,生成一个 gzip 压缩过的包,包名为 alltargz。
146
bzip2 是一个压缩能力更强的压缩程序,bz2 结尾的文件就是 bzip2 压缩的结果。与 bzip2 相对的解压程序是 bunzip2。tar 中使用 -j 这个参数来调用 gzip。下面来举例说明一下:; tar -cjf alltarbz2 *jpg这条命令是将所有 jpg 的文件打成一个 tar 包,并且将其用 bzip2 压缩,生成一个 bzip2 压缩过的包,包名为 alltarbz2; tar -xjf alltarbz2这条命令是将上面产生的包解开。
147
tar –cvf jpgtar *jpg// 将目录里所有jpg文件打包成 tarjpg
148
tar –czf jpgtargz *jpg// 将目录里所有jpg文件打包成 jpgtar 后,并且将其用 gzip 压缩,生成一个 gzip 压缩过的包,命名为 jpgtargz
149
tar –xvf filetar // 解压 tar 包 tar -xzvf filetargz // 解压 targz tar -xjvf filetarbz2// 解压 tarbz2
150
Linux rpm 命令用于管理套件。rpm(redhat package manager) 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。
151
yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
152
$yum list //列出所有软件包$yum list installed//列出已经安装的软件包
153
列出所有安装过的包[root@localhost ~]; rpm -qa
154
rpm –ivh rpm软件包名,比如说:rpm -ivh apache-136i386rpm,含义就是安装apache-136i386rpm的rpm包,同时显示安装进度。
155
rpm -Uvh *rpm 来升级软件时,-Uvh表示如果原来软件未安装,则不安装,原本已安装时,则直接升级。
156
rpm -Fvh *rpm 来升级软件时,-Fvh表示如果原来软件未安装,则直接安装,原本已安装时,则直接升级。
157
RPM最大问题是软件之间的依懒性问题。
158
gcc是C语言的编译器,GDB是调试器,make是自动化编译工具。
159
访问控制是指控制对一台计算机或一个网络中的某个资源的访问。访问控制控制着一个主体(subject)可以访问哪些对象(objects)。
160
自主访问控制DAC,也就是指具有授予某种访问权力的主体(用户)能够自己决定是否将访问控制权限的某个子集授予其他的主体或从其他主体那里收回他所授予的访问权限。
161
若有一个文件的属性为-rwxr-xr--,那么代表什么意思?答:上面的属性代表一个文件,这个文件的所有者可读可写可执行、但同群组的人仅可读可写可执行,非同群组的使用者仅可读。
162
如果有下面的两个文件:-rw-r--r-- 1 root root238 Jun 18 17:22 testtxt -rwxr-xr-- 1 test1 testgroup 5238 Jun 19 10:25 ping_tsai 请说明两个文件的所有者是谁?答:第一个文件的拥有者是root。第二个文件拥有者是testgroup。
163
使用chmod750 testtxt命令后,testtxt的拥有者的权限为可读可写可执行。
164
可以用chattr命令防止系统中某个关键文件被修改:例如使用 chattr +i /etc/resolvconf 命令后,那么该文件将不能被修改。
165
Security-Enhanced Linux简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。
166
SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)
167
DAC自主访问控制这种权限管理机制的主体是用户,最致命问题是root 用户不受任何管制,系统上任何资源都可以无限制地访问。
168
SElinux 是一个标签型系统。(1)主体 :进程(2)客体 :文件每一个进程都有一个标签。操作系统中的每一个文件客体也都有一个标签。
169
SELinux工作模式分三种:(1)enforcing ===强制模式(2)permissive===宽容模式(3) disabled ===关闭模式
170
计算机端口是计算机与外界通讯交流的出口。硬件领域的端口又称接口,如:USB端口、串行端口等。软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。
171
如果把IP地址比作一间房子 ,端口就是出入这间房子的门。不光接受数据包的进程需要开启它自己的端口,发送数据包的进程也需要开启端口。
172
如何关闭某一个端口?关掉该端口对应的服务即可。比如想要想要关掉25号端口,那么找到其对应的服务为sendmail, 关闭该服务,就可以关闭该主机的25号端口。
173
防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合,它能增强机构内部网络的安全性。防火墙通过审查经过的每一个数据包,判断它是否有相匹配的过滤规则,根据规则的先后顺序进行一一比较,直到满足其中的一条规则为止,然后依据控制机制做出相应的动作。如果都不满足,则将数据包丢弃,从而保护网络的安全。
174
netfilter/iptables组成Linux平台下的包过滤防火墙。iptables防火墙是由:规则(rules)链(chains)表(tables)构成的。规则(rules)其实就是网络管理员预定义的条件。 规则一般定义为如果数据包头符合这样的条件,就这样处理数据包。 配置防火墙的主要工作就是添加、修改和删除这些规则。
175
添加下面的iptables规则,可以实现禁止IP地址为1921681200的客户机上网的功能。iptables -I FORWARD -s 1921681200 -j DROP
176
下面的命令可以实现只能往/var/log/messages里面追加数据,但不能删除的功能。 chattr +a /var/log/messages
177
Centos6 使用的是iptables ,Centos7 使用的是filewall iptables 用于过滤数据包,属于网络层防火墙。 firewall 能够允许哪些服务可用,哪些端口可用属于更高一层的防火墙。
178
UOS(unity operating system),研发团队是由中兴、深度、中国电子、诚迈科技等国内操作系统核心企业自愿发起,旨在打造中国操作系统新生态。所以,UOS的「U」,意思是「统一」。UOS(unity operating system)是统一操作系统的目前代号。网友点评UOS:实现在不同CPU平台上统一发布渠道、统一应用商店、统一交互体验、统一内核版本、统一文档和开发接口,几个公司采用统一的标准,就像Windows一样,或许是因为考虑到Linux现在碎片化很严重,想以此来解决,同样给软件开发
‹
1
2
›