基本指令
指在Linux终端(命令行)中输入的内容就称之为指令。
一个完整的指令的标准格式:Linux通用的格式
#指令主体(空格) [选项](空格) [操作对象]
文件目录类指令
ls指令(list)
- #ls
含义:列出当前工作目录下的所有文件/文件夹的名称 - #ls 路径
含义:列出指定路径下的所有文件/文件夹的名称 - #ls 选项 路径
含义:在列出指定路径下的文件/文件夹的名称,并以指定的格式进行显示。-
常见的语法:
#ls -l 路径
#ls -la 路径-l:表示list,表示以详细列表的形式进行展示 -a:表示显示所有的文件/文件夹(包含了隐藏文件/文件夹)
-
- #ls -lh 路径
含义:列出指定路径下的所有文件/文件夹的名称,以列表的形式并且在显示文档大小的时候以可读性较高的形式显示
pwd指令
- #pwd (print working directory,打印当前工作目录)
cd指令
- #cd (change directory,改变目录)
- 作用:用于切换当前的工作目录的
语法:#cd 路径
- 作用:用于切换当前的工作目录的
mkdir指令
- mkdir (make directory,创建目录)
- 语法1:#mkdir 路径 【路径,可以是文件夹名称也可以是包含名称的一个完整路径】
- 语法2:#mkdir -p 路径
含义:当一次性创建多层不存在的目录的时候,添加-p参数,否则会报错 - 语法3:#mkdir 路径1 路径2 路径3 …. 【表示一次性创建多个目录】
touch指令
- 作用:创建文件
语法:#touch 文件路径 【路径可以是直接的文件名也可以是路径】
cp指令
- cp (copy,复制)
- 作用:复制文件/文件夹到指定的位置
语法:#cp 被复制的文档路径 文档被复制到的路径
- 作用:复制文件/文件夹到指定的位置
注意:当使用cp命令进行文件夹复制操作的时候需要添加选项“-r”【-r表示递归复制】,否则目录将被忽略
mv指令
- mv (move,移动,剪切)
- 作用:移动文档到新的位置
语法:#mv 需要移动的文档路径 需要保存的位置路径
- 作用:移动文档到新的位置
rm指令
- rm (remove,移除、删除)
-
作用:移除/删除文档
语法:#rm 选项 需要移除的文档路径-f:force,强制删除,不提示是否删除 -r:表示递归
-
vim指令
-
vim (vim是一款文本编辑器)
- 作用:打开一个文件(可以不存在,也可以存在)
语法:#vim 文件的路径
- 作用:打开一个文件(可以不存在,也可以存在)
-
输出重定向
一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候需要使用到的输出重定向技术。
>:覆盖输出,会覆盖掉原先的文件内容
>>:追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加
- 语法:#正常执行的指令 > / >> 文件的路径
- 注意:文件可以不存在,不存在则新建
cat指令
- 作用1:cat有直接打开一个文件的功能。
语法1:#cat 文件的路径 - 作用2:cat还可以对文件进行合并
语法2:#cat 待合并的文件路径1 待合并的文件路径2 …. 文件路径n > 合并之后的文件路径
df指令
- 作用:查看磁盘的空间
语法:#df -h -h表示以可读性较高的形式展示大小
free指令
- 作用:查看内存使用情况
语法:#free -m -m表示以mb为单位查看
head指令
- 作用:查看一个文件的前n行,如果不指定n,则默认显示前10行。
语法:#head -n 文件路径 【n表示数字】
tail指令
- 作用1:查看一个文件的未n行,如果n不指定默认显示后10行
语法:#tail -n 文件的路径 n同样表示数字 - 作用2:可以通过tail指令来查看一个文件的动态变化内容【变化的内容不能是用户手动增加的】
语法:#tail -f 文件路径
该命令一般用于查看系统的日志比较多。
less指令
- 作用:查看文件,以较少的内容进行输出,按下辅助功能键(数字+回车、空格键+上下方向键)查看更多
语法:#less 需要查看的文件路径
wc指令
-
作用:统计文件内容信息(包含行数、单词数、字节数)
语法:#wc -lwc 需要统计的文件路径-l:表示lines,行数 -w:表示words,单词数 依照空格来判断单词数量 -c:表示bytes,字节数
date指令(重点)
- 作用:表示操作时间日期(读取、设置)
- 语法1:#date 输出的形式:2018年 3月 24日 星期六 15:54:28
- 语法2:#date +%F (等价于#date “+%Y-%m-%d” ) 输出形式:2018-03-24
- 语法3:#date “+%F %T” 引号表示让“年月日与时分秒”成为一个不可分割的整体
clear/ctrl + L指令
- 作用:清除终端中已经存在的命令和结果(信息)。
语法:clear 或者快捷键:ctrl + L
需要注意的是,该命令并不是真的清除了之前的信息,而是把之前的信息的隐藏到了最上面,通过滚动条继续查看以前的信息。
hostname指令
- 作用:操作服务器的主机名(读取、设置)
- 语法1:#hostname 含义:表示输出完整的主机名
- 语法2:#hostname -f 含义:表示输出当前主机名中的FQDN(全限定域名)
id指令
- 作用:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id…),该指令如果不指定用户则默认当前用户。
- 语法1:#id 默认显示当前执行该命令的用户的基本信息
- 语法2:#id 用户名 显示指定用户的基本信息
whoami指令
- 作用:显示当前登录的用户名,一般用于shell脚本,用于获取当前操作的用户名方便记录日志。
语法:#whoami
ps -ef指令(重点)
-
作用:主要是查看服务器的进程信息
-e:等价于“-A”,表示列出全部的进程 -f:显示全部的列(显示全字段)
UID:该进程执行的用户id;
PID:进程id;
PPID:该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程
(parent process ID);
C:Cpu的占用率,其形式是百分数;
STIME:进行的启动时间;
TTY:终端设备,发起该进程的设备识别符号,如果显示“?”则表示该进程并不是由终端设备发起;
TIME:进程的执行时间;
CMD:该进程的名称或者对应的路径;
top指令(重点)
- 作用:查看服务器的进程占的资源(100%使用)
语法:- 进入命令:#top (动态显示)
- 退出命令:按下q键
表头 | 含义 |
---|---|
PID: | 进程id; |
USER: | 该进程对应的用户; |
PR: | 优先级; |
VIRT: | 虚拟内存; |
RES: | 常驻内存; |
SHR: | 共享内存; |
S: | 表示进程的状态status(sleeping,其中S表示睡眠,R表示运行); |
%CPU: | 表示CPU的占用百分比; |
%MEM: | 表示内存的占用百分比; |
TIME+: | 执行的时间; |
COMMAND: | 进程的名称或者路径; |
计算一个进程实际使用的内存 = 常驻内存(RES)- 共享内存(SHR)
在运行top的时候,可以按下方便的快捷键:
- M:表示将结果按照内存(MEM)从高到低进行降序排列;
- P:表示将结果按照CPU使用率从高到低进行降序排列;
- 1:当服务器拥有多个cpu的时候可以使用“1”快捷键来切换是否展示显示各个cpu的详细信息;
du -sh指令
-
作用:查看目录的真实大小
语法:#du -sh 目录路径-s:summaries,只显示汇总的大小 -h:表示以高可读性的形式进行显示
service指令(重点)
- 作用:用于控制一些软件的服务启动/停止/重启
语法:#service 服务名 start/stop/restart
kill指令(重点)
- 作用:表示杀死进程 (当遇到僵尸进程或者出于某些原因需要关闭进程的时候)
语法:#kill 进程PID (语法需要配合ps一起使用)
fconfig指令(重点)
- 作用:用于操作网卡相关的指令。
简单语法:#ifconfig (获取网卡信息)
uptime指令
- 作用:输出计算机的持续在线时间(计算机从开机到现在运行的时间)
语法:#uptime
uname指令
- 作用:获取计算机操作系统相关信息
- 语法1:#uname 获取操作系统的类型
- 语法2:#uname -a all,表示获取全部的系统信息(类型、全部主机名、内核版本、发布时间、开源计划)
netstat -tnlp指令
- 作用:查看网络连接状态
语法:#netstat -tnlp - 选项说明:
- -t:表示只列出tcp协议的连接;
- -n:表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示;
- -l:表示过滤出“state(状态)”列中其值为LISTEN(监听)的连接;
- -p:表示显示发起连接的进程pid和进程名称;
man指令
- 作用:manual,手册(包含了Linux中全部命令手册,英文)
语法:#man 命令 (退出按下q键)
时间类指令
date 指令-获取之前或者之后的某个时间
- 作用:获取当前时间
- 语法:#date “+%Y-%m-%d %H:%M:%S”
输出的形式:2018-03-24 16:01:00
- 语法:#date “+%Y-%m-%d %H:%M:%S”
- 作用:获取之前或者之后的某个时间
- 语法:#date -d “-1 day” “+%Y-%m-%d %H:%M:%S”==
- 符号的可选值:+(之后) 或者 - (之前)
- 单位的可选值:day(天)、month(月份)、year(年)
- 语法:#date -d “-1 day” “+%Y-%m-%d %H:%M:%S”==
- 作用:设置日期
- 语法:date -s 字符串时间
cal指令
- 作用:用来操作日历的
- 语法1:#cal 等价于 #cal -1 直接输出当前月份的日历
- 语法2:#cal -3 表示输出上一个月+本月+下个月的日历
- 语法3:#cal -y 年份 表示输出某一个年份的日历
找查类
find指令
- 作用:用于查找文件(其参数有55个之多)
语法:#find 路径范围 选项 选项的值- -name:按照文档名称进行搜索(支持模糊搜索)
- -type:按照文档的类型进行搜索
- 文档类型:“-”表示文件(在使用find的时候需要用f来替换),“d”表示文件夹
管道(重要)
- 管道符:|
- 作用:管道一般可以用于“过滤”,“特殊”,“扩展处理”。
语法:管道不能单独使用,必须需要配合前面所讲的一些指令来一起使用,其作用主要是辅助作用。
- 作用:管道一般可以用于“过滤”,“特殊”,“扩展处理”。
-
过滤案例(100%使用):需要通过管道查询出根目录下包含“y”字母的文档名称。
#ls / | grep y 针对上面这个命令说明: 1. 以管道作为分界线,前面的命令有个输出,后面需要先输入,然后再过滤, 最后再输出,通俗的讲就是管道前面的输出就是后面指令的输入; 2. grep指令:主要用于过滤
-
特殊用法案例:通过管道的操作方法来实现less的等价效果(了解)
之前通过less查看一个文件,可以#less 路径
现在通过管道还可以这么:#cat 路径|less -
扩展处理:请使用学过的命令,来统计某个目录下的文档的总个数?
答:#ls / | wc -l
压缩和解压类指令
gzip/gunzip 指令
- 作用:gzip 用于压缩文件, gunzip 用于解压的
- 基本语法
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz 文件)
gunzip 文 件.gz (功能描述:解压缩文件命令)
- 基本语法
细节说明:当我们使用 gzip 对文件进行压缩后,不会保留原来的文件。
zip/unzip 指令
- 作用:zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的
-
基本语法
zip [选项] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压缩文件) -
zip 常用选项
-r:递归压缩,即压缩目录 -
unzip 的常用选项
-d<目录> :指定解压后文件的存放目录
-
tar 指令
- 作用:tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件。
- 基本语法
tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
• 选项说明
- 基本语法
选项 | 功能 |
---|---|
-c | 产生.tar打包文件 |
-v | x显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包同时压缩 |
-x | 解压.tar文件 |
开关机/重启类指令
reboot指令
- 作用:重新启动计算机
- 语法1:#reboot 重启
- 语法2:#reboot -w 模拟重启,但是不重启(只写关机与开机的日志信息)
shutdown指令
- 作用:关机 (慎用)
语法1:#shutdown -h now “关机提示” 或者 #shutdown -h 15:25 “关机提示”