运维管理30 分钟阅读
❤️ Linux 命令合集必知必会
大家好,这里是 Lucifer三思而后行,专注于提升数据库运维效率。 @TOC目录 为什么要学习 Linux 命令? 目前企业有超过 80% 甚至更多的系统都是 Linux 操作系统,所以不管是做开发还是运维,不会点 Linux 知识肯定是无法进入到企业里工作。而且,很多企业的岗位职责里写要需要精通 Linux 。
2021年9月2日阅读—点赞—收藏—
linux
在知识库中专注阅读,并随时返回相关工具与课程
大家好,这里是 Lucifer三思而后行,专注于提升数据库运维效率。 @TOC目录 为什么要学习 Linux 命令? 目前企业有超过 80% 甚至更多的系统都是 Linux 操作系统,所以不管是做开发还是运维,不会点 Linux 知识肯定是无法进入到企业里工作。而且,很多企业的岗位职责里写要需要精通 Linux 。
大家好,这里是 Lucifer三思而后行,专注于提升数据库运维效率。
本章目标:掌握本章核心知识点 前置要求:完成前序章节学习 预计时长:60 分钟
为什么要学习 Linux 命令?
目前企业有超过 80% 甚至更多的系统都是 Linux 操作系统,所以不管是做开发还是运维,不会点 Linux 知识肯定是无法进入到企业里工作。而且,很多企业的岗位职责里写要需要精通 Linux 。
在这里插入图片描述
Linux 的从业方向也比较广,主要分为 运维 和 开发 ,细分下来就数不胜数了,基本都会涉及,因此学好 Linux 刻不容缓。
在这里插入图片描述
本文将列出我工作多年所学的 Linux 常用命令的汇总!超全面!超详细!包学包会!
ls命令为英文单词 list 的缩写,正如英文单词 list 的意思,其功能是列出指定目录下的内容及其相关属性信息。
默认状态下,ls命令会列出当前目录的内容。而带上参数后,我们可以用ls做更多的事情。作为最基础同时又是使用频率很高的命令,我们很有必要搞清楚ls命令的用法,那么接下来一起看看吧!
语法:
语法格式: ls [选项] [文件]
常用参数:
参考实例:
列出所有文件(包括隐藏文件):
1ls -a列出文件的详细信息:
1ls -l列出根目录(/)下的所有目录:
1ls /列出当前工作目录下所有名称是 “s” 开头的文件(不包含文件夹哦~) :
1ls -ltr s*列出 /root 目录下的所有目录及文件的详细信息 :
1ls -lR /root列出当前工作目录下所有文件及目录并以文件的大小进行排序 :
1ls -AScp命令可以理解为英文单词copy的缩写,其功能为复制文件或目录。
cp命令可以将多个文件复制到一个具体的文件名或一个已经存在的目录下,也可以同时复制多个文件到一个指定的目录中。
语法:
语法格式:cp [参数] [文件]
常用参数:
参考实例:
复制目录:
1cp -R dir1 dir2/将文件test1改名为test2:
1cp -f test1 test2复制多个文件:
1cp -r file1 file2 file3 dir交互式地将目录 /home/lucifer 中的所有.c文件复制到目录 dir 中:
1cp -r /home/lucifer/*.c dirmkdir命令是“make directories”的缩写,用来创建目录。
📢 注意: 默认状态下,如果要创建的目录已经存在,则提示已存在,而不会继续创建目录。 所以在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。 mkdir命令还可以同时创建多个目录,是不是很强大呢?
语法:
语法格式 : mkdir [参数] [目录]
常用参数:
参考实例:
在工作目录下,建立一个名为 dir 的子目录:
1mkdir dir在目录/home/lucifer下建立子目录dir,并且设置文件属主有读、写和执行权限,其他人无权访问:
1mkdir -m 700 /home/lucifer/dir同时创建子目录dir1,dir2,dir3:
1mkdir dir1 dir2 dir3递归创建目录:
1mkdir -p lucifer/dirmv命令是“move”单词的缩写,其功能大致和英文含义一样,可以移动文件或对其改名。
这是一个使用频率超高的文件管理命令,我们需要特别留意它与复制的区别:mv与cp的结果不同。mv命令好像文件“搬家”,文件名称发生改变,但个数并未增加。而cp命令是对文件进行复制操作,文件个数是有增加的。
语法:
语法格式:mv [参数]
常用参数:
参考实例:
将文件file_1重命名为file_2:
1mv file_1 file_2将文件file移动到目录dir中 :
1mv file /dir将目录dir1移动目录dir2中(前提是目录dir2已存在,若不存在则改名):
1mv /dir1 /dir2将目录dir1下的文件移动到当前目录下:
1mv /dir1/* .pwd命令是“print working directory”中每个单词的首字母缩写,其功能正如所示单词一样,为打印工作目录,即显示当前工作目录的绝对路径。
在实际工作中,我们经常会在不同目录之间进行切换,为了防止“迷路”,我们可以使用pwd命令快速查看当前我们所在的目录路径。
语法:
语法格式: pwd [参数]
常用参数:
参考实例:
查看当前工作目录路径:
1pwdcat这个命令也很好记,因为cat在英语中是“猫”的意思,小猫咪是不是给您一种娇小、可爱的感觉呢?
📢 注意: 当文件内容较大时,文本内容会在屏幕上快速闪动(滚屏),用户往往看不清所显示的具体内容。
因此对于较长文件内容可以:
或者对于大文件,干脆用 more 命令吧!
语法:
语法格式:cat [参数] [文件]
常用参数:
参考实例:
查看文件的内容:
1cat lucifer.log查看文件的内容,并显示行数编号:
1cat -n lucifer.log查看文件的内容,并添加行数编号后输出到另外一个文件中:
1cat -n lucifer.log > lucifer.txt清空文件的内容:
1cat /dev/null > /root/lucifer.txt持续写入文件内容,碰到EOF符后结束并保存:
1cat > lucifer.txt <<EOF2Hello, World 3Linux!4EOF将软盘设备制作成镜像文件:
1cat /dev/fb0 > fdisk.isoecho命令用于在终端设备上输出字符串或变量提取后的值,这是在Linux系统中最常用的几个命令之一,但操作却非常简单。
人们一般使用在变量前加上$符号的方式提取出变量的值,例如:$PATH,然后再用echo命令予以输出。或者直接使用echo命令输出一段字符串到屏幕上,起到给用户提示的作用。
语法:
语法格式:echo [参数] [字符串]
常用参数:
参考实例:
输出一段字符串:
1echo "Hello Lucifer"输出变量提取后的值:
1echo $PATH对内容进行转义,不让$符号的提取变量值功能生效:
1echo \$PATH结合输出重定向符,将字符串信息导入文件中:
1echo "It is a test" > lucifer使用反引号符执行命令,并输出其结果到终端:
1echo `date`输出带有换行符的内容:
1echo -e "a\nb\nc"输出信息中删除某个字符,注意看数字3消失了:
1echo -e "123\b456"rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。
📢 注意: rm也是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。
所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。
语法:
语法格式:rm [参数] [文件]
常用参数:
参考实例:
删除前逐一询问确认:
1rm -i test.txt.bz2直接删除,不会有任何提示:
1rm -f test.txt.bz2递归删除目录及目录下所有文件:
1mkdir /data/log2rm -rf /data/log删除当前目录下所有文件:
1rm -rf *清空系统中所有的文件(谨慎):
1rm -rf /*tail用于显示文件尾部的内容,默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。
语法:
语法格式:tail [参数]
常用参数:
参考实例:
显示文件file的最后10行:
1tail file显示文件file的内容,从第20行至文件末尾:
1tail +20 file显示文件file的最后10个字符:
1tail -c 10 file一直变化的文件总是显示后10行:
1tail -f 10 file显示帮助信息:
1tail --helprmdir命令作用是删除空的目录,英文全称:“remove directory”。
注意:rmdir命令只能删除空目录。当要删除非空目录时,就要使用带有“-R”选项的rm命令。
rmdir命令的“-p”参数可以递归删除指定的多级目录,但是要求每个目录也必须是空目录。
语法:
语法格式 : rmdir [参数] [目录名称]
常用参数:
参考实例:
删除空目录:
1rmdir dir递归删除指定的目录树:
1rmdir -p dir/dir_1/dir_2显示指令详细执行过程:
1rmdir -v dir显示命令的版本信息:
1rmdir --versionrpm命令是Red-Hat Package Manager(RPM软件包管理器)的缩写, 该命令用于管理Linux 下软件包的软件。在 Linux 操作系统下,几乎所有的软件均可以通过RPM 进行安装、卸载及管理等操作。
概括的说,rpm命令包含了五种基本功能:安装、卸载、升级、查询和验证。
语法:
语法格式:rpm [参数] [软件包]
常用参数:
参考实例:
直接安装软件包:
1rpm -ivh packge.rpm忽略报错,强制安装:
1rpm --force -ivh package.rpm列出所有安装过的包:
1rpm -qa查询rpm包中的文件安装的位置:
1rpm -ql ls卸载rpm包:
1rpm -e package.rpm升级软件包:
1rpm -U file.rpmfind命令可以根据给定的路径和表达式查找的文件或目录。find参数选项很多,并且支持正则,功能强大。和管道结合使用可以实现复杂的功能,是系统管理者和普通用户必须掌握的命令。
find如不加任何参数,表示查找当前路径下的所有文件和目录,如果服务器负载比较高尽量不要在高峰期使用find命令,find命令模糊搜索还是比较消耗系统资源的。
语法:
语法格式:find [参数] [路径] [查找和搜索范围]
常用参数:
参考实例:
使用-name参数查看/etc目录下面所有的.conf结尾的配置文件:
1find /etc -name "*.conf使用-size参数查看/etc目录下面大于1M的文件:
1find /etc -size +1M查找当前用户主目录下的所有文件:
1find $HOME -print列出当前目录及子目录下所有文件和文件夹:
1find .在/home目录下查找以.txt结尾的文件名:
1find /home -name "*.txt"在/var/log目录下忽略大小写查找以.log结尾的文件名:
1find /var/log -iname "*.log"搜索超过七天内被访问过的所有文件:
1find . -type f -atime +7搜索访问时间超过10分钟的所有文件:
1find . -type f -amin +10找出/home下不是以.txt结尾的文件:
1find /home ! -name "*.txt"startx命令用来启动X-Window,它负责调用X-Window系统的初始化程序xinit。以完成 X-Window运行所必要的初始化工作,并启动X-Window系统。
语法:
语法格式:startx [参数]
常用参数:
参考实例:
已默认方式启动X-windows系统:
1startx以16位颜色深度启动X-windows系统:
1startx --depth 16强制启动 X-windows系统:
1startx -wuname命令的英文全称即“Unix name”。
用于显示系统相关信息,比如主机名、内核版本号、硬件架构等。
如果未指定任何选项,其效果相当于执行”uname -s”命令,即显示系统内核的名字。
语法:
语法格式:uname [参数]
常用参数:
参考实例:
显示系统主机名、内核版本号、CPU类型等信息:
1uname -a仅显示系统主机名:
1uname -n显示当前系统的内核版本 :
1uname -r显示当前系统的硬件架构:
1uname -ivmstat命令的含义为显示虚拟内存状态(“Virtual Memory Statistics”),但是它可以报告关于进程、内存、I/O等系统整体运行状态。
语法:
语法格式:vmstat [参数]
常用参数:
参考实例:
显示活动内页:
1vmstat -a显示启动后创建的进程总数:
1vmstat -f显示slab信息:
1vmstat -m头信息仅显示一次:
1vmstat -n以表格方式显示事件计数器和内存状态:
1vmstat -s显示指定的硬盘分区状态:
1vmstat -p /dev/sda1指定状态信息刷新的时间间隔为1秒:
1vmstat 1df命令的英文全称即“Disk Free”,顾名思义功能是用于显示系统上可使用的磁盘空间。默认显示单位为KB,建议使用“df -h”的参数组合,根据磁盘容量自动变换合适的单位,更利于阅读。
日常普遍用该命令可以查看磁盘被占用了多少空间、还剩多少空间等信息。
语法:
语法格式: df [参数] [指定文件]
常用参数:
参考实例:
显示磁盘分区使用情况:
1df以容易阅读的方式显示磁盘分区使用情况:
1df -h显示指定文件所在分区的磁盘使用情况:
1df /etc/dhcp显示文件类型为ext4的磁盘使用情况:
1df -t ext4fdisk命令的英文全称是“Partition table manipulator for Linux”,即作为磁盘的分区工具。进行硬盘分区从实质上说就是对硬盘的一种格式化, 用一个形象的比喻,分区就好比在一张白纸上画一个大方框,而格式化好比在方框里打上格子。
语法:
语法格式:fdisk [参数]
常用参数:
参考实例:
查看所有分区情况:
1fdisk -l选择分区磁盘:
1fdisk /dev/sdb在当前磁盘上建立扩展分区:
1fdisk /ext不检查磁盘表面加快分区操作:
1fdisk /actok重建主引导记录:
1fdisk /cmbrlsblk命令的英文是“list block”,即用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。
lsblk命令包含在util-linux-ng包中,现在该包改名为util-linux。
语法:
语法格式:lsblk [参数]
常用参数:
参考实例:
lsblk命令默认情况下将以树状列出所有块设备:
1lsblk默认选项不会列出所有空设备:
1lsblk -a也可以用于列出一个特定设备的拥有关系,同时也可以列出组和模式:
1lsblk -m要获取SCSI设备的列表,你只能使用-S选项,该选项是用来以颠倒的顺序打印依赖的:
1lsblk -S例如,你也许想要以列表格式列出设备,而不是默认的树状格式。可以将两个不同的选项组合,以获得期望的输出:
1lsblk -nlhdparm命令用于检测,显示与设定IDE或SCSI硬盘的参数。
语法:
语法格式:hdparm [参数]
常用参数:
参考实例:
显示硬盘的相关设置:
1hdparm /dev/sda显示硬盘的柱面、磁头、扇区数:
1hdparm -g /dev/sda评估硬盘的读取效率:
1hdparm -t /dev/sda直接读取硬盘所提供的硬件规格信息:
1hdparm -X /dev/sda使IDE硬盘进入睡眠模式:
1hdparm -Y /dev/sdavgextend命令用于动态扩展LVM卷组,它通过向卷组中添加物理卷来增加卷组的容量。LVM卷组中的物理卷可以在使用vgcreate命令创建卷组时添加,也可以使用vgextend命令动态的添加。
语法:
语法格式:vgextend [参数]
常用参数:
参考实例:
将物理卷/dev/sdb1加入卷组vglinuxprobe:
1vgextend vglinuxprobe /dev/sdb1tftp命令用于传输文件。ftp让用户得以下载存放于远端主机的文件,也能将文件上传到远端主机放置。
tftp是简单的文字模式ftp程序,它所使用的指令和ftp类似。
语法:
语法格式:tftp [参数]
常用参数:
参考实例:
连接远程服务器”10.211.55.100″:
1tftp 10.211.55.100远程下载file文件:
1tftp> get file退出tftp:
1tftp> quitcurl命令是一个利用URL规则在shell终端命令行下工作的文件传输工具;它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。
作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征;做网页处理流程和数据检索自动化。
语法:
语法格式:curl [参数] [网址]
常用参数:
参考实例:
将下载的数据写入到文件,必须使用文件的绝对地址:
1curl https://www.baidu.com /root/lucifer.txt --silent -O访问需要授权的页面时,可通过-u选项提供用户名和密码进行授权:
1curl -u root https://www.baidu.com/fsck命令的英文全称是“filesystem check”,即检查文件系统的意思,常用于检查并修复Linux文件系统的一些错误信息,操作文件系统需要先备份重要数据,以防丢失。
Linux fsck命令用于检查并修复Linux文件系统,可以同时检查一个或多个 Linux 文件系统;若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查。
语法:
语法格式:fsck [参数] [文件系统]
常用参数:
参考实例:
修复坏的分区文件系统:
1fsck -t ext3 -r /usr/local显示fsck系统安装的版本号:
1fsck --versionftpwho命令用于显示当前所有以FTP登入的用户会话信息。
执行该命令可得知当前用FTP登入系统的用户有哪些人,以及他们正在进行的操作。
语法:
语法格式:ftpwho [参数]
常用参数:
参考实例:
查询当前正在登录FTP 服务器的用户:
1ftpwho在详细模式下,查询当前正在登录FTP 服务器的用户:
1ftpwho -v显示帮助信息:
1ftpwho -hlprm命令的英文全称是“Remove jobs from the print queue”,意为用于删除打印队列中的打印任务。尚未完成的打印机工作会被放在打印机贮列之中,这个命令可用来将未送到打印机的工作取消。
语法:
语法格式:lprm [参数] [任务编号]
常用参数:
参考实例:
将打印机hpprint中的第102号任务移除:
1lprm -Phpprint 102将第101号任务由预设打印机中移除:
1lprm 101ssh命令是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器,实现对服务器的远程管理。
语法:
语法格式: ssh [参数] [远程主机]
常用参数:
参考实例:
登录远程服务器:
1ssh 10.211.55.100用test用户连接远程服务器:
1ssh -l test 10.211.55.100查看分区列表:
1ssh 10.211.55.100 /sbin/fdisk -l强制使用ssh协议版本1:
1ssh -1开启认证代理连接转发功能:
1ssh -Anetstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
从整体上看,netstat的输出结果可以分为两个部分:一个是Active Internet connections,称为有源TCP连接,其中”Recv-Q”和”Send-Q”指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到;另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
语法:
语法格式:netstat [参数]
常用参数:
参考实例:
显示详细的网络状况:
1netstat -a显示当前户籍UDP连接状况:
1netstat -nu显示UDP端口号的使用情况:
1netstat -apu显示网卡列表:
1netstat -i显示组播组的关系:
1netstat -gping命令主要用来测试主机之间网络的连通性,也可以用于。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
不过值得我们注意的是:Linux系统下的ping命令与Windows系统下的ping命令稍有不同。Windows下运行ping命令一般会发出4个请求就结束运行该命令;而Linux下不会自动终止,此时需要我们按CTR+C终止或者使用-c参数为ping命令指定发送的请求数目。
语法:
语法格式:ping [参数] [目标主机]
常用参数:
参考实例:
检测与百度网站的连通性:
1ping www.baidu.com连续ping4次:
1ping -c 4 www.baidu.com设置次数为4,时间间隔为3秒:
1ping -c 4 -i 3 www.baidu.com利用ping命令获取指定网站的IP地址:
1ping -c 1 baidu.com | grep from | cut -d " " -f 4dhclient命令的作用是:使用动态主机配置协议动态的配置网络接口的网络参数,也支持BOOTP协议。
语法:
语法格式:dhclient [参数] [网络接口]
常用参数:
参考实例:
在指定网络接口上发出DHCP请求:
1dhclient eth0释放IP地址:
1dhclient -r从指定的服务器获取ip地址:
1dhclient -s 10.211.55.100停止运行dhclient:
1dhclient -xifconfig命令的英文全称是“network interfaces configuring”,即用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。
语法:
语法格式:ifconfig [参数]
常用参数:
参考实例:
显示网络设备信息:
1ifconfig启动关闭指定网卡:
1ifconfig eth0 down2ifconfig eth0 up为网卡配置和删除IPv6地址:
1ifconfig eth0 add 33ffe:3240:800:1005::2/642ifconfig eth0 del 33ffe:3240:800:1005::2/64用ifconfig修改MAC地址:
1ifconfig eth0 down2ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE3ifconfig eth0 up4ifconfig eth1 hw ether 00:1D:1C:1D:1E 5ifconfig eth1 up配置IP地址:
1ifconfig eth0 192.168.1.56 2ifconfig eth0 192.168.1.56 netmask 255.255.255.03ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255mount命令用于加载文件系统到指定的加载点。此命令的最常用于挂载cdrom,使我们可以访问cdrom中的数据,因为你将光盘插入cdrom中,Linux并不会自动挂载,必须使用Linux mount命令来手动完成挂载。
语法:
语法格式:mount [参数]
常用参数:
参考实例:
查看版本:
1mount -V启动所有挂载:
1mount -a挂载 /dev/cdrom 到 /mnt:
1mount /dev/cdrom /mnt挂载nfs格式文件系统:
1mount -t nfs /123 /mnt挂载第一块盘的第一个分区到/etc目录 :
1mount -t ext4 -o loop,default /dev/sda1 /etcMAKEDEV是一个脚本程序, 用于在 /dev 目录下建立设备, 通过这些设备文件可以 访问位于内核的驱动程序。
MAKEDEV 脚本创建静态的设备节点,通常位于/dev目录下。
语法:
语法格式:MAKEDEV [参数]
常用参数:
参考实例:
显示出执行的每一个动作:
1./MAKEDEV -v update删除设备:
1./MAKEDEV -d devicelspci命令用于显示当前主机的所有PCI总线信息,以及所有已连接的PCI设备信息。 现在主流设备如网卡储存等都采用PCI总线
语法:
语法格式:lspci [参数]
常用参数:
参考实例:
显示当前主机的所有PCI总线信息:
1lspci以树状结构显示PCI设备的层次关系:
1lspci -tsetleds即是英文词组“set leds”的合并,翻译为中文就是设置LED灯。setleds命令用来设定键盘上方三个 LED 灯的状态。在 Linux 中,每一个虚拟主控台都有独立的设定。
这是一个十分神奇的命令,竟然可以通过命令来控制键盘的灯的状态。那么下面我一起来学习一下这个命令吧。
语法:
语法格式:setleds [参数]
常用参数:
参考实例:
控制键盘灯num灯亮和灯灭:
1setleds +num 2setleds -num控制键盘的大小写键打开或关闭,键盘指示灯亮与灭:
1setleds +caps 2setleds -caps控制键盘的选项键打开或关闭,键盘指示灯亮与灭:
1setleds +scroll对三灯的亮与灭的情况进行组合,分别设置为数字灯亮,大小写灯灭,选项键scroll灯灭:
1setleds +num -caps -scrollsensors命令用于检测服务器内部降温系统是否健康,可以监控主板,CPU的工作电压,风扇转速、温度等数据 。
语法:
语法格式:sensors
参考实例:
检测cpu工作电压,温度等:
1sensorszip程序将一个或多个压缩文件与有关文件的信息(名称、路径、日期、上次修改的时间、保护和检查信息以验证文件完整性)一起放入一个压缩存档中。可以使用一个命令将整个目录结构打包到zip存档中。
对于文本文件来说,压缩比为2:1和3:1是常见的。zip只有一种压缩方法(通缩),并且可以在不压缩的情况下存储文件。(如果添加了bzip 2支持,zip也可以使用bzip 2压缩,但这些条目需要一个合理的现代解压缩来解压缩。当选择bzip 2压缩时,它将通货紧缩替换为默认方法。)zip会自动为每个要压缩的文件选择更好的两个文件(通缩或存储,如果选择bzip2,则选择bzip2或Store)。
语法:
语法格式:zip [参数] [文件]
常用参数:
参考实例:
将 /home/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip:
1zip -q -r html.zip /home/html压缩文件 cp.zip 中删除文件 a.c:
1zip -dv cp.zip a.c把/home目录下面的mydata目录压缩为mydata.zip:
1zip -r mydata.zip mydata把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip:
1zip -r abc123.zip abc 123.txt将 logs目录打包成 log.zip:
1zip -r log.zip ./logszipinfo命令的全称为“zip information”,该命令用于列出压缩文件信息。执行zipinfo指令可得知zip压缩文件的详细信息。
语法:
语法格式:zipinfo [参数]
常用参数:
参考实例:
显示压缩文件信息:
1zipinfo file.zip显示压缩文件中每个文件的信息:
1zipinfo -v file.zip只显示压缩包大小、文件数目:
1zipinfo -h file.zip生成一个基本的、长格式的列表(而不是冗长的),包括标题和总计行:
1zipinfo -l file查看存档中最近修改的文件:
1zipinfo -T file | sort –nr -k 7 | sed 15qunzip命令是用于.zip格式文件的解压缩工具 ,unzip命令将列出、测试或从zip格式存档中提取文件,这些文件通常位于MS-DOS系统上。
默认行为(就是没有选项)是从指定的ZIP存档中提取所有的文件到当前目录(及其下面的子目录)。一个配套程序zip(1L)创建ZIP存档;这两个程序都与PKWARE的PKZIP和PKUNZIP为MS-DOS创建的存档文件兼容,但许多情况下,程序选项或默认行为是不同的。
语法:
语法格式:unzip [参数] [文件]
常用参数:
参考实例:
把/home目录下面的mydata.zip解压到mydatabak目录里面:
1unzip mydata.zip -d mydatabak把/home目录下面的wwwroot.zip直接解压到/home目录里面:
1unzip wwwroot.zip把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面:
1unzip abc\*.zip查看把/home目录下面的wwwroot.zip里面的内容:
1unzip -v wwwroot.zip验证/home目录下面的wwwroot.zip是否完整:
1unzip -t wwwroot.zipgzip命令的英文是“GNUzip”,是常用来压缩文件的工具,gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。
gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。
语法:
语法格式:gzip [参数]
常用参数:
参考实例:
把rancher-v2.2.0目录下的每个文件压缩成.gz文件:
1gzip *把上例中每个压缩的文件解压,并列出详细的信息:
1gzip -dv *递归地解压目录:
1gzip -dr rancher.gzunarj命令用于解压缩.arj文件。
语法:
语法格式:unarj [参数] [.arj压缩文件]
常用参数:
参考实例:
解压缩.arj文件:
1unarj -e test.arj显示压缩文件内所包含的文件:
1unarj -l test.arj检查压缩文件是否正确:
1unarj -t test.arj解压缩时保留原有的路径:
1unarj -x test.arj把文件解压到当前路径:
1unarj -ex test.arjhash命令负责显示与清除命令运行时系统优先查询的哈希表(hash table)。
当执行hash命令不指定参数或标志时,hash命令向标准输出报告路径名列表的内容。此报告含有先前hash命令调用找到的当前shell环境中命令的路径名。而且还包含通过正常命令搜索进程调用并找到的那些命令。
语法:
语法格式: hash [参数] [目录]
常用参数:
参考实例:
显示哈希表中的命令:
1hash -l删除哈希表中的命令:
1hash -r向哈希表中添加命令:
1hash -p /usr/sbin/adduser myadduser在哈希表中清除记录:
1hash -d显示哈希表中命令的完整路径:
1hash -tgrep是“global search regular expression and print out the line”的简称,意思是全面搜索正则表达式,并将其打印出来。这个命令可以结合正则表达式使用,它也是linux使用最为广泛的命令。
grep命令的选项用于对搜索过程的补充,而其命令的模式十分灵活,可以是变量、字符串、正则表达式。需要注意的是:一当模式中包含了空格,务必要用双引号将其引起来。
linux系统支持三种形式的grep命令,大儿子就是grep,标准,模仿的代表。二儿子兴趣爱好多-egrep,简称扩展grep命令,其实和grep -E等价,支持基本和扩展的正则表达式。小儿子跑的最快-fgrep,简称快速grep命令,其实和grep -F等价,不支持正则表达式,按照字符串表面意思进行匹配。
语法:
语法格式: grep [参数]
常用参数:
参考实例:
支持多文件查询并支持使用通配符:
1grep zwx file_* /etc/hosts输出匹配字符串行的数量:
1grep -c zwx file_*列出所有的匹配行,并显示行号:
1grep -n zwx file_*显示不包含模式的所有行:
1grep -vc zwx file_*不再显示文件名:
1grep -h zwx file_*只列出符合匹配的文件名,不列出具体匹配的行:
1grep -l zwx file_*不显示不存在或无匹配的文本信息:
1grep -s zwx file1 file_12grep zwx file1 file_1递归搜索,不仅搜索当前目录,还搜索子目录:
1grep -r zwx file_2 *匹配整词,以字面意思去解释他,相当于精确匹配:
1grep zw* file_12grep -w zw* file_1匹配整行,文件中的整行与模式匹配时,才打印出来:
1grep -x zwx file_*不输出任何结果,已退出状态表示结果:
1grep -q zwx file_12echo $?3grep -q zwx file_54echo $?5grep -q zwx file56echo $?查找一个文件中的空行和非空行:
1grep -c ^$ file_12grep -c ^[^$] file_1匹配任意或重复字符用“.”或“*”符号来实现:
1grep ^z.x file_12grep ^z* file_6wait命令用来等待指令的指令,直到其执行完毕后返回终端。该指令常用于shell脚本编程中,待指定的指令执行完成后,才会继续执行后面的任务。该指令等待作业时,在作业标识号前必须添加备份号”%”。
语法:
语法格式:wait [参数]
常用参数:
参考实例:
等待作业号为1的作业完成后再返回:
1wait %12find / -name passwordbc的英文全拼为“ Binary Calculator ”,是一种支持任意精度的交互执行的计算器语言。bash内置了对整数四则运算的支持,但是并不支持浮点运算,而bc命令可以很方便的进行浮点运算,当然整数运算也不再话下。
语法:
语法格式:bc [选项]
常用参数:
参考实例:
算术操作高级运算bc命令它可以执行浮点运算和一些高级函数:
1echo "1.212*3" | bc设定小数精度(数值范围):
1echo "scale=2;3/8" | bc计算平方和平方根:
1echo "10^10" | bc2echo "sqrt(100)" | bchistory命令用于显示用户以前执行过的历史命令,并且能对历史命令进行追加和删除等操作。
如果你经常使用Linux命令,那么使用history命令可以有效地提升你的效率。
语法:
语法格式: history [参数] [目录]
常用参数:
参考实例:
显示最近的10条命令:
1history 10将本次登录的命令写入历史文件中:
1history -w将命令历史文件中的内容读入到目前shell的history记忆中 :
1history -r将当前Shell会话的历史命令追加到命令历史文件中:
1history -a清空当前历史命令列表:
1history -c⭐️ 点击下载 👉 超全 Linux 8/7/6/5 安装包合集下载地址 ⭐️
Oracle 一键巡检自动生成 Word 报告
Oracle 一键安装合集
Oracle一键安装脚本的 21 个疑问与解答
Oracle一键巡检脚本的 21 个疑问与解答
全网首发:Oracle 23ai 一键安装脚本(非 RPM)
Oracle 19C 最新 RU 补丁 19.24 ,一键安装!
Oracle Linux 7.9 一键安装 Oracle 19C
RedHat 9.4(aarch64) 一键安装 Oracle 19C
openEuler 22.03 LTS SP4 一键安装 Oracle 19C RAC
RHEL 7.9 一键安装 Oracle 19C 19.23 RAC
Oracle DataGuard GAP 修复手册
优化 Oracle:最佳实践与开发规范
DBA 必备:Linux 软件源配置全攻略
Linux 一键配置时钟同步全攻略
感谢您的阅读,这里是 Lucifer三思而后行,欢迎点赞+关注,我会持续分享数据库知识、运维技巧。