Linux:basename命令和dirname命令
basename命令basename命令用于获取路径中的文件名或路径名,还可以对末尾字符进行删除。
语法格式12basename NAME [SUFFIX]basename OPTION... NAME...
参数说明
参数
说明
-a
支持多个路径
-s
删除后缀
-z
输出每行末尾为NUL,而不是换行符。
实例获取路径末尾的文件名或路径名
1234[root@test ~]# basename /root/users.txt users.txt[root@test ~]# basename /etc/sysconfig/sysconfig
去掉末尾的指定字符
1234567891011# 去掉扩展名[root@test ~]# basename /root/users.txt .txtusers[root@test ~]# basename -s .txt /root/users.txt users# 去掉指定的字符[root@test ~]# basename /root/anaconda-ks.cfg da-ks.cfganacon[root@test ...
Linux:pkill命令
本文只总结一些常用的用法,更详细的说明见man pkill和pkill --help。
pkill命令pkill命令:通过进程名杀死进程。
语法格式1pkill [options] <pattern>
options
option
说明
-<sig>
发送信号
-t
按照终端号来踢出用户连接终端
实例1234567891011121314# 杀死httpd进程[root@test ~]# pkill -9 httpd# 杀死用户连接终端[root@test ~]# w 10:24:33 up 12 days, 1:00, 2 users, load average: 0.00, 0.03, 0.13USER TTY FROM LOGIN@ IDLE JCPU PCPU WHATroot pts/0 192.168.2.70 09:35 10:49 0.02s 0.02s -bashroot pts/1 192.168.2.70 ...
Linux:sort命令
本文只总结一些常用的用法,更详细的说明见man sort和sort --help。
sort命令sort命令用于串联排序指定文件并将结果写到标准输出。
sort可以指定按照何种排序规则进行排序,如按照当前字符集排序规则(这是默认排序规则)、按照字典排序规则、按照数值排序规则、按照月份排序规则、按照文件大小格式(K<M<G)。还可以去除重复行,指定降序或升序(默认)的排序方式。
字符集排序、字段排序的顺序:空字符串<空白字符<数值<a<A<b<B<...<z<Z
语法格式12sort [OPTION]... [FILE]...sort [OPTION]... --files0-from=F
选项说明
OPTION
说明
-c
检测给定的文件是否已经排序。如未排序,则会输出诊断信息,提示从哪一行开始乱序。
-b
忽略字段前面的空格。若空格数量不固定时,推荐使用。”-n”选项隐含该选项。
-d
按照字典顺序排序,只支持字母、数值、空格。
-f
将所有小写字母等同于大写字母。
-k
指定要排序的k ...
Linux:uniq命令
本文只总结一些常用的用法,更详细的说明见man uniq和 uniq --help。
uniq命令uniq命令主要用于去重。
需要注意的是,不相邻的行不算重复值。
语法格式1uniq [OPTION]... [INPUT [OUTPUT]]
OPTION
说明
-c
统计出现的次数
-d
只显示被计算为重复的行
-D
显示所有被计算为重复的行
-c
显示唯一值,即没有重复值的行
-i
忽略大小写
-z
在末尾使用\0,而不是换行符
-s
跳过多少个字符开始比较重复值
-f
跳过多少个字段(field)开始比较重复值
-w
比较重复值时每行比较的最大长度,即对每行多长的字符进行比较
实例有以下ip地址:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576183.204.149.13782.190. ...
Linux:seq命令
本文只总结一些常用的用法,更详细的说明见man seq和 seq --help。
seq命令seq命令用于输出数字序列。
语法格式123seq [OPTION]... LASTseq [OPTION]... FIRST LASTseq [OPTION]... FIRST INCREMENT LAST
options
参数
说明
-f
使用printf样式的浮点格式
-s
指定分隔符,默认是\n
-w
使用0填充左边达到数字的最大宽度
实例打印10以内的正整数
1234567891011[root@test ~]# seq 1012345678910
打印1到5的所有整数,分隔符用’_’表示
12[root@test ~]# seq -s '_' 1 51_2_3_4_5
按照1.1、1.2……2打印小数,设置位数为5
1234567# %后面指定数字的位数,默认是%g,%5g那么数字位数不足部分是空格[root@test ~]# seq -f '%5g' 1.1 0.2 2 1.1 1.3 1.5 1.7 ...
Linux:find命令
本文只总结一些常用的用法,更详细的说明见man find和 info find。
find命令find命令常用来查找文件或目录,可以根据给定的路径和表达式查找所需的文件或目录。该工具是由findutils包提供的。
原理find是从左向右的顺序处理多个expression,因此expression的前后顺序不同会造成不同的搜索性能差距。find的搜索机制是根据expression返回的true/false决定的,每搜索一次都会判断一次,只有评估的最终结果为true才算是找到,并切入到下一个搜索点。
语法格式1find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]
默认path为当前路径,若服务器负载较高,尽量不要在高峰期使用find命令
默认actions是-print
expressionexpression分为三种:options、test、action。对于多个表达式,find是从左向右处理的,所以表达式的前后顺序不同会造成不同的搜索性能差距。
testfind解析完语法之后,开始搜索文件, ...
实验:路由器基本配置
实验设备 一台路由器,一台PC,配置线一条。
实验要求
更改路由器名称为RA
设置password为cisco1,secret为cisco2,vty为cisco3,并要求所有密码都加密。
关闭域名查找,命令输入同步。
配置以太网口的IP为xxx.xxx.xxx.xxx
设置登陆提示信息
对串行口进行描述(描述信息为:welcome to lixin lab)
将上述信息保存到tftp server
将实验过程配置写在记事本中进行粘贴。
配置VTY访问权限。
禁止路由器进行域名解析。
实验步骤123456789Router>enableRouter#configure terminalRouter(config)#hostname RA 设置路由器名 RA(config)#enable password cisco1 设置密码RA(config)#enable secret cisco2 设置加密密码
12345678910111213RA (config)#no ip domain-lookup ...
网络基础:VLAN的概念
概述VLAN(Virtual Local Area Network)的中文名为”虚拟局域网”。VLAN是一种将局域网设备从逻辑上划分成一个个网段,从而实现虚拟工作组的新兴数据交换技术。这一新兴技术主要应用于交换机和路由器中,但主流应用还是在交换机之中。但又不是所有交换机都具有此功能,只有VLAN协议的第二层以上交换机才具有此功能,这一点可以查看相应交换机的说明书即可得知。
VLAN技术的出现,使得管理员根据 实际应用需求,把同一物理局域网内的不同用户逻辑地划分成不同的广播域,每一个VLAN都包含一组有着相同需求的计算机工作站,与物理上形成的LAN有着相同的属性。由于它是从逻辑上划分,而不是从物理上划分,所以同一个VLAN内的各个工作站没有限制在同一个物理范围中,即这些工作站可以在不同物理LAN网段。由VLAN的特点可知,一个VLAN内部的广播和单播流量都不会转发到其他VLAN中,从而有助于控制流量、减少设备投资、简化网络管理、提高网络的安全性。
在共享网络中,一个物理的网段就是一个广播域。而在交换网络中,广播域可以是有一组任意选定的第二层网络地址(MAC地址)组成的虚拟网段。这样,网 ...
Shell学习:结构化语句
数组数组(Array)是若干数据的集合,其中的每一份数据都称为元素(Element)。
Bash只支持一维数组(不支持多维数组),初始化时不需要定义数组大小,理论上可以存放无限量的数据。
与大部分编程语言类似,数组元素的下标由0开始。
Shell数组用括号来表示,元素用”空格”符号分割开。格式如下:
1array_name=(ele1 ele2 ele3 ... elen)
Tips:赋值号=两边不能有空格,必须紧挨着数组名和数组元素。
获取数组中的元素要使用下标[],下标可以是一个整数,也可以是一个结果为整数的表达式;当然,下标必须大于等于0。格式如下:
1${array_name[index]}
Tips:array_name是数组名,index是下标。
Shell是弱类型的,它并不要求所有数组元素的类型必须相同,例如:
1arr=(10 24 'ddd' 'ab22' 5)
获取数组所有元素使用@或*可以获取数组中的所有元素,格式如下:
12${array_name[*]}$ ...
网络基础:基本概念
网络构成通常情况下,一个网络包括三部分,分别是网络主机、网络线路和网络设备。
网络主机网络主机是指具有网络接口设备(网卡)的主机,如计算机、手机、平板、智能终端等。通常情况下,计算机又分为云服务器、虚拟主机和物理主机。
网络线路网络线路就是指传输数据的方式。通常情况下,人们使用的网络线路有有线和无线两种。
有线就是指通过使用网线的方式连接网络,这种方式限制了设备之间的距离,但是数据传输比较稳定;
无线是指通过无线协议实现数据传输和网络连接。但是,无线传输方式容易被电磁波干扰,尤其是墙壁等障碍物对无线信号影响较大。
网络设备网络设备是指使用网线将网络主机连接到一起的设备,如集线器、交换机和路由器。
数据传输数据传输是指数据从网络主机上通过网络线路传输到另外一台网络主机上。
网络类型依据不同标准,网络有不同的分类方法。根据地理位置分类,网络可以分为局域网、城域网、广域网3种。其中,网络类型不同,数据传输模式不同,数据传输的复杂程度也不同。
局域网局域网(Local Area Netwok,LAN)是指在某一区域内由多台计算机互联成的计算机组。
所谓局域网,就是在局部地区范围内使用的网络 ...