一.认识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]  参数

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐