Linux服务器从入门到精通52问
程序员文章站
2022-04-03 16:51:29
本文为Linux服务器从入门到精通的52问... 12-11-05...
q1 linux的开发者是谁?
a:芬兰大学生 linus torvalds
q2 linux的常见内核版本是多少?
a:2.6.x
q3 linux可以运行的硬件平台有哪些?
a:dell, ibm, hp, oracle和veritas
q4:linux 1.0版是哪一年发行的?
a:1994年发表 linux 正式核心 1.0
q5 交换分区的作用是什么?
a:用来做虚拟内存,与windows的页面文件类似
q6 linux有哪些引导装载方式?
a:常见的有grub lilo
q7 ext2 ext3文件系统用于哪一linux版本?
a ext2为red hat linux 7.2前常用文件系统,现行版本通常使用ext3文件系统
q8 卸载linux后如何清除mbr
a:使用fdisk命令可以删除mbr
q9 linux重新启动与关机命令是什么
a:halt命令
功能:关机
格式:halt [-n] [-w] [-d] [-f] [-i] [-p]
说明:
若系统的 runlevel 为 0 或 6 ,则关闭系统,否则以 shutdown 指令(加上 -h 参数)来取代
init 命令
功能:改变系统的运行级别
格式:init [0123456ss]
说明:init 是所有行程(process)的父行程(parent),开机时一定会先从这个指令开始(可以用 ps -aux 看看第一个行程就是 init),并参考 /etc/inittab 档来完成整个开机程序,共有八个执行层级(runlevel),而改变只能透过 telinit 的指令来更改
参数:
0 开机执行层级为 0 ,用来关闭系统
1 开机执行层级为 1 ,用来进行单一使用者模式(single user mode)
5 开机执行层级为 5 ,表示进入 x window 时的模式
6 开机执行层级为 6 ,用来重新开机
s 或 s 不是直接使用的,配合开机执行层级 1 时使用,当加上s 或 s 表示开机后不参考 /etc/inittab 档235 请参照 /etc/inittab 档案内容以及 /etc/rc.d/rc2.d,/etc/rc.d/rc3.d,/etc/rc.d/rc5.d 等目录
reboot 命令
功能:重启系统
格式:reboot [-n] [-w] [-d] [-f] [-i]
说明:若系统的 runlevel 为 0 或 6 ,则重新开机,否则以 shutdown 指令(加上 -r 参数)来取代
参数:
-n : 在重开机前不做将记忆体资料写回硬盘的动作
-w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里
-d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d) -f : 强迫重开机,不呼叫 shutdown 这个指令
-i : 在重开机之前先把所有网络相关的装置先停止
范例:
reboot 重开机。
reboot -w 做个重开机的模拟(只有纪录并不会真的重开机)。
shutdown 命令
功能:关闭系统
使用方式 : shutdown [-t seconds] [-rkhncff] time [message]
说明 : shutdown 可以用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机。
参数 :
-t seconds : 设定在几秒钟之后进行关机程序
-k : 并不会真的关机,只是将警告讯息传送给所有只用者
-r : 关机后重新开机
-h : 关机后停机
-n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机
-c : 取消目前已经进行中的关机动作
-f : 关机时,不做 fcsk 动作(检查 linux 档系统)
-f : 关机时,强迫进行 fsck 动作
time : 设定关机的时间
message : 传送给所有使用者的警告讯息
q10 常见的3种x-windows桌面环境是什么?
a: cde kde gnome
q11 linux文件和目录权限是如何划分的,umask命令的作用和用法?
a:linux文件都具有4种存取权限r读取、w写入、x执行、-无权限。
功能:系统管理员使用umask为用户设置默认的权限
格式:umask mode
说明:umask 022,表示文件的默认权限屏蔽为022:则新建文件夹文件权限为666-022=644
umask –s 显示当前屏蔽码
果你不想每次登陆修改的话,可以在`/.bash_profile加上umask 077。
q12 如何改变文件及目录的权限
a: 使用 chmod命令
q13 如何改变文件的所有者
a:使用 chown命令
q14 如何显示磁盘分区的大小
a:使用 df du 命令
q15 cd命令的作用和用法
a:功能:改变当前目录
格式:cd 路径
说明:
1)cd :回到目前登录用户的主目录。
2)cd today:切换到主目录下层的today目录。
3)cd ..:回到上一层目录。
4)cd /:直接切换到根目录。
5). 代表当前目录
6)..上一级目录
7)ls 文件名:显示该文件的信息
q16 如何添加用户?
a: 使用adduser命令
q17 普通用户的uid最大值是多少?
a:通常是4294967295
q18 如何删除文件的默认权限?
a:使用 umask777 清除文件的所有权限
q19 文件系统的挂载与卸载方法
a:功能:挂载文件系统
格式:mount [-参数] [设备名称] [挂载点]
说明:其中常用的参数有
-t<文件系统类型> 指定设备的文件系统类型,常见的有:
ext2 linux目前常用的文件系统
msdos ms-dos的fat,就是fat16
vfat windows98常用的fat32
nfs 网络文件系统
iso9660 cd-rom光盘标准文件系统
ntfs windows nt 2000的文件系统
auto 自动检测文件系统
-o<选项> 指定挂载文件系统时的选项。有些也可用在/etc/fstab中。常用的有
ro 以只读方式挂载
rw 以读写方式挂载
nouser 使一般用户无法挂载
user 可以让一般用户挂载设备
用途:卸载文件系统
语法:umount 文件系统
说明:
卸载文件系统使文件系统不可用。
q20 lvm水水什么?
a:lvm(logicl volume manager),逻辑卷管理器,通过使用逻辑卷管理器对硬盘存储设备进行管理,可以实现硬盘空间的动态划分和调整。
q21 如何查看当前用户的系统行为?
a: 使用命令w查看当前用户的系统行为, w root
q22 如何查看曾经登录系统的用户名 ?
a:使用who命令查看当前用户登录情况 who -u更详细些
q23查看所有进程的方法是什么?
a:ps命令
功能:查看进程状态
格式:ps [选项]
说明:
-e/a 列出所有进程。
-u 选择有效的用户id。
-p 选择指定终端下的进程。
-c 选择指定的文件名。
-f 列出所有详细信息。
-l 按长格式显示。
-j 按job格式显示。
-x 选择没有控制终端的进程。
q24 删除进程的方法是?
a:kill命令
功能:终止进程
格式:kill [-s p][-a] pid
说明:
-s 指明发送给进程的信号。例如-9(强行终止),默认发送term信号。
-p 显示进程的id,不发送信号。
-a 终止所有进程。
0 给所有在当前进程组中的进程发送信号。
-1 给所有进程号大于1的进程发送信号。
q25 如何查看系统开启的端口?
a:使用 netstar命令
q26 什么是lvm物理卷?
a: 物理卷—–pv(physical volume)物理卷在逻辑卷管理中处于最底层,它可以是实际物 理硬盘上的分区,也可以是整个物理硬盘。
q27 什么是lvm卷组?
a: 卷组——–vg(volumne group)卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。
q28 什么是lvm逻辑卷?
a: 逻辑卷—–lv(logical volume)逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷要以属于同一个卷组,也可以属于不同的多个卷组。
q29 什么是lvm物理区域?
a: 物理区域–pe(physical extent)物理区域是物理卷中可用于分配的最小存储单元,物理区域的大小可根据实际情况在建立物理卷时指定。物理区域大小一旦确定将不能更改,同一卷组中的所有物理卷的物理区域大小需要一致。
q30 什么是lvm逻辑区域
a: 逻辑区域—le(logical extent)逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小.
q31 什么是lvm卷组描述区域
a: 卷组描述区域—–(volume group descriptor area)卷组描述区域存在于每个物理卷中,用于描述物理卷本身、物理卷所属卷组、卷组中的逻辑卷及逻辑卷中物理区域的分配等所有信息,卷组描述区域是在使用pvcreate建立物理卷时建立的。
q32 如何复制文件
a: cp /test1/file1 /test3/file2:将目录test1下的文件file1复制到test3目录下, 并更名为file2。
cp –ax dir1 dir2:a:是指复制指定的目录,并包含其下的所有文件和子目录。
x:此文件的格式变为和目的地扇区的文件系统相同的。
q33 如何移动文件
a:mv /test1/file1 /test2/file2:将test1目录下的file1文件复制到test2目录下, 并更改名为file2。
mv file1 file2 将文件名file1改为file2
q34 如何查找文件?
a:$find ~ -name “*.txt” -print #在$home中查.txt文件并显示$find . -name “*.txt” -print$find . -name “[a-z]*” -print #查以大写字母开头的文件$find /etc -name “host*” -print #查以host开头的文件$find . -name “[a-z][a-z][0–9][0–9].txt” -print #查以两个小写字母和两个数字开头的txt文件$find . -perm 755 -print$find . -perm -007 -exec ls -l {} \; #查所有用户都可读写执行的文件同-perm 777$find . -type d -print$find . ! -type d -print$find . -type l -print$find . -size +1000000c -print #查长度大于1mb的文件$find . -size 100c -print # 查长度为100c的文件$find . -size +10 -print #查长度超过期作废10块的文件(1块=512字节)
q35 压缩与解压缩命令是什么?
a:功能:将文件归档
格式:tar 参数 归档文件名称 文件或目录
说明:
压缩一组文件为tar.gz后缀。
# tar cvf backup.tar /etc
#gzip -q backup.tar
或
# tar cvfz backup.tar.gz /etc/
释放一个后缀为tar.gz的文件。
#gunzip backup.tar.gz
#tar xvf backup.tar
或
# tar xvfz backup.tar.gz
用一个命令完成压缩
#tar cvf - /etc/ gzip -qc > backup.tar.gz
用一个命令完成释放
# gunzip -c backup.tar.gz tar xvf -
解开tar.z的文件
# tar xvfz backup.tar.z
或
# uncompress backup.tar.z
#tar xvf backup.tar
解开.tgz文件
#gunzip backup.tgz
压缩和解压缩.bz2的包
#bzip2 /etc/smb.conf
这将压缩文件smb.conf成smb.conf.bz2
#bunzip2 /etc/smb.conf.bz2
这将在当前目录下还原smb.conf.bz2为smb.conf
注: .bz2压缩格式不是很常用,你可以man bzip2
q36 如何显示系统环境变量?
a: env命令
功能:显示环境变量
格式:env
说明:
显示当前环境
env
假设有一角本my_job用来下世环境变量lang的当前位置。
在不修改lang变量时,使用env命令执行角本my_job,如下:
env path=/u/testuser/jobs: $my_job
lang=c
当在env命令中修改了lang的值后将有:
env lang=c++ path=/u/testuser/jobs : $path my_job
lang=c++
q37 vi的三种命令模式是什么
a:vi 做为linux 系统中一种编辑器,它的使用方法和界面与 unix 平台十分相似。
基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(insert mode)和底行模式(last line mode),各模式的功能区分如下:
1) 命令行模式command mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入insert mode下,或者到 last line mode。
2) 插入模式(insert mode)
只有在insert mode下,才可以做文字输入,按「esc」键可回到命令行模式。
3) 底行模式(last line mode)
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。
q38 vi的基本操作
a:a) 进入vi
在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:
$ vi myfile
不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式 (command mode)」,您要切换到「插入模式(insert mode)」才能够输入文字。
b) 切换至插入模式(insert mode)编辑文件
在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(insert mode)」,这时候你就可以开始输入文字了。
c) insert 的切换
您目前处于「插入模式(insert mode)」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「esc」键转到「命令行模式(command mode)」再删除文字。
d) 退出vi及保存文件
在「命令行模式(command mode)」下,按一下「:」冒号键进入「last line mode」,例如:
: w filename (输入 「w filename」将文章以指定的文件名filename保存)
: wq (输入「wq」,存盘并退出vi)
: q! (输入q!, 不存盘强制退出vi)
q39 命令行模式(command mode)功能键
a:1). 插入模式
按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
2). 从插入模式切换为命令行模式
按「esc」键。
3). 移动光标
vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。
按「ctrl」+「b」:屏幕往“后”移动一页。
按「ctrl」+「f」:屏幕往“前”移动一页。
按「ctrl」+「u」:屏幕往“后”移动半页。
按「ctrl」+「d」:屏幕往“前”移动半页。
按数字「0」:移到文章的开头。
按「g」:移动到文章的最后。
按「$」:移动到光标所在行的“行尾”。
按「^」:移动到光标所在行的“行首”
按「w」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头
按「#l」:光标移到该行的第#个位置,如:5l,56l。
4). 删除文字
「x」:每按一次,删除光标所在位置的“后面”一个字符。
「#x」:例如,「6x」表示删除光标所在位置的“后面”6个字符。
「x」:大写的x,每按一次,删除光标所在位置的“前面”一个字符。
「#x」:例如,「20x」表示删除光标所在位置的“前面”20个字符。
「dd」:删除光标所在行。
「#dd」:从光标所在行开始删除#行
5). 复制
「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」:复制#个字到缓冲区
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
6). 替换
「r」:替换光标所在处的字符。
「r」:替换光标所到之处的字符,直到按下「esc」键为止。
7). 回复上一次操作
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
8). 更改
「cw」:更改光标所在处的字到字尾处
「c#w」:例如,「c3w」表示更改3个字
9). 跳至指定的行
「ctrl」+「g」列出光标所在行的行号。
「#g」:例如,「15g」,表示移动光标至文章的第15行行首。
q40 shell的使用方法
a:程序必须以下面的行开始(必须方在文件的第一行):
#!/bin/sh
符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。
当编辑好脚本时,如果要执行该脚本,还必须使其可执行。
要使脚本可执行:
chmod +x filename
然后,您可以通过输入: ./filename 来执行您的脚本。
注释
在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。
变量
在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。要赋值给一个变量,您可以这样写:
变量名=值
取出变量值可以加一个美元符号($)在变量前面:
#!/bin/sh
#对变量赋值:
a=”hello world”
# 现在打印变量a的内容:
echo “a is:”
echo $a
在您的编辑器中输入以上内容,然后将其保存为一个文件first。之后执行chmod +x first
使其可执行,最后输入./first执行该脚本。
这个脚本将会输出:
a is:
q41 什么是正则表达式?
a:简单的说就是在文件名中使用通配符。
q42 如何更改网络接口的ip地址?
a:使用ifconfig命令
q43 ssh的两种工作级别是什么?
a:第一种级别(基于口令的安全验证)只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。
第二种级别(基于密匙的安全验证)需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到ssh服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在你在该服务器的家目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。
q44 telnet的工作原理是什么?
a:当你用telnet登录进入远程计算机系统时,你事实上启动了两个程序,一个 叫telnet客户程序,它运行在你的本地机上;另一个叫telnet服务器程序,它运 行在你要登录的远程计算机上。本地机上的客户程序要完成如下功能: 1 、建立与服务器的tcp 联接; 2 、从键盘上接收你输入的字符; 3 、把你输入的字符串变成标准格式并送给远程服务器; 4 、从远程服务器接收输出的信息; 5 、把该信息显示在你的屏幕上。
q45 ftp的常用命令有哪些?
a:
1![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zip.
2.$ macro-ame[args]:执行宏定义macro-name.
3.account[password]:提供登录远程系统成功后访问系统资源所需的补充口令。
4.append local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。
5.ascii:使用ascii类型传输方式。
6.bell:每个命令执行完毕后计算机响铃一次。
7.bin:使用二进制文件传输方式。
8.bye:退出ftp会话过程。
9.case:在使用mget时,将远程主机文件名中的大写转为小写字母。
10.cd remote-dir:进入远程主机目录。
11.cdup:进入远程主机目录的父目录。
12.chmod mode file-name:将远程主机文件file-name的存取方式设置为mode,如:chmod 777 a.out。
13.close:中断与远程服务器的ftp会话(与open对应)。
14.cr:使用asscii方式传输文件时,将回车换行转换为回行。
15.delete remote-file:删除远程主机文件。
16.debug[debug-value]:设置调试方式,显示发送至远程主机的每条命令,如:deb up 3,若设为0,表示取消debug。
17.dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件local-file。
18.disconnection:同close。
19.form format:将文件传输方式设置为format,缺省为file方式。
20.get remote-file[local-file]:将远程主机的文件remote-file传至本地硬盘的local-file。
q46 url,uri由哪几部分组成?
url的格式由下列三部分组成:
第一部分是协议(或称为服务方式);
第二部分是存有该资源的主机ip地址(有时也包括端口号);
第三部分是主机资源的具体地址。,如目录和文件名等。
uri一般由三部分组成:
访问资源的命名机制。
存放资源的主机名。
资源自身的名称,由路径表示。
q47 apache的最大连接数的修改方法是什么?》
a:在httpd.conf中设置:
maxclients n
n是整数,表示最大连接数,取值范围在1和256之间,如果要让apache支持更多的连接数,那么需要修改源码中的httpd.h文件,把定义的hard_server_limit值改大然后再编译。
q48 cron命令的作用与用法
a:cron命令:循环执行某一命令。at命令只能执行一次,虽然都是计划任务的命令,这是这两个命令的区别 。cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明: crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除没个用户的cron服务
crontab -e //编辑某个用户的cron服务
q49 防火墙的分类
a:包过滤(packet filtering)型
应用代理(application proxy)型
q50 ping命令的用法
a:ping命令的常用参数选项
ping ip -t
连续对ip地址执行ping命令,直到被用户以ctrl+c中断。
ping ip -l 3000
指定ping命令中的数据长度为3000字节,而不是缺省的32字节。
ping ip -n 300
执行300次的ping命令。
q51 netatart命令的用法
a: netstat用于显示与ip、tcp、udp和icmp协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
netstat 的一些常用选项
netstat -s 本选项能够按照各个协议分别显示其统计数据。
netstat -ce 本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量)。
netstat -r 显示关于路由表的信息,类似于后面所讲使用route print命令时看到的信息。除了显示有效路由外,还显示当前有效的连接。
netstat -a 本选项显示一个所有的有效连接信息列表,包括已建立的连接(established),也包括监听连接请求(listening)的那些连接。
netstat -n 显示所有已建立的有效连接。
q52 ifconfig命令的用法
a:ifconfig命令
用于查看和更改网络接口的地址和参数
$ifconfig -a
lo0: flags=849 mtu 8232
inet 127.0.0.1 netmask ff000000
hme0: flags=863 mtu 1500
inet 211.101.149.11 netmask ffffff00 broadcast 211.101.149.255
ether 8:0:20:a7:4d:21
系统会显示网络接口的名称,接口的状态(up or down),
接口的ip地址和掩码等信息
更改网络接口的ip地址:
#ifconfig hme0 down
#ifconfig hme0 211.101.149.233 netmask 255.255.255.0 up
首先,使用down命令参数把网络接口hme0的服务暂时停止,然后再用ifconfig命令给
接口分配新的ip地址和掩码,并启动网络接口服务
也可以通过改变文件/etc/hosts中的ip地址的值并重新启动系统来更改机器的ip地址。
/etc/hosts/:
211.101.149.11 sampdt
定义主机名在/etc/hostname.hme0及ip地址。
更改了网卡/增加了网卡,系统不能自动启动该接口服务,这时需要手动创建网口服务:
#ifconfig hme0 plumb
即可以为接口le0创建网口服务
相应地,用ifconfig带unplumb参数可以停止服务并关闭网络
a:芬兰大学生 linus torvalds
q2 linux的常见内核版本是多少?
a:2.6.x
q3 linux可以运行的硬件平台有哪些?
a:dell, ibm, hp, oracle和veritas
q4:linux 1.0版是哪一年发行的?
a:1994年发表 linux 正式核心 1.0
q5 交换分区的作用是什么?
a:用来做虚拟内存,与windows的页面文件类似
q6 linux有哪些引导装载方式?
a:常见的有grub lilo
q7 ext2 ext3文件系统用于哪一linux版本?
a ext2为red hat linux 7.2前常用文件系统,现行版本通常使用ext3文件系统
q8 卸载linux后如何清除mbr
a:使用fdisk命令可以删除mbr
q9 linux重新启动与关机命令是什么
a:halt命令
功能:关机
格式:halt [-n] [-w] [-d] [-f] [-i] [-p]
说明:
若系统的 runlevel 为 0 或 6 ,则关闭系统,否则以 shutdown 指令(加上 -h 参数)来取代
init 命令
功能:改变系统的运行级别
格式:init [0123456ss]
说明:init 是所有行程(process)的父行程(parent),开机时一定会先从这个指令开始(可以用 ps -aux 看看第一个行程就是 init),并参考 /etc/inittab 档来完成整个开机程序,共有八个执行层级(runlevel),而改变只能透过 telinit 的指令来更改
参数:
0 开机执行层级为 0 ,用来关闭系统
1 开机执行层级为 1 ,用来进行单一使用者模式(single user mode)
5 开机执行层级为 5 ,表示进入 x window 时的模式
6 开机执行层级为 6 ,用来重新开机
s 或 s 不是直接使用的,配合开机执行层级 1 时使用,当加上s 或 s 表示开机后不参考 /etc/inittab 档235 请参照 /etc/inittab 档案内容以及 /etc/rc.d/rc2.d,/etc/rc.d/rc3.d,/etc/rc.d/rc5.d 等目录
reboot 命令
功能:重启系统
格式:reboot [-n] [-w] [-d] [-f] [-i]
说明:若系统的 runlevel 为 0 或 6 ,则重新开机,否则以 shutdown 指令(加上 -r 参数)来取代
参数:
-n : 在重开机前不做将记忆体资料写回硬盘的动作
-w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里
-d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d) -f : 强迫重开机,不呼叫 shutdown 这个指令
-i : 在重开机之前先把所有网络相关的装置先停止
范例:
reboot 重开机。
reboot -w 做个重开机的模拟(只有纪录并不会真的重开机)。
shutdown 命令
功能:关闭系统
使用方式 : shutdown [-t seconds] [-rkhncff] time [message]
说明 : shutdown 可以用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机。
参数 :
-t seconds : 设定在几秒钟之后进行关机程序
-k : 并不会真的关机,只是将警告讯息传送给所有只用者
-r : 关机后重新开机
-h : 关机后停机
-n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机
-c : 取消目前已经进行中的关机动作
-f : 关机时,不做 fcsk 动作(检查 linux 档系统)
-f : 关机时,强迫进行 fsck 动作
time : 设定关机的时间
message : 传送给所有使用者的警告讯息
q10 常见的3种x-windows桌面环境是什么?
a: cde kde gnome
q11 linux文件和目录权限是如何划分的,umask命令的作用和用法?
a:linux文件都具有4种存取权限r读取、w写入、x执行、-无权限。
功能:系统管理员使用umask为用户设置默认的权限
格式:umask mode
说明:umask 022,表示文件的默认权限屏蔽为022:则新建文件夹文件权限为666-022=644
umask –s 显示当前屏蔽码
果你不想每次登陆修改的话,可以在`/.bash_profile加上umask 077。
q12 如何改变文件及目录的权限
a: 使用 chmod命令
q13 如何改变文件的所有者
a:使用 chown命令
q14 如何显示磁盘分区的大小
a:使用 df du 命令
q15 cd命令的作用和用法
a:功能:改变当前目录
格式:cd 路径
说明:
1)cd :回到目前登录用户的主目录。
2)cd today:切换到主目录下层的today目录。
3)cd ..:回到上一层目录。
4)cd /:直接切换到根目录。
5). 代表当前目录
6)..上一级目录
7)ls 文件名:显示该文件的信息
q16 如何添加用户?
a: 使用adduser命令
q17 普通用户的uid最大值是多少?
a:通常是4294967295
q18 如何删除文件的默认权限?
a:使用 umask777 清除文件的所有权限
q19 文件系统的挂载与卸载方法
a:功能:挂载文件系统
格式:mount [-参数] [设备名称] [挂载点]
说明:其中常用的参数有
-t<文件系统类型> 指定设备的文件系统类型,常见的有:
ext2 linux目前常用的文件系统
msdos ms-dos的fat,就是fat16
vfat windows98常用的fat32
nfs 网络文件系统
iso9660 cd-rom光盘标准文件系统
ntfs windows nt 2000的文件系统
auto 自动检测文件系统
-o<选项> 指定挂载文件系统时的选项。有些也可用在/etc/fstab中。常用的有
ro 以只读方式挂载
rw 以读写方式挂载
nouser 使一般用户无法挂载
user 可以让一般用户挂载设备
用途:卸载文件系统
语法:umount 文件系统
说明:
卸载文件系统使文件系统不可用。
q20 lvm水水什么?
a:lvm(logicl volume manager),逻辑卷管理器,通过使用逻辑卷管理器对硬盘存储设备进行管理,可以实现硬盘空间的动态划分和调整。
q21 如何查看当前用户的系统行为?
a: 使用命令w查看当前用户的系统行为, w root
q22 如何查看曾经登录系统的用户名 ?
a:使用who命令查看当前用户登录情况 who -u更详细些
q23查看所有进程的方法是什么?
a:ps命令
功能:查看进程状态
格式:ps [选项]
说明:
-e/a 列出所有进程。
-u 选择有效的用户id。
-p 选择指定终端下的进程。
-c 选择指定的文件名。
-f 列出所有详细信息。
-l 按长格式显示。
-j 按job格式显示。
-x 选择没有控制终端的进程。
q24 删除进程的方法是?
a:kill命令
功能:终止进程
格式:kill [-s p][-a] pid
说明:
-s 指明发送给进程的信号。例如-9(强行终止),默认发送term信号。
-p 显示进程的id,不发送信号。
-a 终止所有进程。
0 给所有在当前进程组中的进程发送信号。
-1 给所有进程号大于1的进程发送信号。
q25 如何查看系统开启的端口?
a:使用 netstar命令
q26 什么是lvm物理卷?
a: 物理卷—–pv(physical volume)物理卷在逻辑卷管理中处于最底层,它可以是实际物 理硬盘上的分区,也可以是整个物理硬盘。
q27 什么是lvm卷组?
a: 卷组——–vg(volumne group)卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。
q28 什么是lvm逻辑卷?
a: 逻辑卷—–lv(logical volume)逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷要以属于同一个卷组,也可以属于不同的多个卷组。
q29 什么是lvm物理区域?
a: 物理区域–pe(physical extent)物理区域是物理卷中可用于分配的最小存储单元,物理区域的大小可根据实际情况在建立物理卷时指定。物理区域大小一旦确定将不能更改,同一卷组中的所有物理卷的物理区域大小需要一致。
q30 什么是lvm逻辑区域
a: 逻辑区域—le(logical extent)逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小.
q31 什么是lvm卷组描述区域
a: 卷组描述区域—–(volume group descriptor area)卷组描述区域存在于每个物理卷中,用于描述物理卷本身、物理卷所属卷组、卷组中的逻辑卷及逻辑卷中物理区域的分配等所有信息,卷组描述区域是在使用pvcreate建立物理卷时建立的。
q32 如何复制文件
a: cp /test1/file1 /test3/file2:将目录test1下的文件file1复制到test3目录下, 并更名为file2。
cp –ax dir1 dir2:a:是指复制指定的目录,并包含其下的所有文件和子目录。
x:此文件的格式变为和目的地扇区的文件系统相同的。
q33 如何移动文件
a:mv /test1/file1 /test2/file2:将test1目录下的file1文件复制到test2目录下, 并更改名为file2。
mv file1 file2 将文件名file1改为file2
q34 如何查找文件?
a:$find ~ -name “*.txt” -print #在$home中查.txt文件并显示$find . -name “*.txt” -print$find . -name “[a-z]*” -print #查以大写字母开头的文件$find /etc -name “host*” -print #查以host开头的文件$find . -name “[a-z][a-z][0–9][0–9].txt” -print #查以两个小写字母和两个数字开头的txt文件$find . -perm 755 -print$find . -perm -007 -exec ls -l {} \; #查所有用户都可读写执行的文件同-perm 777$find . -type d -print$find . ! -type d -print$find . -type l -print$find . -size +1000000c -print #查长度大于1mb的文件$find . -size 100c -print # 查长度为100c的文件$find . -size +10 -print #查长度超过期作废10块的文件(1块=512字节)
q35 压缩与解压缩命令是什么?
a:功能:将文件归档
格式:tar 参数 归档文件名称 文件或目录
说明:
压缩一组文件为tar.gz后缀。
# tar cvf backup.tar /etc
#gzip -q backup.tar
或
# tar cvfz backup.tar.gz /etc/
释放一个后缀为tar.gz的文件。
#gunzip backup.tar.gz
#tar xvf backup.tar
或
# tar xvfz backup.tar.gz
用一个命令完成压缩
#tar cvf - /etc/ gzip -qc > backup.tar.gz
用一个命令完成释放
# gunzip -c backup.tar.gz tar xvf -
解开tar.z的文件
# tar xvfz backup.tar.z
或
# uncompress backup.tar.z
#tar xvf backup.tar
解开.tgz文件
#gunzip backup.tgz
压缩和解压缩.bz2的包
#bzip2 /etc/smb.conf
这将压缩文件smb.conf成smb.conf.bz2
#bunzip2 /etc/smb.conf.bz2
这将在当前目录下还原smb.conf.bz2为smb.conf
注: .bz2压缩格式不是很常用,你可以man bzip2
q36 如何显示系统环境变量?
a: env命令
功能:显示环境变量
格式:env
说明:
显示当前环境
env
假设有一角本my_job用来下世环境变量lang的当前位置。
在不修改lang变量时,使用env命令执行角本my_job,如下:
env path=/u/testuser/jobs: $my_job
lang=c
当在env命令中修改了lang的值后将有:
env lang=c++ path=/u/testuser/jobs : $path my_job
lang=c++
q37 vi的三种命令模式是什么
a:vi 做为linux 系统中一种编辑器,它的使用方法和界面与 unix 平台十分相似。
基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(insert mode)和底行模式(last line mode),各模式的功能区分如下:
1) 命令行模式command mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入insert mode下,或者到 last line mode。
2) 插入模式(insert mode)
只有在insert mode下,才可以做文字输入,按「esc」键可回到命令行模式。
3) 底行模式(last line mode)
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。
q38 vi的基本操作
a:a) 进入vi
在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:
$ vi myfile
不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式 (command mode)」,您要切换到「插入模式(insert mode)」才能够输入文字。
b) 切换至插入模式(insert mode)编辑文件
在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(insert mode)」,这时候你就可以开始输入文字了。
c) insert 的切换
您目前处于「插入模式(insert mode)」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「esc」键转到「命令行模式(command mode)」再删除文字。
d) 退出vi及保存文件
在「命令行模式(command mode)」下,按一下「:」冒号键进入「last line mode」,例如:
: w filename (输入 「w filename」将文章以指定的文件名filename保存)
: wq (输入「wq」,存盘并退出vi)
: q! (输入q!, 不存盘强制退出vi)
q39 命令行模式(command mode)功能键
a:1). 插入模式
按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
2). 从插入模式切换为命令行模式
按「esc」键。
3). 移动光标
vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。
按「ctrl」+「b」:屏幕往“后”移动一页。
按「ctrl」+「f」:屏幕往“前”移动一页。
按「ctrl」+「u」:屏幕往“后”移动半页。
按「ctrl」+「d」:屏幕往“前”移动半页。
按数字「0」:移到文章的开头。
按「g」:移动到文章的最后。
按「$」:移动到光标所在行的“行尾”。
按「^」:移动到光标所在行的“行首”
按「w」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头
按「#l」:光标移到该行的第#个位置,如:5l,56l。
4). 删除文字
「x」:每按一次,删除光标所在位置的“后面”一个字符。
「#x」:例如,「6x」表示删除光标所在位置的“后面”6个字符。
「x」:大写的x,每按一次,删除光标所在位置的“前面”一个字符。
「#x」:例如,「20x」表示删除光标所在位置的“前面”20个字符。
「dd」:删除光标所在行。
「#dd」:从光标所在行开始删除#行
5). 复制
「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」:复制#个字到缓冲区
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
6). 替换
「r」:替换光标所在处的字符。
「r」:替换光标所到之处的字符,直到按下「esc」键为止。
7). 回复上一次操作
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
8). 更改
「cw」:更改光标所在处的字到字尾处
「c#w」:例如,「c3w」表示更改3个字
9). 跳至指定的行
「ctrl」+「g」列出光标所在行的行号。
「#g」:例如,「15g」,表示移动光标至文章的第15行行首。
q40 shell的使用方法
a:程序必须以下面的行开始(必须方在文件的第一行):
#!/bin/sh
符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。
当编辑好脚本时,如果要执行该脚本,还必须使其可执行。
要使脚本可执行:
chmod +x filename
然后,您可以通过输入: ./filename 来执行您的脚本。
注释
在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。
变量
在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。要赋值给一个变量,您可以这样写:
变量名=值
取出变量值可以加一个美元符号($)在变量前面:
#!/bin/sh
#对变量赋值:
a=”hello world”
# 现在打印变量a的内容:
echo “a is:”
echo $a
在您的编辑器中输入以上内容,然后将其保存为一个文件first。之后执行chmod +x first
使其可执行,最后输入./first执行该脚本。
这个脚本将会输出:
a is:
q41 什么是正则表达式?
a:简单的说就是在文件名中使用通配符。
q42 如何更改网络接口的ip地址?
a:使用ifconfig命令
q43 ssh的两种工作级别是什么?
a:第一种级别(基于口令的安全验证)只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。
第二种级别(基于密匙的安全验证)需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到ssh服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在你在该服务器的家目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。
q44 telnet的工作原理是什么?
a:当你用telnet登录进入远程计算机系统时,你事实上启动了两个程序,一个 叫telnet客户程序,它运行在你的本地机上;另一个叫telnet服务器程序,它运 行在你要登录的远程计算机上。本地机上的客户程序要完成如下功能: 1 、建立与服务器的tcp 联接; 2 、从键盘上接收你输入的字符; 3 、把你输入的字符串变成标准格式并送给远程服务器; 4 、从远程服务器接收输出的信息; 5 、把该信息显示在你的屏幕上。
q45 ftp的常用命令有哪些?
a:
1![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zip.
2.$ macro-ame[args]:执行宏定义macro-name.
3.account[password]:提供登录远程系统成功后访问系统资源所需的补充口令。
4.append local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。
5.ascii:使用ascii类型传输方式。
6.bell:每个命令执行完毕后计算机响铃一次。
7.bin:使用二进制文件传输方式。
8.bye:退出ftp会话过程。
9.case:在使用mget时,将远程主机文件名中的大写转为小写字母。
10.cd remote-dir:进入远程主机目录。
11.cdup:进入远程主机目录的父目录。
12.chmod mode file-name:将远程主机文件file-name的存取方式设置为mode,如:chmod 777 a.out。
13.close:中断与远程服务器的ftp会话(与open对应)。
14.cr:使用asscii方式传输文件时,将回车换行转换为回行。
15.delete remote-file:删除远程主机文件。
16.debug[debug-value]:设置调试方式,显示发送至远程主机的每条命令,如:deb up 3,若设为0,表示取消debug。
17.dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件local-file。
18.disconnection:同close。
19.form format:将文件传输方式设置为format,缺省为file方式。
20.get remote-file[local-file]:将远程主机的文件remote-file传至本地硬盘的local-file。
q46 url,uri由哪几部分组成?
url的格式由下列三部分组成:
第一部分是协议(或称为服务方式);
第二部分是存有该资源的主机ip地址(有时也包括端口号);
第三部分是主机资源的具体地址。,如目录和文件名等。
uri一般由三部分组成:
访问资源的命名机制。
存放资源的主机名。
资源自身的名称,由路径表示。
q47 apache的最大连接数的修改方法是什么?》
a:在httpd.conf中设置:
maxclients n
n是整数,表示最大连接数,取值范围在1和256之间,如果要让apache支持更多的连接数,那么需要修改源码中的httpd.h文件,把定义的hard_server_limit值改大然后再编译。
q48 cron命令的作用与用法
a:cron命令:循环执行某一命令。at命令只能执行一次,虽然都是计划任务的命令,这是这两个命令的区别 。cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明: crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除没个用户的cron服务
crontab -e //编辑某个用户的cron服务
q49 防火墙的分类
a:包过滤(packet filtering)型
应用代理(application proxy)型
q50 ping命令的用法
a:ping命令的常用参数选项
ping ip -t
连续对ip地址执行ping命令,直到被用户以ctrl+c中断。
ping ip -l 3000
指定ping命令中的数据长度为3000字节,而不是缺省的32字节。
ping ip -n 300
执行300次的ping命令。
q51 netatart命令的用法
a: netstat用于显示与ip、tcp、udp和icmp协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
netstat 的一些常用选项
netstat -s 本选项能够按照各个协议分别显示其统计数据。
netstat -ce 本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量)。
netstat -r 显示关于路由表的信息,类似于后面所讲使用route print命令时看到的信息。除了显示有效路由外,还显示当前有效的连接。
netstat -a 本选项显示一个所有的有效连接信息列表,包括已建立的连接(established),也包括监听连接请求(listening)的那些连接。
netstat -n 显示所有已建立的有效连接。
q52 ifconfig命令的用法
a:ifconfig命令
用于查看和更改网络接口的地址和参数
$ifconfig -a
lo0: flags=849 mtu 8232
inet 127.0.0.1 netmask ff000000
hme0: flags=863 mtu 1500
inet 211.101.149.11 netmask ffffff00 broadcast 211.101.149.255
ether 8:0:20:a7:4d:21
系统会显示网络接口的名称,接口的状态(up or down),
接口的ip地址和掩码等信息
更改网络接口的ip地址:
#ifconfig hme0 down
#ifconfig hme0 211.101.149.233 netmask 255.255.255.0 up
首先,使用down命令参数把网络接口hme0的服务暂时停止,然后再用ifconfig命令给
接口分配新的ip地址和掩码,并启动网络接口服务
也可以通过改变文件/etc/hosts中的ip地址的值并重新启动系统来更改机器的ip地址。
/etc/hosts/:
211.101.149.11 sampdt
定义主机名在/etc/hostname.hme0及ip地址。
更改了网卡/增加了网卡,系统不能自动启动该接口服务,这时需要手动创建网口服务:
#ifconfig hme0 plumb
即可以为接口le0创建网口服务
相应地,用ifconfig带unplumb参数可以停止服务并关闭网络