-
2020-12-21 06:36:55
在linux中,大家也许会经常看到 、>> 这几个小于号、大于号,那么他们分别代表什么意思呢?
好的我们来实验下先,先创建个 test.txt文件里面空空如也,接着我们用cat命令做这个实验
touch test.txt
我们先来试试 cat < a 会出现如下报错,说明这个这个后面跟的就是个 文件 或者 目录
[root@oracle1 test]# cat < a
bash: a: No such file or directory
那么文件中可以是什么呢?先往test.txt中写入个 aaa然后执行cat < test.txt 似乎和直接 cat test.txt 没有什么差别
[root@oracle1 test]# cat > test.txt
aaa
^C
[root@oracle1 test]# cat test.txt
aaa
[root@oracle1 test]# cat < test.txt
aaa
那我们换成<< 会变成什么呢?可以看到会要求你输入,单我输入test.txt 的时候就退出了。
[root@oracle1 test]# cat << test.txt
>
>
> test.txt
[root@oracle1 test]#
再换成>> 会出现什么情况,发现元文本追加了一行 .
[root@oracle1 test]# cat >> test.txt
echo "aaa"
^C
<更多相关内容 -
linux命令行大于号、小于号、双大于号、双小于号
2021-03-11 11:27:35~] cat << test > 123 > 456 > utest > testiii > test 123 456 utest testiii 总结 “>” 覆盖输出到文本 “>>” 追加到文本 将后面文件作为前面命令的输入 带命令作用全文匹配某个字符串后结束 <<实例测试
< 和 >
使用 cat > test.txt,向文件中写入数据。然后使用 cat < test.txt 查看文件数据,和 cat test.txt 作用类似。
~] cat > test.txt 123 ^C ~] cat < test.txt 123
再次使用 cat > test.txt,可以看到,文件数据被覆盖。
~] cat > test.txt 456 ^C ~] cat < test.txt 456
<< 和 >>
使用 cat >> test.txt,可以在文件尾添加文本。
~] cat >> test.txt 123 ^C ~] cat < test.txt 456 123
使用cat << test,提示输入文本,在输入test后,退出。所以 << 是用来匹配字符串的,匹配成功,退出。
~] cat << test > 123 > 456 > utest > testiii > test 123 456 utest testiii
总结
- “>” 覆盖输出到文本
- “>>” 追加到文本
- < 将后面文件作为前面命令的输入
- << 带命令作用全文匹配某个字符串后结束
- <<<部分匹配某个字符串,高亮显示(xShell中没有尝试出来)
-
Linux常用命令大全
2022-02-19 09:25:56Linux常用命令大全 一、前言 本章开始,我们就正式进入到Linux的学习当中,进入到云计算运维的学习重要阶段,思维导图如下所示: 二、关机与重启命令 命令行 解释 shutdown -h 默认一分钟后关闭...目录
一、前言
本章开始,我们就正式进入到Linux的学习当中,进入到云计算运维的学习重要阶段,思维导图如下所示:
二、关机与重启命令
命令行 解释 shutdown -h 默认一分钟后关闭虚拟机 shutdown -h 30 30分钟后关闭虚拟机 shutdown -h now 立刻关闭虚拟机 shutdown -c 取消关机 shutdown -r 默认一分钟后重启虚拟机 shutdown -r 30 30分钟后重启虚拟机 shutdown -r now 立即重启虚拟机 三、快捷键
快捷键 解释 windows+A/S 显示所有应用程序 Esc 返回 快捷键 解释 ctrl+L 清 四、目录树结构
颜色表示的文件类型
-
黑色——TXT
-
蓝色——文件夹
-
天蓝色——连接文件(快捷方式)
-
黄色——块设备文件
-
绿色——可执行文件
-
红色——压缩包
目录 功能 缩写备注 /bin ->/usr/bin 普通用户使用的命令 Binary(二进制) /boot 系统内核,引导程序相关文件 /dev 设备文件 Device(设备) /etc 配置文件 /home 普通用户的默认家目录 /lib ->/usr/lib 库文件 /lib64 库文件 /media 挂载目录。系统建议用来挂载媒体设备,如软盘和光盘 /mnt 挂载目录。如u盘,移动硬盘和其他操作系统的分区 /opt 第三方安装的软件保存位置 /proc 虚拟的文件系统(反映内核信息) /root 管理员root的家目录 /sbin ->/usr/sbin 管理员使用的命令 Super User /sys 文件系统sysfs /tmp 存放临时文件 /var 日志文件 五、绝对路径与相对路径
5.1、绝对路径
1、唯一一个绝对描述文件所在路径的方式
2、“/”根目录是Linux操作系统最顶级的目录
5.2、相对路径
1、相对于当前所在路径
5.3、cd
(change directory)改变目录 解释 cd 切换到家目录 cd ./ 当前路径 cd ../ 上级路径 cd - 切换到上次工作路径 cd ~ 切换到root下的家目录 pwd (print working directory)打印当前工作路径 六、Linux命令基本操作
Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核
linux默认使用的shell是bash
文件位置:/bin/bash
命令 【可选项】 参数
【root@localhost ~!】#ls -1 /root
命令:整条shell命令的主体
选项:执行的功能,通常以-,--
参数:执行的对象
6.1、增
6.1.1、mkdir创建目录
make directory创建目录 解释 mkdir dir 在当前目录下创建dir1 mkdir /dir1 在根目录下创建dir1 mkdir ./dir1 在当前目录下创建dir1 mkdir ../dir1 在上一个目录下创建dir1 mkdir -p 递归创建文件夹 示例:
[root@localhost kervin24]# mkdir a b c d 创立文件夹 a b c d [root@localhost kervin24]# ls a b c d -------------------------------------------------------------------------------------- [root@localhost kervin24]# mkdir -p aaa/bbb/ccc 递归创建文件夹及子目录 [root@localhost kervin24]# ls a aaa b c d -------------------------------------------------------------------------------------- [root@localhost ~]# yum install tree -y tree 树命令安装 [root@localhost kervin24]# tree . ├── a ├── aaa │ └── bbb │ └── ccc ├── b ├── c └── d 7 directories, 0 files</span></span>
6.1.2、touch创建空文件
-
Linux下文件的命名规则
1、文件名严格区分大小写 file FILE
2、文件名不能包含特殊符号,如/ *
3、文件名最多达到255个字符
文件的三个时间戳
-
access time 访问时间
-
modify time 更改时间
-
change time 改变时间
创建一个新的空文件
touch命令(创建修改文件) 解释 touch file1 一次创建/二次修改文件file1 stat file1 查看文件file1详细信息 touch -a 修改访问时间(access) touch -m 修改更改时间(modify) touch -d 修改更改时间与访问时间 6.1.3、 ln硬连接与软连接
软连接 ln [-s] 源文件或目录… 链接文件或目标位置
对比项 硬连接 软连接 对比源文件 同一个文件 不是同一个文件(快捷方式) inode 相同 不同 连接数 创建新的硬链接,链接数会增加,删除硬链接,链接数减少 删除新建不会改变 文件夹 不支持 支持 删除源文件 只是链接数减一,但链接文件的访问不受影响 无法访问连接文件 文件大小 和源文件相同 源文件的路径的长度 示例:
给/etc/sysconfig/network-scripts/ifcfg-ens33 这个文件建立一个软连接到 /opt目录下
ln -s /etc/sysconfig/network-scripts/ifcfg-ens33 /opt/soft
创建/etc/local文件的软连接到/usr/sbin
ln -s /etc/local /usr/sbin
6.2、删
6.2.1、rm删除
统计目录及文件的空间-Disk Usage 解释 du -a all,统计磁盘空间占用时包含的所有文件 du -h 人性化方式 du -s 只统计每个参数所占用空间总的大小(summary),不统计子目录 6.3、改
6.3.1、mv移改文件
-
移动文件用法(不同路径下);
mv /需要移动的文件 /移动到新的路径下
-
重命名文件用法(相同路径下);
mv /原来文件的名字 /新文件的名字
示例:
写出把在自己家目录中的abc.txt文件移动到/opt目录中,并把文件名修改成123.txt的命令 mv ~/abc.txt /opt/123.txt
6.3.2、rename 批量改文件名
rename /旧字符 /新字符
示例:
>[root@localhost kervin24]# ls a c fc.log ff.log fi.log fl.log fo.log fr.log fu.log fx.log aaa d fd.log fg.log fj.log fm.log fp.log fs.log fv.log fy.log b fb.log fe.log fh.log fk.log fn.log fq.log ft.log fw.log fz.log [root@localhost kervin24]# rename log txt * 把所有log文件改为txt文件 ------------------------------------------------------------------------------ [root@localhost kervin24]# ls a c fc.txt ff.txt fi.txt fl.txt fo.txt fr.txt fu.txt fx.txt aaa d fd.txt fg.txt fj.txt fm.txt fp.txt fs.txt fv.txt fy.txt b fb.txt fe.txt fh.txt fk.txt fn.txt fq.txt ft.txt fw.txt fz.txt
6.3.3、cp复制文件或目录
cp /源文件 /目标 相当改名复制
cp /源文件 /文件夹 多个源文件只能复制到文件夹
cp命令--(copy)(拷贝文件) 解释 cp -r 递归拷贝目录(复制包括所有子文件,必须使用) cp -v 显示拷贝过程信息 cp -p 文件属性信息一起拷贝 cp -a 递归拷贝文件,包括目录及文件属性信息 = -dpr (-d建立软链接) 6.4、查
6.4.1、file查看类型
-
常见文件类型
文件类型 描述 字符设备(c) character,所有输入输出的设备 块设备(b) block,所有存储设备称之为块设备文件,硬盘 软连接文件(l) 类似与windows下的快捷方式 目录文件(d) 相当于windows下的的文件夹 普通文件(f或-) 类似windows下的记事本、word等,可以使用相关命令进行编辑,查看文件内容 管道文件(p) pipe,管道文件 套接字文件(s) socket,套接字文件 -
用file命令来判断文件类型
选项 解释 -l 以常格式显示文件和目录列表 示例:
[root@localhost /]# file etc etc: directory ----------------------------------------------------------------------------------------- [root@localhost /]# file -1 etc file: invalid option -- '1' Usage: file [-bchikLlNnprsvz0] [--apple] [--mime-encoding] [--mime-type] [-e testname] [-F separator] [-f namefile] [-m magicfiles] file ... file -C [-m magicfiles] file [--help]
6.4.2、ls查看内容
(list)列出文件内容 解释 ls -a all,显示全部包括隐藏文件 ls -A 显示所有 不包括. ..的隐藏文件 ls -d 只显示目录本身信息 ls -h human,以人性化方式列出(友好显示磁盘大小) ls -i inode,显示文件索引节点号 ls -l 等于 ll 显示常格式属性 ls -r 反向排序 ls -R 递归列出目录及子目录 ls -S 按照从大到小排序 ls -t 以时间排序(由新到旧) 示例:
[root@localhost kervin24]# ls -a . .. a aaa b c d [root@localhost kervin24]# ls -A a aaa b c d [root@localhost kervin24]# ll 总用量 0 drwxr-xr-x. 2 root root 6 2月 18 21:18 a drwxr-xr-x. 3 root root 17 2月 18 21:19 aaa drwxr-xr-x. 2 root root 6 2月 18 21:18 b drwxr-xr-x. 2 root root 6 2月 18 21:18 c drwxr-xr-x. 2 root root 6 2月 18 21:18 d -----------------------------------------------------------------------------------------
6.4.2.1、通配符
符号 效果 ? 匹配一个字符 f?.txt * 匹配全部字符 {1..10} 1到10 {a..z} a b c ...z {A..Z} A B C .....Z [123] 取其中之一有就显示没有也无所谓 [a-z] 范围从aAbB.....z [0-9] 匹配数字范围(0123456789) \ 转义符,表示原来的意思 [[:lower:]] 小写字母表示 a-z [[:upper:]] 大写字母表示 A-Z [zhou] 匹配列表中的所有字符以外的字符 [[:digit:]] 任意数字,相当于0-9 示例:
[root@localhost ~]# cd /etc [root@localhost etc]# ls -a * 显示所有文件(包含隐藏文件) ----------------------------------------------------------------------------------------- [root@localhost /]# ls .* 显示隐藏文件也包括.. 的上层目录 .: bin etc lib64 mpt root srv tmp boot home media opt run sys usr dev lib mnt proc sbin test var ..: bin etc lib64 mpt root srv tmp boot home media opt run sys usr dev lib mnt proc sbin test var ----------------------------------------------------------------------------------------- [root@localhost /]# touch f{a..z}.log 创建f{a..z}.log文件 [root@localhost /]# ls bin fc.log fi.log fo.log fu.log home opt sys boot fd.log fj.log fp.log fv.log lib proc test dev fe.log fk.log fq.log fw.log lib64 root tmp etc ff.log fl.log fr.log fx.log media run usr fa.log fg.log fm.log fs.log fy.log mnt sbin var fb.log fh.log fn.log ft.log fz.log mpt srv [root@localhost /]# touch f{A..Z}.log [root@localhost /]# ls 创建f{A..Z}.log文件 bin fd.log fi.log fn.log fs.log fx.log mnt tmp boot fD.log fI.log fN.log fS.log fX.log mpt usr dev fe.log fj.log fo.log ft.log fy.log opt var etc fE.log fJ.log fO.log fT.log fY.log proc fa.log ff.log fk.log fp.log fu.log fz.log root fA.log fF.log fK.log fP.log fU.log fZ.log run fb.log fg.log fl.log fq.log fv.log home sbin fB.log fG.log fL.log fQ.log fV.log lib srv fc.log fh.log fm.log fr.log fw.log lib64 sys fC.log fH.log fM.log fR.log fW.log media test ----------------------------------------------------------------------------------------- [root@localhost /]# ls f[zhou].log 显示含义z,h,o,u四个字母 fh.log fo.log fu.log fz.log [root@localhost /]# ls f[x-z].log 显示xXyYz fx.log fX.log fy.log fY.log fz.log [root@localhost /]# ls f[a-c].log 显示aAbBc fa.log fA.log fb.log fB.log fc.log [root@localhost /]# ls f{a..c}.log 显示小写从a到c fa.log fb.log fc.log ----------------------------------------------------------------------------------------- [root@localhost /]# ls f[[:lower:]].log 显示小写字母 fa.log fe.log fi.log fm.log fq.log fu.log fy.log fb.log ff.log fj.log fn.log fr.log fv.log fz.log fc.log fg.log fk.log fo.log fs.log fw.log fd.log fh.log fl.log fp.log ft.log fx.log [root@localhost /]# ls f[[:upper:]].log 显示大写字母 fA.log fE.log fI.log fM.log fQ.log fU.log fY.log fB.log fF.log fJ.log fN.log fR.log fV.log fZ.log fC.log fG.log fK.log fO.log fS.log fW.log fD.log fH.log fL.log fP.log fT.log fX.log -----------------------------------------------------------------------------------------
显示/etc目录下以m,n,r,p开头的文件或目录列表
ls /etc/|grep ^[mnrp]
cd /ect ls -d [mnrp]*.conf
显示/etc目录下所有以p开头,以非数字结尾的文件或目录
cd /etc ls -d p*[^0-9]</span></span>
显示/etc下非字母开头的文件或目录
ls /etc|grep ^[^[:alpha:]] ls /etc|grep [^[:alpha:]]*
6.4.2.2、alias设置别名
设置指令的别名
alias 别名=原来名字
unalias 别名 (删除)
补充:绝对路径>别名>内部>hash>外部命令
示例:
定义别名命令backup,将/boot文件夹下的文件备份至/data目录中
alias backup='cp -arv /boot/* /data/'
6.4.4、文本命令
6.4.4.1、cat查看内容
选项 解释 -n 显示行号包括空行 -b 跳过空白行编号 -s 将所有的连续的多个空行替换为一个空行(压缩成一个空行) -A 显示隐藏字符 示例:
6.4.4.2、more与less 查看大内容
区别: more只支持向前浏览,less命令允许向前或向后浏览文件
less [选项] 文件名
-
可以使用/ 查找 n向下 N向上查找
-
Page Up 向上翻页,Page Down 向下翻页
6.4.4.3、head与tail
参数 解释 head -n 文件名 (不加默认开头十行) tail -n 文件名 (不加默认结尾十行) tail -f 文件名 实时跟踪最后十行 示例:
[root@localhost test]# head -n -3 3.txt #-3 不显示最后3行 [root@localhost ky15]# tail -n -3 3.txt #-3 只显示最后三行 [root@localhost ky15]# head -n +3 3.txt #就只显示前三行 [root@localhost ky15]# tail -n +3 3.txt #从第三行开始
6.4.4.4、grep文本搜索工具
grep [选项]… 查找条件 目标文件
基本格式
-
要查找的字符串以双引号括起来单引号也可以
-
“^……”表示以……开头,“……$”表示以……结尾
-
“^$”表示空行
示例:
1、显示/etc目录下以m,n,r,p开头的文件或目录列表
ls /etc/|grep ^[mnrp]</span></span>
2、显示/etc下非字母开头的文件或目录
ls /etc|grep ^[^[:alpha:]] ls /etc|grep [^[:alpha:]]*
6.4.3、du查看空间
统计目录及文件的空间-Disk Usage 解释 du -a all,统计磁盘空间占用时包含的所有文件 du -h 人性化方式 du -s 只统计每个参数所占用空间总的大小(summary),不统计子目录 du -d 打印目录(或文件,带 --all)的总计 示例:
du -d 1 /var 写出查看 /var 目录中第一层子目录占用磁盘空间大小的命令
七、文件查找与压缩
7.1、find 查找与搜索文件
命令查找
which 命令 :找出命令的绝对路径 whereis命令:找出命令的路径以及文档手册信息
find 路径 选项 关键字 动作
选项 含义 -name 按照文件名查找文件 -type 按照文件类型来查找 -size 按照文件大小来查找 -user 按照是否属于目标用户来查找 -ctime 按照文件创建时间来查找 -perm 按照文件权限来查找 -maxdepthlevel 最大搜索目录深度 -mindepthlevel 最小搜索目录深度 常见动作 说明 备注 -exec 对查找到的文件直接执行该参数后的shell命令 \ ; 结尾 -ok 对查找到的文件询问时执行该参数后的shell命令 \ ; 结尾 -delete 删除查找到的文件 -ls 列出查找到的文件 -print 打印出查找到的文件(默认选项) 示例:
[root@test1 opt]# find /etc/ -name passwd #查找名字叫 passwd的文件 [root@test1 opt]# find /etc/ -name *.conf #查找所有.conf 结尾的 ----------------------------------------------------------------------------------------- [root@test1 opt]# find /mnt -user root #查找用户为root的用户 ----------------------------------------------------------------------------------------- [root@test1 opt]# find -size 1k #查找文件大小0.1字节 到 1k [root@localhost boot]# find ./ -name "vm*" #查找当前路径下vm开头的 [root@localhost boot]# find /boot/ -size -10M -a -name "*img" #查找并显示小于10M的img文件 [root@localhost etc]# find /etc/ -maxdepth 2 -mindepth 2 #只看第二级目录 [root@localhost opt]# find /boot -d #查找并显示文件 -d只显示目录 [root@localhost opt]# find /home -user zhangsan -ls #找/home 下属于zhangsan的文件并列出属性 [root@localhost opt]# useradd hehe #创建用户 hehe [root@localhost opt]# userdel hehe #删除用户 hehe [root@localhost opt]# find /home/ -nouser #找home下的无主文件夹 ----------------------------------------------------------------------------------------- #或与且的优先级 #and>or #wc 统计 -l(line)统计行数 [root@localhost opt]# find /etc/ -type d -o -type l |wc -l 1008 [root@localhost opt]# find /etc/ -type d -o -type l -ls |wc -l 1008 [root@localhost opt]# find /etc/ -type d -o -type l -a -ls |wc -l 274 [root@localhost opt]# find /etc/ \( -type d -o -type l \) -a -ls |wc -l 1008 ----------------------------------------------------------------------------------------- [root@localhost opt]# find -size 1G #查找1G的文件会把所有都显示出来 ----------------------------------------------------------------------------------------- #按大小查找新建两个文件 [root@localhost opt]# dd if=/dev/zero of=99.img bs=99M count=1 [root@localhost opt]# dd if=/dev/zero of=100.img bs=100M count=1 [root@localhost opt]# ls 100.img 99.img ----------------------------------------------------------------------------------------- [root@localhost opt]# echo >>99.img #输出追加重定向 ----------------------------------------------------------------------------------------- [root@localhost opt]# find /opt/ -size 100M 查找(99-100]范围文件 1024M代表(1023-1024]M 1G表示(0-1]G -size 10k 表示(9-10]k -size -10k 表示<=9k -size +10k 表示>10k ----------------------------------------------------------------------------------------- #权限查找 -perm # 4-r 2-w 1-x 0-无权限 [root@localhost opt]# find -perm 644 #rw-r--r-- (420400400) 所有者—同组—其他用户 ----------------------------------------------------------------------------------------- [root@localhost opt]# find -name "*.img" -delete #找到并删除 ----------------------------------------------------------------------------------------- [root@localhost opt]# find -name "*.txt" -ok mv {} /mnt \; 询问执行 [root@localhost opt]# find -name "*.txt" -exec mv {} /mnt \; 直接执行 写出查找 /var/log 目录下的文件名以 “.log” 结尾的所有普通文件,并移动到/mnt目录下 [root@localhost opt]# find /var/log -type f -name *.log -exec mv {} /mnt \;
7.1.1、xargs参数替换
-
用于不支持管道|来传递参数的命令
-
常与find经行组合
find |xargs
参数 解释 -n 多行输出 示例:
----------------------------------------------------------------------------------------- [root@localhost opt]# seq 3 #seq打印数字序列 1 2 3 [root@localhost opt]# seq 10 |xargs #seq打印数字序列并取消换行 1 2 3 [root@localhost opt]# seq 3 |xargs -n1 #-n1 多行输出,行为1 1 2 3 ----------------------------------------------------------------------------------------- [root@localhost opt]# touch {1..10}.txt #创建1--10.txt [root@localhost opt]# ls *.txt |xargs rm #显示全部结果然后删除 -----------------------------------------------------------------------------------------
7.2、tar打包和备份的归档工具
压缩工具 说明 解压缩工具 zip 可以压缩多个文件或目录 unzip gzip 压缩单个文件,压缩率<bzip2,cpu开销相对低 bzip2 压缩单个文件,压缩率>gzip,cpu开销相对高 tar [选项] ... 归档文件名(压缩包名字) 源文件或目录 tar [选项] ... 归档文件名 [-C 目标目录]
选项 解释 -c 创建(Create).tar 格式的包文件 -x 解开.tar 格式的包文件 -C </解压时指定释放的目标文件夹 指定目录 -f 表示使用归档文件(一般都要带上表示使用tar) -v 输出详细信息(Verbose) -j 调用 bzip2 程序进行压缩或解压 -z 调用 gzip 程序进行压缩或解压 示例:
tar -jxvf ~/abc123.tar.bz2 -C /opt 把家目录中的abc123.tar.bz2 文件解压缩到 /opt 目录中的命令 tar -zcvf ~/abc123.tar.gz abc.txt 123把家目录中的abc.txt和123.txt文件压缩成abc123.tar.gz的命令
tar -jcvf .tar.bz2 创建一个bzip2格式的压缩包 tar -jxvf .tar.bz2 解压一个bzip2格式的压缩包 tar -zcvf .tar.gz 创建一个gzip格式的压缩包 tar -zxvf .tar.gz 解压一个gzip2格式的压缩包
八、扩展补充
8.1Linux下获取帮助
1、help命令
判断命令: type 命令 内部命令: help 命令 外部命令: 命令 ——help</span>
2、man命令
man man
3、info命令
示例
[root@localhost /]#info ls
8.2、echo输出字符串
换行打印输入字符 解释 - n 不换行显示 - e 出现转义字符进行解释处理 转义字符 \b 删除前一个字符 \n 换行 \t 制表符 示例:
[root@localhost /]# echo -n "1 2 3" 不换行显示 1 2 3[root@localhost /]# ----------------------------------------------------------------------------------------- [root@localhost /]# echo -e "1 2\b 3" -e进行解释处理后面\b ,删除前一个字符2 1 3 ----------------------------------------------------------------------------------------- [root@localhost /]# echo -e "1 2\t 3" -e进行解释处理后面\t,进行4位空格 1 2 3
8.3硬件信息及其他系统信息
8.3.1 查看内核版本
[root@localhost /]# uname -r 3.10.0-693.el7.x86_64
8.3.2、查看cpu
[root@localhost /]# lscpu
[root@localhost /]# cat /proc/cpuinfo
8.3.3、查看内存信息
[root@localhost /]# cat /proc/meminfo
[root@localhost ~]# free total used free shared buff/cache available Mem: 4162268 678476 2784552 9636 699240 3172304 Swap: 4194300 0 4194300
8.3.4、改主机名
[root@localhost /]#hostname kervin24 关机失效
8.3.5、列出网卡信息
ens33:第一张网卡 lo:回环测试接口 永远为127.0.0.1 代表自己 virbr0:虚拟网桥 ----------------------------------------------------------------------------------------- [root@localhost /]# ifconfig 显示或设置网络设备 (network interfances configuring) ----------------------------------------------------------------------------------------- //网卡信息 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.96.8 netmask 255.255.255.0 broadcast 192.168.96.255 inet6 fe80::9046:25cf:c594:3523 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:ef:d0:e3 txqueuelen 1000 (Ethernet) RX packets 101908 bytes 139898767 (133.4 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 45537 bytes 2764493 (2.6 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1 (Local Loopback) RX packets 36 bytes 3060 (2.9 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 36 bytes 3060 (2.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:2f:81:cd txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
-
-
Linux之shell中if语句–test命令
2021-01-07 15:53:30文章目录1.test命令的用法1.1数值比较1.2字符串比较1.3文件比较2.复合条件测试3.if-then的高级特性 1.test命令的用法 Shell中的 test 命令用于检查某个条件是否成立,它...检查n1是否小于或等于n2 n1 -lt n2 检查n -
linux ss命令详解
2022-01-05 20:05:47ss 是 Socket Statistics 的缩写。ss 命令可以用来获取 socket 统计信息,它显示的内容和 netstat 类似。但 ss 的优势在于它能够显示更多更详细的有关 TCP 和...tcp_diag 是一个用于分析统计的模块,可以获得 Linux 内ss 是 Socket Statistics 的缩写。ss 命令可以用来获取 socket 统计信息,它显示的内容和 netstat 类似。但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快。当服务器的 socket 连接数量变得非常大时,无论是使用 netstat 命令还是直接 cat /proc/net/tcp,执行速度都会很慢。ss 命令利用到了 TCP 协议栈中 tcp_diag。tcp_diag 是一个用于分析统计的模块,可以获得 Linux 内核中第一手的信息,因此 ss 命令的性能会好很多。
常用选项
-h, –help 帮助 -V, –version 显示版本号 -t, –tcp 显示 TCP 协议的 sockets -u, –udp 显示 UDP 协议的 sockets -x, –unix 显示 unix domain sockets,与 -f 选项相同 -n, –numeric 不解析服务的名称,如 “22” 端口不会显示成 “ssh” -l, –listening 只显示处于监听状态的端口 -p, –processes 显示监听端口的进程(Ubuntu 上需要 sudo) -a, –all 对 TCP 协议来说,既包含监听的端口,也包含建立的连接 -r, –resolve 把 IP 解释为域名,把端口号解释为协议名称
常见用例
如果不添加选项 ss 命令默认输出所有建立的连接(不包含监听的端口),包括 tcp, udp, and unix socket 三种类型的连接:
查看主机监听的端口
$ ss -tnl
通过 -r 选项解析 IP 和端口号
$ ss -tlr
使用 -p 选项查看监听端口的程序名称
$ sudo ss -tlp
最后一列就是运行的程序名称。还可以通过 grep 继续过滤:
$ sudo ss -tlp | grep ssh
查看建立的 TCP 连接
-a –all 对 TCP 协议来说,既包含监听的端口,也包含建立的连接
$ ss -tna
显示更多的信息
-o, –options 显示时间信息 -m, –memory 显示 socket 使用的内存 -i, –info 显示更多 TCP 内部的信息
显示概要信息
$ ss -s
dst/src dport/sport 语法
可以通过 dst/src/dport/sprot 语法来过滤连接的来源和目标,来源端口和目标端口。
匹配远程地址和端口号
$ ss dst 192.168.1.5 $ ss dst 192.168.119.113:http $ ss dst 192.168.119.113:443
匹配本地地址和端口号
$ ss src 192.168.119.103 $ ss src 192.168.119.103:http $ ss src 192.168.119.103:80
将本地或者远程端口和一个数比较
可以使用下面的语法做端口号的过滤:
$ ss dport OP PORT $ ss sport OP PORT
OP 可以代表以下任意一个:
<= le 小于或等于某个端口号 >= ge 大于或等于某个端口号 == eq 等于某个端口号 != ne 不等于某个端口号 > gt 大于某个端口号 < lt 小于某个端口号 下面是一个简单的 demo(注意,需要对尖括号使用转义符):
$ ss -tunl sport lt 50 $ ss -tunl sport \< 50
通过 TCP 的状态进行过滤
ss 命令还可以通过 TCP 连接的状态进程过滤,支持的 TCP 协议中的状态有: established syn-sent syn-recv fin-wait-1 fin-wait-2 time-wait closed close-wait last-ack listening closing
除了上面的 TCP 状态,还可以使用下面这些状态:
all 列出所有的 TCP 状态。 connected 列出除了 listening 和 closing 之外的所有 TCP 状态。 synchronized 列出除了 syn-sent 之外的所有 TCP 状态。 bucket 列出 maintained 的状态,如:time-wait 和 syn-recv。 big 列出和 bucket 相反的状态。 使用 ipv4 时的过滤语法如下:
$ ss -4 state filter
使用 ipv6 时的过滤语法如下:
$ ss -6 state filter
下面是一个简单的例子:
$ ss -4 state listening
同时过滤 TCP 的状态和端口号
(注意下面命令中的转义符和空格,都是必须的。如果不用转义符,可以使用单引号)
下面的命令显示所有状态为 established 的 ssh 连接:
$ ss -4n state listening
下面的两种写法是等价的,要有使用 \ 转义小括号,要么使用单引号括起来:
$ ss -4n state listening \( dport = :ssh \) $ ss -4n state listening '( dport = :ssh )'
只是最后的结果稍微让人有些意外,不仅显示了监听的端口,也显示了通过 22 端口建立的连接。
下面我们显示所有状态为 Established 的 HTTP 连接:
$ ss -4n state listening \( dport = :ssh \) $ ss -4n state listening '( dport = :ssh )'
下面的命令列出所有连接到 22 端口的连接和对 22 端口的监听:
$ ss state all dport = :22
下面是一个来自 ss man page 的例子,它列举出处于 FIN-WAIT-1状态的源端口为 80 或者 443,目标网络为 193.233.7/24 所有 TCP 套接字:
$ ss state fin-wait-1 '( sport = :http or sport = :https )' dst 193.233.7/24
总结
由于性能出色且功能丰富,ss 命令可以用来替代 netsate 命令成为我们日常查看 socket 相关信息的利器。其实抛弃 netstate 命令已经是大势所趋,有的 Linux 版本默认已经不再内置 netstate 而是内置了 ss 命令。
以上就是本文的全部内容,希望对大家的学习有所帮助。
扩展:
markdown typora 图床配置
-
Linux 常用命令——超详细(建议收藏)
2021-07-25 23:40:31Linux内容一、系统目录结构1. / :根2. /bin :用户二进制文件3. /sbin :系统二进制文件4. /etc :配置文件5. /dev :设备文件6. /proc :进程信息7. /var :变量文件8. /tem :临时文件9. /usr :用户程序10. /... -
Linux 的基础命令
2021-09-01 15:07:38Linux 是一个开源、免费的操作系统,具有很强的稳定性、安全性、以及处理多并发的能力,目前大多数企业级应用甚至是集群项目都部署运行在 Linux 操作系统上,很多软件公司考虑到开发成本都首选Linux,Linux 在中国... -
linux 查找命令
2021-01-26 15:26:04CentOS Linux学习笔记总结(八十六)-CentOS Linux系统的查找命令find find命令是用于在指定目录下查找文件,并可以对查找到的文件进行指定的操作。它的查找是从指定目录开始,并向下递归搜索它的所有各个子目录,查... -
linux基本命令大全
2018-07-07 18:05:27基本命令 关机:shutdown -h halt init 0 poweroff 重启:shutdown -r reboot init 6 pwd:查看工作目录 ls:查看指定目录的内容 -l:列表显示 -a:显示所有,包括隐藏文件 -h:人性化的显示 -d:只显示目录,不查看... -
Java开发之linux常用命令
2020-04-22 13:43:13一.常用的一些命令 (一).系统目录结构 1、/- 根 每一个文件和目录从根...在单用户模式下,你需要使用的常见Linux命令都位于此目录下。系统的所有用户使用的命令都设在这里。 例如:ps、ls、ping、grep、cp 3、/sbi... -
Linux常用操作命令大全
2022-02-07 20:24:48Linux常用操作命令大全 -
Linux常用安装命令
2021-11-07 15:40:41Linux常用命令 1、Cnetos7使用yum安装nginx 查看gcc版本 gcc -v gcc安装命令 yum -y install gcc 安装openssl # openssl是web安全通信的基石,没有openssl,可以说我们的信息都是在裸奔。。。。。。 yum ... -
Linux命令之parted命令
2021-10-26 16:10:09parted的操作都是实时的,也就是说你执行了一个分区的命令,他就实实在在地分区了,而不是像fdisk那样,需要执行w命令写入所做的修改, 所以进行parted的操作务必谨慎,切勿在生产环境中进行实验性试验。 -
Linux之Find命令详解
2021-05-11 09:00:05Find命令详解Find是linux中的一个极其强大的文件查找命令;可以根据目标文件的文件名、大小、类别、权限、时间戳等条件来进行查找,只有完全相符的才会被列出来;下面会详细介绍下Find命令的用法。名称:find格式:... -
Linux基本操作命令
2022-03-20 22:24:35Linux基本操作命令1.shell学习1.1 绝对路径 vs相对路径2.列表显示目录内容ls 本章结构 1.Linux命令基础 2.Linux命令帮助 3.目录与文件基本操作 1.shell学习 重点:内核 是用来识别二进制的(相当于操作系统) 1.什么... -
Linux文件搜索命令
2021-07-13 23:18:37文件搜索命令 文件搜索命令find 尽量减少搜索操作(把文件整理好,能记住就能减少),会占用很多资源。 尽量不要在服务器使用高峰期查找,查找的范围也要尽量精确,搜索条件越精准越好。 命令名称:find 命令所在... -
Linux文件相关常用命令(超全超详细)
2022-03-25 10:05:37command终端命令格式: command [-options] [parameter] command:命令名,相应功能的英文单词或单词的缩写 [-options]:选项,可用来对命令进行控制,也可以省略 parameter:传给命令的参数,可以是0个、1个或多个... -
Linux常用命令合集
2018-08-16 12:41:46一、文件处理命令 1.cd切换目录 cd 目录名称 cd ~ 切换到家目录 cd / 切换到根目录 cd - 切换到上一次操作的目录 cd ..或cd ../ 切换到上级目录 cd .或cd ./ 切换到当前目录 2.ls显示当前目录下面... -
Linux文件编辑常用命令
2021-12-02 17:22:02grep命令——在文本中找出指定字符串 排除文件内的空行:grep -v '^$' 文件名,同理,如果想排除注释行只需把‘$’换成‘#’即可。 awk命令 -
linux find命令如何实现模糊查询
2021-05-11 15:11:21linux find命令实现模糊查询的方法:根据文件名模糊查询,查找opt目录下后缀为【.log】的文件,代码为【find /opt/ -type f -name "*.log"】。本教程操作环境:windows7系统、linux7.3版本,DELL G3电脑,该方法适用... -
有关Linux创建用户命令的详细讨论
2021-05-09 00:57:11Linux系统用户的创建不同于windows系统,这里陈述一下Linux创建用户的命令。包括创建用户,修改密码,修改信息,新建群组。Linux创建用户命令1:创建新用户useradd命令(也可以使用adduser)用来创建新的用户帐号,其... -
Linux基础之linux常用命令(含命令的部分选项)
2020-11-18 20:19:29目录一、linux简介1)linux的特殊程序----Shell2)linux命令的分类3)linux命令行格式4)编辑linux命令行的辅助操作5)命令帮助 一、linux简介 1)linux的特殊程序----Shell shell是linux系统中运行的一种特殊程序 ... -
Linux awk命令详解
2021-03-22 18:45:58awk 是除了 sed 命令之外,Linux 系统中另一个功能比较强大的数据处理工具。下面良许小编就将从几个方面对于 Linux awk命令详解命令进行详述,希望对大家有所帮助。 和 sed 命令类似,awk 命令也是逐行扫描文件... -
Linux命令 - groupadd命令
2021-05-24 09:36:09Linux命令 - groupadd命令 Linux中 groupadd 命令用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。 1.语法: groupadd [参数] [群组名称] 2.功能: 新建用户、用户组及新用户分权限。 3.参数... -
Linux常用查看CPU信息的命令
2021-05-13 10:13:26sar 命令 使用时如果没法执行要安装sysstat包才可 mpstat [root@Thor ~]# mpstat Linux 3.10.0-957.21.3.el7.x86_64 (Thor) 05/12/2020 _x86_64_(64 CPU) 09:44:24 AM CPU %usr %nice %sys %iowait %irq %soft %... -
linux无线网络命令
2021-01-14 07:29:301、iwconfigiwconfig是Linux Wireless Extensions(LWE)的用户层配置工具之一。LWE是Linux下对无线网络配置的工具,包括内核的支持、用户层配置工具和驱动接口的支持三部 分。目前很多无线网卡都支持LWE,而且主流的... -
Linux常用命令大全(非常全面)
2019-03-06 17:38:161、在shell中显示色彩 二十五、程序开机自启动服务配置 二十六、持续监控Linux命令的执行情况 Linux和windows相比,很多管控都需要用命令来操作。windows以直观的可视化的方式操作,特别适合在桌面端PC上操作... -
Linux find命令:查找文件或目录
2021-11-17 16:17:06find 命令可以在命令的层次结构中查找文件和目录。它可以使用文件名、文件大小、修改时间和类型等条件进行查找。 find 命令的语法格式如下: [root@bogon ~]# find 搜索路径 [选项] 搜索内容 find 命令有两个参数...