运维必会的常用linux命令<建议收藏>

Linux系统简介

  • Linux是一种操作系统,操作系统是一大堆软件的集合
  • 曾经,被Microsoft视为最大的威胁,服务器领域幕后的老大
    在这里插入图片描述
    在这里插入图片描述

国产操作系统

  • 麒麟操作系统
    • 麒麟操作系统是由中国华为技术有限公司自主研发的一款操作系统,主要用于华为自己的产品上,例如手机、平板电脑、智能穿戴等。它主要分为麒麟OS微内核版和麒麟OS分布式微内核版两个版本。
    • 麒麟OS微内核版是采用微内核架构的操作系统,具有高效、灵活、安全、可靠的特点,支持多核、大型内存等高性能的硬件,并且可以实现资源的动态分配。
  • 红旗Linux操作系统
    • 红旗Linux操作系统是中国第一个自主可控的操作系统,由中国电子信息产业集团有限公司(简称中电集团)负责开发。该操作系统自2000年正式发布以来,经过十多年的发展,已经形成了一套完整的操作系统产品线,包括服务器、桌面、嵌入式、云计算等多个领域。
  • Deepin操作系统
    • Deepin(深度操作系统)是一款基于Linux的操作系统,由中国武汉的深度科技有限公司开发。其初衷是为了提供一体化、易用性基础上又能够满足用户各种需求的完整操作系统。不同于其他Linux版本,Deepin注重桌面使用界面的美观度和易用性。

基本命令

cd命令

cd — Change Directory

作用:切换工作目录

格式:cd [目标文件夹位置]
绝对路径:以/开头的路径(/etc/subject/cloudcomputing)
相对路径:不以/开头的路径,相对当前所在位置而言(etc/car/bmw)

  • cd命令高级使用

. 表示当前目录

.. 表示父目录(也就是上一级目录)

[root@localhost ~]# cd /dev

ls命令

ls — List

作用:查看目录里的内容,或者查看资料是否存在

格式:ls [选项] [目标]

-l:以长格式显示(显示详细属性)

-A:包括名称以 . 开头的隐藏文档

-d:显示目录本身(而不是内容)的属性

-h:提供易读的容量单位(K、M)等

-R:递归显示内容

查看文本文件内容-cat命令

格式:cat [选项] 目标文件

查看/etc/passwd文件
[root@localhost ~]# cat /etc/shells

分页查看文本文件-less命令

格式: less 目标文件

  • less查看文件内容为交互式查看,在交互式模式中:
    • /表示搜索关键词,按n查找下一个、按N查找上一个
    • 空格以页为单位翻页浏览,按回车以行为单位翻页浏览
    • q退出交互式界面

分页查看/etc/passwd文件
[root@localhost ~]# less /etc/passwd

查看CPU信息-lscpu命令

格式:lscpu

查看系统内核版本-uname命令

格式:uname [选项]
-r 输出内核发行号

查看IP地址-ifconfig命令

格式:ifconfig [网卡]

[root@som ~]# ifconfig							#查看IP地址
[root@som ~]# ifconfig ens160					#指定网卡查看IP地址

创建目录-mkdir命令

格式:mkdir [选项] [/路径/]目录名 ...

-p:连同父目录一并创建

创建空文件-touch命令

格式:touch [选项] 目标文件 ...

查看文件前几行-head命令

格式:head [-n] 行数 目标文件

  • -n 选项也可以省略,直接写-行数
  • 当没有指定看前几行时间,默认看前10行

查看文件后几行-tail命令

格式:tail [-n] 行数 目标文件

  • -n 选项也可以省略,直接写-行数
  • 当没有指定看前几行时间,默认看后10行

别名管理-alias/unalias

作用:别名相当于生活中的的"外号",用于将复杂的命令简单化

格式:alias [别名=‘真实命令’]

  • 查看当前系统已有别名直接alias
  • alias定义别名是临时生效的
  • 一般不要把其他命令关键字作为别名(例如将ls作为其他命令的别名),因为别名优先级更高
  • 取消别名: unalias 别名

查看当前已有别名
[root@som ~]# alias

将hh定义为hostname的别名
[root@som ~]# aliashh='hostname'			#定义hh为hostname的别名
[root@som ~]# alias 						#查看已有别名
[root@som ~]# hh

取消别名hh
[root@som ~]# unalias  hh					#取消别名hh
[root@som ~]# alias 						#查看是否取消别名hh
[root@som ~]# hh		

删除操作-rm命令

格式:rm [选项] 参数 …]

-i 提示是否删除

-r 递归删除

-f 强制删除

  • rm 默认是rm -i的别名
  • -f优先级大于-i,所以当-f和-i同时出现时,优先使用-f选项的功能
# 使用rm命令删除文件
[root@som ~]# touch /opt/test.txt			#创建文件
[root@som ~]# rm /opt/test.txt 				#直接删除文件
rm:是否删除普通空文件 '/opt/test.txt'?y		 #会有提示(回答y表示删除,回答n表示不删除)
[root@som ~]# ls  /opt/						#查看/opt/是否还有test.txt

[root@som ~]# touch /opt/test2.txt			#创建/opt/test2.txt
[root@som ~]# rm -f /opt/test2.txt 			#强制删除/opt/test2.txt
[root@som ~]# ls /opt/						#查看/opt/是否还有test2.txt

# 使用rm命令删除目录
[root@som ~]# mkidr -p /opt/aa/bb/cc/dd	#创建目录
[root@som ~]# rm /opt/aa/					#直接删除报错,想要删除目录必须加上-r
rm: 无法删除'/opt/aa/': 是一个目录
[root@som ~]# ls /opt/						#查看/opt/aa目录还在
[root@som ~]# rm -r /opt/aa/				#使用-r选项递归删除(因为是rm -i的别名所以有提示)
rm:是否进入目录'/opt/aa/'? y
rm:是否进入目录'/opt/aa/bb'? y
rm:是否进入目录'/opt/aa/bb/cc'? y
rm:是否删除目录 '/opt/aa/bb/cc/dd'?y
rm:是否删除目录 '/opt/aa/bb/cc'?y
rm:是否删除目录 '/opt/aa/bb'?y
rm:是否删除目录 '/opt/aa/'?y

[root@som ~]# mkdir -p /opt/aa/bb/cc/dd			#再次创建目录
[root@som ~]# rm -rf /opt/aa/					#加上-f选项不在有提示

删除空目录rmdir

rmdir命令是Linux系统下一个用于删除空目录的命令

移动操作-mv

格式:mv <源数据> ... <目标位置>

  • mv移动数据会使源文件消失
  • mv可以同时移动多个参数,只有最后一个是目标位置
  • mv可以再移动的过程中改名
  • 目标地址不变的移动等于重命名
[root@som ~]# mv /opt/som10 /opt/game			#将/opt/som01重命名为/opt/game
[root@som ~]# mv /opt/1.txt /opt/som10		    #将/opt/1.txt移动至/opt/som10目录

复制操作-cp

格式:cp [选项] <源数据> … <目标路径>

-f 强制覆盖

-r 递归拷贝

-p 保留数据原属性复制

  • cp支持多参数,最后一个为目标路径
  • cp不会使源文件消失
  • cp操作可以在复制过程中对目标文件改名
  • cp默认是cp -i的别名,其-i选项优先级高于-f,所以当-i和-f同时出现时,使用-i的属性
[root@som ~]# cp -r /boot/ /home/ /etc/passwd /etc/shells  /mnt/ 
    #将/boot/,/home/,/etc/passwd,/etc/shells复制到/mnt目录下

软连接

  • 软连接 --> 原始文档 --> 文档数据
  • 格式:ln -s 原始文件或目录 软连接文件
  • 若原始文件或目录被删除,连接文件将失效
  • 软连接可存放在不同分区/文件系统
[root@som ~]# ln -s /etc/passwd /opt/ps.txt	#将/opt/ps.txt设置为/etc/passwd的软连接

硬链接

  • 硬链接 --> 文档数据
  • 格式:ln 原始文件 硬链接文件
  • 若原始文件被删除,链接文件仍可用
  • 硬链接与原始文件必须在同一分区/文件系统-
[root@som ~]# ln /etc/shells /opt/shells		#将/opt/shells设置为/etc/shells的硬链接

通配符

*:匹配任意字符,包含0个字符

?:匹配任意单个字符

[0-9]:匹配0-9任意单个数字

[a-z]:匹配任意单个字符

{xx,yy,zz}:严格匹配大括号内的元素

[root@som ~]# ls /dev/tty*						#匹配/dev/tty后边任意字符内容
[root@som ~]# ls /dev/tty?						#匹配/dev/tty后边1个字符内容
[root@som ~]# ls /dev/tty??						#匹配/dev/tty后边2个字符内容
[root@som ~]# ls /dev/tty[0-9]					#匹配/dev/tty后边1个数字内容
[root@som ~]# ls /dev/tty[0-9][0-9]				#匹配/dev/tty后边2个数字内容	

[root@som ~]# touch /opt/{a,b,c}.txt			#创建/opt/a.txt,/opt/b.txt,/opt/c.txt
[root@som ~]# ls /opt/[a-z].txt					#查看/opt/下一个字符.txt的文件
[root@som ~]# ls -d /m{edia,nt}					#严格匹配/media和/mnt

重定向操作

作用:将前方命令输出内容保存到文件

>:覆盖重定向

>>:追加重定向

  • 当目标文件存在时,则使用目标文件存储数据
  • 当目标文件不存在时,重定向会创建该目标文件并存储数据

管道操作

作用:将前方命令输出结果最为后方命令参数
在这里插入图片描述

[root@som ~]# ls --help | less					#将ls --help输出信息交给less命令作为参数
[root@som ~]# ifconfig | head -2				#将ifconfig输出信息交给head -2作为参数

find精确查找

格式:find 查找目录 条件

  • find可用于在Linux操作系统中精确查找某些资料
  • find查找为"地毯式搜索"不会放过任何一个子目录、隐藏目录
  • 查找过程中如果遇到/proc目录下的报错,属于正常现象,因为/proc不占用磁盘空间,占用的是内存空间
  • 常用查找条件
    • -type 按类型查找(f、d、l)
    • -name 按名字查找(可与通配符连用)
    • -iname 按名字查找(可忽略名字大小写查找、可与通配符连用)
    • -size 按数据大小查找(k、M、G)
    • -mtime 按数据最近修改时间查找
    • -user 按数据所有者查找
    • -a:and逻辑与,多个条件同时成立才满足条件(默认为逻辑与)
    • -o:or逻辑或,多个条件成立其中一个即可

按类型查找

    [root@som ~]# find /boot/ -type f				#在/boot/下递归查找文件
    [root@som ~]# find /boot/ -type d				#在/boot/下递归查找目录
    [root@som ~]# find /boot/ -type l				#在/boot/下递归查找连接文件(快捷方式)

按名字查找

    [root@som ~]# find /etc/ -name "passwd"			#在/etc/下递归查找名为passwd的数据
    [root@som ~]# find /etc/ -name "*tab"			#在/etc/下递归查找tab结尾的数据
    [root@som ~]# find /etc/ -name "*passwd*"		#在/etc/下递归查找名字包含passwd的数据

忽略名字大小写查找

    [root@som ~]# find /etc/ -iname "PaSSwd"		#在/etc/查找名为passwd的数据(忽略大小写)

按大小查找

  • k:kb作为单位
  • M:MB作为单位
  • G:GB作为单位
  • 注意:在使用大小进行查找时,对于某些目录可能存在一定的BUG,例如1M需要写成1024k,当然这里需要多测试才会发现
    [root@som ~]# find /boot/ -size +2M				#在/boot/查找文件大小大于2M的数据
    [root@som ~]# ls -lh /boot/grub2/fonts/unicode.pf2 		#验证大小
    -rw-r--r--. 1 root root 2.5M 1219 12:10 /boot/grub2/fonts/unicode.pf
    [root@som ~]# find /boot/ -size -1M			#在/boot/查找文件大小小于1M的数据(出现BUG)
    [root@som ~]# find /boot/ -size -1024k		#在/boot/查找文件大小小于1024k的数据(小于1M)

按修改时间

    [root@som ~]# find /etc/ -mtime +10			#查找10天前修改的数据
    [root@som ~]# find /etc/ -mtime -10			#查找近10天修改的数据

查找按所有者查找

    [root@som ~]# ls -ld /home/lisi/				#查看“文档”属性,查看所有者
    drwx------. 4 lisi lisi 113 224 10:22 /home/lisi/
    [root@som ~]# find /home/ -user lisi			#从/home中查找所有者为lisi的数据
    [root@som ~]# find /etc/ -user root				#从/etc中查找所有者为root的数据

创建实验素材

    [root@som ~]# touch /root/som01.txt 		#创建/root/som01.txt
    [root@som ~]# touch /root/som02.txt			#创建/root/som02.txt
    [root@som ~]# mkdir /root/som03				#创建/root/som03目录

逻辑与案例-a,在/root/下查找som开头的文件

    [root@som ~]# find /root/ -name "som*" -a -type f	
    [root@som ~]# find /root/ -name "som*"  -type f	#-a也可以省略不写,默认就是-a	

逻辑或案例-o,在/root/下查找som开头的资料,或者是文件即可

    [root@som ~]# find /root/ -name "som*" -o -type f	

find高级使用

  • 可用于处理找到的文件
  • 格式:find [范围] [条件] -exec 处理命令 {} ;
  • {}表示查找到的每一个结果
  • ;表示操作结束
[root@som ~]# mkdir /root/findfiles				  #新建文件夹/root/findfiles
[root@som ~]# find /boot/ -name "vm*" -exec cp -r {} /root/findfiles/ \;	#查找并拷贝

grep命令使用- 功能:输出包含指定字符/匹配规则的行

  • 格式: grep ‘查找条件’ 目标文件
  • -i:查找是忽略关键字大小写
  • -v:对查找结果去反(匹配不包含指定字符/不满足条件的行)
  • ^关键字:匹配关键字开头的行
  • 关键字$:匹配关键字结尾的行
  • ^$:匹配空行
[root@som ~]# grep -i ROOT /etc/passwd			#忽略大小写匹配/etc/passwd文件中包含ROOT的行
[root@som ~]# grep -v root /etc/passwd			#在/etc/passwd文件中匹配不包含root的行
[root@som ~]# grep ^root /etc/passwd			#匹配/etc/passwd文件中以root开头的行
[root@som ~]# grep bash$ /etc/passwd			#匹配/etc/passwd文件中以bash结尾的行	
[root@som ~]# grep ^$ /etc/default/useradd		#匹配/etc/default/useradd中的空行

vim文本编辑器

功能:使用vim文本编辑器可以修改/创建文件

  • 若目标文件不存在,则新建空文件并编辑
  • 若目标文件已存在,则打开此文件并编辑

三大模式:命令模式、插入模式、末行模式
在这里插入图片描述
按Esc键回到命令模式,按:(英文冒号)进入末行模式,输入wq,保存并退出

命令模式基本操作

  • 光标跳转
    在这里插入图片描述
  • 复制、粘贴、删除
    在这里插入图片描述

末行模式基本操作

  • 存盘、退出、文件操作

在这里插入图片描述

  • 开关设置
    在这里插入图片描述

归档及压缩

归档的含义:

  • 将许多零散的文件整理为一个文件
  • 文件总的大小基本不变

压缩的含义:

  • 按某种算法减小文件所占用空间的大小
  • 恢复时按对应的逆向算法解压
压缩格式扩展名特点
gzip.gz速度快,压缩比例低
bzip.bz2速度中等,压缩比例中等
xz.xz速度慢,压缩比例高
  • tar命令工具
  • -c:创建归档
  • -x:释放归档
  • -f:指定归档文件名称
  • -z、-j、-J:调用 .gz、.bz2、.xz 格式的工具进行处理
  • -t:显示归档中的文件清单
  • -C(大写):指定释放的位置
  • 注:f选项必须放在所有选项的最后

制作压缩包

  • 制作压缩包又被称之为打包
  • 格式:tar 选项 /路径/压缩包名字 被压缩归档的源数据1 被压缩归档的源数据2 ...
   # 将/boot/目录和/home/目录打包至/opt/
[root@som ~]# tar -zcf /opt/two.tar.gz /boot/ /home/	#使用gzip格式

释放压缩包

  • 释放压缩包有被称之为解包
  • 格式:tar 选项 /路径/压缩包名字 [-C] 释放路径
#将/opt/two.tar.gz释放到/opt下
[root@som ~]# tar -zxf /opt/two.tar.gz -C /opt/			#将压缩包释放至/opt

zip压缩包

制作zip格式压缩包(打包)
zip  [-r]   备份文件.zip   被归档的文档1  被归档的文档2  ... 
#将/etc/selinux打包至/root/selinux.zip
[root@som ~]# zip -r /root/selinux.zip /etc/selinux/ 

释放zip格式压缩包(解包)
格式:unzip  备份文件.zip  [-d 目标文件夹]  
[root@som ~]# unzip /root/selinux.zip -d /opt/			#将/root/selinux.zip解压至/opt/

Linux命令补充

man帮助

  • man命令可以帮助用户查找、浏览和使用操作系统中的命令、配置文件以及其他相关的程序和文档
  • 支持上下键翻阅
  • 支持PageUp、PageDown翻页
  • 按/所有关键字
  • 按q退出
[root@som ~]# man ls					#查看ls的帮助手册
[root@som ~]# man hier					#文件Linux系统层次结构标准(作用)

历史命令

  • history:查看历史命令列表
  • history -c:清空历史命令
  • !n:执行命令历史中的第n条命令
  • !str:执行最近一次以str开头的历史命令
[root@som ~]# history 					#查看历史命令
[root@som ~]# history -c				#清空历史命令

[root@som ~]# cat /etc/shells			#查看/etc/shells文件
[root@som ~]# history					#查看历史命令
[root@som ~]# !1						#执行历史命令标号为1的指令
[root@som ~]# cat /etc/hosts			#查看/etc/hosts文件
[root@som ~]# !cat						#执行最近一次cat开头的指令

[root@som ~]# grep HISTSIZE /etc/profile		#/etc/profile中记录了历史命令可以记录多少条
HISTSIZE=1000

du命令

  • 作用:统计文件的占用空间
  • du [选项]... [目录或文件]...
    • -s:只统计每个参数所占用的总空间大小
    • -h:提供易读容量单位(K、M等)
[root@som ~]# du -sh /boot/ /etc/pki/			#统计/boot/和/etc/pki/占用磁盘空间大小

date指令

  • 作用:查看/修改系统时间
  • date +%F、date +%R
  • date +“%Y-%m-%d %H:%M:%S”
  • 修改时间格式:date -s “yyyy-mm-dd HH:MM:SS” ,不可将时间修改为1970-01-01 00:00:00之前
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学废Java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值