目录
Linux命令的特点
- 在Linux系统中,命令区分大小写。
- 在命令行中,可以使用"Tab"键来自 动补齐命令。
- 利用向上或向下的光标键,可以翻查曾经执行过的历史命令,并可以再次执行。
- 如果要在一个命令行上输入和执行多条命令,可以使用分号来分隔命令,如"cd/;ls"。
- 断开一个长命令行,可以使用反斜杠"\"。
1、文件管理
ls命令
ls命令为list的缩写,它默认情况列出当期目录信息。显示指定工作目录下的内容及属性信息该命令的语法为:
ls [参数] [目录或文件]
参数选项如下:
参数 | 描述 |
---|---|
-a | 显示所有文件及目录 (包括以"."开头的隐藏文件) |
-l | 使用长格式列出文件及目录信息 |
-d | 如果参数是目录,则只显示其名称而不显示其下的各个文;件往往与"-l"选项一起使用。 |
-i | 在输出的第一列显示文件的i节点号 |
-r | 将文件以相反次序显示(默认依英文字母次序) |
-t | 根据最后的修改时间排序 |
-A | 同 -a ,但不列出 "." (当前目录) 及 "..." (父目录) |
-C | 分成多列显示各行 |
-S | 根据文件大小排序 |
-R | 递归列出所有子目录 |
cp命令
cp命令理解为copy的缩写,其功能为复制文件或目录。cp命令可以将多个文件复制到一个具体的文件名或一个已经存在的目录下,也可以同时复制多个文件到一个指定的目录中。语法如下:
cp [参数] [文件]
参数选项如下:
参数 | 描述 |
---|---|
-f | 若目标文件已存在,则会直接覆盖原文件 |
-i | 若目标文件已存在,则会询问是否覆盖 |
-p | 保留源文件或目录的所有属性 |
-r | 递归复制文件和目录 |
-d | 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录 |
-l | 对源文件建立硬连接,而非复制文件 |
-s | 对源文件建立符号连接,而非复制文件 |
-b | 覆盖已存在的文件目标前将目标文件备份 |
-v | 详细显示cp命令执行的操作过程 |
-a | 等价于"dpr"选项 |
mkdir命令
mkdir命令是"make directories"的缩写,用来创建目录。默认状态下,如果要创建的目录已经存在,则提示已存在,而不会继续创建目录。 在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。 mkdir命令还可以同时创建多个目录。语法如下:
mkdir [参数] [目录]
参数选项如下:
参数 | 描述 |
---|---|
-p | 递归创建多级目录 |
-m | 建立目录的同时设置目录的权限 |
-z | 设置安全上下文 |
-v | 显示目录的创建过程 |
mv命令
mv命令是"move"的缩写,功能是移动文件或对其改名。它与复制cp的区别:mv命令是文件移动,文件名称发生改变,但个数并未增加;cp命令是对文件进行复制操作,文件个数是有增加的。语法如下:
mv [参数]
参数选项如下:
参数 | 描述 |
---|---|
-i | 若存在同名文件,则向用户询问是否覆盖 |
-f | 覆盖已有文件时,不进行任何提示 |
-b | 当文件存在时,覆盖前为其创建一个备份 |
-u | 当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作 |
pwd命令
pwd命令是"print working directory"的缩写,用于显示用户当前所处目录的绝对路径(默认)。语法如下:
pwd [参数]
参数选项如下:
参数 | 描述 |
---|---|
-L | 显示逻辑路径 |
2、文档编辑
cat命令
cat命令主要用于在终端滚屏显示文件内容或是将多个文件合并成一个文件。对于较长文件内容可以:
- 按Ctrl+S键,停止滚屏;
- 按Ctrl+Q键可以恢复滚屏;
- 按Ctrl+C(中断)键则可以终止该命令的执行。
语法为:
cat [参数] [文件名]
参数选项如下:
参数 | 描述 |
---|---|
-n | 显示行数(空行也编号) |
-s | 显示行数(多个空行算一个编号) |
-b | 显示行数(空行不编号) |
-E | 每行结束处显示$符号 |
-T | 将TAB字符显示为 ^I符号 |
-v | 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外 |
-e | 等价于"-vE"组合 |
-t | 等价于"-vT"组合 |
-A | 等价于 -vET组合 |
--help | 显示帮助信息 |
--version | 显示版本信息 |
echo命令
echo命令用于在终端设备上输出字符串或变量提取后的值。语法为:
echo [参数] [字符串]
也可以:
python
echo "Hello Lucifer"
参数选项如下:
参数 | 描述 |
---|---|
-n | 不输出结尾的换行符 |
-e "\a" | 发出警告音 |
-e "\b" | 删除前面的一个字符 |
-e "\c" | 结尾不加换行符 |
-e "\f" | 换行,光标扔停留在原来的坐标位置 |
-e "\n" | 换行,光标移至行首 |
-e "\r" | 光标移至行首,但不换行 |
-E | 禁止反斜杠转移,与-e参数功能相反 |
--version | 查看版本信息 |
-help | 查看帮助信息 |
rm命令
rm命令的功能为删除一个目录中的一个或多个文件或目录,可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。语法为:
rm [参数] [文件]
参数选项如下:
参数 | 描述 |
---|---|
-f | 忽略不存在的文件,不会出现警告信息 |
-i | 删除前会询问用户是否操作 |
-r/R | 递归删除 |
-v | 显示指令的详细执行过程 |
tail命令
tail用于显示文件尾部的内容,默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为"-",则读取标准输入。语法为:
tail [参数]
参数选项如下:
参数 | 描述 |
---|---|
-retry | 即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项"-follow=name"连用 |
-c或-bytes= | 输出文件尾部的N(N为整数)个字节内容 |
-f<name/descriptor> | 显示文件最新追加的内容 |
-F | 与选项"-follow=name"和"-retry"连用时功能相同 |
-n或-line= | 输出文件的尾部N(N位数字)行内容 |
-pid=<进程号> | 与"-f"选项连用,当指定的进程号的进程终止后,自动退出tail命令 |
-help | 显示指令的帮助信息 |
--version | 显示指令的版本信息 |
rmdir命令
rmdir命令是"remove directory"的缩写,作用是删除空的目录。rmdir命令只能删除空目录。当要删除非空目录时,就要使用带有"-R"选项的rm命令。语法为:
rmdir [参数] [目录名称]
参数选项如下:
参数 | 描述 |
---|---|
-p | 用递归的方式删除指定的目录路径中的所有父级目录,非空则报错 |
-ignore-fail-on-non-empty | 忽略由于删除非空目录时导致命令出错而产生的错误信息 |
-v | 显示命令的详细执行过程 |
-help | 显示命令的帮助信息 |
--version | 显示命令的版本信息 |
3、系统管理
rpm命令
rpm命令是"Red-Hat Package Manager"(RPM软件包管理器)的缩写, 是用于管理Linux下软件包的软件。在Linux操作系统下,几乎所有的软件均可以通过RPM 进行安装、卸载及管理等操作。rpm命令包含了五种基本功能:安装、卸载、升级、查询和验证。语法如下:
rpm [参数] [软件包]
参数选项如下:
参数 | 描述 |
---|---|
-a | 查询所有的软件包 |
-b或-t | 设置包装套件的完成阶段,并指定套件档的文件名称 |
-c | 只列出组态配置文件,本参数需配合"-l"参数使用 |
-d | 只列出文本文件,本参数需配合"-l"参数使用 |
-e或-erase | 卸载软件包 |
-f | 查询文件或命令属于哪个软件包 |
-h或-hash | 安装软件包时列出标记 |
-i | 显示软件包的相关信息 |
-install | 安装软件包 |
-l | 显示软件包的文件列表 |
-p | 查询指定的rpm软件包 |
-q | 查询软件包 |
-R | 显示软件包的依赖关系 |
-s | 显示文件状态,本参数需配合"-l"参数使用 |
-U或-upgrade | 升级软件包 |
-v | 显示命令执行过程 |
-vv | 详细显示指令执行过程 |
find命令
find命令可以根据给定的路径和表达式查找文件或目录。find参数选项很多,并且支持正则;和管道结合使用可以实现复杂的功能,是系统管理者和普通用户必须掌握的命令。++find如不加任何参数,表示查找当前路径下的所有文件和目录++。语法为:
find [参数] [路径] [查找和搜索范围]
示例:使用-name参数查看/etc目录下面所有的.conf结尾的配置文件
python
find /etc -name "*.conf
参数选项如下:
参数 | 描述 |
---|---|
-name | 按名称查找 |
-size | 按大小查找 |
-user | 按属性查找 |
-type | 按类型查找 |
-iname | 忽略大小写 |
startx命令
startx命令用来启动X-Window,它负责调用X-Window系统的初始化程序xinit,以完成 X-Window运行所必要的初始化工作,并启动X-Window系统。语法为:
startx [参数]
参数选项如下:
参数 | 描述 |
---|---|
-d | 指定在启动过程中传递给客户机的X服务器的显示名称 |
-m | 当未找到启动脚本时,启动窗口管理器 |
-r | 当未找到启动脚本时,装入资源文件 |
-w | 强制启动 |
-x | 使用startup脚本启动X-windows会话 |
uname命令
uname命令全称即"Unix name",用于显示系统相关信息,比如主机名、内核版本号、硬件架构等。如果未指定任何选项,其效果相当于执行"uname -s"命令,即显示系统内核的名字。语法为:
uname [参数]
参数选项如下:
参数 | 描述 |
---|---|
-a | 显示系统所有相关信息 |
-m | 显示计算机硬件架构 |
-n | 显示主机名称 |
-r | 显示内核发行版本号 |
-s | 显示内核名称 |
-v | 显示内核版本 |
-p | 显示主机处理器类型 |
-o | 显示操作系统名称 |
-i | 显示硬件平台 |
vmstat命令
vmstat命令的含义为显示虚拟内存状态("Virtual Memory Statistics"),它也可以报告关于进程、内存、I/O等系统整体运行状态。语法为:
vmstat [参数]
参数选项如下:
参数 | 描述 |
---|---|
-a | 显示活动内页 |
-f | 显示启动后创建的进程总数 |
-m | 显示slab信息 |
-n | 头信息仅显示一次 |
-s | 以表格方式显示事件计数器和内存状态 |
-d | 报告磁盘状态 |
-p | 显示指定的硬盘分区状态 |
-S | 输出信息的单位 |
4、磁盘管理
df命令
df命令的全称是"Disk Free",功能是用于显示系统上可使用的磁盘空间。默认显示单位为KB,语法为:
df [参数] [指定文件]
参数选项如下:
参数 | 描述 |
---|---|
-a | 显示所有系统文件 |
-B | <块大小> 指定显示时的块大小 |
-h | 根据磁盘容量自动变换合适的单位的方式显示 |
-H | 以1000字节为换算单位来显示 |
-i | 显示索引字节信息 |
-k | 指定块大小为1KB |
-l | 只显示本地文件系统 |
-t | <文件系统类型> 只显示指定类型的文件系统 |
-T | 输出时显示文件系统类型 |
- -sync | 在取得磁盘使用信息前,先执行sync命令 |
fdisk命令
fdisk命令的全称是"Partition table manipulator for Linux",即作为磁盘的分区工具。进行硬盘分区实质上就是对硬盘的一种格式化,分区就好比在一张白纸上画一个大方框,而格式化好比在方框里打上格子。语法为:
fdisk [参数]
参数选项如下:
参数 | 描述 |
---|---|
-b | 指定每个分区的大小 |
-l | 列出指定的外围设备的分区表状况 |
-s | 将指定的分区大小输出到标准输出上,单位为区块 |
-u | 搭配"-l"参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址 |
-v | 显示版本信息 |
lsblk命令
lsblk命令的全称是"list block",即用于列出所有可用块设备的信息,还能显示他们之间的依赖关系,默认情况下将以树状列出所有块设备;但是它不会列出RAM盘的信息。lsblk命令包含在util-linux-ng包中,现在该包改名为util-linux。语法为:
lsblk [参数]
参数选项如下:
参数 | 描述 |
---|---|
-a | 显示所有设备 |
-b | 以bytes方式显示设备大小 |
-d | 不显示 slaves 或 holders |
-D | print discard capabilities |
-e | 排除设备 |
-f | 显示文件系统信息 |
-h | 显示帮助信息 |
-i | use ascii characters only |
-m | 显示权限信息 |
-l | 使用列表格式显示 |
-n | 不显示标题 |
-o | 输出列 |
-P | 使用key="value"格式显示 |
-r | 使用原始格式显示 |
-t | 显示拓扑结构信息 |
hdparm命令
hdparm命令用于检测、显示与设定IDE或SCSI硬盘的参数。语法为:
hdparm [参数]
参数选项如下:
参数 | 描述 |
---|---|
-a | 设定读取文件时,预先存入块区的分区数 |
-f | 将内存缓冲区的数据写入硬盘,并清空缓冲区 |
-g | 显示硬盘的磁轨,磁头,磁区等参数 |
-I | 直接读取硬盘所提供的硬件规格信息 |
-X | 设定硬盘的传输模式 |
-Y | 使IDE硬盘进入睡眠模式 |
vgextend命令
vgextend命令用于动态扩展LVM卷组,通过向卷组中添加物理卷来增加卷组的容量。LVM卷组中的物理卷可以在使用vgcreate命令创建卷组时添加,也可以使用vgextend命令动态的添加。语法为:
vgextend [参数]
参数选项如下:
参数 | 描述 |
---|---|
-d | 调试模式 |
-t | 仅测试 |
5、文件传输
tftp命令
tftp命令用于传输文件。ftp让用户得以下载存放于远端主机的文件,也能将文件上传到远端主机放置。tftp是简单的文字模式ftp程序,它所使用的指令和ftp类似。语法为:
tftp [参数]
参数选项如下:
参数 | 描述 |
---|---|
-connect | 连接到远程tftp服务器 |
-mode | 文件传输模式 |
-put | 上传文件 |
-get | 下载文件 |
-quit | 退出 |
-verbose | 显示详细的处理信息 |
-trace | 显示包路径 |
-status | 显示当前状态信息 |
-binary | 二进制传输模式 |
-ascii ascii | 传送模式 |
-rexmt | 设置包传输的超时时间 |
-timeout | 设置重传的超时时间 |
-help | 帮助信息 |
curl命令
curl命令是一个利用URL规则在shell终端命令行下工作的文件传输工具 ;它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征;做网页处理流程和数据检索自动化。将下载的数据写入到文件,必须使用文件的绝对地址。语法为:
curl [参数] [网址]
参数选项如下:
参数 | 描述 |
---|---|
-O | 把输出写到该文件中,保留远程文件的文件名 |
-u | 通过服务端配置的用户名和密码授权访问 |
fsck命令
fsck命令的全称是"filesystem check",用于检查并修复Linux文件系统的一些错误信息,操作文件系统需要先备份重要数据,以防丢失。语法为:
fsck [参数] [文件系统]
参数选项如下:
参数 | 描述 |
---|---|
-a | 自动修复文件系统,不询问任何问题 |
-A | 依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统 |
-N | 不执行指令,仅列出实际执行会进行的动作 |
-P | 当搭配"-A"参数使用时,则会同时检查所有的文件系统 |
-r | 采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式 |
-R | 当搭配"-A"参数使用时,则会略过/目录的文件系统不予检查 |
-t | 指定要检查的文件系统类型 |
-T | 执行fsck指令时,不显示标题信息 |
-V | 显示指令执行过程 |
ftpwho命令
ftpwho命令用于显示当前所有以FTP登入的用户会话信息。默认查询当前正在登录FTP 服务器的用户。语法为:
ftpwho [参数]
参数选项如下:
参数 | 描述 |
---|---|
-h | 显示帮助信息 |
-v | 详细模式,输出更多信息 |
lprm命令
lprm命令的全称是"Remove jobs from the print queue",用于删除打印队列中的打印任务。尚未完成的打印机工作会被放在打印机贮列之中,这个命令可用来将未送到打印机的工作取消。语法为:
lprm [参数] [任务编号]
参数选项如下:
参数 | 描述 |
---|---|
-E | 与打印服务器连接时强制使用加密 |
-P | 指定接受打印任务的目标打印机 |
-U | 指定可选的用户名 |
6、网络通讯
ssh命令
ssh命令是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器,实现对服务器的远程管理。语法为:
ssh [参数] [远程主机IP]
参数选项如下:
参数 | 描述 |
---|---|
-1 | 强制使用ssh协议版本1 |
-2 | 强制使用ssh协议版本2 |
-4 | 强制使用IPv4地址 |
-6 | 强制使用IPv6地址 |
-A | 开启认证代理连接转发功能 |
-a | 关闭认证代理连接转发功能 |
-b<IP地址> | 使用本机指定的地址作为对位连接的源IP地址 |
-C | 请求压缩所有数据 |
-F<配置文件> | 指定ssh指令的配置文件,默认的配置文件为"/etc/ssh/ssh_config" |
-f | 后台执行ssh指令 |
-g | 允许远程主机连接本机的转发端口 |
-i<身份文件> | 指定身份文件(即私钥文件) |
-l<登录名> | 指定连接远程服务器的登录用户名 |
-N | 不执行远程指令 |
-o<选项> | 指定配置选项 |
-p<端口> | 指定远程服务器上的端口 |
-q | 静默模式,所有的警告和诊断信息被禁止输出 |
-X | 开启X11转发功能 |
-x | 关闭X11转发功能 |
-y | 开启信任X11转发功能 |
netstat命令
netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态,masquerade 连接,多播成员 (Multicast Memberships) 等等。netstat的输出结果可以分为有源TCP连接、有源Unix域套接口两个部分。语法为:
netstat [参数]
参数选项如下:
参数 | 描述 |
---|---|
-a | 显示所有连线中的Socket |
-p | 显示正在使用Socket的程序识别码和程序名称 |
-u | 显示UDP传输协议的连线状况 |
-i | 显示网络界面信息表单 |
-n | 直接使用IP地址,不通过域名服务器 |
ping命令
ping命令主要用来测试主机之间网络的连通性。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。Windows下运行ping命令一般会发出4个请求就结束运行该命令;而Linux下不会自动终止,此时需要我们按CTR+C终止或者使用-c参数为ping命令指定发送的请求数目。语法为:
ping [参数] [目标主机/网址]
参数选项如下:
参数 | 描述 |
---|---|
-d | 使用Socket的SO_DEBUG功能 |
-c | 指定发送报文的次数 |
-i | 指定收发信息的间隔时间 |
-I | 使用指定的网络接口送出数据包 |
-l | 设置在送出要求信息之前,先行发出的数据包 |
-n | 只输出数值 |
-p | 设置填满数据包的范本样式 |
-q | 不显示指令执行过程 |
-R | 记录路由过程 |
-s | 设置数据包的大小 |
-t | 设置存活数值TTL的大小 |
-v | 详细显示指令的执行过程 |
dhclient命令
dhclient命令用于动态获取或释放IP地址,使用动态主机配置协议动态的配置网络接口的网络参数,也支持BOOTP协议。语法为:
dhclient [参数] [网络接口]
参数选项如下:
参数 | 描述 |
---|---|
-p | 指定dhcp客户端监听的端口号(默认端口号86) |
-d | 总是以前台方式运行程序 |
-q | 安静模式,不打印任何错误的提示信息 |
-r | 释放ip地址 |
-n | 不配置任何接口 |
-x | 停止正在运行的DHCP客户端,而不释放当前租约,杀死现有的dhclient |
-s | 在获取ip地址之前指定DHCP服务器 |
-w | 即使没有找到广播接口,也继续运行 |
ifconfig命令
ifconfig命令的全称是"network interfaces configuring",即用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。语法为:
ifconfig [参数]
参数选项如下:
参数 | 描述 |
---|---|
add<地址> | 设置网络设备IPv6的IP地址 |
del<地址> | 删除网络设备IPv6的IP地址 |
down | 关闭指定的网络设备 |
up | 启动指定的网络设备 |
IP地址 | 指定网络设备的IP地址 |
7、设备管理
mount命令
mount命令用于加载文件系统到指定的加载点。此命令的最常用于挂载cdrom,使我们可以访问cdrom中的数据,因为将光盘插入cdrom中,Linux并不会自动挂载,必须使用Linux mount命令来手动完成挂载。语法为:
mount [参数]
参数选项如下:
参数 | 描述 |
---|---|
-t | 指定挂载类型 |
-l | 显示已加载的文件系统列表 |
-h | 显示帮助信息并退出 |
-V | 显示程序版本 |
-n | 加载没有写入文件"/etc/mtab"中的文件系统 |
-r | 将文件系统加载为只读模式 |
-a | 加载文件"/etc/fstab"中描述的所有文件系统 |
MAKEDEV命令
MAKEDEV是一个脚本程序,用于在 /dev 目录下建立设备,通过这些设备文件可以访问位于内核的驱动程序。语法为:
MAKEDEV [参数]
参数选项如下:
参数 | 描述 |
---|---|
-v | 显示出执行的每一个动作 |
-n | 并不做真正的更新, 只是显示一下它的执行效果 |
-d | 删除设备文件 |
lspci命令
lspci命令用于显示当前主机的所有PCI总线信息,以及所有已连接的PCI设备信息。 现在主流设备如网卡储存等都采用PCI总线。语法为:
lspci [参数]
参数选项如下:
参数 | 描述 |
---|---|
-n | 以数字方式显示PCI厂商和设备代码 |
-t | 以树状结构显示PCI设备的层次关系 |
-b | 以总线为中心的视图 |
-s | 仅显示指定总线插槽的设备和功能块信息 |
-i | 指定PCI编号列表文件,不使用默认文件 |
-m | 以机器可读方式显示PCI设备信息 |
setleds命令
setleds是"set leds"的合并,用于设定键盘上方三个 LED 灯的状态。在 Linux 中,每一个虚拟主控台都有独立的设定。语法为:
setleds [参数]
参数选项如下:
参数 | 描述 |
---|---|
-F | 设定虚拟主控台的状态 |
-D | 改变虚拟主控台的状态和预设的状态 |
-L | 直接改变 LED 显示的状态 |
+num/-num | 将数字键打开或关闭 |
+caps/-caps | 把大小写键打开或关闭 |
+scroll /-scroll | 把选项键打开或关闭 |
sensors命令
sensors命令用于检测服务器内部降温系统和CPU的工作电压,风扇转速、温度等数据 。语法为:
sensors
8、备份压缩
zip命令
zip程序将一个或多个压缩文件与有关文件的信息(名称、路径、日期、上次修改的时间、保护和检查信息以验证文件完整性)一起放入一个压缩存档中。可以使用一个命令将整个目录结构打包到zip存档中。语法为:
zip [参数] [文件]
参数选项如下:
参数 | 描述 |
---|---|
-q | 不显示指令执行过程 |
-r | 递归处理,将指定目录下的所有文件和子目录一并处理 |
-z | 替压缩文件加上注释 |
-v | 显示指令执行过程或显示版本信息 |
-n<字尾字符串> | 不压缩具有特定字尾字符串的文件 |
zipinfo命令
zipinfo命令的全称为"zip information",该命令用于列出压缩文件信息。语法为:
zipinfo [参数]
参数选项如下:
参数 | 描述 |
---|---|
-1 | 只列出文件名称 |
-2 | 此参数的效果和指定"-1″参数类似,但可搭配"-h","-t"和"-z"参数使用 |
-h | 只列出压缩文件的文件名称 |
-l | 此参数的效果和指定"-m"参数类似,但会列出原始文件的大小而非每个文件的压缩率 |
-m | 此参数的效果和指定"-s"参数类似,但多会列出每个文件的压缩率 |
-M | 若信息内容超过一个画面,则采用类似more指令的方式列出信息 |
-s | 用类似执行"ls -l"指令的效果列出压缩文件内容 |
-t | 只列出压缩文件内所包含的文件数目,压缩前后的文件大小及压缩率 |
-T | 将压缩文件内每个文件的日期时间用年,月,日,时,分,秒的顺序列出 |
-v | 详细显示压缩文件内每一个文件的信息 |
-x<范本样式> | 不列出符合条件的文件的信息 |
-z | 如果压缩文件内含有注释,就将注释显示出来 |
unzip命令
unzip命令是用于.zip格式文件的解压缩工具 ,unzip命令将列出、测试或从zip格式存档中提取文件,这些文件通常位于MS-DOS系统上。默认行为是从指定的ZIP存档中提取所有的文件到当前目录(及其下面的子目录)。语法为:
unzip [参数] [文件]
参数选项如下:
参数 | 描述 |
---|---|
-l | 显示压缩文件内所包含的文件 |
-v | 执行时显示详细的信息 |
-c | 将解压缩的结果显示到屏幕上,并对字符做适当的转换 |
-n | 解压缩时不要覆盖原有的文件 |
-j | 不处理压缩文件中原有的目录路径 |
gzip命令
gzip命令的是"GNUzip",是常用来压缩文件的程序,文件经它压缩过后,其名称后面会多处".gz"扩展名。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令。语法为:
gzip [参数]
参数选项如下:
参数 | 描述 |
---|---|
-a | 使用ASCII文字模式 |
-d | 解开压缩文件 |
-f | 强行压缩文件 |
-l | 列出压缩文件的相关信息 |
-c | 把压缩后的文件输出到标准输出设备,不去更动原始文件 |
-r | 递归处理,将指定目录下的所有文件及子目录一并处理 |
-q | 不显示警告信息 |
unarj命令
unarj命令用于解压缩.arj文件。语法为:
unarj [参数] [.arj压缩文件]
参数选项如下:
参数 | 描述 |
---|---|
-e | 解压缩.arj文件 |
-l | 显示压缩文件内所包含的文件 |
-t | 检查压缩文件是否正确 |
-x | 解压缩时保留原有的路径 |
其他命令
hash命令
hash命令负责显示与清除命令运行时系统优先查询的哈希表。语法为:
hash [参数] [目录]
参数选项如下:
参数 | 描述 |
---|---|
-d | 在哈希表中清除记录 |
-l | 显示哈希表中的命令 |
-p<指令> | 将具有完整路径的命令加入到哈希表中 |
-r | 清除哈希表中的记录 |
-t | 显示哈希表中命令的完整路径 |
grep命令
grep命令全称是"global search regular expression and print out the line",意思是全面搜索正则表达式,并将其打印出来,是文本搜索工具。grep命令的选项用于对搜索过程的补充,而其命令的模式十分灵活,可以是变量、字符串、正则表达式。一当模式中包含了空格,务必要用双引号将其引起来。linux系统支持三种形式的grep命令,grep-标准-模仿。-egrep是扩展grep命令,和grep -E等价。-fgrep是快速grep命令,和grep -F等价,不支持正则表达式,按照字符串表面意思进行匹配。语法为:
grep [参数]
参数选项如下:
参数 | 描述 |
---|---|
-i | 搜索时,忽略大小写 |
-c | 只输出匹配行的数量 |
-l | 只列出符合匹配的文件名,不列出具体的匹配行 |
-n | 列出所有的匹配行,显示行号 |
-h | 查询多文件时不显示文件名 |
-s | 不显示不存在、没有匹配文本的错误信息 |
-v | 显示不包含匹配文本的所有行 |
-w | 匹配整词 |
-x | 匹配整行 |
-r | 递归搜索 |
-q | 禁止输出任何结果,已退出状态表示搜索是否成功 |
-b | 打印匹配行距文件头部的偏移量,以字节为单位 |
-o | 与-b结合使用,打印匹配的词据文件头部的偏移量,以字节为单位 |
wait命令
wait命令用来等待指令的指令,直到其执行完毕后返回终端。常用于shell脚本编程中,待指定的指令执行完成后,才会继续执行后面的任务。在等待作业时,作业标识号前必须添加备份号"%"。语法为:
wait [进程号/作业号]
bc命令
bc命令的全称为" Binary Calculator ",是一种支持任意精度的交互执行的计算器语言。bash内置了对整数四则运算的支持,但是并不支持浮点运算,而bc命令可以很方便的进行浮点运算。语法为:
bc [选项]
参数选项如下:
参数 | 描述 |
---|---|
-i | 强制进入交互式模式 |
-l | 定义使用的标准数学库 |
-w | 定义使用的标准数学库 |
-q | 打印正常的GNU bc环境信息 |
history命令
history命令用于显示用户以前执行过的历史命令,并且能对历史命令进行追加和删除等操作。语法为:
history [参数] [目录]
参数选项如下:
参数 | 描述 |
---|---|
-a | 将当前shell会话的历史命令追加到命令历史文件中,命令历史文件是保存历史命令的配置文件 |
-c | 清空当前历史命令列表 |
-d | 删除历史命令列表中指定序号的命令 |
-n | 从命令历史文件中读取本次Shell会话开始时没有读取的历史命令 |
-r | 读取命令历史文件到当前的Shell历史命令内存缓冲区 |
-s | 将指定的命令作为单独的条目加入命令历史内存缓冲区;在执行添加之前先删除命令历史内存缓冲区中最后一条命令 |
-w | 把当前的shell历史命令内存缓冲区的内容写入命令历史文件 |
常见指令
more命令
在使用cat命令时,如果文件太长,用户只能看到文件的最后一部分。这时可以使用more命令,一页一页地分屏显示文件的内容。more命令通常用于分屏显示文件内容。执行more命令后,进入more状态,按"Enter"键可以向下移动一行,按"Space"键可以向下移动一页;按"Q"键可以退出more命令。语法为:
more [参数] 文件名
参数选项如下:
less命令
less 命令的作用和 more 十分类似,都用来浏览文本文件中的内容,不同之处在于,使用 more 命令浏览文件内容时,只能不断向后翻看,而使用 less 命令浏览,既可以向后翻看,也可以向前翻看。语法为:
less [选项] 文件名
head命令
head命令用于显示文件的开头部分,默认情况下只显示文件的前10行内容。语法为:
head [参数] 文件名
参数选项如下:
touch命令
touch命令用于建立文件或更新文件的修改日期。语法为:
touch [参数] 文件名或目录名
参数选项如下:
shutdown命令
shutdown命令用于在指定时间关闭系统。语法为:
shutdown [参数] 时间 [警告信息]
参数选项如下:
cd命令
cd命令用于在不同的目录中进行切换。默认返回home目录。
clear命令
clear命令用于清除字符终端屏幕内容。等价于CTRL+L
man命令
man命令用于列出命令的帮助手册。
halt命令
halt命令表示立即停止系统,但该命令不自动关闭电源,需要人工关闭电源。
reboot命令
reboot命令用于重新启动系统,相当于"shutdown -r now"。
poweroff命令
poweroff命令用于立即停止系统,并关闭电源,相当于"shutdown-h now"。
用户管理
-
切换用户:su 用户名
-
创建用户:useradd 用户名
-
给用户设置或修改密码:passwd 用户名
-
查看用户的id:id 用户名
-
查看系统中有哪些用户组:cat /etc/group
-
删除用户:userdel 用户名
-
强制删除用户帐户:userdel -f 用户名
-
删除用户帐户和主目录:userdel -r 用户名
-
显示当前用户的登录用户名:logname
-
创建用户时指定用户的主组:useradd -g 组名 用户名
-
添加附属组:usermod -G 组名 用户名
-
添加多个附属组:usermod -G 组名1,组名2,组名3 用户名
-
去除附属组:usermod -G 组名1,组名3 用户名(备注:这里将去除了组名2)
-
通过查看passwd文件可以获取用户信息:cat /etc/passwd
-
创建组:groupadd 组名
-
创建组时指定组编号:groupadd -g 组编号 组名
-
修改组编号:groupmod -g 组编号 组号
-
修改用户的群组:usermod -g 组名/组编号 用户名
-
修改组名:groupmod -n 新组名 组名
-
删除组:groupdel 组名(如果要删除的组被用户设置成主组,则不能删除)