公网id
120.55.180.24
查看ip地址
ifconfig
LINUX
根目录 /
/user/test.txt
第一个斜杠代表根目录后面的斜杠代表关系
命令行:即Linux终端(Terminal),是一种命令提示符页面。以纯“字符”的形式操作系统,可以使用各种字符化命
令对系统发出操作指令。
命令:即Linux程序。一个命令就是一个Linux的程序。命令没有图形化页面,可以在命令行(终端中)提供字符化的反
馈
Linux基础命令
无论是什么命令,用于什么用途,在Linux中,命令有其通用的格式:
command [-options] [parameter]
command:命令本身
-options:可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节
parametep[可选,非必填]命令的参数,多数用于命令的指向目标等
ls
ls命令的作用是列出目录下的内容,语法细节如下:
ls [-a -l -h] [Linux路径]
a-l-h 是可选的选项
Linux路径是此命令可选的参数
当不使用选项和参数,直接使用Ls命令本体,表示:以平铺形式,列出当前工作目录下的内容
ls命令选项和参数
ls /表示根目录下所有文件
-a 表示显示当前目录下的所有文件包括隐藏文件/文件夹
-l 表示以竖直显示显示详细信息
-h表示会显示文件的大小和单位必须要跟-l一起使用
文件以.开头的表示隐藏文件或者文件夹
三种写法
ls -a
ls -al
ls -la
加上参数
ls -al /
cd
cd 切换工作目录
当Linux终端(命令行)打开的时候,会默认以用户的HOME目录作为当前的工作目录我们可以通过cd命令,更改当前所在的工作目录cd命令来自英文: Change Directory
语法:
cd [Linux路径]
cd命令无需选项,只有参数,表示要切换到哪个目录下
cd命令直接执行,不写参数,表示回到用户的HOME目录
cd / 表示切换到根目录
cd 表示切换到home目录
pwd
通过ls来验证当前的工作目录,其实是不恰当的我们可以通过pwd命令,来查看当前所在的工作目录。pwd命令来自: Print Work Directory
语法:
pwd
pwd命令,无选项,无参数,直接输入pwd即可
mkdir创建文件夹
掌握通过mkdir命令创建目录 (文件夹)
通过mkdir命令可以创建新的目录 (文件夹)mkdir来自英文: Make Directory
语法:
mkdir [-p] Linux
路径参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径均可-p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录
touch创建文件
语法
touch 文件名称
cat、more查看文件内容
cat查看命令
语法:
cat 文件路径加名称
more命令查看文件内容
more命令同样可以查看文件内容,同cat不同的是
cat是直接将内容全部显示出来
more支持翻页,,如果文件内容过多,可以一页页的展示
语法:
more Linux路径
使用空格翻页
按q退出
cp 复制文件夹 mv移动文件、文件夹 rm删除文件、文件夹
cp命令可以用于复制文件\文件夹,cp命令来自英文单词:copy
语法:
cp [-r] 参数1 参数2
-r选项,可选,用于复制文件夹使用,表示递归
参数1,Linux路径,表示被复制的文件或文件夹参数2,Linux路径,表示要复制去的地方
复制文件夹则需要带上 -r
mv命令可以用于移动文件\文件夹,mv命令来自英文单词: move
语法:
mv 参数1 参数2
参数1,Linux路径,表示被移动的文件或文件夹
参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在
rm命令可用于删除文件、文件夹
rm命令来自英文单词: remove
语法:
rm [-r -f]
参数1 参数2参数
同cp命令一样,
-r选项用于删除文件夹
-f表示force,强制删除(不会弹出提示确认信息)
普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示所以一般普通用户用不到-f选项
参数1、参数2、参数N表示要删除的文件或文件夹路径,按照空格隔开.......
通配符*
test* 表示以test开头
*test 表示test结尾
*test* 表示匹配任意包含test内容
用户切换
su -root 输入密码
exit 回退到普通用户
which 命令查找命令的程序文件
我们可以通过which命令,查看所使用的一系列命令的程序文件存放在哪里
语法:
which 要查找的命令
find命 令查找指定文件
同样,在Linux系统中,我们可以通过find命令去搜索指定的文件。
语法:
find 起始路径 -name “被查找文件名
find命令- 按文件大小查找文件
语法:
find 起始路径 -size +|-n[kMG]
+、- 表示大于和小于
n表示大小数字
kMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB
示例:
查找小于10KB的文件: find / -size -10k
查找大于100MB的文件: find / -size +100M
查找大于1GB的文件:find / -size +1G
grep命令过滤文件内容
可以通过grep命令,从文件中通过关键字过滤文件行
语法:
grep [-n] 关键字 文件路径
选项-n,可选,表示在结果中显示匹配的行的行号
参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用””将关键字包围起来参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口现在,
通过touch命令在HOME目录创建itheima.txt,并通过图形化页面编辑并保存如下内容:
wc命令统计内容数量
可以通过wc命令统计文件的行数、单词数量等
语法:
wc [-c -m -1 -w] 文件路径
选项,-c,统计bytes数量
选项,-m,统计字符数量
选项,-l,统计行数
选项,-W,统计单词数量
参数,文件路径,被统计的文件,可作为内容输入端口
管道符的概念和应用
学习了grep命令后,我们在来学习一个新的特殊符号,管道符:|
管道符的含义是:将管道符左边命令的结果,作为右边命令的输入
cat test.txt | grep 123
echo命令输出内容
可以使用echo命令在命令行内输出指定内容
语法:
echo 输出的内容
反引号~的使用
echo `pwd`
会执行``中的命令
tail命令跟踪文件更改
使用tail命令,可以查看文件尾部内容,跟踪文件的最新更改,
语法如下:
tail [-f -num] Linux路径
参数,Linux路径,表示被跟踪的文件路径
选项-f,表示持续跟踪
选项,-num,表示,查看尾部多少行,不填默认10行
重定向符号的使用>覆盖 >>追加
> 表示覆盖写入文件内容
echo "hello" > text.txt
将左边的式子的结果覆盖到text.txt内容
>>表示最佳到写入文件内容
echo "hello" >>text.txt
history历史命令搜索
history
VI\VIM编辑器
vi\vim是visualinterface的简称,是Linux中最经典的文本编辑器
同图形化界面中的 文本编辑器一样,vi是命令行下对文本文件进行编辑的绝佳选择。
vim 是 的加强版本,兼容 vi 的所有指令,不仅能编辑文本,而且还具有 shell 程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性
vi\vim编辑器的三种工作模式
命金模式
命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能此模型下,不能自由进行文本编辑。
输入模式 (Insert mode)
也就是所谓的编辑模式、插入模式
此模式下,可以对文件内容进行自由编辑。
底线命令模式(Last line mode)
以:开始,通常用于文件的保存、退出。
如何使用
如果需要通过vi/vim编辑器编辑文件,请通过如下命令
vi 文件路径
vim 文件路径
vim兼容全部的vi功能,后续全部使用vim命令
如果文件路径表示的文件不存在,那么此命令会用于编辑新文件
如果文件路径表示的文件存在,那么此命令用于编辑已有文件
使用步骤
快速体验
- 使用: vim hello.txt编辑一个新文件,执行后进入的是命令模式
- 在命令模式内,按键盘i,进入输入模式
- 在输入模式内输入:itheima and itcast!
- 输入完成后,按esc回退会命令模式
- 在命令模式内,按键盘 : 进入底线命令模式
- 在底线命令内输入: wq,保存文件并退出vim编辑器
命令快捷键
模式 | 命令 | 描述 |
---|---|---|
命令模式 | i | 在当前光标进入输入模式 |
命令模式 | a | 在当前光标之后进入输入模式 |
命令模式 | I | 在当前行的开头,进入输入模式 |
命令模式 | A | 在当前行的结尾进入输入模式 |
命令模式 | o | 在当前光标下一行进入输入模式 |
命令模式 | O | 在当前光标上一行进入输入模式 |
输入模式 | esc | 回退到命令模式 |
命令模式 | 0 | 移动光标到当前行的开头 |
命令模式 | $ | 移动光标到当前行的结尾 |
命令模式 | pageup | 向上翻页 |
命令模式 | pagedown | 向下翻页 |
命令模式 | / | 进入搜索模式 |
命令模式 | n | 向下继续搜索 |
命令模式 | N | 向上继续搜索 |
命令模式 | dd | 删除光标所在行 |
命令模式 | ndd | n表示数组,表示删除当前光标向下多少行 |
命令模式 | yy | 复制当前行 |
命令模式 | nyy | n是数字,表示复制当前光标向下多少行 |
命令模式 | p | 粘贴复制的内容 |
命令模式 | u | 撤销修改 |
命令模式 | ctrl+r | 反向撤销修改 |
命令模式 | gg | 跳到首行 |
命令模式 | G | 跳到尾行 |
命令模式 | dG | 从当前行开始,向下全部删除 |
命令模式 | dgg | 从当前行开始,向上全部删除 |
命令模式 | d$ | 从当前光标开始,删除到本行的结尾 |
命令模式 | d0 | 从当前光标开始,删除到本行的开头 |
模式 | 命令 | 描述 |
---|---|---|
底线命令模式 | :wq | 保存并退出 |
底线命令模式 | :w | 保存内容 |
底线命令模式 | :q | 退出 |
底线命令模式 | :q! | 强制退出 |
底线命令模式 | :set nu | 显示行号 |
底线命令模式 | :set paste | 设置粘贴模式 |
用户组管理
以下命令需root用户执行
创建用户组
groupadd 用户组名
删除用户组
groupdel 用户组名
用户管理
创建用户
useradd[-g -d] 用户名
选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g
选项:-d指定用户HOME路径,不指定,HOME目录默认在: /home/用户名
删除用户
userdel[-r] 用户名
· 选项:-r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留
查看用户所属组
查看用户组
id [用户名]
修改用户所属组
usermod -aG 用户组 用户名
将指定用户加到用户组里面
getent
查看所有用户
getent passwd
查看用户组
getent group
权限
那么,rwx到底代表什么呢?
r表示读权限
w表示写权限
x表示执行权限
针对文件文件夹的不同,rwx的含义有细微差别
针对文件可以查看文件内容
针对文件夹,可以查看文件夹内容,如ls命令
w,针对文件表示可以修改此文件
· 针对文件夹,可以在文件夹内:创建、删除、改名等操作
x,针对文件表示可以将文件作为程序执行
· 针对文件夹,表示可以更改工作目录到此文件夹,即cd进入
chmod修改权限信息
语法:
chmod [-R] 权限 文件或文件夹
选项:-R,对文件夹内的全部内容应用同样的操作
例子
chmod -R u=rwx,g=rw,o=x test
其中:u表示user所属用户权限,g表示group组权限,o表示other其它用户权限
权限的数字序号
权限可以用3位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其它用户权限。数字的细节如下:r记为4,w记为2,x记为1,可以有:
0:无任何权限,即---
1:仅有x权限。即--X
2:仅有w权限即-W-
3:有w和x权限即-WX
4:仅有r权限即r--
5:有r和x权限即r-X
6:有r和w权限即 rw-.
7:有全部权限即rwx
所以751表示: rwx(7)rx(5)--x(1)
对于我们的权限啊
chmod -R 751 test
chown修改文件夹或者文件所属的用户或者用户组
语法:
chown[-R] [用户][:][用户组] 文件或文件夹选项
-R,同chmod,对文件夹内全部内容应用相同规则选项,
用户,修改所属用户
选项,用户组,修改所属用户组
:用于分隔用户和用户组
例子
chown root hello.txt,将hello.txt 所属用户修改为root
chown :root hellotxt将hello.txt 所属用户组修改为root
chown root:itheima hello.txt 将hello.txt所属用户修改为root,用户组修改为itheima
Yum命令
yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题
语法:
yum [-y] [install remove search] 软件名称
选项:-y,自动确认,无需手动确认安装或卸载过程
install: 安装
remove:卸载
search:搜索
yum命令需要root权限哦,可以su切换到root, 或使用sudo提权.yum命令需要联网
systemctl命令
Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动停止开机自启
能够被systemctl管理的软件,一般也称之为:服务
语法:
systemctl start | stop | status | enable | disable 服务名
start启动
stop 关闭
status 查看状态
enable开启开机自启
disable 关闭开机自启
软连接
ln命令创建软连接
在系统中创建软链接,可以将文件、文件夹链接到其它位置。类似windows系统中的《快捷方式》
语法:
In -s 参数1 参数2
-s选项,创建软连接
参数1: 被链接的文件或文件夹
参数2:要链接去的目的地
实例:
ln -s /etc/yum.conf~/yum.conf
date命令查看日期时间
通过date命令可以在命令行中查看系统的时间
语法:
date [-d] [+格式化字符串]
-d 按照给定的字符串显示日期,一般用于日期计算
格式化字符串:通过特定的字符串标记来控制显示的日期格式
%Y 年
%y 年份后两位数字(00..99)
%m 月份(01..12)
%d 日(01..31)
%H 小时(00..23)
%M 分钟(00..59)
%S 秒(00..50)
%s 自1970-01-010:00:00UTC 到现在的秒数
d选项,可以按照给定的字符串显示日期一般用于日期计算
date -d "+1 day" +%Y%m%d #显示后一天的日期
date -d "-1 day”+%Y%m%d#显示前一天的日期
date -d "1 month" +%Y%m%d# 显示上一月的日期
date -d "+1 month" +%YXm%d# 显示下一月的日期
date -d "-1 year" +%Y%m%d #显示前一年的日期
date -d "+1 year” +%Y%m%d#显示下一年的日期
其中支持的时间标记为
year年
Month月
day天
hour小时
Minute分钟
second秒
-d选项可以和格式化字符串配合一起使用哦
网络请求和下载
使用ping命令检查服务器是否可联通
可以通过ping命令,检查指定的网络服务器是否是可联通状态
语法:
ping [-c num] ip或主机名
选项:-c,检查的次数不使用-c 将无限次数持续检查
参数:ip或主机名,被检查的服务器的ip地址或主机名地址
使用wget命令下载文件
wget是非交互式的文件下载器,可以在命令行内下载网络文件
语法:
wget [-b] url
选项:-b,可选,后台下载,会将日志写入到当前工作目录的wget-log文件
参数: url,下载链接
使用curl命令发起网络请求
curl可以发送http网络请求,可用于:下载文件、获取信息等
语法
curl [-O] ,url
选项:-O,用于下载文件,当url是下载链接时,可以使用此选项保存文件
参数:url,要发起请求的网络地址
端口
Linux系统是一个超大号小区,可以支持65535个端口,这6万多个端口分为3类进行使用:
公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口HTTPS服务的443端口非特殊需要,不要占用这个范围的端口
注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序\服务
动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用
查看当前端口的占用情况
nmap
安装nmap
yum install nmap
语法:
nmap 被查看的id地址
netstat
查看指定端口的占用情况
安装netstat
yum -y install net-tools
语法:
netstat -anp|grep 端口号
进程管理
查看进程
可以通过ps命令查看Linux系统中的进程信息
语法:
ps [-e -f]
选项:-e,显示出全部的进程
选项:-f,以完全格式化的形式展示信息(展示全部信息)
一般来说固定用法就是:ps -ef 列出全部进程的全部信息
关闭进程
在Windows系统中,可以通过任务管理器选择进程后,点击结束进程从而关闭它
同样,在Linux中,可以通过kill命令关闭进程。
语法:
kill [-9] 进程ID
选项:-9,表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。
主机状态监控
查看系统资源占用情况
top
PID:进程id
USER:进程所属用户
PR:进程优先级,越小越高
NI:负值表示高优先级,正表示低优先级
VIRT:进程使用虚拟内存,单位kb
RES:进程使用物理内存,单位KB
SHR:进程使用共享内存,单位KB
S:进程状态(S休眠,R运行,僵死状态N负数优先级,空闲状态
%CPU: 进程占用CPU率
%MEM:进程占用内存率
TIME+: 进程使用CPU时间总计,单位10毫秒
COMMAND:进程的命令或会欧或程序文件路径
选项功能
-p 只显示某个进程的信息
-d 设置刷新时间,默认是5s
-c 显示产生进程的完整命令,默认是进程名
-n 指定刷新次数,比如 top -n 3,刷新输出3次后退出
-b 以非交互非全屏模式运行,以批次的方式执行top,一般配合-n指定输出几次统计信息,将输出重定向到指b定文件,比如 top -b -n 3 > /tmp/top.tmp
-i 不显示任何闲置 (idle) 或无用 (zombie) 的进程
-u 查找特定用户启动的进程
top交互式选项
当top以交互式运行(非-b选项启动)可以用以下交互式命令进行控制
按键 功能
h键 按下h键,会显示帮助画面
c建 按下c键,会显示产生进程的完整命令,等同于-C参数,再次按下c键,变为默认显示c键
f键 按下f键,可以选择需要展示的项目
M键 按下M键,根据驻留内存大小 (RES)排序
P键 按下P键,根据CPU使用百分比大小进行排序
T键 按下T键,根据时间/累计时间进行排序
E键 按下E键,切换顶部内存显示单位
e键 按下e键,切换进程内存显示单位
L键 按下L键,切换显示平均负载和启动时间信息。
i键 按下i键,不显示闲置或无用的进程,等同于-i参数,再次按下,变为默认显示
t键 按下t键,切换显示CPU状态信息
m键 按下m键,切换显示内存信息
磁盘信息监控
使用df命令查看硬盘的使用情况
语法:
df [-h]
选项 -h以更加人性化的单位显示
使用iostat查看cpu、磁盘的相关情况
语法:
iostat [-x] [num1] [num2]
选项 -x 显示更多信息
num1 数字 刷新时间间隔
num2 数字 刷新次数
网络状态监控
可以使用sar命令查看网络的相关统计(sar命令非常复杂,这里仅简单用于统计网络)
语法:
sar -n DEV num1 num2
选项:-n 查看网络 DEV表示查看网络接口
信息解读:
IFACE本地网卡接口的名称
rxpck/s每秒钟接受的数据包
txpck/s 每秒钟发送的数据包
rxKB/S每秒钟接受的数据包大小,单位为KB
txKB/S 每秒钟发送的数据包大小,单位为KB
rxcmp/s 每秒钟接受的压缩数据包
txcmp/s每秒钟发送的压缩包
rxmcst/s 每秒钟接收的多播数据包
环境变量
理解环境变量的作用
在讲解which命令的时候,我们知道使用的一系列命令其实本质上就是一个个的可执行程序。
比如,cd命令的本体就是: /usr/bin/cd 这个程序文件。
环境变量是操作系统(Windows、Linux、Mac)在运行的时候,记录的一些关键性信息,用以辅助系统运行在Linux系统中执行:
env命令即可查看当前系统中记录的环境变量
掌握符号$的作用
$可以取环境变量中的值
语法
echo $PATH
掌握在Linux中配置环境变量
Linux环境变量可以用户自行设置,其中分为
临时设置
语法:
export 变量名=变量值
永久生效
针对当前用户生效,配置在当前用户的~/.bashrc文件中
针对所有用户生效配置在系统的
/etc/profile文件中
并通过语法 :
source 配置文件,进行立刻生效,或重新登录FinalShell生效
上传和下载
rz、sz命令
安装
yum -y insstall lrzsz
rz上传
语法:
rz
sz下载
语法:
sz 要下载的文件
压缩跟解压
Linux和Mac系统常用有2种压缩格式,后缀名分别是:
.tar,称之为tarball,归档文件,即简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单的封装
gz,也常见为.tar.gz,gzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积
针对这两种格式,使用tar命令均可以进行压缩和解压缩的操作
tar
语法:
tar [-c -v -x -f -z -C] 参数1 参数2 参数N
-c,创建压缩文件,用于压缩模式
-v,显示压缩、解压过程,用于查看进度
-x 解压模式
-f,要创建的文件,或要解压的文件,-f选项必须在所有选项中位置处于最后一个
-z gzip模式,不使用-z就是普通的tarball格式
-C 选择解压的目的地,用于解压模式
tar的常用压缩组合为:
tar -cvf testtar 1.txt 2.txt 3.txt
将1.txt 2.txt 3.txt 压缩到testtar文件内
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt
将1.txt 2.txt 3.txt 压缩到test.tar.gz文件内,使用gzip模式
注意:
-z选项如果使用的话一般处于选项位第一个
-f选项,必须在选项位最后一个
tar的常用解压组合为:
tar -xvf test.tar
解压test.tar,将文件解压至当前目录
tar -xvf test.tar -C /home/itheima
解压test.tar,将文件解压至指定目录(/home/itheima
tar -zxvf test.tar.gz -C /home/itheima
以Gzip模式解压test.tar.gz,将文件解压至指定目录(/home/itheima)
zip
zip压缩文件
可以使用zip命令,压缩文件为zip压缩包
语法:
zip [-r]参数1 参数2...参数N
-r,被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致
示例:
zip test.zip a.txt b.txt c.txt
将a.txt b.txt c.txt 压缩到test.zip文件内
zip -r test.zip test itheima a.txt
将test、itheima两个文件夹和a.txt文件,压缩到test.zip文件内
zip解压文件
语法:
unzip [-d] 参数
-d,指定要解压去的位置,同tar的-C选项
参数,被解压的zip压缩包文件
示例:
unzip test.zip -d /home/mwm