【Linux】Linux学习笔记 青旅半醒 2023-10-14 09:03 20阅读 0赞 ## Linux学习笔记 ## #### 文章目录 #### * Linux学习笔记 * * 第一章:初识Linux * * 1.1 硬件,软件与操作系统 * 1.2 Linux组成 * 1.3 Linux系统安装 * 1.4 WSL * 1.5 虚拟机快照 * 第二章:Linux基础命令 * * 2.1 Linux目录结构 * 2.2 Linux系统路径的描述方式 * 2.3 命令行与命令 * 2.4 Home目录与当前工作目录 * 2.5 \*\*相对路径,绝对路径与特殊路径符\*\* * 2.6 Linux基础命令 * * Linux命令基础格式: * ls命令 * cd命令 * pwd 命令 * mkdir命令 * 文件操作命令 * * touch命令 * cat命令 * more命令 * cp命令 * mv命令 * rm命令 * 查找命令 * * which命令 * find命令 按名称搜索 * find命令 按文件大小搜索 * grep命令 * wc命令 * 管道符 | * echo命令 * 重定向符号 * tail命令 * 第三章 vim编辑器 * * 3.1 命令模式 * 3.2 输入模式 * 3.3 底线命令模式 * 3.4 常用命令 * * 3.4.1 命令模式 * 3.4.2 底线命令模式: * 第四章 Linux系统权限 * * 4.1 root用户 * 4.2 su命令 * 4.3 sudo * 4.4 Linux 权限管控 * * 4.4.1 用户组管理 * 4.4.2 用户管理 * 4.4.3 getent命令 * 4.4.4 文件权限 * * chmod命令 * chown命令 * 第五章 使用技巧 * * 5.1 快捷键 * 5.2 安装软件 * * yum命令【适用于centos系统,安装的是.rpm程序】 * apt命令【适用于Ubuntu系统,安装的是.deb程序】 * 5.3 systemctl 命令 * 5.4 软链接 * 5.5 时间 * * date命令 * 修改Linux系统的时区 * npt程序 * 5.6 IP地址 * * IP地址 * 特殊IP地址 * 主机名 * 配置主机名映射 * 固定IP地址 * ping命令 * wget命令 * curl命令 * 端口 * 进程 * ps命令 * 关闭进程 * 5.6 主机状态 * * 查看系统资源占用 * * df命令 * iostat命令 * 网络状态监控 * * sar命令 * 环境变量 * * env命令 * $符号 * 自行设置环境变量 * rz,sz命令 * 压缩/解压缩 * zip命令 * unzip命令 ### 第一章:初识Linux ### #### 1.1 硬件,软件与操作系统 #### 1. 硬件:计算机系统中由电子,机械,和光电元件等组成的各种物理装置的总称; 2. 软件:是用户和计算机硬件之间的接口和桥梁,用户通过软件和计算机交流,而操作系统为软件的一类; 3. 操作系统:计算机软件的一种。作为用户和计算机硬件之间的桥梁,调度和管理计算机硬件进行工作; **常见的操作系统:** * PC: Windows,Linux,Mac Os; * 移动端:Android,ios,鸿蒙; #### 1.2 Linux组成 #### Linux系统由以下两部分组成: * Linux系统内核; * 系统级应用程序; 内核提供最核心的功能,如调度cpu,调度内存,调度文件系统,调度网络通讯,调度IO等系统级应用程序,可以理解为出厂自带程序,可供用户快速上手操作系统; ![在这里插入图片描述][966bc2d91c23428d99e2ebf26796b121.png] Linux系统内核是开源的,项目源码:[The Linux Kernel Archives][] 由此推理,这意味着厂商只需集成自己的系统级别的应用程序便可推出自己的Linux发行版,常见的Linux系统如Ubuntu,CentOS等便是这样发行出来的; #### 1.3 Linux系统安装 #### 请自行安装你想要的linux操作系统。 Ubuntu系统安装:[VMware虚拟机安装Ubuntu20.04详细图文教程\_ubuntu安装教程\_好像很好吃的博客-CSDN博客][VMware_Ubuntu20.04_ubuntu_-CSDN] CentOS系统安装:[CentOS7(Linux)详细安装教程(图文详解)\_centos7安装\_缄默.ńī給の傷的博客-CSDN博客][CentOS7_Linux_centos7_._-CSDN] #### 1.4 WSL #### windows subsystem for Linux.是用于windows系统之中的Linux子系统,可以在windows系统之上的Linux系统中,获得Linux系统环境,并完全直连计算机硬件,直接使用主机的物理硬件,构建Linux操作系统,并且并不会影响windows系统的运行。WSL是windows自带功能,需要开启,无需下载。 WSL部署方法:[部署WSL][WSL] #### 1.5 虚拟机快照 #### 在学习阶段很有可能由于误操作损坏当前系统,可以通过快照将当前虚拟机的状态保存下来,在以后可以通过快照恢复虚拟机保存的状态。该操作在关机状态下保存快照效率较高。 [Linux系统快照使用方法][Linux] ### 第二章:Linux基础命令 ### #### 2.1 Linux目录结构 #### 和windows一样,Linux的目录结构为树形结构,windows系统可以有多个盘符,但是在linux中没有盘符这个概念,只有一个根目录:/,所有文件都在它下面。也就是说windows中可以有多个盘符,继而可以有很多树,但是在linux系统中只有一棵树。 #### 2.2 Linux系统路径的描述方式 #### * 在Linux系统中路径之间的层级关系使用:/来表示;开头的/为根目录,后面的/为层级关系。 * 在windows系统中路径之间的层级关系使用:\\来表示; #### 2.3 命令行与命令 #### * 命令行:即Linux终端,是一种命令提示符界面,以纯字符的形式操作系统,可以使用各种字符化命令对系统发作操作指令; * 命令:即Linux程序,一个命令就是一个linux程序,命令没有图形化界面,可以在命令行终端中提供字符化的反馈; #### 2.4 Home目录与当前工作目录 #### * Home目录:每个Linux操作用户在linux系统的个人帐户目录,路径在/home/用户名。 * 当前工作目录:Linux命令行终端在启动的时候默认会加载当前登陆用户的Home目录作为当前工作目录,所以ls命令列出的是Home目录的内容 #### 2.5 **相对路径,绝对路径与特殊路径符** #### * 绝对路径:以根目录为起点,描述路径的一般写法,路径描述以/开头; * 相对路径:以当前目录为起点,描述路径的一种写法,亩经描述无需以/开头; * 特殊路径符: * . :表示当前目录; * … :表示上一级目录; * ~ :表示Home目录; #### 2.6 Linux基础命令 #### ##### Linux命令基础格式: ##### > command \[-options\] \[-parameters\] * command :命令本身 ; * options :可选选项,可以通过选项控制命令的行为细节; * parameter :可选参数,多数用于命令的指向目标等; **示例:** ls -l /home/user 以列表的形式,显示/home/user目录中的内容; cp -r test1 test2 复制文件夹test1成为test2 ##### ls命令 ##### **作用:** 列出目录下的内容。 ls [-a -l -h] [linux路径] \-a -l -h 为可选参数 * \-a : all,列出所有文件,包括隐藏文件与文件夹;以.开头的为Linux系统的隐藏文件与文件夹。 * \-l : list 以列表竖向排列的形式展示内容,并展示更多信息; * \-h : 以便于阅读的方式,列出文件的大小,该选项必须要搭配-l一起使用 \[linux路径\] 是此命令可选的参数。如果不使用选项和参数,直接使用ls命令本体,表示以平铺形式,列出当前工作目录下的内容 ##### cd命令 ##### **作用:** 切换目录。 change directory cd [Linux路径] cd命令无需选项,只有参数,表示要切换到哪个目录下; cd命令直接执行,不写参数,表示回到用户的Home目录下; ##### pwd 命令 ##### **作用:** 查看当前工作目录。 print work directory 无选项,无参数; ##### mkdir命令 ##### **作用:** 通过mkdir命令可以创建新的目录。Make Directory mkdir [-p] linux路径 \-p 可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录; ##### 文件操作命令 ##### ###### touch命令 ###### **作用:** 创建文件 touch Linux路径/文件 touch命令无选项,参数必填,表示要创建的文件路径,相对,绝对,特殊路径符均可以使用; ###### cat命令 ###### **作用:** 查看文件内容 cat Linux路径/文件 cat同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对,绝对,特殊路径等都可以使用; ###### more命令 ###### **作用:** 查看文件内容 与cat不同的是:cat是直接将内容全部显示出来,more支持翻页,如果文件内容过多,可以一页一页的展示;空格翻页,q退出; more Linux路径 同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对,绝对,特殊路径等都可以使用; ###### cp命令 ###### **作用:** 复制文件或者文件夹,cp来源于英文单词copy cp [-r] 参数1,参数2 \-r选项,可选,用于复制文件夹使用,表示递归; 参数1,Linux路径,表示被复制的文件或文件夹; 参数2,Linux路径,表示要复制去的地方; ###### mv命令 ###### **作用:** 移动文件或者文件夹,mv来源于英文单词move mv 参数1,参数2 参数1,Linux路径,表示被移动的文件或文件夹; 参数2,Linux路径,表示要移动去的地方; 如果参数2和参数1的文件名不一致,则表明移动并改名; ###### rm命令 ###### 删除文件或者文件夹,rm来源于英文单词remove rm [-r -f] 参数1,参数2...参数n \-r :用于删除文件夹 \-f : force,强制删除不提示。 参数表示要删除的文件或文件夹,空格隔开; 【普通用户删除内容不会弹出提示,只有root用户删除内容会有提示;所以一般普通用户用不到-f选项。这里普通用户的权限实际上是提前设置好的,也就是默认是安全的,但是root用户的权限太高了,容易发生误操作,因此root用户删除文件的时候会有提示】 rm命令支持通配符\* * test\*:表示以test开头的任意内容; * \*test:表示以test结尾的任意内容; * *test*:表示含有test的任意内容; su - root 临时切换用户; exit命令退回普通用户; ##### 查找命令 ##### ###### which命令 ###### **作用:** 查找命令的位置,只针对于命令; 前面提到所有的命令的本质实际上都是一个linux程序,那么如何找到这些程序的位置呢?这里就可以用到which which 要查找的命令 ###### find命令 按名称搜索 ###### **作用:** 搜索指定文件 find 起始路径 -name "被查找文件名“ find / -name “test” ###### find命令 按文件大小搜索 ###### **作用:** 搜索指定文件 find 起始路径 -size +|-[kMG] * \+,- :表示大于小于; * n:表示大小数字 * kMG表示大小单位,k(小写)表示kb,M表示MB,G表示GB; **示例:** 1. 查找小于10kb的文件:find / -size-10k 2. 查找大于100M的文件:find / -size+100M 3. 查找大于1G的文件:find / -size+1G ###### grep命令 ###### **作用:** 从文件中通过关键字过滤文件行 grep [-n] 关键字 文件路径 选项 -n,可选,表示在结果中显示匹配的行的行号。 参数 关键字,必填,表示过滤的关键字,带有空格或其他特殊符号,建议使用” “将关键字包围起来; 参数 文件路径,必填,表示要过滤内容的文件路径,可作为内容输出端口; ###### wc命令 ###### **作用:** 数量统计,可以通过wc命令统计文件的行数,单词数量等; wc [-c -m -l -w ] 文件路径 \-c : 统计bytes数量 \-m : 统计字符数量 \-l : 统计行数 \-w : 统计单词数量 文件路径:被统计的文件,可作为内容输入端口; ###### 管道符 | ###### **将管道符左边命令的结果,作为右边命令的输入** ls | grep test ls -l /usr/bin | wc -l ###### echo命令 ###### echo 要输出的内容 建议使用双引号将其括起来。 **‘’的作用为:被其括起来的内容会被当作命令去执行;** echo ‘pwd’ 输出pwd执行后的内容; ###### 重定向符号 ###### >,将左侧命令的结果,**覆盖写入**到符号右侧指定的文件中; >>,将左侧命令的结果,**追加写入**到符号右侧指定的文件中; * echo “Welcome” >> haha.txt; * echo “Welcome1” > haha.txt;//再次执行,覆盖新内容 * echo “Welcom2” >> haha.txt;//再次执行,追加新内容 ###### tail命令 ###### **作用:** 查看文件尾部内容,跟踪文件的最新更改; tail [-f -num] Linux路径 \-f,表示持续跟踪; \-num,表示查看尾部多少行,默认为10行; 这里的-f指持续的跟踪: tail -f -10 1.txt 如果使用了-f这里会输出1.txt文件的最后10行,但是不会停止,如果另外开一个终端,修改1.txt的内容,此时,最后10行的数据会发生变化,即持续追踪效果。终止追踪为ctrl c. ### 第三章 vim编辑器 ### visual interface,vim 是 vi 的加强版,兼容所有命令,不仅能编辑文本,而且还具有shell程序编辑的功能。 #### 3.1 命令模式 #### 命令模式下,所敲的按键,编辑其都认为其为命令,以命令驱动执行不同的功能。此模型下不能自由进行文本编辑; #### 3.2 输入模式 #### 输入模式下,可以对文件内容进行自由编辑。 #### 3.3 底线命令模式 #### 以:开始,通常用于文件的保存,退出。 #### 3.4 常用命令 #### ##### 3.4.1 命令模式 ##### vi 文件路径 **作用:** 如果文件存在,此命令用于编辑新文件;如果文件不存在,此命令用于编辑已有文件; <table> <thead> <tr> <th>/</th> <th>进入搜索模式</th> </tr> </thead> <tbody> <tr> <td>n</td> <td>向下继续搜索</td> </tr> <tr> <td>N</td> <td>向上自动搜索</td> </tr> <tr> <td>dd</td> <td>删除光标所在行</td> </tr> <tr> <td>ndd</td> <td>n是数字,删除当前光标向下几行</td> </tr> <tr> <td>yy</td> <td>复制当前行</td> </tr> <tr> <td>nyy</td> <td>n是数字,复制当前行和下面几行</td> </tr> <tr> <td>p</td> <td>粘贴复制的内容</td> </tr> <tr> <td>u</td> <td>撤销修改</td> </tr> <tr> <td>ctrl +r</td> <td>反向撤销修改</td> </tr> <tr> <td>gg</td> <td>跳到首行</td> </tr> <tr> <td>G</td> <td>跳到行尾</td> </tr> </tbody> </table> ##### 3.4.2 底线命令模式: ##### <table> <thead> <tr> <th>wq</th> <th>保存并退出</th> </tr> </thead> <tbody> <tr> <td>q</td> <td>仅退出</td> </tr> <tr> <td>q!</td> <td>强制退出</td> </tr> <tr> <td>w</td> <td>仅保存</td> </tr> <tr> <td>set nu</td> <td>显示行号</td> </tr> <tr> <td>set paste</td> <td>设置粘贴模式</td> </tr> </tbody> </table> ### 第四章 Linux系统权限 ### #### 4.1 root用户 #### 超级管理员,拥有最大权限的用户; 普通用户的权限,一般在其HOME目录内是不受限的,一旦出了Home目录,大多数地方,普通用户仅有只读和执行权限,无修改权限; #### 4.2 su命令 #### \*\*作用:\*\*用户账户切换,switch user su [-] [用户名] \-:可选,表示切换用户后加载环境变量,建议带上; 用户名 :可以省略,表示root用户; 切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键ctrl + d; 普通用户切换账户需要密码,但是root用户不需要密码; #### 4.3 sudo #### sudo:临时获得root权限;但并不是所有用户都可以使用sudo,我们需要为普通用户配置sudo认证; 如何配置: 切换到root用户,执行: visudo 会自动通过vi编辑器打开/etc/sudoers 在文件的最后添加: 用户名 ALL=(ALL) NOPASSWD:ALL 编辑完之后进行保存即可; #### 4.4 Linux 权限管控 #### Linux系统中可以: * 配置多个用户 * 配置多个用户组 * 同一个用户可以加入多个用户组中 Linux中关于权限管控的级别分为2个,分别是: * 针对用户的权限控制 * 针对用户组的权限控制 比如:针对某个文件,可以控制用户的权限,也可以控制用户组的权限; ##### 4.4.1 用户组管理 ##### 以下命令需root用户执行 创建用户组 : groupadd 用户组名 删除用户组: groupdel 用户组名 ##### 4.4.2 用户管理 ##### 以下命令需root用户执行 创建用户:useradd[-g,-d] 用户组名; \-g : 指定用户的组,如果不指定,则会创建同名组并自动加入;指定-g需要用户组已经存在,如果已经存在同名用户组,则必须使用-g; \-d : 指定用户Home路径,不指定,Home目录默认在:/home/用户名; 删除用户: userdel [-r] 用户名; \-r:删除用户的Home目录;如果不使用-r,则删除用户时,Home目录保留; 查看用户所属组:id 用户名 修改用户所属组: usermod -aG 用户组 用户名,将指定用户加入指定用户组; ##### 4.4.3 getent命令 ##### **作用:** 查看当前系统中有哪些用户 getent paddwd 查看用户信息 getent group 查看用户组信息 结果中共有7份信息,分别是:用户名:密码:用户Id:用户组id:HOME目录,执行终端,默认bash; ##### 4.4.4 文件权限 ##### 通过ls -l 可以以列表形式查看内容,并显示细节; ![在这里插入图片描述][549b312d9f3b4a3b95174638bc547d7c.png] * 第一列,表示文件或者文件夹的权限控制信息; * root列,表示文件,文件夹的所属用户; * 第二个root列,表示文件,文件夹所属用户组; 权限细节一共有10个槽位: 第一个槽位表示文件类型: * \-表示文件; * d表示文件夹; * l表示软链接; 后面3个代表所属用户权限;再后面3个表示用户组权限,再后面3个表示其它用户权限; 举例:drwxr-xr-x 首字母d表示这是一个文件夹;所属用户的权限:rwx;所属用户组的权限:r-x;其它用户的权限:r-x; * r:read 读权限 * w:write 写权限 * x:execute 执行权限 ###### chmod命令 ###### **作用:** 修改文件,文件夹的权限信息; chmod [-R] 权限 文件或文件夹; \-R: 递归执行,对文件夹内所有内容执行同样的操作; 权限可以写数字,也可以: chmod u=wx,g=rx,o=x hello.txt 其中:u表示user所属用户权限,g表示group组权限,o表示other其他用户权限; ###### chown命令 ###### 使用chown命令,可以修改文件,文件夹的所属用户和用户组。此命令只有root用户才能执行。 chown [-R] [用户] [:] [用户组] 文件或文件夹 \-R :同chmod,对文件夹内全部内容应用相同规则; 示例: * chowm root hello.txt 将hello.txt所属用户修改为root; * chown :root hello.txt 将hello.txt所属用户组修改为root; * chown root:itgeima hello.txt 将hello.txt所属用户修改为root,用户组修改为itheima; * chown -R root test 将文件夹test的所属用户修改为root并对文件夹内全部内容应用同样规则; ### 第五章 使用技巧 ### #### 5.1 快捷键 #### ctrl + c 强制停止; ctrl + d 登出或退出; history 历史命令; ctrl + a :跳到命令开头; ctrl + e : 跳到命令结尾; ctrl + 键盘左键,向左跳一个单词; ctrl + 键盘右键,向右跳一个单词; ctrl + l :清屏 #### 5.2 安装软件 #### ##### yum命令【适用于centos系统,安装的是.rpm程序】 ##### yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。 yum \[-y\] \[install | remove | search\] 软件名称 \-y : 自动确认,无需手动确认安装或卸载过程; install : 安装 remove: 卸载 search : 搜索 yum search wget; ##### apt命令【适用于Ubuntu系统,安装的是.deb程序】 ##### apt \[-y\] \[install | remove | search\] 软件名称 使用方法跟yum一样。 #### 5.3 systemctl 命令 #### Linux系统很多软件均支持使用systemctl命令控制:启动,停止,和开机启动。能够被systemctl管理的软件,一般也称其为服务; systemctl start | stop | status | enable | disable 服务名 * start :启动 * stop :关闭 * status:查看状态 * enable :开启开机自启 * disable: 关闭开机自启 除了内置的服务,部分第三方服务安装后会自动启程到systemctl中,因此也可以通过systemctl控制第三方服务 比如:安装第三方服务: yum install -y ntp 安装成功后,该服务会自动注册自己为系统服务,并且服务名为软件名+d,于是,可以这样控制其自启动: systemctl enable ntpd; 也有一些软件安装后不会自动集成进systemctl中,我们可以手动添加。 #### 5.4 软链接 #### ln命令创建软链接 在系统中创建软链接,可以将文件,文件夹链接到其它位置。类似Windows中的快捷方式。 ln -s 参数1 参数2 \-s : 创建软链接 参数1 : 被链接的文件或文件夹 参数2: 要链接去的地方; #### 5.5 时间 #### ##### date命令 ##### 查看系统时间 date [-d] [+格式化的字符串] \-d : 按照给定的字符串显示日期,一般用作日期计算 格式化字符串:%Y 年 * %y年份后保留两位数字 * %M月份 * %d日 * %H小时 * %M分钟 * %S秒 * %s 自1970年1月1日到现在的秒数 > date “+%Y-%M-%d %H-%M-%S” > > date -d “+1 day” +%Y-%M-%d %H-%M-%S" //显示后一天的日期 > > date -d “+1 month” +%Y-%M-%d %H-%M-%S" //显示后一个月的日期 > > date -d “+1 year” +%Y-%M-%d %H-%M-%S"//显示一年后的日期 ##### 修改Linux系统的时区 ##### 实际应该东八区 使用root权限: rm -f /etc/localtime sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 将系统自带的localtime文件删除,并将 /usr/share/zoneinfo/Asia/Shanghai 链接为localtime ##### npt程序 ##### 自动校准系统时间 安装npt: yum -y install ntp 启动并设置开机自启: systemctl shart ntpd systemctl enable ntpd 当ntp程序自动启动后会帮助我们校准系统时间; 也可以手动校准(需要root权限):ntpdate -u ntp.aliyun.com #### 5.6 IP地址 #### ##### IP地址 ##### 每一台联网的电脑都会有一个地址,用于和其他计算机进行通讯。IP地址主要有2个版本,v4版本和v6版本,v4版本的地址格式是: a.b.c.d 其中abcd都是0-255的数字,如192.168.88.101就是一个IP地址。 通过ifconfig命令查看本机的IP地址; ##### 特殊IP地址 ##### 127.0.0.1 这个IP地址用于指代本机; 0.0.0.0 可以用于指代本机;可以在端口绑定中用来确定绑定关系;在一些IP地址限制中,表示所有IP的意思:如放行规则设置为0.0.0.0,表示允许任意IP访问; ##### 主机名 ##### 每一台电脑除了IP地址以外,也可以有一个名字,称之为主机名 查看主机名:hostname 修改主机名:hostnamectl set-hostname 新主机名 域名解析 IP地址实际上是非常难记的,那么就要想一个办法使得这种记忆变得简单一些,而日常生活中,我们也正是这么用的:www.baidu.com 是百度的域名,也就是这个ip地址的映射。 ![在这里插入图片描述][61c16ca726f646e0a011c11dbe202ad4.png] 即:先查看本机的记录(私人地址本) * Windows系统:C:\\Windows\\System32\\drivers\\etc\\hosts * Linux系统:/etc/hosts 如果没有,再联网去公共的DNS服务器查找。 ##### 配置主机名映射 ##### 比如我们连接远程主机是通过ip地址连接的,那么有没有可能通过域名(主机名)连接? 可以,我们只需要在Windows系统的C:\\Windows\\System32\\drivers\\etc\\hosts文件配置记录即可。 ##### 固定IP地址 ##### 为什么需要固定ip地址? 我们Linux操作系统的IP地址是通过DHCP服务获取的,DHCP:动态获取ip地址即每次重启设备后都会获取一次,可能导致ip地址频繁变更。 ##### ping命令 ##### 检查指定的网络服务器是否是可连通状态 ping \[-c num\] ip或主机名 选项:-c ,检查的次数,不使用-c选项,将无限次数持续检查; 参数:ip或主机名,被检查的服务器的ip地址或主机名地址。 ##### wget命令 ##### 非交互式的文件下载器,可以在命令行中下载网络文件; wget \[-b\] url 选项: -b , 可选,后台下载 ,会将日志写入到当前工作目录的wget-log文件 参数:url,下载链接 ##### curl命令 ##### 可以发送http网络请求,可用于下载文件,获取信息等; curl [-O] url \-O: 用于下载文件,当url是下载链接时,可以使用此选项保存文件; curl cip.cc 此命令作用跟浏览器的地址栏一模一样。 ##### 端口 ##### 端口,是设备与外界通讯交流的出入口,端口可以分为:物理端口和虚拟端口两类; * 物理端口:是可见的端口,又称之为接口,如usb端口; * 虚拟端口:是指计算机内部的端口,是不可见的端口,是用来操作系统和外部进行交互使用的; 我们知道:两台电脑可以通过ip地址找到对方;但是电脑A中的qq如何和电脑B中的qq进行通信呢?只靠ip地址仅仅能找到对方电脑,通过端口才能找到某一个具体的程序; Linux系统中有65535个端口,这些端口被划分为三类: * 公认端口:1-1023,通常用于一些系统内置程序的预留使用,如ssh服务的22端口,https的443端口,非特殊需要,不要占用这个范围的端口; * 注册端口:1024-49151,可以随意使用,用于松散的绑定一些程序或服务; * 动态端口:49152-65535,通常不会固定绑定程序,而是当程序对外进行网络连接时,用于临时使用。 **查看端口占用** 使用nmap命令,安装:yum -y install nmap nmap 被查看的ip地址 namp 127.0.0.1 使用netstat命令,查看指定端口的占用情况。安装:yum -y install net-tools 语法:`netstat -anp|grep 端口号` ##### 进程 ##### 程序运行在操作系统中,被操作系统所管理,而为了管理运行的程序,每个程序在运行时,都被操作系统注册为系统中的一个进程,并会为每一个进程都分配一个独有的进程ID(进程号)。 ##### ps命令 ##### 查看Linux系统中的进程信息 ps [-e -f] * \-e: 显示所有进程; * \-f : 格式化输出信息; uid:进程所属用户ID pid:进程号 ppid:进程的父id(启动此进程的其他进程) C:此进程的cpu占用率 STIME:进程的启动时间; TTY:启动此进程的终端序号,?表示非终端启动 TIME:进程占用cpu的时间 CMD: 进程对应的名称或启动路径或启动命令; ##### 关闭进程 ##### kill [-9] 进程id * \-9:强制关闭。如果不使用此选项会向进程发送信号要求其关闭,但是是否关闭看进程自身的处理机制; * #### 5.6 主机状态 #### ##### 查看系统资源占用 ##### 可以通过top命令查看CPU,内存使用情况,类似任务管理器,该信息每隔5秒刷新一次; top top -p num //显示某个具体的进程 第一行: - top - 14:39:58 up 6 min , 2 users, load average: 0.06, 0.17, 0.13 * top:命令名称; * 14:38:58:当前系统时间; * up 6 min:启动了6min; * 2 users:2个用户登录; * load average:1分钟,5分钟,15分钟平均负载。如果为1代表1颗cpu100%繁忙,如果为4代表4颗cpu百分百繁忙; 第二行: Tasks: 175 total, 1 running,174 sleeping, 0 stopped, 0 zombie; * Tasks:175个进程; * 1 running:1个子进程在运行; * 174 sleeping: 174个进程在睡眠; * 0 stopped: 0个停止进程; * 0 zombie: 0个僵尸进程 第三行: %Cpu(s): 0.3us, 1.4sy, 0.0 ni, 98.3 id, 0.0 wa, 0.0 hi, 0.0si, 0.0st * %Cpu(s) : cpu占用率 * us : 用户cpu占用率; * sy : 系统cpu占用率; * ni : 高优先级进程占用CPU时间百分比; * id : 空闲cpu率; * wa : IO等待cpu占用率; * hi:CPU硬件中断率; * si : cpu软件中断率; * st : 强制等待占用CPU率; 第四五行: Kib MEM:物理内存,KibSwap :虚拟内存,total 总量,free 空闲,used 使用,buff/cache占用 ###### df命令 ###### **作用:** 磁盘信息监控,查看磁盘的使用情况; df [-h] 选项:-h,以更加人性化的单位显示 ###### iostat命令 ###### **作用:** 查看cpu,磁盘速率的相关信息; iostat [-X] [num1] [num2] * 选项: -X,显示更多信息 * num1: 数字,刷新间隔; * num2: 数字,刷新多少次 * num1秒刷新一次,一共刷新num2次; ##### 网络状态监控 ##### ###### sar命令 ###### **作用:** 查看网络相关统计 sar -n DEV num1 num2 \-n : 查看网络,DEV表示查看网络接口; num1:刷新间隔(不填就查看一次结束) num2:查看次数(不填就查看无限次数) ##### 环境变量 ##### 前面说过,每个Linux命令都是一个程序,那么为什么无论当前工作目录在哪里,都能执行/usr/bin/cd这个程序呢?这就是环境变量的效果。这个就是借助环境变量中PATH这个项目的值来做到的。 环境变量是操作系统在运行的时候,记录的一些关键性信息,用以辅助系统运行。环境变量是一种KeyValue型结构,即名称和值 ###### env命令 ###### **作用:** 查看当前系统中的环境变量 env | grep PATH ###### $符号 ###### **作用:** 在Linux系统中,$符号被用来取“变量的”值。 环境变量中记录的信息,除了给操作系统自己使用之外,也可以被我们所用 echo $PATH echo ${ PATH}/ABC ###### 自行设置环境变量 ###### * 临时设置: export 变量名=变量值 * 永久生效: 针对当前用户生效,配置在当前用户的 ~/bashrc文件中; 针对所有用户生效,配置在系统的 /etc/profile文件中; 并通过语法:source 配置文件,进行立即生效,或重新登录后生效; 可以自己写一个小程序,然后将路径添加进环境变量,这样就可以在任何地方进行运行。 ###### rz,sz命令 ###### **作用:** 进行文件传输 安装: yum -y install lrzsz rz 上传,直接输入rz即可 sz 下载,后跟需要下载的文件; 文件会自动下载到桌面的fsdownload文件夹中; ###### 压缩/解压缩 ###### Linux系统中常用的有两种压缩格式,后缀名分别是: .tar,称之为tarball,归档文件,即简单的文件组装到一个tar文件内,并没有太多文件体积的减少; .gz,即使用gzip压缩算法压缩到一个文件内,可以极大的减少压缩后的体积; tar [-c -v -x -f -z -C] 参数1,参数2...参数n <table> <thead> <tr> <th>-c</th> <th>创建压缩文件,用于压缩模式</th> </tr> </thead> <tbody> <tr> <td>-v</td> <td>显示压缩解压过程,用于查看进度</td> </tr> <tr> <td>-x</td> <td>解压模式</td> </tr> <tr> <td>-f</td> <td>要创建或解压的文件,-f选项必须在所有选项中位置处于最后一个</td> </tr> <tr> <td>-z</td> <td>gzip模式,不使用-z就是普通的tarball格式</td> </tr> <tr> <td>-C</td> <td>选择解压的目的地,用于解压模式</td> </tr> </tbody> </table> 示例: 压缩: > tar -cvf test.tar 1.txt 2.txt 将后两个文件压缩进前面的压缩包 > > tar -zcvf test.tar.gz 1.txt 2.txt 同上,指定使用gzip模式 > > \-z一般处于第一个位置;-f选项,必须在选项位的最后一个; 解压: tar -xvf test.tar tar -xvf test.tar -C /home/it tar -zxvf test.tar.gz 解压.tar.gz文件 ###### zip命令 ###### **作用:** 压缩文件 zip \[-r\] 参数1 参数2… \-r: 被压缩的包含文件夹的时候递归压缩 ###### unzip命令 ###### 使用unzip命令,可以方便的解压zip压缩包 语法:unzip [-d] 参数 \-d 指定要解压去的位置,同tar的-C一样 参数,被解压的zip压缩包文件 [966bc2d91c23428d99e2ebf26796b121.png]: https://img-blog.csdnimg.cn/966bc2d91c23428d99e2ebf26796b121.png [The Linux Kernel Archives]: https://www.kernel.org/ [VMware_Ubuntu20.04_ubuntu_-CSDN]: https://blog.csdn.net/weixin_41805734/article/details/120698714?ops_request_misc=%7B%22request%5Fid%22%3A%22169059111216800184196602%22%2C%22scm%22%3A%2220140713.130102334..%22%7D&request_id=169059111216800184196602&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-120698714-null-null.142%5Ev91%5Einsert_down28v1,239%5Ev12%5Econtrol2&utm_term=ubuntu20.04%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B&spm=1018.2226.3001.4187 [CentOS7_Linux_centos7_._-CSDN]: https://blog.csdn.net/weixin_43849575/article/details/102996790?ops_request_misc=%7B%22request%5Fid%22%3A%22169059114616782425169302%22%2C%22scm%22%3A%2220140713.130102334..%22%7D&request_id=169059114616782425169302&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-102996790-null-null.142%5Ev91%5Einsert_down28v1,239%5Ev12%5Econtrol2&utm_term=centos7%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B&spm=1018.2226.3001.4187 [WSL]: https://blog.csdn.net/zhangzl4321/article/details/124351538 [Linux]: https://blog.csdn.net/qq_45303986/article/details/125900750 [549b312d9f3b4a3b95174638bc547d7c.png]: https://img-blog.csdnimg.cn/549b312d9f3b4a3b95174638bc547d7c.png [61c16ca726f646e0a011c11dbe202ad4.png]: https://img-blog.csdnimg.cn/61c16ca726f646e0a011c11dbe202ad4.png
相关 学习笔记 \ajax: 1、概念:异步的JavaScript 和 xml 1.1异步和同步:客户端和服务器端相互通信的基础上 \客户端必须等待服务器端的响应。在等待的期间客户 深藏阁楼爱情的钟/ 2022年10月29日 13:24/ 0 赞/ 261 阅读
相关 学习笔记 1、定义纯汇编的祼函数: void \_\_declspec(naked) \_\_stdcall NakeFunction() \{ > \_\_asm \{ > > ╰+攻爆jí腚メ/ 2022年09月23日 08:09/ 0 赞/ 291 阅读
相关 学习笔记 jQuery 中 字符串转成 Json 格式 //需要注意的是在Json字符串中不能出现单引号或者是字符串但不带双引号。 <script type="text/ 比眉伴天荒/ 2022年06月09日 07:14/ 0 赞/ 291 阅读
相关 【学习笔记】git学习笔记 使用git的好处 可以保存每个版本,只要在每个版本做完后进行上传 ![这里写图片描述][70] 可以异地读取更新 爱被打了一巴掌/ 2022年05月14日 09:10/ 0 赞/ 375 阅读
相关 学习笔记 我的第一天学习c\ 1、c\学习网址 [https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide 矫情吗;*/ 2022年05月08日 06:16/ 0 赞/ 298 阅读
相关 学习笔记 测试 ORM JPA EJB JPQL MOM JMS ORM 对象关系映射 英语:Object Relational M 爱被打了一巴掌/ 2022年02月16日 01:57/ 0 赞/ 376 阅读
相关 [笔记] Docker 学习笔记 1. 什么是 Docker > 官方文档:[链接][Link 1],中文文档:[链接][Link 2] Docker 属于 Linux 容器的一种封装,提供简单易用的容 缺乏、安全感/ 2021年11月27日 02:01/ 0 赞/ 555 阅读
相关 学习笔记 1、js如何将136分钟转化为几小时,几分钟 return (Math.floor(minutes/60) + "小时" + (minutes%60) + "分" 爱被打了一巴掌/ 2021年07月25日 23:46/ 0 赞/ 1024 阅读
还没有评论,来说两句吧...