Linux教程
Linux教程

Linux教程

公网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命令
如果文件路径表示的文件不存在,那么此命令会用于编辑新文件
如果文件路径表示的文件存在,那么此命令用于编辑已有文件

使用步骤

快速体验

  1. 使用: vim hello.txt编辑一个新文件,执行后进入的是命令模式
  2. 在命令模式内,按键盘i,进入输入模式
  3. 在输入模式内输入:itheima and itcast!
  4. 输入完成后,按esc回退会命令模式
  5. 在命令模式内,按键盘 : 进入底线命令模式
  6. 在底线命令内输入: 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,要发起请求的网络地址

1701761560386

端口

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

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注