常用知识补充
路径
-
绝对路径:在 linux 下以”/”开头:代表根目录,那么以’/’ 开头的路径就是绝对路径,那么在 win 下则是以 盘符开头的路径,如:你的 程序是存放在 c:/app/vs下的,那么c:/app/vs就是vs目录的绝对路径
-
相对路径:相对于当前的工作开始的一条路径,通常以下面两种格式为开头:
-
“./”:代表目前所在的目录。
-
“…/”:代表上一层目录。
-
注意:下面所有指令中的路径一般是可以省略的,如果省略了,就表示路径为当前的工作路径
Linux 基本指令格式
指令名称(空格隔开)
指令选项(空格隔开)
操作对象
一、基础指令
man 指令
含义:manual手册(包含了Linux中全部命令手册), 查询某个指令的用法
man 指令
例:man cp ——查询 cp 指令的使用方法
ls 指令
含义:列出指定目录的文件夹及文件
用法
1. ls ——列出当点工作区的文件、文件夹
2. ls 路径 ——列出指定“路径”的文件夹及文件
3. ls 选项 路径 ——按“选项”要求列出“路径”中的文件夹及文件
选项解释:
-l ——以详细的方式列出来
-a ——显示所有(隐藏和非隐藏)文件/文件夹
-t ——以时间顺序显示文件
pwd 指令
含义:打印当前的工作路径
用法
1. pwd ——打印工作路径
cd 指令
含义:改变当前工作目录到到指定到路径
用法
1. cd 路径 ——切换到“路径”
2. cd ~ 切换到家目录下,注意‘~’表示家目录
3. cd 也表示切换到家目录下
4. cd - 切换到上一次所在的路径
mkdir指令
含义:创建文件夹
用法
1. mkdir 文件夹名 ——在当前工作目录下创建“文件夹”
2. mkdir 路径 文件夹名 ——在指定“文件”创建文件夹
3. mkdir 选项 路径 文件夹名 ——按照“选项”要求创建“文件夹”
选项解释
1. -p 一次性创建多层不存在的文件夹
mkdir -p 路径1 路径2 路径3 ...
touch 指令
含义:创建文件
用法
1. touch 文件名 ——在当前目录创建“文件”
2. tuoch 路径及文件名 ——在指定目录创建文件
touch ~/len/1.txt ——在~/len路径创建1.txt文件
cp 指令
含义:复制“源文件/文件夹”到“目标地址”
用法
1. cp 源文件 目标地址 ——此处所有的文件必须存在
2. cp 选项 源文件夹 目标地址
选项解释
-r ——当源文件夹有多层的时候,此时我们用-r递归复制到目标地址
mv 指令
含义:把源文件/文件夹复制到目标地址
用法
1. mv 源文件/文件夹 目标地址 ——注意一次可以复制多层文件夹
rm 指令(危险指令
)
含义:把指定文件/文件夹删除
用法
1. rm 选项 被移除路径、文件名
选项解释
-f 强制force删除,不用提示
-r 递归删除,当要删除的文件夹有多层时
rm -rf ./ ——递归删除当前目录下的所有文件
rm -rf / ——危险操作!!!
2. rm 选项 模糊匹配文件
例:rm -f a* ——删除所有以 a 开头的文件
> 与 >> 输出重定向
含义:把文件或程序输出的内容重定向输出到某个某个文件
1. > 覆盖输出,会覆盖到原先文件内容
例:ls > ./a.txt ——把当前目录重定向到a.txt
2. >> 追加输出,不会覆盖原始文件内容,把内容拼接到文件内容后面
例:ls >> ./a.txt ——把当前目录重定向拼接到a.txt
< 与 << 重定向输出
含义:把文件中的内容重定向输入到命令语句中
1. 指令 < 文件
例:wc -l < 1.txt ——把1.txt中内容作为输入的内容,让wc指令去统计信息
2. 指令 << 标记 内容 标记 ——把两个标记之间的“内容”输入到指令中
例:
wc -l << EOF
欢迎来到
菜鸟教程
www.runoob.com
EOF
——统计两个 EOF 之间的行数, 输出结果为 3 行
cat 指令
用法1:输出文件内容,在终端中
1. cat 文件名 输出指定路径中文件的内容
用法 2:把多个文件中的内容,合并成一个新的文件
1. cat 文件1 文件2 ... > 新文件名 ——把若干个文件中的内容,合并成中一个新的文件, 通过 '>' 输出重定向,输出到 “新文件” 中去
二、提高指令
df 指令
含义:查看磁盘空间
用法
1. df 选项
例:df -h ——以高可读性展示磁盘空间使用情况
free 指令
含义:查看内存使用情况
用法
1. free 选项
例:free -m ——以md为单位进行展示
head 指令
含义:查看一个文件的前n 行,如果不指定n的值,n 的值默认为 10
1. head 文件名
例:head a.txt 展示 a 文件的前 10 行
2. head -n 文件名
例:head -3 a.txt 展示 a 文件的前 3 行
tail 指令
作用 1:展示文件的后 n 行,如果不指定 n 的位置,n 的值为 10
1. tail 文件名
例:tail a.txt 展示 a 的后 10 行
2. tail -n 文件名
例:tail -5 a.txt 展示 a 中的后 5 行
作用 2:可以用 tail 动态监听一个文件的变化,并进行动态输出
1. tail -f 文件名 ——选项“-f”表示循环读取文件变化,并输出,注意“变化”不能是用户手动增加。
2. tail -F 文件名 ——选项“-F”表示循环读取文件变化,并输出,“变化”可以是用户手动增加。
less 指令
含义:预览查看文件的内容,每次查看部分,通过按 ↑↓←→和“空格”来翻页,通过 q 退出查看
用法
1. less 文件名 ——预览查看文件内容
wc 指令
含义:统计指定文件的内容信息(包含行数、单词数、字节数)
用法
1. wc 选项 文件名
选项解释
-l 统计行数
-w 统计单词数
-c 统计字节数
例:wc -lw a.txt ——统计a.txt中的行数和单词数
2. wc 文件名 ——统计文件中的行数、单词数、字节数
date 指令
作用1:按照格式要求输出时间和日期
用法
1. date ——输出时间,如:2021年12月28日 星期二 16时47分08秒 CST
2. date +%F ——输出年月日,如:2021-12-28
3. date "+%Y-%m-%-d" ——输出年月日以‘-’进行分割,如:2021-12-28
4. date +%T ——输出时分秒,如:16:51:14
5. date "+%H:%M:%S" ——输出时分秒,以‘:’来分隔,如:16:51:14
6. date +%F" "%T ——输出年月日时分秒。如:2021-12-28 16:57:22
7. date "+%Y-%m-%-d %H:%M%S" ——输出年月日时分秒。如:2021-12-28 16:57:22
date 后常用选项总结
%F:表示完整的年月日
%T:表示完整的时分秒
%Y:表示四位年份
%m:表示两位月份(带前导0)
%d:表示日期(带前导0)
%H:表示小时(带前导0)
%M:表示分钟(带前导0)
%S:表示秒数(带前导0)
作用 2:计算当前时间向前/后推移 x 天/月/年之后的时间是多少
作用
1. date -d "-x day" "+%Y-%m-%d %H:%M:%S" ——向前推 x 天
2. date -d "-x day" "+%Y-%m-%d %H:%M:%S" ——向后推 x 天
3. date -d "-x month" "+%Y-%m-%d %H:%M:%S" ——向前推 x 月
4. date -d "-x month" "+%Y-%m-%d %H:%M:%S" ——向后推 x 月
5. date -d "-x year" "+%Y-%m-%d %H:%M:%S" ——向前推 x 年
6. date -d "-x year" "+%Y-%m-%d %H:%M:%S" ——向后推 x 年
cal
含义:输出日历📅内容
1. cal ——输出当前月的日历
2. cal -1 ——输出当前月的日历
3. cal -3 ——输出:输出前一个月、当前月、后一个月的日历
4. cal -y ——输出当前前年的 12 个月日历
5. cal -y x 输出第 x 年的 12 个月日历
clear 或 ctrl + l
含义:清除屏幕内容,需要注意的是,该命令并不是真的清除了之前的信息,而是把之前的信息的隐藏到了最上面,通过滚动条继续查看以前的信息。
grep 这里
作用:把输入的内容,把包含要求“子串”内容,字符串输出出来
用法
1. 输入内容 grep 子串
例:cat 1.txt grep "abc" ——把 1.txt 文件中包含 "abc" 的字符串输出出来
例:cat 1.txt grep "abc" -v —— 不包含"abc"中的子串输出出来
管道 ‘|’
作用:管道“|”可将命令的结果输出给另一个命令作为输入使用
用法
应用举例
1. ls / | grep "x" ——把 ls 要输出的内容输入到grep 中,从而 grep把家目录下包含“x”子串的内容输出
2. ls / | wc -l 把 ls ——要输出的内容输入到 wc 中,从而 wc统计家目录输出的行数
三、高级指令
hostname
含义:输出主机名
用法
1. hostname ——输出完整的主机名
2. hostname -f ——表示输出当前主机名中的FQDN(全限定域名)
id
含义:输出用户的基本信息(包含:用户 id,用户组 id,附加组 id)
1. id ——默认显示当前执行该命令的用户的基本信息
2. id 用户名 ——显示指定用户的基本信息
whoami 指令
含义:显示当前登录的用户名,一般用shel 脚本获取当前操作的用户名,便于记录日志。
ps 指令
作用:用来查看服务器进程信息
1. ps ——输出基本的进程信息
2. ps 选项 ——按选项要求输出进程信息
选项解释
-e ——等价于“—A”,表示显示所有进程
-f ——显示所列信息
例:1. ps -ef ——查看服务器所有的进程,进程的所有列信息
2. ps -ef|grep "进程名称" ——查看直接进程的详细信息
列信息的含义:
UID:该进程执行的用户id;
PID:进程id;
PPID:该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程(parent process ID);
C:Cpu的占用率,其形式是百分数;
STIME:进行的启动时间;
TTY:终端设备,发起该进程的设备识别符号,如果显示“?”则表示该进程并不是由终端设备发起;
TIME:进程的执行时间;
CMD:该进程的名称或者对应的路径;
top指令
作用:查看服务器的进程占的资源(100%使用)
用法
1. 进入命令:top (动态显示)
2. 退出命令:按下q键
3. 在运行top的时候,可以按下方便的快捷键:
M:表示将结果按照内存(MEM)从高到低进行降序排列;
P:表示将结果按照CPU使用率从高到低进行降序排列;
1:当服务器拥有多个cpu的时候可以使用“1”快捷键来切换是否展示显示各个cpu的详细信息;
表头含义:
PID:进程id;
USER:该进程对应的用户;
PR:优先级;
VIRT:虚拟内存;
RES:常驻内存;
SHR:共享内存;
计算一个进程实际使用的内存 = 常驻内存(RES)- 共享内存(SHR)
S:表示进程的状态status(sleeping,其中S表示睡眠,R表示运行);
%CPU:表示CPU的占用百分比;
%MEM:表示内存的占用百分比;
TIME+:执行的时间;
COMMAND:进程的名称或者路径;
du 指令
含义:查看目录的真实大小
用法
1. du 路径 ——显示"路径"下每个文件和文件夹的大小,最后输出总文件大小
2. du 选项 路径
选项解释
—s ——summaries只显示当前路径的总文件大小
-h ——以高可读显示,以合适的单位,来显示
find 指令
作用:按照指定的路径范围和指定的选项查找文件
用法
语法:#find 路径范围 选项 选项的值
选项:
-name:按照文档名称进行搜索(支持模糊搜索)
-type:按照文档的类型进行搜索
文档类型:“-”表示文件(在使用find的时候需要用f来替换),“d”表示文件夹
案例1:使用find来搜索httpd.conf
#find / -name httpd.conf
案例2:搜索etc目录下所有的conf后缀文件
#find /etc -name *.conf
案例3:使用find来搜索/etc/sane.d/目录下所有的文件
#find /etc/sane.d/ -type f
案例4:使用find来搜索/etc/目录下所有的文件夹
#find /etc -type d
service 指令
作用:用于控制一些软件服务的启动/停止/重启
用法
1. service 服务名 start/stop/restart
例:service httpd start ——开起 httpd 服务
通过ps命令来检查httpd服务是否启动:ps -ef | grep httpd
kill 指令
作用:杀死指定的进程
用法
1. kill 进程PID ——(该语法需要配合 ps 指令来使用)
2. killall 进程名称 杀死指定进程
ifconfig 指令
含义:获取网卡信息
主要信息内容
1. Eth0表示Linux中的一个网卡,eth0是其名称。
2. Lo(loop,本地回还网卡,其ip地址一般都是127.0.0.1)也是一个网卡名称。
3. inet addr就是网卡的ip地址。
reboot 指令
作用:重启计算机
语法1:reboot 重启
语法2:reboot -w 模拟重启,但是不重启(只写关机与开机的日志信息)
shutdown 指令
作用:关机
用法
1. shutdown -h now "关机提示" ——立刻关机,并输出关机提示
2. shutdown -h 时:分 "关机提示" ——在指定 “时:分” 关机
取消定时关机
①针对于centos7.x之前的版本:ctrl+c
②针对于centos7.x(包含)之后的版本:shutdown -c
其他关机命令:
init 0
halt
poweroff
uptime
作用:输出系统从开机到现在运行了多长时间
uname 指令
作用
1. uname 显示操作系统类型
2. uname -a —— ‘-a’ 显示详细信息,表示获取全部的系统信息(类型、全部主机名、内核版本、发布时间、开源计划)
netstat
作用:显示网络状态
用法
1. netstat 选项
选项解释
-t:表示只列出tcp协议的连接;
-n:表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示;
-l:表示过滤出“state(状态)”列中其值为LISTEN(监听)的连接;
-p:表示显示发起连接的进程pid和进程名称;