一、帮助命令
help
man
type区分内建、外建命令
【扩展】关于内建命令与外建命令。
内建命令属于shell程序的一部分,包含一些比较简单的Linux命令。这些命令被写在/bin/bash 文件的 builtins 里面,由shell程序识别并在shell程序内部完成运行。通常在Linux系统加载运行时,shell就被加载并驻留在系统内存中。解析内建命令不shell不需要创建子进程,因此其执行速度比外建命令快,如:history、cd 、exit 等。
外建命令是Linux系统中的实用程序部分。因为实用程序的功能大都比较强大,所以包含的程序量也会很大,在系统加载时并不会随系统一同被加载到内存,而是在需要时才将其调入内存。虽然外建命令并不包含在shell中,但是命令执行过程都是由shell程序控制的。外建命令是在bash之外额外安装的,通常放在/bin、/usr/bin、/sbin、/usr/sbin 等文件中,如:ls 、vi 等。
二、文件目录类命令
pwd
含义:显示当前工作目录的绝对路径。
ls
含义:列出当前工作目录下的所有文件和目录。
常用参数:-a 显示隐藏文件。-l 以完整信息显示。
cd
含义:切换当前工作目录
常用参数:相对路径。 ~ 回到当前用户主目录。
mkdir
含义:创建目录。
基本语法:mkdir 目录名称
常用参数: -p 创建多级目录。
rmdir
含义:删除目录。
基本语法:rmdir [选项] 要删除的空目录
注意:rmdir 删除的必须是空目录,如果目录下有内容,则无法删除,需要另外使用 “rm -rf 目录” 来删除,它代表的意思是递归删除目录,及其子目录,并且不提醒消息。
rm
含义:删除文件或目录。
基本语法:rm [选项] 要删除的资源
常用参数:-r 递归执行 。 -f 强制不提示。
touch
含义:创建文件。
基本语法:touch 文件1 文件2 ....
cp
含义:拷贝
基本语法:cp [选项] 拷贝资源 目的地
常用参数: -r 递归拷贝整个目录。
注意:若目标地址下已经有同名文件或目录,则会提示是否覆盖,并且每一级都会提示,如果不希望提示,强制覆盖,可以使用:\cp 命令
mv
含义:移动目录、或重命名文件。
基本语法:
1)mv oldFileName newFileName : 重命名
2)mv 源文件/目录 目标地址 : 移动
cat
含义:查看文件内容。
基本语法: cat [选项] 文件名 。
常用参数:-n 显示行号。
注意:cat命令只能浏览文件,不能修改文件。为了使用方便,一般和管道符 | 一起连用,如 | more ,其中more 代表分页显示,空格可切换内容页。
more
含义:全屏方式按页显示文本文件内容。more命令是一个基于vi编辑器的文本过滤器。
基本语法:more 文件名
快捷键:
1)空格:下翻一页
2)enter :下翻一行
3)q :立即离开more
4)Ctrl + F :向下滚动一屏
5)Ctrl + B :返回上一屏
6)= : 输出当前行号
7):f :输出文件名以及当前行号
less
参考《Linux————less指令常用操作》
> 输出重定向
含义:将输出内容重新覆盖到某个文件中(重定向)。
基本语法: 指定输出语句 > 文件名
注意,重定向之后的文件,如果不存在,系统会自动创建。
另外,有时候需要清空某个文件,如日志文件 nohup.out 文件中的内容,也可以使用该重定向语句:
# >nohup.out
>> 追加
含义:将输出内容追加到指定文件中。
基本语法:指定输出语句 >> 文件名
echo
含义:输出内容到控制台。
基本语法:echo [选项] 内容
示例:输出环境变量路径
head
含义:显示文件的开头部分。默认显示文件的前10行。
基本语法 : head 文件名
常用参数:-n 显示行数
tail
含义:输出文件尾部,默认显示10行。用法与head类似。
常用命令:
tail -f nohup.out ## 实时输出日志内容到命令行,Ctrl+c可以停止输出
案例:删除大文件末尾指定行数(可以使用 wc 命令查看文件总行数)之前的无用数据(一般是日志数据):分成三步,先备份后1000万行,然后删除旧文件,最后再重命名
# 备份app.log后1000万行数据到新文件app.log.bak中
>tail -n 10000000 app.log > app.log.bak
# 删除旧文件
>rm app.log
# 重命名
>mv app.log.bak app.log
ln
含义:软链接,类似于快捷方式。主要存放了链接其他文件的路径。
基本语法:ln -s [源文件/目录] [软链接名]
注意:当使用pwd查看软链接的路径时,看到的仍然是软链接所在的目录。
删除软链接:rm -rf 软链接名 。注意后面不要加 / ,否则会提示“资源忙”。
history
含义:查看已经执行过的历史命令,也可以重新执行历史命令。
基本语法:
1)history [数字] :显示(最近执行的)历史命令。
2)!数字 :执行对应编号的历史命令,注意感叹号与数字之间不能有空格。
示例:显示最近执行的10条指令,并选中一条重新执行:
awk
awk 是一种文本分析工具,不论是文件还是Linux的标准输出流,都可以进行处理。AWK 三个字母是其三位创始人的首字母拼接。详细指令介绍:菜鸟教程—awk
基本语法:awk [选项] 'script' var=value file(s)
或:awk [选项] -f scriptfile var=value file(s)
常见用法:awk '{[pattern] action}' {filename} # 行匹配语句 awk '' 只能用单引号
案例一:log.txt 文件内容如下,每行按空格或TAB分割,输出文本中的1、4项。
案例二:通过进程查看工具 ps,找到指定进程的 PID 号(jar 包的 shutdown 脚本中经常会用到):
案例三:通过awk统计文件行数:
>awk 'END {print NR}' 文件名
wc
word count 字数统计工具,可以快速统计文件中的字节数、字数、行数等:
常见用法:wc -l 文件名
-l :统计行数
三、时间日期类命令
date
含义:显示当前日期。
基本语法:
1)date :显示当前全格式日期
2)date +%Y :显示当前年份
3)date +%m :显示月份
4)date +%d :显示日期
5)date -s 字符串时间 :设置时间
cal
含义:日历方式显示日期
基本语法: cal [年份] :年份支持 1 ~ 9999
四、搜索查询类命令
find
含义:搜索整个目录,查找指定文件/目录,并输出。
基本语法:find [搜索范围] [选项]
常用参数:-name 按文件名查找。 -user 按照指定用户查找。-size 按照指定文件大小查找。
示例:查找 .txt文件。
locate
含义:定位文件/目录路径。locate无需遍历整个系统,它利用事先建立好的系统中所有文件及路径的locate 数据库实现快速定位文件。查询速度较快,但是需要定期更新数据库表。
基本语法:locate 文件名
特别说明:由于locate 基于数据库进行查询,所以第一次运行之前,必须用 updatedb 命令创建locate数据库。
grep
含义:过滤查找(区分大小写)
基本语法:grep [选项] 查找内容 源文件
常用参数:-n 显示匹配行及行号。-i 忽略字母大小写。
案例一:查找匹配项,并连同匹配项前面的n行(-B),或后面的n行(-A),或前后各n行(-C)一起输出:
案例二:找到文件中最后n个(tail -n),或最前面n 个(head -n)匹配项:
案例三:找到 China 关键字匹配的行,并将重复的行去重(uniq)。
| 管道符
含义:将前一个命令的处理结果传递给后面的命令进一步处理。
示例:进程查找。
lsof
lsof -i 用于显示符合条件的进程情况,lsof(list open file)是一个列出当前系统打开文件的工具。也可以用于查看指定端口号的进程。
netstat
网络状态命令。可以用于查看指定端口号的进程,常用参数:t(tcp)u(udp)n(显示数字地址)l(显示LISTEN监听中的服务)p(显示建立相关连接的程序名)
五、压缩与解压缩类命令
gzip gunzip
含义:gzip 用于压缩问价。gunzip用于解压。
基本语法:gzip 文件名1 文件名2 ...... :压缩文件,只能将文件压缩为 *.gz 文件。另外,虽然可以后面跟多个文件作为参数,但是gzip只会将他们一个一个打包压缩,并不代表压缩为一个包。
gunzip 文件1.gz 文件2.gz ..... :解压多个压缩包。
注意:当使用gzip压缩文件时不会保留原来的文件。
可以看到,虽然gzip表面上看起来只是在文件后面加了个 ".gz"但是绝对不仅仅是改了个后缀名而已。而且gzip压缩文件后,不会保留原始文件。
zip unzip
含义:zip用于压缩,unzip用于解压缩。在项目打包发布中很有用。
基本语法:
1)zip [选项] xxx.zip 文件名1 文件名2 ......
2)unzip [选项] xxx.zip
常用参数:zip -r :递归压缩。unzip -d :指定解压缩后放入哪个目录。
tar
含义:将文件打包。
基本语法:tar [选项] xxx.tar.gz 打包的内容 :打包目录,打包后的文件格式是 .tar.gz
常用参数:
1)-c :产生 .tar 打包文件
2)-v :显示详细信息
3)-f :指定压缩后的文件名
4)-z :打包同时压缩
5)-x :解包 .tar 文件
示例1:压缩多个文件,将/home/a1.txt 和 /home/a2.txt 压缩成 a.tar.gz
示例2:将/home文件夹压缩成myhome.tar.gz
示例3:将a.tar.gz解压到当前目录
示例4:将myhome.tar.gz 解压到 /opt目录下(指定解压的目录事先要存在才能成功,否则会报错)
六、网络相关
telnet
连接指定远程端口。用法:
telnet 主机ip 端口
断开方法:
Ctrl+] 然后键入quit回车。