Linux
计算机=硬件+软件操作系统是软件的一类,协助用户调度硬件工作,充当用户和计算机硬件之间的桥梁常见的操作系统有:PC端:Windows、Linux、MacOS;移动端:Android、IOS、鸿蒙。
一.认识Linux
1.操作系统
计算机=硬件+软件
操作系统是软件的一类,协助用户调度硬件工作,充当用户和计算机硬件之间的桥梁
常见的操作系统有:PC端:Windows、Linux、MacOS;移动端:Android、IOS、鸿蒙
2.Linux系统
系统组成:Linux系统内核(开源)、系统级应用程序
内核提供系统最核心的功能(调度):调度CPU、调度内存、调度文件系统等
系统级应用程序(出场自带程序):文件管理器、图片查看、音乐播放等
Linux系统发行版:封装内核和系统级软件组合起来所形成的产品(如:centos、ubuntu)
3.虚拟机
如果虚拟机无法与Fina lShell连接上,可能是虚拟机IP地址发生改变,右键点终端搜IP
4.虚拟机快照
在学习阶段可能会损坏Linux操作系统,通过虚拟机快照将当前虚拟机的状态保存下来,在以后可通过快照回复虚拟机到保存的状态
二.学习Linux
1.Linux的目录结构
Windows系统可以拥有多个盘符,如C盘、D盘等(路径层级关系用:\);
Linux的目录结构是一个树形结构,没有盘符这个概念,只有一个根目录,所有文件都像树枝一样在他的下方(路径层级关系用:/)
例题:写出对应Linux路径,在根目录下有一个文件夹test,文件夹内有一个文件hello.txt,请描述文件的路径:/test/hello.txt
2.Linux命令
命令行:即Linux终端(Terminal),是一种命令提示符页面。以纯字符的形式操作系统,可以使用各种字符化命令对系统发出操作指令
命令:即Linux程序,一个命令就是一个Linux的程序。命令没有图形化页面,可以在命令行(终端中)提供字符化的反馈
无论是什么命令,用于什么地方,在Linux中,命令有其通用的格式:
command[-options][parameter]
command:命令本身
-options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节
parameter:[可选,非必填]命令的参数,多数用于命令的指向参数等
例:ls-l/home/itheima,ls是命令本身,-l是选项,/home/itheima是参数
意思是以列表的形式,显示/home/itheima是参数
cp-r test1 test2,cp是命令本身,-r是选项,test1和test2是参数
意思是复制文件夹 test1 成为 test2
3.ls命令
ls命令的作用是列出目录下的内容,语法细节如下:
ls [-a -l -h] [Linux 路径]
·-a -l -h 是可选的选项
-a:表示all的意思,即列出全部文件(包含隐藏的文件或文件夹(以.开头))
-l:表示以列表(竖向排列)的形式展示内容,并展示更多信息
-h:表示以易于阅读的形式,列出文件大小,如K、M、G,和-l选项搭配使用,更人性化的方式显示文件的大小单位
·Linux路径是此命令可选的参数
当不使用选项和参数,直接使用ls命令本体,表示:以平铺形式,列出当前工作目录下的目录
注:直接输入ls命令,不使用参数,表示列出当前工作目录下的内容(默认会是HOME目录的内容)
4.cd切换工作目录
当Linux终端(命令行)打开的时候,会默认以用户的HOME目录作为当前的工作目录
可以通过cd命令,更改当前所在的工作目录
语法:cd[Linux路径]
·cd命令无需选项,只有参数,表示要切换到那个目录下
·cd命令直接执行,不写参数,表示回到用户的HOME目录
5.pwd查看当前工作目录
用ls来验证当前的工作目录,并不恰当,可以通过pwd命令,来查看当前所在的工作目录
语法:pwd
pwd命令,无选项,无参数,直接输入pwd即可
6.相对路径与绝对路径
绝对路径:以根目录为起点,描述路径的一种写法,路径描述以/开头
cd / home / itheima / Desktop
相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以/开头
cd Desktop
特殊路径符:
. 表示当前目录,比如cd ./Desktop表示切换到当前目录下的Desktop目录内,和cd Desktop效果一致
.. 表示上一级目录,比如cd .. 即切换到上一级目录,cd ../..切换到上二级的目录
~ 表示HOME目录,比如cd ~ 即可切换到HOME目录或cd/Desktop,切换到HOME内的Desktop
例:1.当前工作目录内有一个test文件夹,文件夹内有一个文件hello.txt,请描述文件的相对路径
cd test/hello.txt
2.如果是上级目录 cd ../test/hello.txt
3.在HOME目录内 cd ~/test/hello.txt
7.通过mkdir命令创建目录(文件夹)
mkdir即 Make Directory
语法:mkdir [-p] [Linux路径]
参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径均可
-p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录

如果想要一次性创建多个层级的目录,要用-p将一整个链条都创建完成,否则会报错

例:在HOME目录内,创建如下路径(需用~):itcast/iop/lkj/777
mkdir -p~/itcast/iop/lkj/777
8.文件操作命令(touch、cat、more)
1.touch:可以通过touch命令创建文件
语法:touch Linux路径
touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可以使用

(蓝色是文件夹,白色是文件)
2.cat:可以查看文件内容
语法:cat Linux路径
cat没有选项,只有参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用

3.more命令
more命令同样可以查看文件内容,同cat不同的是:
(1)cat是直接将内容全部显示出来
(2)more支持翻页,如果文件内容过多,可以一页页的展示
语法:more Linux路径
more没有选项,只有参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用
例:可以用more命令查看Linux系统的一个内置文件,路径为:/etc/services
more /etc/services
在查看的过程中,通过空格翻页,通过q退出查看

9.文件操作命令(cp、mv、rm)
1.cp:用于复制文件\文件夹 ,即cope
语法:cp [-r] 参数1 参数2
(1)-r选项,可选,用于复制文件夹使用,表示递归
(2)参数1,Linux路径,表示被复制的文件或文件夹
(3)参数2,Linux路径,表示要复制去的地方

2.mv:移动文件或文件夹,即move
语法:mv 参数1 参数2
(1)参数1,Linux路径,表示被移动的文件或文件夹
(2)参数2,Linux路径,表示要移动去的地方,如果目标不存在,则对参数1改名,改成参数2的名称
3.rm:用于删除文件、文件夹,即remove
语法:rm [-r -f] 参数1 参数2 ...... 参数n
(1)-r用于删除文件夹
(2)-f表示force,强制删除(一般用户不会弹出提示确认信息,只有root管理员会有,一般不用)
可通过su - root ,输入密码,切换为root用户体验,按exit退出
(3)参数1、参数2、..... 、参数N表示要删除的文件或文件夹路径,按照空格隔开
注:rm命令支持通配符*,用来做模糊匹配
(1)符号*表示通配符,即匹配任意内容(包含空)
(2)test*,表示匹配任何以test开头的内容
*test,表示匹配任何以test结尾的内容
*test*,表示匹配任何包含test的内容
(3)别在root管理员用户下执行:rm -rf/、rm -rf/*,会把东西全删了,直接格式化
10.查找命令(which、find)
1.which:查看所拥有的一系列命令的程序文件存放在哪里
语法:which 要查找的命令
2.find:按文件名查找文件
语法:find 起始路径 -name "被查找文件名"
可以使用通配符*
3.find:按文件大小查找文件
语法:find 起始路径 -size +|-n [kMG]
(1)+、-表示大小
(2)n表示大小数字
(3)kMG表示大小单位,k表示kb,M表示MB,G表示GB
例:查找小于10KB的文件:find / -size -10k
查找大于100MB的文件:find / -size +100M
查找大于1GB的文件:find / -size +1G
找出名称中带有centos的文件:find / -name "*centos*"
找出usr目录内大于100M的文件:find /usr -size +100M
11.grep、wc和管道符
1.grep:从文件中通过关键字过滤文件行
语法:grep [-n] 关键字 文件路径
(1)选项-n,可选,表示在结果中显示匹配的行的行号
(2)参数,关键字,必填,表示过滤的关键字,带有空格或其他特殊符号,建议使用" "将关键字包围起来
(3)参数,文件路径,必填,表示要过滤的文件内容,可作为内容输入端口

2.wc:统计文件的行数、单词数量等
语法:wc [-c -m -l -w] 文件路径
选项:-c,统计bytes(字节)数量;-m,统计字符数量;-l,统计行数;-w,统计单词数量
参数,文件路径,被统计的文件,可作为内容输入端口
直接输,显示行数、单词数、字节数


3.管道符:|,将管道符左边命令的结果,作为右边命令的输入

12.echo、tail和重定向符
1.echo:在命令行内输出指定内容
语法:echo 输出的内容
无需选项,只有一个参数,表示要输出的内容,复杂内容或有空格、特殊符号等可以用" "包围
2.重定向符
>,将左侧命令的结果,覆盖写入到符号右侧的文件中
>>,将左侧命令的结果,追加写入到符号右侧指定的文件中

3.tail命令:可以查看文件尾部内容,跟踪文件的最新更改
语法:tail [-f -num] Linux路径
参数,Linux路径,表示被跟踪的文件路径
选项,-f,表示持续跟踪
选项,-num,表示查看尾部多少行,不填默认10行(还是原来的顺序)

练习:(1)使用echo并配合反引号,输出内容:我当前的工作目录:'具体的工作目录路径';并结合重定向符,将输出结果覆盖写入work.txt文件
echo "我当前的工作目录是:'pwd' " > work.txt
(2)使用echo输出任意内容并追加到work.txt文件中,并通过tail命令持续跟踪文件内容更改
echo "wxhgyr" >>work.txt
tail -f work.txt
13.vi\vim编辑器
vi\vim(visual interface)是Linux中最经典的文本编辑器,vim是vi的加强版本
1.工作模式:命令模式、输入模式、底线命令模式
命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能,不能自由进行文本编辑;
输入模式,即编辑模式、插入模式,可以对文件内容进行自由编辑;
底线命令模式,以:开始,通常用于文件的保存、退出

2.若需要通过vi/vim编辑器编辑文件,可通过如下命令:
vi 文件路径
vim 文件路径
命令模式快捷键



底线命令模式

三.Linux和权限
1.root用户(拥有最大操作权限)
1.认识root
Windows、MacOS、Linux均采用多用户的管理模式进行权限管理
在Linux系统中,拥有最大权限的账户名为:root(超级管理员)
现在使用的是普通账户:zcs
2.su命令
su命令(Switch user)切换root账户:su [-] [同户名]
(1)-符号可选,表示是否在切换用户后加载环境变量
(2)用户名,表示要切换的用户,可省略,省略表示切换到root
(2)切换用户后,用exit退回上一个用户(或ctrl+d)
3.sudo命令
语法:sudo 其他命令
在其他命令前,带上sudo,即可为这条命令临时赋予root授权,需要授权

2.用户、用户组管理
Linux系统中可以配置多个用户、用户组,用户可以加入多个用户组
1.用户组管理(以下命令需要root用户执行)
创建用户组:groupadd 用户组名
删除用户组:groupdel 用户组名
2.用户管理(以下命令需要root用户执行)
创建用户:useradd [-g -d] 用户名
-g指定用户的组。不指定-g,会创建同名组并自动加入;指定-g需要组已经存在,如存在同名组,必须用-g
-d指定用户HOME路径,不指定则默认路径
删除用户:userdel [-r] 用户名
-r,删除用户的HOME目录。不使用-r,删除用户时,HOME目录保留
查看用户所属组:id [用户名]
参数:用户名,被查看的用户,如果不提供则查看自身
修改用户所属组:usermod-aG 用户组 用户名
将指定用户加入指定用户组
3.getent命令:可以查看当前系统中有哪些用户
语法:getent passwd


结果共显示7份信息:用户名、密码、用户ID、组ID、描述信息、HOME目录、执行终端
语法:getent group

结果共显示3份信息:组名称、组认证、组ID
3.查看权限控制



4.修改权限控制 - chmod
chmod命令可以修改文件或文件夹的权限信息
(注:只有文件、文件夹的所属用户或root用户可以修改)
语法:chmod [-R] 权限 文件或文件夹
选项:-R,对文件夹内的全部内容应用同样的操作
例:1.chmod u=rwx,g=rx,o=x hello.txt,将文件权限修改为:rwxr-x--x
其中:u表示user所属用户权限,g表示group组权限,o表示other其他用户权限
2.chmod -R u=rwx,g=rx,o=x test ,将文件夹test以及文件夹内全部内容权限设置为:rwxr-x--x
3.快捷写法:chmod 751 hello.txt

5.修改权限控制 - chown
chown可以修改文件、文件夹的所属用户和用户组(只适用于root用户执行)
语法:chown [-R] [用户] [:] [用户组] 文件或文件夹
-R,同chmod;用户,指修改所属用户;用户组,指修改所属用户组;:,用于分隔用户和用户组
例:1.chown root hello.txt,将hello.txt所属用户修改为root
2.chown :root hello.txt,将hello.txt所属用户组修改为root
3.chown root:abc hello.txt,将hello.txt所属用户修改为root,用户组修改为abc
4.chown -R root test,将文件夹test的所属用户修改为root并对文件夹内全部内容应用同样规则
四.Linux操作
1.快捷键
| Ctrl+c | 强制停止运行;退出当前输入 |
| Ctrl+d | 退出登录;退出某程序特定页面(vi不能用) |
|
历史记录 history |
查看历史记录 |
| !+ 命令前缀 | 搜索以此前缀开头的命令 |
| Ctrl + r |
输入命令去匹配历史命令 如果内容符合,回车直接执行;键盘左右键,可得到此命令(不执行) |
|
光标移动快捷键 Ctrl + a |
跳到命令开头 |
| Ctrl + e | 跳到命令结尾 |
| Ctrl + 键盘左键 | 向左跳一个单词 |
| Ctrl + 键盘右键 | 向右跳一个单词 |
|
清屏 Ctrl + l或命令clear |
清空终端内容 |
2.软件安装(yum程序)(需要root权限)
yum:RPM包软件管理器,用于自动化安装配置Linux软件
语法:yum [-y] [install | remove | search] 软件名称
-y,自动确认,无需手动确认安装或卸载过程
install:安装;remove:卸载;search:搜索
注:CentOS用yum,Ubuntu用apt
3.软件控制(systemctl命令)
能够被systemctl管理的软件称为服务
语法;systemctl start/stop/status/enabie/disable 服务名


4.软连接(ln命令)
创建软连接,可以将文件、文件夹链接到其他位置
语法:ln -s 参数1 ~参数2
-s,指创建软连接
参数1,被链接的文件或文件夹;参数2,要链接去的目的地
5.日期、时区
1.date命令可以在命令行中查看系统的时间
语法:date [-d] [+格式化字符串]
-d,日期计算

格式化字符串:用特定字符串标记,来控制显示的日期格式

1.输入date,直接查看时间
2.输入date +%Y-%m-%d ,2025-11-10
3.输入date "+%Y-%m-%d %H:%M:%S", 2025-11-10 21:26:48
4.输入date "+1 day" +%Y-%m-%d #显示后一天的时间
2.修改时区
1.使用root权限

2.ntp程序自动校准
1.安装ntp:yum -y install ntp
2.启动并设置开机自启:systemct start/enable ntpd
////手动校准(用root):输入命令ntpdate -u ntp.aliyun.com
6.IP地址、主机名
1.每台联网电脑都有一个地址,用于和其他计算机通讯(ip add、ifconfig)
IP地址主要有2个版本:V4和V6
IPV4版本的地址格式是:a.b.c.d,abcd表示0~255的数字。如192.168.88.101

127.0.0.1,代表本机/自己
2.主机名:除IP地址外的名字
![]()
hostname,查看主机名
hostnamectl set-hostname 主机名,修改主机名(root)
3.域名解析(主机名映射):通过主机名找到对应计算机的IP地址
如,www.baidu.com,是百度的网址,称为域名
4.虚拟机固定IP
IP地址通过DHCP动态获取,每重启设备都会获取一次,导致IP改变
7.网络传输
1.ping命令,检查指定的网络服务器是否是可联通状态
语法:ping [-c num] ip或主机名

2.wget命令,可在命令行内下载网络文件
语法:wget [-b] url

tail -f 可以持续跟踪下载
3.curl可以发送http网络请求,可用于:下载文件、获取信息
语法:curl [-O] url

8.端口:设备与外界通讯交流的出入口。分为物理/虚拟端口
物理端口:接口,如USB接口,RJ45网口,HDMI端口
虚拟端口:计算机内部端口,不可见,用于操作系统和外部进行交互使用的
通过端口可以锁定计算机上具体的程序,确保程序之间的沟通
Linux可支持65535个端口
公认端口:1~1023,用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口;非必要,不占用
注册端口:1024~49151,随意使用,用于松散的绑定一些程序/服务
动态端口:49151~65535,不固定绑定程序,当程序对外网络链接时,用于临时使用
sudo namp ip地址
查看所有端口:netstat -tunlp
仅查看TCP端口:netstat -tlnp
仅查看UDP端口:netstat -ulnp
9.进程管理:每个程序运行时,便被操作系统注册为系统的一个:进程,并分配独有的进程ID(进程号)
ps命令查看Linux系统中的进程信息
语法:ps [-e -f] (-e:显示全部进程;;-f:以完全格式化的形式展示信息)、ps -ef | grep 指定进程
kill命令关闭进程
语法:kill [-9] 进程ID (-9:强制关闭)
10.主机状态
直接输入top命令,查看CPU、内存使用情况(类似Windows任务管理器),默认5秒刷新一次





磁盘信息监控
df命令查看硬盘的使用情况:df [-h](以更人性化的单位显示)
iostat查看CPU、磁盘的相关信息:iostat [-x] [num1] [num2](-x:显示更多信息;刷新间隔;刷新几次)

网络状态监控
sar命令查看网络的相关统计:sar -n DEV num1 num2

11.环境变量:操作系统运行时,记录的一些关键性信息,用于辅助系统运行
env命令可查看当前系统中记录的环境变量
$符:用于取“变量”的值

自行设置环境变量

自定义环境变量PATH

12.上传、下载
法1.用finalshell
法2:rz命令,进行上传,直接输入;sz命令,进行下载,sz 要下载的文件
13.压缩、解压

tar命令均可进行压缩和解压缩的操作
语法:tar [-c -v -x -f -z -C] 参数1 参数2......参数n



zip命令压缩文件为zip压缩包
语法:zip [-r] 参数1 参数2....参数n

unzip解压zip压缩包
语法:unzip [-d] 参数

更多推荐



所有评论(0)