1,du、df、free、vmstat
命令 | 功能说明 |
---|---|
du(disk usage) | 统计目录(或文件)所占磁盘空间的大小 |
df(disk file) | 用于显示文件系统的磁盘使用情况 |
free | 可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区 |
vmstat | 命令报告关于内核线程、虚拟内存、磁盘、陷阱和CPU活动状态的统计信息 |
2,用户文件描述符
在Linux系统中,一切设备都看作文件。而每打开一个文件,就有一个代表该打开文件的文件描述符。程序启动时默认打开三个I/O设备文件:
标准输入文件stdin,标准输出文件stdout,标准错误输出文件stderr,分别得到文件描述符0,1,2。
文件描述符 | 表示含义 |
---|---|
0 | 标准输入设备 |
1 | 标准输出设备 |
2 | 标准错误输出设备 |
3,计划任务内容格式
- 分 时 日 月 周 命令/脚本
例子:
计划让系统自动在每个月的第一天早上4点钟执行一个维护工作:
00 4 1 1-12 * /maintenance.pl
第一个值00代表00分,它是连在一起的,第二个值4是4点,后面的第一个1是日,第四个参数是1-12,1到12,代表不同的月份,第五个值是一个*,代表星期。
4,Vi文本命令
命令 | 在Vi中的功能说明 |
---|---|
rm | 在vi编译器中没有使用,是系统的删除命令 |
dd | 删除一整行 |
yy | 复制一整行 |
pp | 实现粘贴的作用 |
cp | 复制文件或目录 |
cut | 从文本文件的每一行中截取指定内容的数据 |
fmt | 将所有非空白行的长度设置为几乎相同,来进行简单的文本格式化 |
5,网络检测相关命令
- telnet: telnet命令通常用来远程登录。telnet程序是基于TELNET协议的远程登录客户端程序。Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。
- ping: Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”、不能打开网页时会说“你先ping网关地址192.168.1.1试试”。它通过发送ICMP ECHO_REQUEST数据包到网络主机(send ICMP ECHO_REQUEST to network hosts),并显示响应情况,这样我们就可以根据它输出的信息来确定目标主机是否可访问(但这不是绝对的)。有些服务器为了防止通过ping探测到,通过防火墙设置了禁止ping或者在内核参数中禁止ping,这样就不能通过ping确定该主机是否还处于开启状态。
- init: init 命令进程和作业管理 init 命令是 Linux 下的进程初始化工具, init 进程是所有 Linux 进程的父进程,它的进程号为 1 。init 命令是 Linux 操作系统中不可缺少的程序之一,init 进程是 Linux 内核引导运行的,是系统中的第一个进程。
- netstat: netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。 如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用 netstat查一查为什么会出现这些情况了。
6,文件夹相关含义:
文件夹名 | 含义 |
---|---|
/etc/passwd | 存放用户的UID、name、密码过期时间、修改时间等等 |
/etc/shadow | 存放用户的密码密文 |
/etc/group | 存放用户的所属组情况 |
以上三者的文件都是与用户管理相关的配置文件
7,用于CD-ROM等移动设备的参数
/etc/fstab是系统分区的配置文件,开机后系统会自动挂载文件中制定的设备。
在/etc/fstab文件中指定的文件系统加载参数中,
- default:表示和使用默认设置
- sw:表示自动挂在的可读写分区
- ro:表示挂载只读权限的
- rw:表示挂载读写权限的
- noauto:表示非自动挂载,即手动挂载,对于光驱U盘这些移动设备是无法开机自动挂起的,否则将造成系统启动失败。因此,用于用于CD-ROW等移动设备。
8,继续执行指令
执行指令find / -name “test.c”,按ctrl+z后的提示有[1] 166,可以继续执行的方式什么?
首先,ctrl+z,可以将一个前台正在执行的执行放到后台并暂停,即挂起一个进程。
- fg:将进程放到前台并唤醒
- bg:将进程放到后台并唤醒
因此,可以继续执行的方式是:
- fg 1
另外, ctrl+h在shell起到向左删除的作用。
9,建立动态路由
对于Linux内的配置文件而言:
- /etc/hosts:主机名到 IP 地址的映射关系的文件;
- /etc/resolv.conf:DNS 服务的配置文件 ;
- /etc/gateways:建立动态路由需要用到的文件 ;
- /etc/services:定义了网络服务的端口;
- /etc/resolv.conf:设置DNS。
建立动态路由需要用到的文件是 /etc/gateways。
10,硬链接与软链接
我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;而元数据则是文件的附加属性,如文件大小、创建时间、所有者等信息。在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含文件名,inode 号即索引节点号)才是文件的唯一标识而非文件名。文件名仅是为了方便人们的记忆和使用,系统或程序通过 inode 号寻找正确的文件数据块。
为解决文件的共享使用,Linux 系统引入了两种链接:硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。若一个 inode 号对应多个文件名,则称这些文件为硬链接。换言之,硬链接就是同一个文件使用了多个别名(见下图,hard link 就是 file 的一个别名,他们有共同的 inode)。
由于硬链接是有着相同 inode 号仅文件名不同的文件,因此硬链接存在以下几点特性:
- 文件有相同的 inode 及 data block;
- 只能对已存在的文件进行创建;
- 不能交叉文件系统进行硬链接的创建;
- 不能对目录进行创建,只可对文件创建;
- 删除一个硬链接文件并不影响其他有相同 inode 号的文件。
软链接,又叫符号链接,软链接与硬链接不同,若文件用户数据块中存放的内容是另一文件的路径名的指向,则该文件就是软连接。软链接就是一个普通文件,只是数据块内容有点特殊。软链接有着自己的 inode 号以及用户数据块(见下图)。
因此软链接的创建与使用没有类似硬链接的诸多限制:
- 软链接有自己的文件属性及权限等;
- 可对不存在的文件或目录创建软链接;
- 软链接可交叉文件系统;
- 软链接可对文件或目录创建;
- 创建软链接时,链接计数 i_nlink 不会增加;
- 删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。
11,Vi退出命令
- :q 没有修改内容时退出,如果有修改内容则会提示保存;
- :wq 保存并退出;
- :q! 不管有没有修改内容,都不保存强制退出;
12,chmod与chown
chmod
可以拆开看,即ch mode,即修改权限的意思。
chown
拆开看,ch owner,即修改拥有者的意思。
另外
- r:即read,表示读
- w:即write,表示写
- x:即execute的谐音,表示执行
13,删除操作
- -d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
- -f:(force)强制删除文件或目录;
- -i:删除已有文件或目录之前先询问用户;
- -r或-R:(recursive)递归处理,将指定目录下的所有文件与子目录一并处理;
- -v:(verbose)显示指令的详细执行过程。
14,文件权限的表示
15,静态库与动态库
静态链接库的优点
(1) 代码装载速度快,执行速度略比动态链接库快;
(2) 只需保证在开发者的计算机中有正确的.LIB文件,在以二进制形式发布程序时不需考虑在用户的计算机上.LIB文件是否存在及版本问题,可避免DLL地狱等问题。
动态链接库的优点
(1 )更加节省内存并减少页面交换;
(2) DLL文件与EXE文件独立,只要输出接口不变(即名称、参数、返回值类型和调用约定不变),更换DLL文件不会对EXE文件造成任何影响,因而极大地提高了可维护性和可扩展性;
(3) 不同编程语言编写的程序只要按照函数调用约定就可以调用同一个DLL函数;
(4) 适用于大规模的软件开发,使开发过程独立、耦合度小,便于不同开发者和开发组织之间进行开发和测试。
不足之处
(1) 使用静态链接生成的可执行文件体积较大,包含相同的公共代码,造成浪费;
(2) 使用动态链接库的应用程序不是自完备的,它依赖的DLL模块也要存在,如果使用载入时动态链接,程序启动时发现DLL不存在,系统将终止程序并给出错误信息。而使用运行时动态链接,系统不会终止,但由于DLL中的导出函数不可用,程序会加载失败;速度比静态链接慢。当某个模块更新后,如果新模块与旧的模块不兼容,那么那些需要该模块才能运行的软件,统统撕掉。这在早期Windows中很常见。
(3) 动态库的函数到实际使用的时候才加载到内存,所以运行速度较慢。
16,Linux的启动流程
1,BIOS加电自检;
2,从硬盘0柱面 0磁道 第一扇区读512字节的MBR主引导记录;
3,运行引导程序Grub并根据其配置加载kernel镜像后初始化;
4,根据 /etc/inittab中系统初始化配置执行/etc/rc.sysinit脚本;
5,根据第3步读到的runlevel值启动对应服务;
6,运行/etc/rc.local;
7,生成终端待用户登录。
17,配置文件
- /sbin/init在核心完整的加载后,开始运行系统的第一支程序,主要的功能就是准备软件运行的环境,包括系统的主机名称、网络配置、语系处理、文件系统格式及其他服务的启动等。
- /bin/sh解释脚本的shell命令,开机后运行。
- /etc/sysvinit就是 system V 风格的 init 系统,顾名思义,它源于 System V 系列 UNIX。sysvinit 中运行模式描述了系统各种预订的运行模式。
- /etc/inittab定义了系统引导时的运行级别, 进入或者切换到一个运行级别时做什么。
18,wc命令
Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。
1、命令功能:
统计指定文件中的字节数、字数、行数,并将统计结果显示输出。该命令统计指定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所指定文件的总统计数。
2、命令参数:
- -c 统计字节数。
- -l 统计行数。
- -m 统计字符数。这个标志不能与 -c 标志一起使用。
- -w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
- -L 打印最长行的长度。
- -help 显示帮助信息
- -version 显示版本信息
19,grep与find
- grep可以查找文件内容的字符
- find命令式查找对应的文件名
20,DHCP配置
在一台Linux服务器上通过rpm方式安装了dhcp软件包,对于dhcp服务器配置文件“dhcpd.conf”而言:
首先,RPM是Red-Hat Package Manager(Red-Hat软件包管理器)的缩写。
DHCP(Dynamic Host Configuration Protocol)动态主机设置协议,是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:
1、用于内部网或网络服务供应商自动分配IP地址;
2、给用户用于内部网管理员作为对所有计算机作中央管理的手段。
- dhcpd.conf文件缺省不存在,需要手工建立;
- dhcpd.conf文件的配置可以参考模板文件“dhcpd.conf.sample”进行。