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