![](https://i-blog.csdnimg.cn/blog_migrate/2388ad173cc32398b826d8ac4292eec8.png)
Biff 通知系统在当前终端会话期间有新邮件是否提醒你。
支持的选项有 biff
n
禁止新邮件提醒。
y
开启新邮件提醒。
mesg [ny]
n 不允许其他用户将信息直接显示在你的屏幕上。
notify
大多数内核子系统都是相互独立的,因此某个子系统可能对其它子系统产生的事件感兴趣。为了满足这个需求,也即是让某个子系统在发生某个事件时通知其它的子系统,Linux内核提供了通知链的机制。通知链表只能够在内核的子系统之间使用,而不能够在内核与用户空间之间进行事件的通知。
![](https://i-blog.csdnimg.cn/blog_migrate/2435e72933c0de66fda54376b95d699c.png)
ctrl+d表示结束当前输入(即用户不再给当前程序发出指令),那么Linux通常将结束当前程序。
ctrl+d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF。
ctrl+\ 发送 SIGQUIT 信号给前台进程组中的所有进程,终止前台进程并生成 core 文件。
Ctrl + z 暂停当前任务,并放置到后台
Ctrl + c 结束当前任务
在linux中, ldd是list, dynamic, dependencies的缩写, 意思是, 列出动态库依赖关系。
![](https://i-blog.csdnimg.cn/blog_migrate/9d699bd76d6ae923d2155f6ade640cc5.png)
ld链接器,它的生命周期是发生在compile-time的,它的一些参数是编译时期gcc给传递的,比如,指定需要链接什么库。
ld.so命令的周期是发生在run-time的,名字叫动态链接器/加载器。它的作用体现在运行时。比如你链接了指定的库,它运行的时候会根据指定的路径去加载指定的库。
而命令ld.so相应的配置文件是/etc/ld.so.conf,这是个文本文件,里面可以增加修改so库的搜索路径(与windows下是有区别的,windows下动态库是先搜索当前目录,再去环境变量PATH中搜索,再到系统路径下去搜索),当然也可以通过定义一个$LD_LIBRARY_PATH的环境变量来指定运行时的搜索路径。
modprobe命令用于自动处理可载入模块。
modprobe可载入指定的个别模块,或是载入一组相依的模块。modprobe会根据depmod所产生的相依关系,决定要载入哪些模块。若在载入过程中发生错误,在modprobe会卸载整组的模块。
![](https://i-blog.csdnimg.cn/blog_migrate/ffdbd1a35b98fdf864286f9b5eeda8b1.png)
-c 只列出组态配置文件,本参数需配合"-l"参数使用。
![](https://i-blog.csdnimg.cn/blog_migrate/29f09c2970a88f006a41aba9a073f588.png)
-p<套件档>+ 查询指定的RPM套件档。
-i<套件档>或--install<套件档> 安装指定的套件档。
-l 显示套件的文件列表。
--changelog 显示套件的更改记录。
![](https://i-blog.csdnimg.cn/blog_migrate/ad8bf72c7ad8eb5596e72c7725cb0bc6.png)
install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。install命令和cp命令类似,都可以将文件/目录拷贝到指定的地点。但是,install允许你控制目标文件的属性。install通常用于程序的makefile,使用它来将程序拷贝到目标(安装)目录。
![](https://i-blog.csdnimg.cn/blog_migrate/22123e878649c3bb17ee1955ea1a9d07.png)
由于Linux与windows在图形显示的内在原理上有着本质不同,Linux的内核不控制图形显示,它通过外挂一个称为X服务器的应用程序显示图形界面,属于用户态行为;而windows的微内核中一个叫GDI(图形设备接口)的子系统,由它在核心态控制图形界面的显示。
用户要使用图形界面,必须正确配置一个叫XF86Config(redhat版本下叫XF86Config-4)的配置文件,它一般位于/etc/X11目录下。实际过程中,X服务器使用XF86Config中的参数实现图形显示。
XF86Config是经由许多区段所组成的。每个区段都有一个固定格式如下:
Section "SectionName"
SectionEntry
...
EndSection
而 section names 可为:
Files (File pathnames)
ServerFlags (Server flags)
Keyboard (Keyboard configuration)
Pointer (Pointer configuration)
Monitor (Monitor description)
Device (Graphics device description)
Screen (Screen configuration)
其中档案区段(File section)是用来指定内定的字形路径和 RGB 资料路径。当然这些路 径也是可由命令列的方式设定。
FontPath "path"
FontPath可以是多个的,分别列在不同行中。X11R6 也允许 X 从 font server 下设定字形,如 fontpath "/usr/X11R6/lib/X11/fonts/misc/,tcp/zok:7100" 就是用来告知 X server 在本端的/usr/X11R6/lib/X11/fonts/misc 路径中,tcp/zok 这个主 机,port 为 7100 的地方找字形
RGBPath "path"
设定 RGB色彩资料库的路径.
Device sections 可以设定图形装置(显示卡).
![](https://i-blog.csdnimg.cn/blog_migrate/87baa5cc24694bd96b71a40bac310fbd.png)
X window 是Unix/Linux系统上的图形用户界面 一个Linux的发行版,比如说Ubuntu,Centos都是Linux内核加上图形用户界面(比如GNome,KDE)再加一堆应用软件组成的。 所以说x window也是Linux上的一个应用软件,没有它,Linux也照样可以跑。
xinit命令是Linux下X-Window系统的初始化程序,主要完成X服务器的初始化设置。
~/.xinitrc文件
首先,以“.”开头的文件,通常是隐藏文件,用普通的“ls”是查看不到的,若想查看,需要用“ls -A”命令。
其次,以“rc”结尾的文件代表它是运行的命令行或者是配置文件。又因为它通常控制着程序的运行,所以也通常叫着“run control”
~/.xinitrc由执行xinit,通常通过调用startx。登录后将执行此程序:首先登录文本控制台,然后使用启动GUI startx。的作用.xinitrc是启动会话的GUI部分,通常是通过设置一些与GUI相关的设置(例如,键绑定(带有xmodmap或xkbcomp),X资源(带有xrdb)等),并启动会话管理器或窗口管理器
XF86Setup功能说明:设置XFee86。这是Linux系统用来设置XFee86的程序,它会进入图形模式,通过互动操作界面,让用户轻松完成XFee86环境的设置。
linux图形界面又称x系统,其主要包含如下几个部分:a)xserverb)显示管理器(Display Manager) 例如(gdm kdm xdm等)c)窗口管理器(Window Manager) 例如(metacity ,fluxbox等)d)DM 和 WM之上的一些图形应用程序 在使用中一般都是b,c,d三者集合起来构成一个完整的集成工作环境,例如KDE ,GNOME等,这就是我们平时所说的广义上的xclient
a)xserver 主要提供基本的显示接口共xclient使用,并将用户的操作等也反映给xclient,是xclient与硬件的一个中间层。xserver相关的两个主要部分是
(1) xorg.conf就是XF86Config
(2) X session(X会话)
![](https://i-blog.csdnimg.cn/blog_migrate/a11400aadd852fa04a09126f0549ef0c.png)
DISPLAY用来设置将图形显示到何处. 直接登陆图形界面或者登陆命令行界面后使用startx启动图形, DISPLAY环境变量将自动设置为:0:0, 此时可以打开终端, 输出图形程序的名称(比如xclock)来启动程序, 图形将显示在本地窗口上, 在终端上输入printenv查看当前环境变量
TREM不同取值含义:
/bin/bash,csh等是shell
xterm等是终端,$TERM
putty,terminator等是终端模拟器
![](https://i-blog.csdnimg.cn/blog_migrate/eb83d72d46bc294feec250fcf712e96e.png)
什么是XDM? 简而言之,xdm 只不过是一种图形化的登录界面。当你的计算机启动的时候你可以让你的老板和朋友们记住你的计算机没有那种令人厌烦的字符控制台界面。其实它就是让你的Linux看上去比他们原想的要“酷”一些。
配置文件都放在/etc/X11/xdm目录下
Xsession文件决定了用户会话的风格,包含用户会话使用的命令
Xsetup_0文件中的程序会和图形登录界面一起运行
GiveConsole文件决定了在Xwindows移交给用户之前要执行的一些程序。
![](https://i-blog.csdnimg.cn/blog_migrate/1e840beac9df1e43246fa8e5da75b80c.png)
NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。
什么是NIS?网络信息服务(Network Information Service)是集中控制几个系统管理数据库的网络用品。NIS简化了UNIX和LINUX桌面客户的管理工作,客户端利用它可以使用中心服务器的管理文件。桌面系统的用户无需建立他们自己的/etc/passwd,他们只简单的使用维护在NIS服务器的文件即可。用户只需要在nis服务器上面创建,客户端加入nis域,直接可以使用Nis域上的用户来登录客户端。
![](https://i-blog.csdnimg.cn/blog_migrate/6a3d9db26c5533bb2c07a0ab865ce76b.png)
init是Linux系统操作中不可缺少的程序之一。
所谓的init进程,它是一个由内核启动的用户级进程。
内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(其进程编号始终为1)。
telnet程序是基于TELNET协议的远程登录客户端程序。Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的 能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个 telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。
telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了。但仍然有很多别的系统可能采用了telnet方式来提供远程登录,因此弄清楚telnet客户端的使用方式仍是很有必要的。
telnet命令还可做别的用途,比如确定远程服务的状态,比如确定远程服务器的某个端口是否能访问。
![](https://i-blog.csdnimg.cn/blog_migrate/5cde1f1a66abba212891347e4c5441b6.png)
uucp命令用于在Unix系统之间传送文件。
UUCP为Unix系统之间,通过序列线来连线的协议。uucp使用UUCP协议,主要的功能为传送文件。
UUCP 即UNIX间复制协议(Unix to Unix Copy Protocol)的缩写,它同时包括一个电脑程序以及一个协议,UUCP允许在未连上Internet的UNIX主机间远程执行命令以及传送文件,email或netnews.
SLIP协议全程 Serial Line IP。它是一种在串行线路上对IP数据报进行封装的简单形式,串行线路网际协议(Serial Line Internet Protocol),是最早的、也是仅有的两个串行IP协议之一,属于异型IP协议。
SLIP协议实现了在串行通信线路上运行TCP/IP协议及其应用服务的功能,为千家万户上网提供了拨号IP模式(但是不常用了)
![](https://i-blog.csdnimg.cn/blog_migrate/79fb7576cf2699af35f117ca3e8c8481.png)
Ethernet以太网协议,用于实现链路层的数据传输和地址封装(MAC),是一种计算机局域网技术。
以太网和局域网的区分:
以太网:一种链路层协议
局域网:一种小型网络结构
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。
动态主机配置协议DHCP(Dynamic Host Configuration Protocol)是一种网络管理协议,用于集中对用户IP地址进行动态管理和配置。
![](https://i-blog.csdnimg.cn/blog_migrate/8253613d0d7bb4c4ceb73fbe8842bfb6.png)
/etc/services 文件包含网络服务和它们映射端口的列表。inetd 或 xinetd 会查看这些细节,以便在数据包到达各自的端口或服务有需求时,它会调用特定的程序。
/etc/services 文件格式
service-name port/protocol [aliases..] [#comment]
最后两个字段是可选的,因此用 [ ] 表示。
其中:
port/protocol 是网络服务使用的端口(一个数值)和服务通信使用的协议(TCP/UDP)。
alias 是服务的别名。
comment 是你可以添加到服务的注释或说明。以 # 标记开头。
netconf是配置网络方面的一个工具。这个工具只能为root使用,运行该命令的方式如下:
/sbin/netconf。
![](https://i-blog.csdnimg.cn/blog_migrate/871c4c141522397db0dfefe123da6455.png)
MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。
md5sum命令用于生成文件的md5数字摘要,并可以验证文件内容是否发生了改变,间接地还可以检验两个文件内容是否完全相同。因为md5sum是读取文件内容来计算校验码的,因此只能验证文件内容,而无法验证文件属性。
crypt函数用来加密,目前Linux平台上加密的方法大致有MD5, DES, 3 DES
md5sum – 计算检验MD5效验码
md5sum命令采用MD5报文摘要算法(128位)计算和检查文件的校验和。
![](https://i-blog.csdnimg.cn/blog_migrate/df6fc0023d60cdd41329e07989468c6d.png)
nfs.conf - NFS 守护程序和工具的常规配置
文件 /etc/exports 包含 NFS 服务器上的本地物理文件系统表可供 NFS 客户端访问。 文件的内容由服务器的系统管理员。
![](https://i-blog.csdnimg.cn/blog_migrate/5ed4eaa1cfccf6332d35e24138128428.png)
可以通过配置hosts.allow和hosts.deny来控制访问权限。
他们两个的关系为:/etc/hosts.allow 的设定优先于 /etc/hosts.deny
\1. 当档案 /etc/hosts.allow 存在时,则先以此档案内之设定为准;
\2. 而在 /etc/hosts.allow 没有规定到的事项,将在 /etc/hosts.deny 当中继续设定
好了,我们以telnet 为例子来说明好了,现在假设一个比较安全的流程来设定,就是:
\1. 只允许 140.116.44.0/255.255.255.0 与 140.116.79.0/255.255.255.0 这两个网域,及 140.116.141.99 这个主机可以进入我们的 telnet 服务器;
\2. 此外,其它的 IP 全部都挡掉!
这样则首先可以设定 /etc/hosts.allow 这个档案成为:
[root @test root]# vi /etc/hosts.allow
telnetd: 140.116.44.0/255.255.255.0 : allow
telnetd: 140.116.79.0/255.255.255.0 : allow
telnetd: 140.116.141.99 : allow
再来,设定 /etc/hosts.deny 成为『全部都挡掉』的状态:
[root @test root]# vi /etc/hosts.deny
telnetd: ALL : deny
当您使用 init 或 shutdown 命令引导系统或更改运行级别时,init 守护进程会通过从 /etc/inittab 文件中读取信息来启动进程。
用xinetd.conf代替原来的inetd.conf,并且直接使用了firewall 服务。xinetd(eXtended InterNET services daemon)对inetd 功能进行了扩展,xinetd 的默认配置文件是/etc/xinetd.conf,它看起来尽管和老版本的/etc/inetd.conf 完全不同,其实只是以一个脚本的形式将inetd 中每一行指定的服务扩展为一个/etc/xinetd.d/下的配置文件。
配置telnet 服务在/etc/xinetd.d 目录下编辑telnet
\# default: on
\# description: The telnet server serves telnet sessions; it uses /
\# unencrypted username/password pairs for authentication.
service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
![](https://i-blog.csdnimg.cn/blog_migrate/db9992e0c45277a0ee45aad6ec473e21.png)
/etc/aliases是linux系统下的一种配置文件,作用是将使用者名称进行转换。
sendmail 会使用一个在 /etc/aliases 中的档案做使用者名称转换的动作。当 sendmail 收到一个要送给 xxx 的信时,它会依据 aliases档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。
例如 mailing list 就会用到这个功能,在 mailinglist 中,我们可能会创造一个叫 redlinux@link.ece.uci.edu 的 mailinglist,但实际上并没有一个叫 redlinux 的使用者。实际 aliases 档的内容是将送给这个使用者的信都收给 mailing list 处理程式负责分送的工作
![](https://i-blog.csdnimg.cn/blog_migrate/099ecdee6e574f37445926a2239c9d99.png)
Samba:smbd and nmbddaemons
从网上找到描述比较详细的smb.conf中文解释:
服务名:smb
配置目录:/etc/sabma/
主配置文件:/etc/sabma/smb.conf
B选项应该为/etc/samba/smb.conf
![](https://i-blog.csdnimg.cn/blog_migrate/a0d746078b3b920878d6e92e3d0bcef5.png)
与modules有关的命令有:
引用: |
lsmode :列出已经被内核调入的模块 insmode:将某个module插入到内核中 rmmod:将某个module从内核中卸载 depmod: 生成依赖文件,告诉将来的 insmod 要从哪儿调入 modules。这个依赖文件就在/lib/modules/[您的kernel版本]/modules.dep。 Kerneld:负责自动的将模块调入内核和把模块从内核中卸载。 |
![](https://i-blog.csdnimg.cn/blog_migrate/d57cf1b587f711fd6be7d8ef1b2af35d.png)
lprm命令用于将一个工作由打印机贮列中移除
尚未完成的打印机工作会被放在打印机贮列之中,这个命令可用来将常未送到打印机的工作取消。
-E使用加密模式 -P指定打印机 -h指定远程服务器 -U设置别名
选B
![](https://i-blog.csdnimg.cn/blog_migrate/87afeee5228004762f6eb489937170ff.png)
cat /proc/interrupts
读取到的内容从左到右,分别为:1、逻辑中断号,2、中断在各CPU发生的次数,3、中断所属设备类名称,4、硬件中断号,5、中断处理函数。
/proc/meminfo是了解Linux系统内存使用状况的主要接口,我们最常用的”free”、”vmstat”等命令就是通过它获取数据的 ,/proc/meminfo所包含的信息比”free”等命令要丰富得多