Nowcoder专项练习:Linux(一)

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”进行。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值