ToB企服应用市场:ToB评测及商务社交产业平台

标题: 黑马linux入门笔记(01)初始Linux Linux基础命令 用户和权限 实用操作 [打印本页]

作者: 钜形不锈钢水箱    时间: 6 天前
标题: 黑马linux入门笔记(01)初始Linux Linux基础命令 用户和权限 实用操作
B站 黑马程序员 的视频 BV1n84y1i7td 黑马程序员新版Linux零基础快速入门到精通,全涵盖linux体系知识、常用软件环境部署、Shell脚本、云平台实践、大数据集群项目实战等
增强自控力

  
Linux零基础快速入门到精通

切换阿里云镜像

  1. ping -c 4 8.8.8.8
复制代码
如果无法成功 ping 通,则阐明网络设置有问题,必要检查网络接口设置。

  1. cat /etc/resolv.conf
复制代码
如果没有内容,或 DNS 设置无效,可以添加 Google 的公共 DNS:
  1. echo "nameserver 8.8.8.8" >> /etc/resolv.conf
复制代码

替换 YUM 源为阿里云
  1. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
复制代码
  1. curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
复制代码
  1. yum clean all
  2. yum makecache
复制代码
替换为清华大学的镜像源
  1. curl -o /etc/yum.repos.d/CentOS-Base.repo https
  2. ://mirrors.tuna.tsinghua.edu.cn/repos/CentOS-7.repo
复制代码
  1. yum clean all
  2. yum makecache
复制代码

  1. yum -y update
复制代码
大概等10分钟
如果以上步调无法办理问题,请提供更多的网络环境信息(如 ifconfig
或 ip addr
输出),以便进一步排查。
第一章 初始Linux

1 初始Linux

Linux首创人:林纳斯 托瓦兹
Linux体系的组成 :

什么是虚拟机?
通过虚拟化技能,在电脑内,虚拟出计算机硬件,并给虚拟的硬件安装操作体系,即可得到一台虚拟的电脑,称之为虚拟机。
为什么要利用虚拟机?
学习Linux体系,必要有Linux体系环境。
我们不能给自己电脑重装体系为Linux,以是通过虚拟机的形式,得到可以用的Linux体系环境,供后续学习利用。
2 VMware WorkStation安装

大概通过快捷键:win + r输入ncpa.cpl回车即可打开网络毗连
[img]https
://i-blog.csdnimg.cn/img_convert/10c5256d5f121645c186b31fb7f268b2.png[/img]

下载CentOS镜像
https
://vault.centos.org/7.6.1810/isos/x86_64/
用户名:centos
暗码:1234
3 FinalShell远程Linux操作体系

无论是企业开发亦或是个人开发,利用Linux操作体系,多数都是利用的:命令行
我们利用VMware可以得到Linux虚拟机,但是在VMware中操作Linux的命令行页面不太方便,重要是:
内容的复制、粘贴超过VMware不方便
文件的上传、下载超过VMware不方便
也就是和Linux体系的各类交互,超过VMware不方便
[img]https
://i-blog.csdnimg.cn/img_convert/e5d44f00d4a1e16284b612e1420f0147.png[/img]

[img]https
://i-blog.csdnimg.cn/img_convert/161b67c960f70a8deb6a1ca270383830.png[/img]

4 快照

VMware虚拟机(Workstation和Funsion)支持为虚拟机制作快照。
通过快照将当前虚拟机的状态保存下来,在以后可以通过快照恢复虚拟机到保存的状态。
快照可以保存虚拟机的状态, 当虚拟机出现问题的时候, 可以通过预先制作的快照恢复到制作时候的状态, 用作备份用。
[img]https
://i-blog.csdnimg.cn/img_convert/16dc23e6a92db4db000a2ecce02191f1.png[/img]

[img]https
://i-blog.csdnimg.cn/img_convert/a32f4ec657d7e6df30fe9fc0b94528bb.png[/img]

第二章 Linux基础命令

1 命令入门(ls
cd mkdir)


Linux的目录结构是一个树型结构
Windows 体系可以拥有多个盘符, 如 C盘、D盘、E盘
Linux没有盘符这个概念, 只有一个根目录 /, 所有文件都在它下面
[img]https
://i-blog.csdnimg.cn/img_convert/ee04546ffeee03e5bfb0ddfcd28e1d2e.png[/img]

在Linux体系中,路径之间的层级关系,利用:/ 来表示 /usr/local/hello.txt
在Windows体系中,路径之间的层级关系,利用: \ 来表示 D:\data\work\hello.txt
Linux命令基础格式
无论是什么命令,用于什么用途,在Linux中,命令有其通用的格式:
command [-options] [parameter]
command: 命令本身
-options:[可选,非必填]命令的一些选项,可以通过选项控制命令的活动细节
parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等
ls
是 Linux 体系中用于列出目录内容的命令,常用于检察当前目录下的文件和子目录。

ls
命令基本语法


  1. ls
  2. [选项] [目录或文件路径]
复制代码

常用选项
  1. ls
复制代码
  1. - 列出当前目录下的文件和子目录,按默认顺序显示(不显示隐藏文件)。
复制代码
  1. ls
  2. -l
复制代码
  1. - 以长格式显示,包含权限、所有者、大小、修改时间等信息。
复制代码
  1. ls
  2. -a
复制代码
  1. - 列出所有文件,包括隐藏文件(以 `.` 开头的文件)。
复制代码
  1. ls
  2. -lh
复制代码
  1. - 文件大小以人类可读的格式显示(如 KB、MB)。
复制代码
  1. ls
  2. -R
复制代码
  1. - 列出当前目录及其所有子目录的内容。
复制代码
  1. ls
  2. -lt
复制代码
  1. - 按修改时间排序(最新的文件在最上面)。
复制代码
  1. ls
  2. -d */
复制代码
  1. - 列出当前目录下的所有子目录。
复制代码
  1. ls
  2. -i
复制代码
  1. - 显示文件的inode编号(文件在文件系统中的唯一标识)。
复制代码
  1. ls
  2. -lS
复制代码
  1. - 按文件大小排序(从大到小)。
复制代码
  1. ls
  2. --color=auto
复制代码
  1. - 按不同颜色显示文件类型和权限(通常系统默认启用)。
复制代码

组合利用

  1. ls
  2. -alh
复制代码

  1. ls
  2. -lat
复制代码

  1. ls
  2. -lR
复制代码

显示效果示例
  1. $ ls
  2. -lh-rw-r--r--  1 user group 1.2K Jan  8  2025 example.txtdrwxr-xr-x  2 user group 4.0K Jan  8  2025 my_directory/
复制代码


资助与手册

  1. ls
  2. --help
复制代码

  1. man ls
复制代码
Linux体系的命令行终端,在启动的时候,默认会加载:
当前登录用户的HOME目录作为当前工作目录,以是ls
命令列出的是HOME目录的内容
HOME目录:每个Linux操作用户在Linux体系的个人账户目录,路径在:/home/用户名
[img]https
://i-blog.csdnimg.cn/img_convert/b557947540087e2d3d25286e27717caf.png[/img]

cd切换工作目录

cd (change directory)命令是 Linux 和类 Unix 体系中用来切换工作目录的命令。它允许用户在不同目录间切换,以便访问或操作文件和目录。

基本语法
  1. cd [目标目录路径]
复制代码


常用操作
  1. cd /
  2. path/to/directory
复制代码
  1. - 例如:`cd /
  2. home/user/documents`,切换到 `/home/user/documents` 目录。
复制代码
  1. cd ..
复制代码
  1. - `..` 表示当前目录的上一级目录。
复制代码
  1. cd ~
复制代码
  1. - 或直接使用 `cd` 不带任何参数。
  2. - 主目录通常是 `/home/username`。
复制代码
  1. cd -
复制代码
  1. - 切换到之前的工作目录,并显示该目录的路径。
复制代码
  1. cd subdirectory
复制代码
  1. - 如果当前目录为 `/home/user`,运行 `cd documents` 则切换到 `/home/user/documents`。
复制代码
  1. cd /
复制代码
  1. - `/` 是文件系统的根目录。
复制代码
  1. cd $HOME
复制代码
  1. - **环境变量可以指向常用的目录**,如:
复制代码
  1. export MYDIR=/path/to/mydir
  2. cd $MYDIR
复制代码

常见路径符号
符号阐明.当前目录..上一级目录~当前用户的主目录(如 /home/username
)/文件体系根目录
检察当前目录
利用以下命令pwd
(print work directory)可以检察当前工作目录:
  1. pwd
复制代码

[img]https
://i-blog.csdnimg.cn/img_convert/834be8ac975a037d7e731164db6aebcd.png[/img]

示例操作
  1. cd /
  2. etc
复制代码
  1. cd ..
复制代码
  1. cd ~
复制代码
  1. cd -
复制代码

常见错误及办理方法
  1. cd /
  2. nonexistent
复制代码
错误:No such file or directory
办理:确认目标目录路径是否正确。
  1. cd /
  2. root
复制代码
错误:Permission denied
办理:利用具有充足权限的账户(如sudo)。

资助与参考

  1. help cd
复制代码

相对路径和绝对路径

绝对路径:以根目录为出发点,描述路径的一种写法,路径描述以/开头
相对路径:以当前目录为出发点,描述路径的一种写法,路径描述无需以/开头
[img]https
://i-blog.csdnimg.cn/img_convert/d7280811ef5f688f36952ea546bc458d.png[/img]

创建目录命令(mkdir)

mkdir (makedirectory)是 Linux 体系中用来创建目录的命令。它可以创建一个或多个目录,支持指定权限或递归创建路径。

基本语法
  1. mkdir [选项] 目录名称
复制代码

常用选项
  1. mkdir directory_name
复制代码
  1. - 示例:`mkdir mydir
  2. `  
复制代码
创建名为 mydir 的目录。
  1. mkdir -p parent_directory/child_directory
复制代码
  1. - 示例:`mkdir -p /home/user/projects/myproject`  
复制代码
如果父目录不存在,-p 选项会主动创建所有必要的父目录。
  1. mkdir -m mode directory_name
复制代码
  1. - 示例:`mkdir -m 755 mydir`  
复制代码
创建目录并设置权限为 755(用户可读写执行,组和其他用户可读执行)。
  1. mkdir -v directory_name
复制代码
  1. - 示例:`mkdir -v mydir
  2. `  
复制代码
显示雷同输出:mkdir: created directory 'mydir'。
  1. mkdir -pv /home/user/newproject/subdir
复制代码
  1. - 创建多级目录,并显示创建过程。
复制代码

目录权限阐明


常见示例
  1. mkdir dir1 dir2 dir3
复制代码
  1. - 同时创建 `dir1`、`dir2` 和 `dir3` 三个目录。
复制代码
  1. mkdir -p /tmp/test/project
复制代码
  1. - 如果 `/tmp/test` 不存在,会自动创建。
复制代码
  1. mkdir -m 700 secure_dir
复制代码
  1. - 创建 `secure_dir`,并设置权限为仅用户可读写执行。
复制代码
  1. mkdir -v mydir
复制代码
  1. - 输出创建过程:`mkdir: created directory 'mydir'`。
复制代码

错误和办理方法
  1. mkdir mydir
复制代码
错误:mkdir: cannot create directory 'mydir': File exists
办理:确认目录是否已经存在,或利用 mkdir -p。
  1. mkdir /root/newdir
复制代码
错误:mkdir: cannot create directory '/root/newdir': Permission denied
办理:利用 sudo 提升权限:
  1. sudo mkdir /root/newdir
复制代码

检察资助和手册

  1. mkdir --help
复制代码

  1. man mkdir
复制代码

总结
mkdir 是一个简朴而强大的工具,用于创建目录。结合 -p 和权限选项,可以顺应大多数目录创建需求,是 Linux 文件体系管理的重要基础命令之一。
2 文件操作命令part1(touch、cat、more)

以下是 Linux 文件操作命令中的三个基本命令:touch、cat 和 more 的具体先容及其用法。

1. touch 命令

touch 命令重要用于创建空文件或更新文件的时间戳。
基本用法
  1. touch filename
复制代码
  1. - 示例:`touch file1`  
复制代码
如果 file1 不存在,会创建一个空文件;如果文件已存在,仅更新其时间戳。
  1. touch file1 file2 file3
复制代码
  1. - 示例:`touch doc1 doc2 doc3`  
复制代码
创建 doc1、doc2 和 doc3。
  1. touch -c filename
复制代码
  1. - 示例:`touch -c file1`  
复制代码
如果文件存在,更新其访问和修改时间;如果文件不存在,不创建新文件。
  1. touch -t [[CC]YY]MMDDhhmm[.ss] filename
复制代码
  1. - 示例:`touch -t 202501081230 file1`  
复制代码
将 file1 的时间设置为 2025 年 1 月 8 日 12:30。

2. cat 命令

cat 命令用于检察文件内容、合并文件或创建文件。
基本用法
  1. cat filename
复制代码
  1. - 示例:`cat file1`  
复制代码
显示 file1 的内容。
  1. cat -n filename
复制代码
  1. - 示例:`cat -n file1`  
复制代码
为文件内容添加行号并显示。
  1. cat file1 file2 > merged_file
复制代码
  1. - 示例:`cat part1.txt part2.txt > combined.txt`  
复制代码
将 part1.txt 和 part2.txt 的内容合并到 combined.txt。
  1. cat > filename
复制代码
  1. - 示例:`cat > file1`  
复制代码
输入内容后按 Ctrl+D 保存。
  1. cat >> filename
复制代码
  1. - 示例:`cat >> file1`  
复制代码
向 file1 中追加内容,输入完成后按 Ctrl+D。

3. more 命令

more 命令用于分页显示文件内容,适合检察较长文件。
基本用法
  1. more filename
复制代码
  1. - 示例:`more largefile.txt`  
复制代码
分页显示 largefile.txt 的内容,每次显示一页。
  1. command | more
复制代码
  1. - 示例:`ls
  2. -l | more`  
复制代码
分页显示 ls
-l 的输出。

总结对比

命令功能阐明常见场景touch创建文件或更新文件时间戳创建新文件cat检察文件内容,创建或合并文件检察文件或合并多个文件more分页检察文件内容检察大文件内容,逐页显示
资助与手册

3 文件操作命令part2(cp、mv、rm)

以下是 Linux 文件操作命令中的三个重要命令:cp、mv 和 rm 的具体先容及用法。

1. cp 命令

cp 命令用于复制文件或目录。
基本用法
  1. cp source_file destination
复制代码
  1. - 示例:`cp file1.txt /home/user/`  
复制代码
将 file1.txt 复制到 /home/user/ 目录。
  1. cp file1.txt file2.txt /home/user/
复制代码
  1. - 示例:将 `file1.txt` 和 `file2.txt` 复制到 `/home/user/`。
复制代码
  1. cp -r source_directory destination
复制代码
  1. - 示例:`cp -r mydir /home/user/`  
复制代码
将目录 mydir 及其内容复制到 /home/user/。
  1. cp -i source_file destination
复制代码
  1. - 示例:`cp -i file1.txt /home/user/`  
复制代码
如果目标文件已存在,会提示用户是否覆盖。
  1. cp -p source_file destination
复制代码
  1. - 示例:`cp -p file1.txt /home/user/`  
复制代码
复制文件时保留原始权限、时间戳和所有者。
  1. cp -v source_file destination
复制代码
  1. - 示例:`cp -v file1.txt /home/user/`  
复制代码
显示文件复制过程。

2. mv 命令

mv 命令用于移动或重命名文件和目录。
基本用法
  1. mv source_file destination
复制代码
  1. - 示例:`mv file1.txt /home/user/`  
复制代码
将 file1.txt 移动到 /home/user/。
  1. mv file1.txt file2.txt /home/user/
复制代码
  1. - 示例:将 `file1.txt` 和 `file2.txt` 移动到 `/home/user/`。
复制代码
  1. mv old_name new_name
复制代码
  1. - 示例:`mv file1.txt file2.txt`  
复制代码
将 file1.txt 重命名为 file2.txt。
  1. mv -i source_file destination
复制代码
  1. - 示例:`mv -i file1.txt /home/user/`  
复制代码
如果目标文件已存在,会提示用户是否覆盖。
  1. mv -f source_file destination
复制代码
  1. - 示例:`mv -f file1.txt /home/user/`  
复制代码
欺压覆盖目标文件。
  1. mv -v source_file destination
复制代码
  1. - 示例:`mv -v file1.txt /home/user/`  
复制代码
显示文件移动的具体信息。

3. rm 命令

rm 命令用于删除文件或目录。
基本用法
  1. rm filename
复制代码
  1. - 示例:`rm file1.txt`  
复制代码
删除 file1.txt。
  1. rm file1.txt file2.txt
复制代码
  1. - 示例:删除 `file1.txt` 和 `file2.txt`。
复制代码
  1. rm -r directory_name
复制代码
  1. - 示例:`rm -r mydir`  
复制代码
删除目录 mydir 及其内容。
  1. rm -f filename
复制代码
  1. - 示例:`rm -f file1.txt`  
复制代码
欺压删除文件,忽略不存在的文件和提示。
  1. rm -rf directory_name
复制代码
  1. - 示例:`rm -rf mydir`  
复制代码
欺压删除目录 mydir 及其内容。
  1. rm -i filename
复制代码
  1. - 示例:`rm -i file1.txt`  
复制代码
删除前逐一提示用户确认。

命令对比总结

命令功能阐明常见场景cp复制文件或目录文件备份、复制目录内容mv移动或重命名文件或目录文件重命名、移动文件到指定目录rm删除文件或目录删除无用文件或清理目录内容
注意事项

资助与手册

[img]https
://i-blog.csdnimg.cn/img_convert/0c8146fda7ba45fac649b5472ae0dbf5.png[/img]

恢复快照就行了
4 查找命令(which、find)

以下是 Linux 体系中两个常用的查找命令:which 和 find 的具体先容及其用法。

1. which 命令

which 用于查找可执行文件的路径,它会在体系环境变量 $PATH 中查找命令的所在位置。
基本用法
  1. which command_name
复制代码
  1. - 示例:查找 `ls
  2. ` 命令的路径
复制代码
  1. which ls
复制代码
输出:/bin/ls

[img]https
://i-blog.csdnimg.cn/img_convert/e1836ccd4486b15c58d6aabbd745efee.png[/img]

  1. which command1 command2
复制代码
  1. - 示例:
复制代码
  1. which ls
  2. pwd
复制代码
[img]https
://i-blog.csdnimg.cn/img_convert/4d64f8c78363811f8b9af12a27316d87.png[/img]

输出:
  1. /bin/ls
  2. /bin/pwd
复制代码

适用场景


2. find 命令

find 是功能强大的查找工具,用于在目录中查找文件或目录,支持基于名称、大小、时间等多种条件的搜刮。
基本用法
  1. find path -name filename
复制代码
  1. - 示例:在 `/home/user` 中查找名为 `test.txt` 的文件
复制代码
  1. find /home/user -name "test.txt"
复制代码
  1. find path -type file_type
复制代码
  1. - 文件类型说明:
  2.     * `f`:普通文件
  3.     * `d`:目录
  4.     * `l`:符号链接
  5. - 示例:查找 `/var` 下的所有目录
复制代码
  1. find /var -type d
复制代码
  1. find path -size [+|-]size
复制代码
  1. - 示例:查找大于 10MB 的文件
复制代码
  1. find /home -size +10M
复制代码
  1. find path -mtime [+|-]days
复制代码
  1. - 示例:查找最近 7 天修改过的文件
复制代码
  1. find /home -mtime -7
复制代码
  1. find path -name filename
  2. -exec command {} \;
复制代码
  1. - 示例:删除 `/tmp` 目录下的所有 `.log` 文件
复制代码
  1. find /tmp -name "*.log" -exec rm -f {} \;
复制代码
  1. find /path -name "*.txt" -print
复制代码

find 的高级选项
  1. find /home -type f -size +1M -name "*.txt"
复制代码
  1. - **逻辑或**:`-o`
复制代码
  1. find /home -type f -name "*.txt" -o -name "*.log"
复制代码
  1. find /home -iname "*.txt"
复制代码
  1. - `-iname` 用于忽略文件名大小写。
复制代码
  1. find /home -maxdepth depth
复制代码
  1. - 示例:只在当前目录查找
复制代码
  1. find /home -maxdepth 1 -name "*.txt"
复制代码

which 和 find 的对比

功能whichfind用途查找命令的可执行路径查找文件、目录或满足特定条件的对象查找范围$PATH
环境变量中的路径用户指定的目录范围支持条件无条件支持多种条件(名称、大小、时间等)输出可执行文件的路径文件或目录的完备路径利用场景快速定位命令所在路径灵活搜刮文件、目录
资助与手册

  1. which --help
  2. man which
复制代码

  1. find --help
  2. man find
复制代码
5 grep、wc和管道符

1. grep 命令

grep 是 Linux 中的强大工具,用于在文件或输入中搜刮指定的字符串或模式,并输出匹配的行。
基本语法
  1. grep [选项] "匹配模式" 文件
复制代码
常用选项
  1. grep "关键字" 文件名
复制代码
示例:搜刮文件 test.txt 中包罗 “error” 的行:
  1. grep "error" test.txt
复制代码
  1. grep -i "关键字" 文件名
复制代码
示例:
  1. grep -i "Error" test.txt
复制代码
  1. grep -n "关键字" 文件名
复制代码
示例:显示匹配行的行号:
  1. grep -n "error" test.txt
复制代码
  1. grep -r "关键字" 目录
复制代码
示例:递归搜刮当前目录及其子目录中包罗 “error” 的文件:
  1. grep -r "error" .
复制代码
  1. grep -E "正则表达式" 文件名
复制代码
示例:匹配包罗数字的行:
  1. grep -E "[0-9]+" test.txt
复制代码

2. wc 命令

wc 用于统计文件的行数、单词数和字符数。
基本语法
  1. wc [选项] 文件
复制代码
常用选项
  1. wc -l 文件名
复制代码
示例:统计文件 test.txt 的行数:
  1. wc -l test.txt
复制代码
  1. wc -w 文件名
复制代码
示例:统计文件 test.txt 的单词数:
  1. wc -w test.txt
复制代码
  1. wc -c 文件名
复制代码
示例:统计文件 test.txt 的字符数:
  1. wc -c test.txt
复制代码
  1. wc 文件名
复制代码
示例:
  1. wc test.txt
复制代码

3. 管道符(|)

管道符 | 用于将一个命令的输出作为另一个命令的输入,通常用于组合多个命令来处置惩罚数据。
管道符的用法
  1. 命令1 | 命令2
复制代码

grep、wc 和管道符的组合示例
  1. grep "关键字" 文件名
  2. | wc -l
复制代码
示例:统计 test.txt 中包罗 “error” 的行数:
  1. grep "error" test.txt
  2. | wc -l
复制代码
  1. ls
  2. | wc -l
复制代码
示例:统计当前目录下的文件和子目录数目:
  1. ls
  2. | wc -l
复制代码
  1. grep "error" /var/log/syslog | wc -l
复制代码
  1. grep -E "[0-9]+" test.txt
  2. | wc -l
复制代码
  1. ps
  2. aux | grep "java"
复制代码

总结

命令功能示例grep搜刮文件内容grep "error" test.txt
wc统计文件行数、单词数、字符数wc -l test.txt
管道符将一个命令的输出作为另一个命令的输入`ls
通过组合利用 grep、wc 和管道符,可以高效完成文本筛选、统计和分析任务,是 Linux 体系中处置惩罚数据的常用技巧。
6 echo、tail和重定向符

1. echo 命令

基本功能
echo 用于在终端输出字符串或变量的值,是 Linux 中最基础的输出命令之一。
基本语法
  1. echo [选项] [字符串]
复制代码
常用选项
  1. echo "Hello, World!"
复制代码
  1. - 输出结果:`Hello, World!`
复制代码
  1. name="Linux"
  2. echo "Welcome to $name!"
复制代码
  1. - 输出结果:`Welcome to Linux!`
复制代码
  1. echo -n "Hello"
复制代码
  1. - 输出结果:`Hello`(不换行)
复制代码
  1. echo -e "Hello\nWorld!"
复制代码
  1. - 输出结果:
复制代码
  1. Hello
  2. World!
复制代码
  1. - **常用转义字符**:
  2.     * `\n`:换行
  3.     * `\t`:水平制表符(Tab)
  4.     * `\\`:反斜杠
复制代码
  1. echo "Hello, Linux!" > file.txt
复制代码

2. tail 命令

基本功能
tail 用于显示文件的最后几行内容,常用于检察日志文件。
基本语法
  1. tail [选项] 文件
复制代码
常用选项
  1. tail file.txt
复制代码
  1. - 默认显示文件的最后10行。
复制代码
  1. tail -n 行数 文件
复制代码
  1. - 示例:显示文件的最后5行:
复制代码
  1. tail -n 5 file.txt
复制代码
  1. tail -f 文件
复制代码
  1. - 示例:实时查看日志文件的更新:
复制代码
  1. tail -f /var/log/syslog
复制代码
  1. tail -n +行号 文件
复制代码
  1. - 示例:从第3行开始显示文件内容:
复制代码
  1. tail -n +3 file.txt
复制代码

3. 重定向符

基本功能
重定向符用于将命令的输出或输入重定向到文件或其他命令。
重定向符种类
  1. echo "Hello, Linux!" > file.txt
复制代码
  1.     * 将 `echo` 的输出写入 `file.txt`,如果文件已存在,会覆盖原内容。
  2. - 追加写入:
复制代码
  1. echo "Append this line." >> file.txt
复制代码
  1.     * 将内容追加到 `file.txt` 的末尾。
复制代码
  1. command &
  2. lt; file.txt
复制代码
  1. - 示例:将 `file.txt` 的内容作为命令的输入。
复制代码
  1. command 2> error.log
复制代码
  1.     * 将命令的错误输出写入 `error.log`。
  2. - 同时重定向标准输出和错误输出:
复制代码
  1. command &
  2. gt; output.log 2>&1
复制代码
  1.     * 将命令的正常输出和错误输出都写入 `output.log`。
复制代码
  1. command1 | command2 > output.txt
复制代码

常见示例
  1. echo "This is a test" > test.txt
  2. tail test.txt
复制代码
  1. tail -f /var/log/syslog
  2. >> system_update
  3. s.log
复制代码
  1. echo -e "line1\nline2\nline3" > test.txt
  2. tail -n 2 test.txt > last_two_lines.txt
复制代码

总结

命令/符号功能echo输出字符串或变量的值,常用于打印信息或写入文件tail检察文件的最后几行内容,动态监控文件更新>重定向输出到文件(覆盖写入)>>重定向输出到文件(追加写入)<将文件内容作为命令输入2>将错误输出重定向到文件`` 通过灵活组合这些命令和符号,可以高效地处置惩罚文本、监控日志文件以及调试输出信息,是 Linux 体系中一样寻常工作的基础工具。
7 vi编辑器

vi 是一个强大的文本编辑器,是 Linux 和 Unix 体系中最常用的编辑器之一。它功能强大,适用于编程、设置文件编辑等各种用途。
基本概念
vi 编辑器有三种模式:
1. 启动 vi 编辑器

  1. vi 文件名
复制代码
如果文件存在,它将打开该文件。如果文件不存在,vi 会创建一个新文件。
2. vi 编辑器的基本操作

切换到插入模式


切换到命令模式


命令模式的基本操作

底行模式的基本操作

命令模式 下,按 : 进入 底行模式,可以执行以下命令:

3. 退出 vi 编辑器


4. vi 的高级功能

  1. vi file1.txt file2.txt
复制代码
  1. - 切换文件:
复制代码
  1. :n  # 切换到下一个文件
  2. :prev  # 切换到上一个文件
复制代码

5. 总结

操作命令插入模式i
, I
, a
, A
, o
, O命令模式h
, j
, k
, l
, w
, b
, $删除操作x
, dd
, d$
, dw复制和粘贴yy
, p
, P查找和替换/关键字
, :%s/旧/新/g保存和退出:w
, :q
, :wq
, :q!打消与重做u
, Ctrl + r vi 编辑器的学习曲线大概较陡,但一旦把握,它将是一个非常强大的工具,适合用于各种文本编辑任务。
快速体验
利用:vim hello.txt,编辑一个新文件,执行后进入的是命令模式
在命令模式内,按键盘 i ,进入输入模式
在输入模式内输入:hello world.
输入完成后,按esc回退会命令模式
在命令模式内,按键盘 : ,进入底线命令模式
在底线命令内输入:wq,保存文件并退出vi编辑器
补充

任何命令都支持:–help 选项, 可以通过这个选项,检察命令的资助。
如:ls
--help, 会列出ls
命令的资助文档
如果想要检察命令的具体手册,可以通过man(manual, 手册)命令检察
比如:
man ls

,就是检察ls
命令的具体手册
man cd,就是检察cd命令的具体手册
第三章 用户和权限

1 认识root用户

1 root用户

无论是Windows、MacOS、Linux均采用多用户的管理模式举行权限管理。
在Linux体系中,拥有最大权限的账户名为:root(超级管理员)
前期,我一直利用的账户是普通的用户:centos
[img]https
://i-blog.csdnimg.cn/img_convert/39639cfe3239be7c33bed2c71b912328.png[/img]

[img]https
://i-blog.csdnimg.cn/img_convert/c9c4ba7ff610f3ab10ecb3550f2595c0.png[/img]

2. su命令

可以切换用户,语法:su [-] [用户名]

用户可以省略,省略默认切换到root
在前面,我们接触过su命令切换到root账户。
su命令就是用于账户切换的体系命令,其来源英文单词:Switch User
语法:

3. sudo命令

可以让一条普通命令带有root权限,语法:sudo 其他命令
必要以root用户执行visudo命令,增加设置方可让普通用户有sudo命令的执行权限
centos ALL=(ALL) NOPASSED:ALL不消暗码也能执行sudo
可以利用sudo命令,为普通的命令授权,临时以root身份执行。
语法:sudo 其他命令
在其它命令之前,带上sudo,即可为这一条命令临时赋予root授权
但是并不是所有的用户,都有权利利用sudo,我们必要为普通用户设置sudo认证
2 用户、用户组管理

Linux体系中可以:

Linux中关于权限的管控级别有2个级别,分别是:

在 Linux 体系中,用户管理用户组管理是体系管理员常用的任务,旨在为体系中的各个用户分配权限并保持体系的安全性。用户可以被分配到一个或多个用户组中,通过组管理来更高效地控制文件和资源的访问权限。
1. 用户管理

创建用户
要在 Linux 体系中创建新用户,利用 useradd 命令。
  1. sudo useradd [选项] 用户名
复制代码
常见选项:

示例:
  1. sudo useradd -m -s /bin/bash -g users -G sudo,developers username
复制代码
这将创建一个名为 username 的用户,指定默认 shell 为 /bin/bash,主用户组为 users,并将该用户添加到 sudo 和 developers 这两个附加用户组中。
设置用户暗码

创建用户后,你通常必要为其设置暗码。利用 passwd 命令:
  1. sudo passwd 用户名
复制代码
示例:
  1. sudo passwd username
复制代码
体系会要求输入两次暗码,暗码设置成功后,用户可以利用该暗码登录。
检察用户信息

要检察当前体系中的用户信息,可以利用 cat 检察 /etc/passwd 文件。此文件包罗了体系上所有用户的信息。
  1. cat /etc/passwd
复制代码
每行包罗:

删除用户

要删除一个用户,利用 userdel 命令:
  1. sudo userdel 用户名
复制代码
要删除用户及其家目录(如果存在),利用 -r 选项:
  1. sudo userdel -r 用户名
复制代码
修改用户

要修改用户的信息(如修改用户名、用户组等),利用 usermod 命令。
示例:

  1. sudo usermod -l 新用户名 旧用户名
复制代码

  1. sudo usermod -d /新路径 -m 用户名
复制代码
-m 选项会移动用户的文件到新的目录。

2. 用户组管理

创建用户组

要创建一个新用户组,利用 groupadd 命令:
  1. sudo groupadd 用户组名
复制代码
示例:
  1. sudo groupadd developers
复制代码
这将创建一个名为 developers 的新用户组。
检察用户组信息

要检察当前体系中的所有用户组,可以检察 /etc/group 文件:
  1. cat /etc/group
复制代码
每行包罗:

添加用户到用户组

可以利用 usermod 命令将用户添加到现有的用户组。利用 -aG 选项来追加用户到附加用户组。
  1. sudo usermod -aG 用户组名 用户名
复制代码
示例:
  1. sudo usermod -aG developers username
复制代码
这将把 username 添加到 developers 用户组中。
删除用户组

要删除用户组,利用 groupdel 命令:
  1. sudo groupdel 用户组名
复制代码
示例:
  1. sudo groupdel developers
复制代码
删除用户组中的用户

如果你想从用户组中移除用户,而不是删除整个用户组,可以利用 gpasswd 命令:
  1. sudo gpasswd -d 用户名 用户组名
复制代码
示例:
  1. sudo gpasswd -d username developers
复制代码
这将把 username 从 developers 用户组中移除。

3. 常用命令和文件

检察当前用户和组


示例:
  1. id username
复制代码
输出效果:
  1. uid=1001(username) gid=1001(username) groups
  2. =1001(username),1002(developers)
复制代码
文件权限与用户组

Linux 利用三种权限(读、写、执行)来控制文件和目录的访问:

权限是按用户(owner)、用户组(group)和其他用户(others)来设置的。

  1. ls
  2. -l 文件名
复制代码
输出示例:
  1. -rwxr-xr-- 1 username developers 12345 May 1 12:34 filename
复制代码
解释:
  1. - `rwx`:文件所有者 (`username`) 有读、写、执行权限。
  2. - `r-x`:文件所属用户组 (`developers`) 有读、执行权限。
  3. - `r--`:其他用户有读权限。
复制代码

  1. chmod 755 文件名
复制代码
7 表示文件所有者的权限是读、写、执行(rwx),5 表示用户组的权限是读和执行(r-x),5 表示其他用户的权限是读和执行(r-x)。

  1. sudo chown 用户名:用户组 文件名
复制代码
示例:
  1. sudo chown username:developers file.txt
复制代码

总结

命令功能useradd创建新用户passwd设置或修改用户暗码usermod修改现有用户的属性(如用户名、家目录等)userdel删除用户groupadd创建新用户组groupdel删除用户组usermod -aG将用户添加到附加用户组gpasswd -d从用户组中删除用户id检察当前用户的 UID、GID 以及所属的所有组groups
检察当前用户所属的所有组 用户和用户组管理是体系管理员一样寻常任务的重要组成部门。合理的用户组设计可以资助简化权限管理,进步体系的安全性和可维护性。
[img]https
://i-blog.csdnimg.cn/img_convert/f66c077799621f54728615f401ccb741.png[/img]

3 权限控制

1 检察权限控制

通过ls
-l 可以以列表形式检察内容,并显示权限细节
[img]https
://i-blog.csdnimg.cn/img_convert/34d195c9cea69159cef51f19f13d4e07.png[/img]

序号1,表示文件、文件夹的权限控制信息
序号2,表示文件、文件夹所属用户
序号3,表示文件、文件夹所属用户组
解析一下序号1,权限细节
权限细节总共分为10个槽位
[img]https
://i-blog.csdnimg.cn/img_convert/e51f9d78ade2b73d32e6fdf578709ccd.png[/img]

举例:drwxr-xr-x,表示:

[img]https
://i-blog.csdnimg.cn/img_convert/aa42fdb80b2d30791332787982f1e1f6.png[/img]

那么,rwx到底代表什么呢?
r表示读权限
w表示写权限
x表示执行权限
针对文件、文件夹的不同,rwx的寄义有渺小差别
r,针对文件可以检察文件内容
针对文件夹,可以检察文件夹内容,如ls
命令
w,针对文件表示可以修改此文件
针对文件夹,可以在文件夹内:创建、删除、改名等操作
x,针对文件表示可以将文件作为程序执行
针对文件夹,表示可以更改工作目录到此文件夹,即cd进入
[img]https
://i-blog.csdnimg.cn/img_convert/6691d73118194d74a6d282ed550f698b.png[/img]

2 修改权限控制 - chmod

chmod(Change Mode)是一个用来修改文件或目录权限的 Linux 命令。通过它,用户可以指定文件或目录的访问权限,从而控制谁能访问和操作该文件或目录。
文件权限的基本概念

每个文件或目录在 Linux 中都有三种范例的权限:
文件权限分为三个类别:

基本语法

  1. chmod [选项] 权限 文件名
复制代码

权限的表示方法

chmod 有两种常见的权限表示方法:

1. 符号模式

符号模式利用字符来表示权限:

格式:chmod [who][operator][permissions] 文件名

例子

  1. chmod g+w file.txt
复制代码
这将为文件 file.txt 添加用户组的写权限。

  1. chmod o-x file.txt
复制代码

  1. chmod u=rw,go=r file.txt
复制代码

  1. chmod a+r file.txt
复制代码

2. 数字模式

数字模式利用三个数字表示文件权限,每个数字由以下三种基本权限组成:

数字模式中的每个数字表示用户类别的权限:

每个数字是这三个权限值的和:

例如:

例子

  1. chmod 764 file.txt
复制代码
  1. - `7`(用户:rwx)
  2. - `6`(组:rw-)
  3. - `4`(其他:r--)
复制代码

  1. chmod 777 file.txt
复制代码

  1. chmod 400 file.txt
复制代码

将hello.txt的权限修改为: r-x–xr-x,数字序号为:
  1. chmod 515 hello.txt
复制代码
将hello.txt的权限修改为: -wx-w-rw-,数字序号为:
  1. chmod 326 hello.txt
复制代码
3. 修改目录权限

修改目录的权限和文件雷同,但必要特别注意的是执行权限对于目录的作用:

例如:

  1. chmod 755 mydir
复制代码
  1. - 用户有读、写、执行权限,组和其他用户只有读和执行权限。
复制代码

4. 常用选项


示例:
  1. chmod -R 755 mydir
复制代码
这将递归地为 mydir 及其所有子目录和文件设置权限。

5. 权限的检察

利用 ls
-l 命令检察文件或目录的权限:
  1. ls
  2. -l 文件名
复制代码
输出示例:
  1. -rwxr-xr-- 1 user1 group1 1024 Apr 1 12:34 file.txt
复制代码


总结

命令描述chmod 755 文件名
给文件设置权限:用户(rwx),用户组(r-x),其他用户(r-x)chmod -R 755 目录名递归设置目录及其子目录和文件的权限chmod u+x 文件名为文件所有者添加执行权限chmod g-w 文件名从文件所属用户组移除写权限chmod 644 文件名文件权限:用户(rw-),组用户(r–),其他用户(r–)chmod 777 文件名给所有用户设置读、写、执行权限 chmod 是管理文件和目录权限的重要工具,合理地设置权限可以或许有效地保护体系的安全性和数据的隐私性。
3 修改权限控制 - chown

chown 是 Linux 体系中用于修改文件或目录的所有者(user)和用户组(group)的命令。通过 chown 命令,体系管理员可以更改文件或目录的拥有者和所属组,从而管理文件的访问权限和控制哪些用户可以访问。
基本语法

  1. chown [选项] 所有者:用户组 文件名
复制代码

常用的选项



1. 修改文件或目录的所有者

如果你只想修改文件的拥有者(用户),可以利用 chown 并指定新的所有者:
  1. chown 用户名 文件名
复制代码
例如:
  1. sudo chown alice file.txt
复制代码
这将把文件 file.txt 的拥有者改为 alice。

2. 修改文件或目录的用户组

如果你只想修改文件的所属用户组(组),可以利用 chown 并指定新的用户组:
  1. chown :用户组 文件名
复制代码
例如:
  1. sudo chown :staff file.txt
复制代码
这将把文件 file.txt 的所属用户组改为 staff。

3. 修改文件的所有者和用户组

如果你必要同时修改文件的拥有者和用户组,可以利用以下格式:
  1. chown 用户名:用户组 文件名
复制代码
例如:
  1. sudo chown alice:admin file.txt
复制代码
这将把文件 file.txt 的拥有者改为 alice,所属用户组改为 admin。

4. 递归修改目录及其内容的所有者和用户组

如果你想递归地修改一个目录及其所有子目录和文件的所有者和用户组,可以利用 -R 选项:
  1. sudo chown -R 用户名:用户组 目录名
复制代码
例如:
  1. sudo chown -R alice:staff /home/alice
复制代码
这将把目录 /home/alice 及其所有子文件和子目录的所有者改为 alice,所属用户组改为 staff。

5. 利用参考文件设置所有者和用户组

你还可以利用 --reference 选项,将目标文件的所有者和用户组设置为与参考文件相同:
  1. sudo chown --reference=参考文件 文件名
复制代码
例如:
  1. sudo chown --reference=file1.txt file2.txt
复制代码
这将把文件 file2.txt 的所有者和用户组设置为与 file1.txt 相同。

6. 检察文件的所有者和用户组

可以利用 ls
-l 命令来检察文件或目录的所有者和用户组:
  1. ls
  2. -l 文件名
复制代码
示例输出:
  1. -rw-r--r-- 1 alice staff 1024 Apr 1 12:34 file.txt
复制代码


7. 举例阐明

修改文件的所有者:
  1. sudo chown john file.txt
复制代码
这将把 file.txt 的所有者修改为 john。
修改文件的用户组:
  1. sudo chown :developers file.txt
复制代码
这将把 file.txt 的用户组修改为 developers。
修改文件的所有者和用户组:
  1. sudo chown john:developers file.txt
复制代码
这将把 file.txt 的所有者修改为 john,用户组修改为 developers。
递归修改目录及其内容的所有者和用户组:
  1. sudo chown -R john:developers /home/john
复制代码
这将把 /home/john 目录及其所有子目录和文件的所有者修改为 john,用户组修改为 developers。

总结

chown 命令是 Linux 体系中用于修改文件和目录所有者及用户组的工具。通过合理利用 chown,你可以有效地管理文件的权限和安全性。
命令功能chown 用户名 文件名
修改文件的所有者chown :用户组 文件名
修改文件的用户组chown 用户名:用户组 文件名
同时修改文件的所有者和用户组chown -R 用户名:用户组 目录名递归修改目录及其子文件的所有者和用户组chown --reference=参考文件 文件名将目标文件的所有者和用户组设置为参考文件相同 通过正确利用 chown 命令,体系管理员可以有效地管理文件和目录的所有权,从而包管体系的安全性和资源的适当共享。
第四章 Linux实用操作

1 常用快捷键

在 Linux 体系中,命令行界面(CLI)是一个非常强大的工具,利用各种快捷键可以大大进步工作效率。以下是一些常用的 Linux 快捷键,资助你在终端中更高效地操作。
快捷键功能Ctrl + C终止当前正在运行的命令或程序(欺压停止历程)。Ctrl + Z将当前历程挂起(暂停运行),并将其放到后台。Ctrl + D退出当前终端会话,相当于输入 exit
命令。Ctrl + L清屏,雷同于输入 clear
命令。Ctrl + U删除光标前面的所有字符。Ctrl + K删除光标后面的所有字符。Ctrl + W删除光标前一个单词。Ctrl + Y恢复最后一次删除(如通过 Ctrl + U
或 Ctrl + W
删除的内容)。Ctrl + A将光标移动到行的开头。Ctrl + E将光标移动到行的末端。Ctrl + R启动汗青命令搜刮,可以快速查找之前执行过的命令。Ctrl + P上一条汗青命令。Ctrl + N下一条汗青命令。 快捷键功能Tab主动补全文件名或命令。如果有多个补全选项,按两次 Tab
会列出所有选项。Ctrl + F在命令行中向前查找字符。Ctrl + B在命令行中向后查找字符。Alt + .获取最后一个命令的最后一个参数。例如,执行 ls
/home
后,按 Alt + .
会主动补全 /home
。Ctrl + X在 nano
编辑器中剪切当前行。Ctrl + V在 nano
编辑器中粘贴剪切的内容。 快捷键功能Ctrl + Alt + T打开一个新的终端窗口。Alt + F4关闭当前的终端窗口(与图形界面中的关闭窗口雷同)。Ctrl + Shift + T打开一个新的终端标签页(适用于支持标签页的终端,如 GNOME Terminal)。Ctrl + Shift + C复制终端中的文本。Ctrl + Shift + V粘贴终端中的文本。 在命令行中输入和编辑命令时,这些快捷键非常有用:
快捷键功能Ctrl + A将光标移到行的开始位置。Ctrl + E将光标移到行的结束位置。Ctrl + U删除光标前面的所有字符。Ctrl + K删除光标后面的所有字符。Ctrl + W删除光标前一个单词。Alt + D删除光标后的一个单词。Ctrl + Y恢复最近一次的剪切(删除)内容。Ctrl + T交换光标前后两个字符。Alt + B将光标向后移动一个单词。Alt + F将光标向前移动一个单词。Ctrl + Left Arrow将光标向左移动一个单词。Ctrl + Right Arrow将光标向右移动一个单词。 在终端中,控制历程时利用这些快捷键可以非常方便:
快捷键功能Ctrl + C终止当前历程。Ctrl + Z暂停当前历程并将其放到后台。bg将暂停的历程从后台恢复到后台运行。fg将暂停的历程从后台恢复到前台运行。jobs
显示当前的后台任务。 在 Linux 中,history 命令可以检察执行过的汗青命令,快捷键让你更高效地利用汗青命令:
快捷键功能Up Arrow查找汗青命令中的上一条命令。Down Arrow查找汗青命令中的下一条命令。Ctrl + R启动反向搜刮汗青命令。Ctrl + S启动正向搜刮汗青命令(某些体系必要先设置)。history检察命令汗青记载。 在举行网络操作时,以下快捷键可以进步效率:
快捷键功能Ctrl + C终止当前的网络命令或操作(例如 ping
或 wget
)。Ctrl + D退出当前的网络毗连(例如 FTP)。 检察资助文档时,这些快捷键可以资助你快速欣赏和搜刮:
快捷键功能Up Arrow上滚一行Down Arrow下滚一行Page Up上滚一页Page Down下滚一页/在 man
页面中举行搜刮。输入搜刮词后按 Enter
。n跳转到下一个匹配的搜刮效果。q退出 man
页面。 2 软件安装

操作体系安装软件有许多种方式,一般分为:
下载安装包自行安装
如win体系利用exe文件、msi文件等
如mac体系利用dmg文件、pkg文件等
体系的应用市肆内安装
如win体系有Microsoft Store市肆
如mac体系有AppStore市肆
利用yum为CentOS体系安装软件

在 CentOS 体系上,yum(Yellowdog Update
r, Modified)是一个常用的包管理工具,用于从远程仓库下载和安装软件包、更新体系以及管理软件包依靠关系。以下是一些利用 yum 安装软件包的常见操作。
1**. 安装软件包**
利用 yum install 命令安装软件包:
  1. sudo yum install 包名
复制代码
例如,要安装 wget 工具:
  1. sudo yum install wget
复制代码
2. 安装多个软件包
你可以同时安装多个软件包,只需在命令中列出它们的名称即可:
  1. sudo yum install 包名
  2. 1 包名2 包名3
复制代码
例如,要安装 wget 和 curl:
  1. sudo yum install wget
  2. curl
复制代码
3. 安装指定版本的软件包
如果你想安装特定版本的软件包,可以在包名后面加上版本号:
  1. sudo yum install 包名
  2. -版本号
复制代码
例如,要安装 wget 的特定版本 1.20.3-3.el8:
  1. sudo yum install wget
  2. -1.20.3-3.el8
复制代码
4. 查找可用的软件包
如果你不确定软件包的名称,可以利用 yum search 来查找软件包:
  1. yum search 软件包名称
复制代码
例如,搜刮包罗 wget 的所有软件包:
  1. yum search wget
复制代码
5. 检察软件包信息
如果你想检察某个软件包的具体信息(例如版本、描述、大小等),可以利用 yum info 命令:
  1. yum info 包名
复制代码
例如,检察 wget 软件包的具体信息:
  1. yum info wget
复制代码
6. 更新已安装的软件包
要更新已安装的软件包,可以利用 yum update
命令:
  1. sudo yum update
  2. 包名
复制代码
例如,更新 wget:
  1. sudo yum update
  2. wget
复制代码
如果不指定软件包名,yum update
会更新所有可以更新的软件包。
  1. sudo yum update
复制代码
7. 升级所有软件包
利用 yum upgrade 命令,可以升级所有安装的软件包到最新版本:
  1. sudo yum upgrade
复制代码
8. 删除软件包
如果你不再必要某个软件包,可以利用 yum remove 命令卸载它:
  1. sudo yum remove 包名
复制代码
例如,删除 wget:
  1. sudo yum remove wget
复制代码
9. 清理缓存
yum 会在本地缓存已下载的软件包和元数据,以便在下次利用时加快速率。如果你必要清理缓存,可以利用 yum clean 命令:

  1. sudo yum clean packages
复制代码

  1. sudo yum clean all
复制代码
10. 列出已安装的软件包
要检察体系上已安装的软件包列表,可以利用 yum list installed
命令:
  1. yum list installed
复制代码
11. 启用或禁用特定的软件仓库
CentOS 利用仓库来提供软件包。如果你必要启用或禁用某个仓库,可以修改仓库设置文件,大概在利用 yum 命令时指定:

  1. sudo yum --enablerepo=repo_name install 包名
复制代码

  1. sudo yum --disablerepo=repo_name install 包名
复制代码
12. 获取资助
如果你必要获取 yum 命令的资助,利用以下命令:
  1. yum --help
复制代码
利用apt为Ubuntu安装软件

后续补充到Ubantu部门
3 systemctl

Linux体系许多软件(内置或第三方)均支持利用systemctl命令控制:启动、停止、开机自启
可以或许被systemctl管理的软件,一般也称之为:服务
语法:systemctl start | stop
|status | enable | disable 服务名
start 启动
stop
关闭
status 检察状态
enable 开启开机自启
disable 关闭开机自启
体系内置的服务比力多,比如:
NetworkManager,主网络服务
network,副网络服务
firewalld,防火墙服务
sshd,ssh服务(FinalShell远程登录Linux利用的就是这个服务)
systemctl 是一个用于管理体系服务的命令行工具,适用于基于 systemd 的 Linux 体系。它可以用于启动、停止、重启服务,检察服务的状态,启用或禁用服务,管理开机启动等。
以下是一些常见的 systemctl 命令用法:
  1. systemctl status <服务名>
复制代码
例如,检察 nginx 服务的状态:
  1. systemctl status nginx
复制代码
  1. systemctl start <服务名>
复制代码
例如,启动 nginx 服务:
  1. systemctl start nginx
复制代码
  1. systemctl stop
  2. <服务名>
复制代码
例如,停止 nginx 服务:
  1. systemctl stop
  2. nginx
复制代码
  1. systemctl restart <服务名>
复制代码
例如,重启 nginx 服务:
  1. systemctl restart nginx
复制代码
  1. systemctl reload <服务名>
复制代码
例如,重新加载 nginx 服务的设置:
  1. systemctl reload nginx
复制代码
  1. systemctl enable <服务名>
复制代码
例如,设置 nginx 开机自启动:
  1. systemctl enable nginx
复制代码
  1. systemctl disable <服务名>
复制代码
例如,禁用 nginx 开机自启动:
  1. systemctl disable nginx
复制代码
  1. systemctl list-units --type=service
复制代码
  1. systemctl is-active <服务名>
复制代码
例如,检查 nginx 是否处于激活状态:
  1. systemctl is-active nginx
复制代码
systemctl 与 journalctl
共同利用,可以检察服务的日志:
  1. journalctl
  2. -u <服务名>
复制代码
例如,检察 nginx 的日志:
  1. journalctl
  2. -u nginx
复制代码
  1. journalctl
复制代码
  1. systemctl poweroff
复制代码
  1. systemctl reboot
复制代码
这些是常用的 systemctl 命令,用于管理和控制服务。如果你必要更多的资助,可以通过 man systemctl 来检察 systemctl 的手册页面,获取更具体的用法。
4 利用ln创建软毗连

ln 命令用于在 Linux 体系中创建文件的硬链接或软链接(符号链接)。如果你盼望创建软链接(即符号链接),可以利用 -s 选项。
创建软毗连的基本语法:
  1. ln -s <目标文件/目录> <链接文件/目录>
复制代码

什么是软毗连?
可以将文件、文件夹链接到其它位置
链接只是一个指向,并不是物理移动,雷同Windows体系的快捷方式
例子:
1. 创建软链接到文件

假设你有一个文件 original.txt,你想在当前目录中创建一个名为 link.txt 的软链接。
  1. ln -s /path/to/original.txt link.txt
复制代码
如许,你就在当前目录下创建了一个指向 original.txt 的软链接 link.txt。
2. 创建软链接到目录

假设你有一个目录 /home/user/old_dir,你想在当前目录中创建一个名为 new_dir 的软链接。
  1. ln -s /home/user/old_dir new_dir
复制代码
如许,你就创建了一个指向 /home/user/old_dir 目录的软链接 new_dir。
检察软链接
你可以利用 ls
-l 命令检察软链接的具体信息。软链接会显示出其指向的目标:
  1. ls
  2. -l link.txt
复制代码
输出雷同:
  1. lrwxrwxrwx 1 user user 20 Jan  9 12:34 link.txt -> /path/to/original.txt
复制代码

删除软链接
要删除软链接,可以利用 rm 命令:
  1. rm link.txt
复制代码
注意:删除软链接只会删除链接本身,不会影响原始文件或目录。
注意事项

盼望这些能资助你更好地理解和利用 ln 命令创建软链接。
5 日期、时区

1. 检察日期和时间(date
命令)


date
命令用于显示当前的体系日期和时间。利用它时,您可以看到格式化的输出信息,也可以举行自定义输出。
基本命令:
  1. date
复制代码
输出示例:
  1. Mon Jan  9 12:34:56 CST 2025
复制代码
这表示:星期一,2025年1月9日,时间是12:34:56,时区是 CST(中国标准时间)。
自定义格式:
您可以利用 + 选项来指定输特别式,常用的格式化选项有:

例如,显示 YYYY-MM-DD HH:MM:SS 格式的日期时间:
  1. date
  2. "+%Y-%m-%d %H:%M:%S"
复制代码
输出示例:
  1. 2025-01-09 12:34:56
复制代码
2. 修改 Linux 体系时区

修改时区的过程一般涉及以下步调:
2.1 检察当前时区
要检察当前体系的时区,可以利用以下命令:
  1. timedate
  2. ctl
复制代码
输出示例:
  1. Local time: Mon 2025-01-09 12:34:56
  2. CST           Universal time: Mon 2025-01-09 04:34:56 UTC                 RTC time: Mon 2025-01-09 04:34:56                Time zone: Asia/Shanghai (CST, +0800)
复制代码
2.2 检察可用时区
可以列出所有可用的时区:
  1. timedate
  2. ctl list-timezones
复制代码
这将列出所有时区,如:
  1. Africa/Abidjan
  2. Africa/Accra
  3. ...
  4. Asia/Shanghai
  5. ...
复制代码
2.3 设置新的时区
要更改时区,可以利用 timedate
ctl 命令。例如,要将时区更改为 Asia/Shanghai:
  1. sudo timedate
  2. ctl set
  3. -timezone Asia/Shanghai
复制代码
2.4 验证时区更改
更改时区后,您可以再次利用 timedate
ctl 检察是否更改成功:
  1. timedate
  2. ctl
复制代码
您应该看到新的时区设置。
2.5 手动设置时区(如果没有 timedate
ctl)
在某些老版本的 Linux 体系中,您大概没有 timedate
ctl 工具,您可以手动更改时区。方法是通过符号链接更改 /etc/localtime 文件。

  1. ls
  2. /usr/share/zoneinfo
复制代码

  1. sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
复制代码
3. 利用 NTP 举行时间同步和校准

NTP(Network Time Protocol)用于同步计算机的体系时间和环球时间标准。利用 NTP 可以确保您的体系时间是准确的。
3.1 安装 NTP 服务
首先,确保安装了 NTP 服务。如果尚未安装,可以通过以下命令举行安装:

  1. sudo yum install ntp
复制代码

  1. sudo apt-get install ntp
复制代码
3.2 启动并启用 NTP 服务
安装完 NTP 后,您必要启动并启用服务,以便它在体系启动时主动运行。

  1. sudo systemctl start ntpd
复制代码

  1. sudo systemctl enable ntpd
复制代码
3.3 利用 ntpdate
命令手动同步时间
如果您只想手动同步时间,可以利用 ntpdate
命令。首先安装 ntpdate
工具(如果没有安装):

  1. sudo yum install ntp
  2. date
复制代码

  1. sudo apt-get install ntp
  2. date
复制代码
然后利用以下命令手动同步时间:
  1. sudo ntpdate
  2. pool.ntp.org
复制代码
这将从 pool.ntp.org 服务器同步时间。
3.4 利用 chrony (替代 NTP)
在一些现代的 Linux 体系中,chrony 已经替代了 ntpd,并且它在某些环境下比 NTP 更加精确和稳固。利用 chrony 的方法:

  1. sudo yum install chrony
复制代码
  1. - 对于 Ubuntu/Debian:
复制代码
  1. sudo apt-get install chrony
复制代码

  1. sudo systemctl start chronyd
  2. sudo systemctl enable chronyd
复制代码

  1. chronyc tracking
复制代码

6 IP地点、主机名

ip地点

每一台联网的电脑都会有一个地点,用于和其它计算机举行通讯
IP地点重要有2个版本,V4版本和V6版本(V6很少用,课程暂不涉及)
IPv4版本的地点格式是:a.b.c.d,其中abcd表示0~255的数字,如192.168.88.101就是一个标准的IP地点
可以通过命令:ifconfig
,检察本机的ip地点,如无法利用ifconfig
命令,可以安装:
yum -y install net-tools

[img]https
://i-blog.csdnimg.cn/img_convert/188b302657ca55b8d86460ba1145bc88.png[/img]

特殊IP地点
除了标准的IP地点以外,还有几个特殊的IP地点必要我们相识:

[img]https
://i-blog.csdnimg.cn/img_convert/76dcde6c1c008938f283061eee0249b4.png[/img]


可以用于指代本机
可以在端口绑定中用来确定绑定关系(后续讲解)
在一些IP地点限制中,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许恣意IP访问
主机名

每一台电脑除了对外联结地点(IP地点)以外,也可以有一个名字,称之为主机名
无论是Windows或Linux体系,都可以给体系设置主机名
Windows体系主机名
[img]https
://i-blog.csdnimg.cn/img_convert/5e1fa7a122972886d19aa86662f22bba.png[/img]

Linux体系主机名
[img]https
://i-blog.csdnimg.cn/img_convert/6c01717d8530b32ad4ebb1fb4cb93568.png[/img]

在Linux中修改主机名
可以利用命令:hostname检察主机名
[img]https
://i-blog.csdnimg.cn/img_convert/1a4ea122cfa334cf828435b7b55542e2.png[/img]

可以利用命令:hostnamectl set
-hostname 主机名,修改主机名(需root)
[img]https
://i-blog.csdnimg.cn/img_convert/91fb25be61a04aa689a1de3b15f039d3.png[/img]

重新登录FinalShell即可看到主机名已经正确显示
[img]https
://i-blog.csdnimg.cn/img_convert/234cc4c0a82fd40c13d9afe3691b6984.png[/img]

域名解析
访问www.baidu.com的流程如下:
[img]https
://i-blog.csdnimg.cn/img_convert/46cc518fab54f4fca43cc9873109ed0d.png[/img]

先检察本机的记载(私家地点本)
Windows看:C:\Windows\System32\drivers\etc\hosts
Linux看:/etc/hosts
再联网去DNS服务器(如114.114.114.114,8.8.8.8等)询问
设置主机名映射
比如,我们FinalShell是通过IP地点毗连到的Linux服务器,那有没有大概通过域名(主机名)毗连呢?
可以,我们只必要在Windows体系的:C:\Windows\System32\drivers\etc\hosts文件中设置记载即可
[img]https
://i-blog.csdnimg.cn/img_convert/fcfae581cc840dd729980e9547e6f7fe.png[/img]

[img]https
://i-blog.csdnimg.cn/img_convert/e8e469a2800ab530250f1522ac30d4c0.png[/img]

[img]https
://i-blog.csdnimg.cn/img_convert/6cfe1d0976a17a9e8eb7ac20103e6eb8.png[/img]

虚拟机设置固定IP

当前我们虚拟机的Linux操作体系,其IP地点是通过DHCP服务获取的。
DHCP:动态获取IP地点,即每次重启装备后都会获取一次,大概导致IP地点频仍变动
原因1:办公电脑IP地点厘革无所谓,但是我们要远程毗连到Linux体系,如果IP地点常常厘革我们就要频仍修改适配很麻烦
原因2:在刚刚我们设置了虚拟机IP地点和主机名的映射,如果IP频仍更改,我们也必要频仍更新映射关系
综上所述,我们必要IP地点固定下来,不要厘革了。
在VMware Workstation中设置固定IP
设置固定IP必要2个大步调:
在VMware Workstation(或Fusion)中设置IP地点网关和网段(IP地点的范围)
在Linux体系中手动修改设置文件,固定IP
首先让我们,先举行第一步,跟随图片举行操作
[img]https
://i-blog.csdnimg.cn/img_convert/b4f96feab2a96aedaa2f577e3ffd0282.png[/img]


[img]https
://i-blog.csdnimg.cn/img_convert/3fc1ae23c9dd4587c3e89abc4454b8b4.png[/img]

现在举行第二步,在Linux体系中修改固定IP
利用vim编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件,填入如下内容
[img]https
://i-blog.csdnimg.cn/img_convert/8b97b4df8fcfb9be04b1484d54d27e2f.png[/img]

执行:systemctl restart network重启网卡,执行ifconfig
即可看到ip地点固定为192.168.88.130了
7 网络传输

1 下载和网络哀求

以下是关于 网络传输工具 的具体先容,以及怎样利用 ping、wget 和 curl 命令举行网络操作:

1. 利用 ping 检查服务器是否可联通

ping 命令是一个简朴的工具,用于测试从本地计算机到目标主机之间的网络毗连环境。它通过发送 ICMP 回显哀求数据包,测量网络延迟并检测目标主机是否可达。
基本语法
  1. ping [选项] 目标地址
复制代码
常用选项

示例
  1. ping 8.8.8.8
复制代码
  1. ping -c 4 www.example.com
复制代码
  1. ping -s 128 www.example.com
复制代码

2. 利用 wget 下载文件

wget 是一个用于从网络上非交互式下载文件的工具,支持 HTTP、HTTPS 和 FTP 协议。
基本语法
  1. wget [选项] <URL>
复制代码
常用选项

示例
  1. 下载apache-hadoop 3.3.0版本:
  2. wget http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
  3. 在后台下载:wget -b http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
  4. 通过tail命令可以监控后台下载进度:tail -f wget-log
复制代码
  1. wget https
  2. ://example.com/file.zip
复制代码
  1. wget -O myfile.zip https
  2. ://example.com/file.zip
复制代码
  1. wget -c https
  2. ://example.com/file.zip
复制代码
  1. wget --limit-rate=100k https
  2. ://example.com/file.zip
复制代码

3. 利用 curl 发起网络哀求

curl 是一个功能强大的命令行工具,用于从服务器哀求或发送数据,支持多种协议(如 HTTP、HTTPS、FTP 等)。
基本语法
  1. curl [选项] <URL>
复制代码
常用选项

示例
  1. 通过curl下载hadoop-3.3.0安装包:
  2. curl -O http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
复制代码
  1. curl -O https
  2. ://example.com/file.zip
复制代码
  1. curl -o myfile.zip https
  2. ://example.com/file.zip
复制代码
  1. curl -X POST -d "name=John&age=30" https
  2. ://example.com/api
复制代码
  1. curl -H "Authorization: Bearer <token>" https
  2. ://example.com/api
复制代码
  1. curl -I https
  2. ://example.com
复制代码
  1. curl -L https
  2. ://short.url
复制代码

总结
命令功能示例ping检查主机是否可达,测量延迟。ping -c 4 8.8.8.8
wget从网络上下载文件。wget -O file.zip https
://example.com/file.zipcurl发起网络哀求或下载文件。curl -X POST -d "key=value" https
://example.com/api 通过把握这些工具,你可以在 Linux 体系中高效地举行网络操作,包罗测试网络毗连、下载文件以及与服务器交互。
2 端口

端口是指计算机和外部交互的出入口,可以分为物理端口和虚拟端口
物理端口:USB、HDMI、DP、VGA、RJ45等
虚拟端口:操作体系和外部交互的出入口
IP只能确定计算机,通过端谈锋能锁定要交互的程序
公认端口:1~1023,用于体系内置或常用着名软件绑定利用
注册端口:1024~49151,用于松散绑定利用(用户自定义)
动态端口:49152~65535,用于临时利用(多用于出口)
nmap IP地点,检察指定IP的对外袒露端口
netstat -an
p | grep 端口号,检察本机指定端口号的占用环境
可以通过Linux命令去检察端口的占用环境
利用nmap命令,安装nmap:yum -y install nmap
语法:nmap 被检察的IP地点
[img]https
://i-blog.csdnimg.cn/img_convert/cc21894967b9d41c8d4b8bc28f5f29a4.png[/img]

可以看到,本机(127.0.0.1)上有5个端口现在被程序占用了。
其中:
22端口,一般是SSH服务利用,即FinalShell远程毗连Linux所利用的端口
可以通过netstat命令,检察指定端口的占用环境
语法:netstat -an
p | grep 端口号 ,安装netstat:yum -y install net-tools

[img]https
://i-blog.csdnimg.cn/img_convert/861c041ad723c8d198a9dceb6ca2381b.png[/img]

如图,可以看到当前体系6000端口被程序(历程号7174)占用了
其中,0.0.0.0:6000,表示端口绑定在0.0.0.0这个IP地点上,表示允许外部访问
[img]https
://i-blog.csdnimg.cn/img_convert/c5b31d4f5db185b7cfc25bdf67ac3b5e.png[/img]

可以看到,当前体系12345端口,无人利用哦。
总结
命令功能netstat -a显示所有毗连和监听端口netstat -l显示正在监听的端口netstat -t检察 TCP 毗连netstat -u检察 UDP 毗连netstat -p显示端口对应的历程 ID 和名称netstat -r检察体系的路由表ss -t
ln显示监听的 TCP 端口(现代工具推荐) 8 历程管理

在 Linux 体系中,历程管理是确保体系高效运行的重要组成部门。它涉及到历程的检察、启动、终止、优先级调整等操作。
以下是历程管理的重要内容:

1. 检察历程

1.1 利用 ps
命令
ps
是一个常用的检察历程信息的命令。

  1. ps
复制代码

  1. ps
  2. -e
复制代码

  1. ps
  2. -ef
复制代码
[img]https
://i-blog.csdnimg.cn/img_convert/dd48f015a2343b1cb058ca2506880fd1.png[/img]

从左到右分别是:
UID:历程所属的用户ID
PID:历程的历程号ID
PPID:历程的父ID(启动此历程的其它历程)
C:此历程的CPU占用率(百分比)
STIME:历程的启动时间
TTY:启动此历程的终端序号,如显示?,表示非终端启动
TIME:历程占用CPU的时间
CMD:历程对应的名称或启动路径或启动命令

  1. ps
  2. -u username
复制代码
1.2 利用 top
命令
top
是一个动态监控体系运行状态的工具,可以实时显示所有历程的资源利用环境。
  1. top
复制代码
输出示例:
  1. PID   USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
  2. 1234  user      20   0  163852   2320   1234 S   0.7  0.1   0:02.35 bash
  3. 2345  user      20   0  546728  15432   8765 S   1.3  0.5   0:05.87 python3
复制代码

1.3 利用 htop

htop
是一个增强版的 top
,提供更友爱的界面(必要安装):
  1. sudo apt install htop
  2.   # Debian/Ubuntu 体系sudo yum install htop
  3.   # CentOS/RHEL 体系htop
复制代码
1.4 利用 pgrep
pgrep 可以通过历程名称直接查找历程 ID:
  1. pgrep <进程名>
复制代码
例如,查找 sshd 历程的 PID:
  1. pgrep sshd
复制代码

2. 终止历程

2.1 利用 kill 命令
kill 命令通过历程 ID (PID) 来终止历程。

  1. kill <PID>
复制代码

  1. kill -9 <PID>
复制代码
2.2 利用 pkill 命令
pkill 通过历程名称来终止历程。

  1. pkill python3
复制代码

  1. pkill -9 python3
复制代码
2.3 利用 killall
killall 可以终止所有指定名称的历程。

  1. killall ssh
复制代码

3. 修改历程优先级

Linux 中,每个历程都有一个优先级(Priority),通过 nice 值 控制,范围从 -20(最高优先级)到 19(最低优先级)。
3.1 检察历程的优先级
利用 top
或 ps
命令检察 PR(优先级)和 NI(nice 值)列。
3.2 修改历程优先级

  1. nice -n 10 command
复制代码

  1. renice -n <新的优先级> -p <PID>
复制代码
例如,将 PID 为 1234 的历程优先级设置为 5:
  1. renice -n 5 -p 1234
复制代码

4. 后台历程管理

4.1 将历程放到后台
通过在命令末尾添加 &,可以将历程放到后台运行:
  1. command &
复制代码
4.2 检察后台任务
利用 jobs
命令检察后台运行的任务:
  1. jobs
复制代码
4.3 恢复后台任务到前台
利用 fg 命令将后台任务恢复到前台:
  1. fg <任务号>
复制代码
任务号可以通过 jobs
命令获取。
4.4 暂停前台任务
利用 Ctrl + Z 可以暂停正在运行的前台任务,并将其移到后台。

5. 检察和管理体系资源

5.1 利用 free 检察内存利用
  1. free -h
复制代码
输出示例:
  1. total        used        free      shared  buff/cache   available
  2. Mem:          7.8Gi       2.1Gi       3.2Gi       312Mi       2.5Gi       5.0Gi
  3. Swap:         2.0Gi          0B       2.0Gi
复制代码
5.2 利用 vmstat 检察 CPU、内存、I/O 状态
  1. vmstat 1
复制代码
每秒刷新一次体系资源状态。

6. 常用历程管理命令总结

命令功能ps
检察历程信息top
动态检察历程资源占用htop
增强版的 top

,图形界面友爱pgrep查找指定名称的历程kill通过 PID 终止历程pkill通过历程名称终止历程killall终止所有指定名称的历程nice启动历程时设置优先级renice修改运行中历程的优先级jobs
检察后台任务fg将后台任务恢复到前台 9 主机状态

检察体系资源占用

可以通过top
命令检察CPU、内存利用环境,雷同Windows的任务管理器
  1. 默认每5秒刷新一次,语法:直接输入`top
  2. `即可,按q或ctrl + c退出
复制代码
[img]https
://i-blog.csdnimg.cn/img_convert/6da33c6fa21b6344da999a40369f3c77.png[/img]

[img]https
://i-blog.csdnimg.cn/img_convert/83c5140d129ba6a4165a0785ed668de3.png[/img]

[img]https
://i-blog.csdnimg.cn/img_convert/d9a8f8d925f5586eb7acaccd251c9e71.png[/img]

PID:历程id
USER:历程所属用户
PR:历程优先级,越小越高
NI:负值表示高优先级,正表示低优先级
VIRT:历程利用虚拟内存,单元KB
RES:历程利用物理内存,单元KB
SHR:历程利用共享内存,单元KB
S:历程状态(S休眠,R运行,Z僵死状态,N负数优先级,I空闲状态)
%CPU:历程占用CPU率
%MEM:历程占用内存率
TIME+:历程利用CPU时间总计,单元10毫秒
COMMAND:历程的命令或名称或程序文件路径
top
命令选项


top
命令也支持选项:
选项功能**-p**仅显示指定历程的信息。**-d**设置刷新时间隔断(秒),默认值是 5 秒。例如:**top
-d 2**
** 将每 2 秒刷新一次。****-c**显示产生历程的完备命令,默认只显示历程名。**-n**指定刷新次数后退出。例如:**top
-n 3**
** 会刷新 3 次后退出程序。****-b**以非交互、批量模式运行 **top
**
,适合将输出重定向到文件或其他工具处置惩罚,常与 **-n**
共同利用。例如:
**top
-b -n 3 > /tmp/top
.tmp**
** 会将统计信息输出到文件中。****-i**不显示任何空闲(idle)或僵尸(zombie)的历程,适合专注于活泼历程。**-u**按用户过滤历程,只显示特定用户启动的历程。例如:**top
-u username**
** 显示特定用户的历程信息。** top
交互式选项


按键功能h显示资助信息,列出所有交互式命令的阐明。c切换显示模式,显示/隐蔽历程的完备命令行,与启动时的 -c
参数功能相同。再次按下 c
键切换回默认模式。f选择必要显示的列(字段),用户可以通过按键来调整显示哪些信息。M按驻留内存大小(RES)对历程排序(从高到低)。P按 CPU 利用百分比对历程排序(从高到低)。T按累计运行时间排序(从高到低)。E切换顶部内存显示单元(KB、MB、GB)。e切换历程内存显示单元(KB、MB、GB)。1切换显示每个 CPU 的负载信息(默认显示所有 CPU 的平均负载)。i显示/隐蔽闲置(idle)或僵尸(zombie)历程,与 -i
参数功能相同。t切换显示 CPU 状态信息的内容,包罗用户时间、体系时间、空闲时间等。m切换显示内存信息的内容,包罗物理内存和交换分区的利用环境。 磁盘信息监控

在 Linux 体系中,磁盘信息监控是体系管理的重要部门。以下是常用的磁盘监控命令及其功能,可以资助您检察磁盘的利用环境、性能指标以及具体的文件占用信息。

1. df 命令:检察磁盘空间利用环境

df 命令(Disk Free)用于显示文件体系的磁盘利用环境,包罗总空间、已用空间、剩余空间等。
基本语法
  1. df [选项]
复制代码
常用选项
-h:以人类可读的格式显示(单元为 KB、MB、GB)。
-T:显示文件体系的范例。
-i:显示 inode 利用环境。
--total:显示所有文件体系的总计。
示例
显示所有磁盘的利用环境(以人类可读格式):
  1. df -h
复制代码
输出示例:
  1. Filesystem      Size  Used Avail Use% Mounted on
  2. /dev/sda1        50G   20G   30G  40% /
  3. tmpfs           2.0G     0  2.0G   0% /dev/shm
复制代码
检察文件体系的范例:
  1. df -T
复制代码
显示 inode 的利用环境:
  1. df -i
复制代码

2. du 命令:检察目录和文件的磁盘利用环境

du 命令(Disk Usage)用于检察目录或文件占用的磁盘空间大小。
基本语法
  1. du [选项] [路径]
复制代码
常用选项
-h:以人类可读格式显示。
-s:只显示总计。
-a:显示所有文件和目录的大小。
-c:显示总计大小。
--max-depth=<n>:限制显示目录的深度。
示例
显示当前目录及其子目录的大小:
  1. du -h
复制代码
显示指定目录的总大小:
  1. du -sh /path/to/directory
复制代码
限制显示深度为 1:
  1. du -h
  2. --max-depth=1
复制代码
显示目录中每个文件的大小:
  1. du -ah
复制代码

3. ls
blk 命令:显示磁盘分区信息


ls
blk 命令用于以树状结构显示体系中的所有块装备信息。
基本语法
  1. ls
  2. blk [选项]
复制代码
常用选项
-f:显示文件体系范例。
-d:只显示磁盘,不显示分区或挂载点。
-o:自定义显示的列(如 NAME、SIZE、MOUNTPOINT 等)。
示例
显示磁盘和分区的具体信息:
  1. ls
  2. blk
复制代码
显示文件体系范例:
  1. ls
  2. blk -f
复制代码
自定义列显示:
  1. ls
  2. blk -o NAME,SIZE,TYPE,MOUNTPOINT
复制代码

4. fdisk 和 parted 命令:检察磁盘分区

fdisk
fdisk 是用于检察和管理磁盘分区的工具。
检察磁盘的分区表:
  1. sudo fdisk -l
复制代码
parted
parted 是一个更高级的分区工具,支持 GPT 分区。
显示分区信息:
  1. sudo parted -l
复制代码

5. iostat 命令:检察磁盘性能

iostat 命令(I/O Statistics)用于监控磁盘的 I/O 性能。
基本语法
  1. iostat [选项]
复制代码
常用选项
-d:显示磁盘装备的统计信息。
-x:显示扩展统计信息。
-k:以 KB 为单元显示。
示例
显示磁盘 I/O 性能统计:
  1. iostat -d
复制代码
显示具体的扩展统计信息:
  1. iostat -d
  2. x
复制代码

mount
命令用于显示当前体系挂载的文件体系。
检察挂载的文件体系
  1. mount
复制代码

blkid
命令用于检察块装备的文件体系范例和 UUID。
示例
  1. blkid
复制代码
输出示例:
  1. /dev/sda1: UUID="abcd-1234" TYPE="ext4"
  2. /dev/sda2: UUID="efgh-5678" TYPE="swap"
复制代码

smartctl 是用于检察磁盘健康状态的工具(必要安装 smartmontools
)。
检察磁盘健康状态
安装工具:
  1. sudo apt install smartmontools
  2.   # Debian/Ubuntusudo yum install smartmontools
  3.   # CentOS/RHEL
复制代码
检察磁盘健康状态:
  1. sudo smartctl -H /dev/sda
复制代码
检察具体的磁盘信息:
  1. sudo smartctl -a /dev/sda
复制代码

总结
命令功能示例df -h
检察磁盘利用环境df -h
du -sh检察目录或文件占用磁盘空间du -sh /path/to/directory
ls
blk显示磁盘和分区信息ls
blk -ffdisk -l显示分区信息sudo fdisk -l
iostat -d
x检察磁盘 I/O 性能iostat -d
xsmartctl -H检察磁盘健康状态sudo smartctl -H /dev/sda
blkid
检察装备 UUID 和文件体系范例blkid
网络状态监控

在 Linux 体系中,监控网络状态是确保网络正常运行、排查问题和优化性能的关键任务。以下是常用的网络状态监控工具和命令。

1. ifconfig
/ ip 命令:检察网络接口信息


1.1 ifconfig
命令
ifconfig
用于检察和设置网络接口。
  1. ifconfig
复制代码
输出示例:
  1. eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
  2.         inet 192.168.1.10  netmask 255.255.255.0  broadcast 192.168.1.255
  3.         inet6 fe80::1e5:9dff:fe42:8368  prefixlen 64  scopeid 0x20<link>
  4.         RX packets 10000  bytes 5000000 (4.7 MiB)
  5.         TX packets 8000  bytes 4000000 (3.8 MiB)
复制代码
1.2 ip 命令
ip 是 ifconfig
的现代替代工具,功能更强大。
检察所有网络接口:
  1. ip addr
复制代码
检察特定接口:
  1. ip addr
  2. show dev eth0
复制代码

2. netstat / ss 命令:检察网络毗连和端口

2.1 netstat 命令
netstat 用于显示网络毗连、监听端口、路由表等信息。
常用选项:

示例:
  1. netstat -an
复制代码
  1. netstat -tlp
复制代码
2.2 ss 命令
ss 是 netstat 的现代替代工具,速率更快,功能更强大。
常用选项:

示例:
  1. ss -t
复制代码
  1. ss -ltn
复制代码

3. ping 命令:测试网络连通性

ping 命令通过发送 ICMP 数据包来测试主机是否可达,以及延迟时间。
基本用法:
  1. ping <目标地址>
复制代码
示例:
  1. ping 8.8.8.8
复制代码
  1. ping -c 4 google.com
复制代码

4. traceroute 命令:追踪网络路径

traceroute 用于追踪从本地主机到目标主机的路径,显示颠末的所有路由。
基本用法:
  1. traceroute <目标地址>
复制代码
示例:
  1. traceroute google.com
复制代码
如果体系没有安装,可以通过以下命令安装:
  1. sudo yum install traceroute    # CentOS/RHEL
  2. sudo apt install traceroute    # Debian/Ubuntu
复制代码

5. nmap 命令:端口扫描和网络安全

nmap 是一个强大的网络扫描工具,可用于检测网络主机、端口和服务。
基本用法:
  1. nmap [选项] <目标地址>
复制代码
常用选项:

示例:
  1. nmap -p 1-65535 192.168.1.1
复制代码
  1. nmap -sV 192.168.1.1
复制代码

6. iftop
命令:实时流量监控


iftop
是一个实时流量监控工具,可以显示网络接口上毗连的实时流量。
安装:
  1. sudo yum install iftop
  2.     # CentOS/RHELsudo apt install iftop
  3.     # Debian/Ubuntu
复制代码
利用:
  1. sudo iftop
复制代码
按键阐明:


7. tcpdump 命令:抓包工具

tcpdump 是一个强大的抓包工具,用于捕获和分析网络流量。
基本用法:
  1. sudo tcpdump [选项]
复制代码
常用选项:

示例:
  1. sudo tcpdump -i eth0
复制代码
  1. sudo tcpdump -i eth0
  2. host 192.168.1.1
复制代码
  1. sudo tcpdump -i eth0
  2. -w output.pcap
复制代码

8. vnstat 命令:带宽监控

vnstat 是一个轻量级的网络带宽监控工具,可以记载和检察流量统计信息。
安装:
  1. sudo yum install vnstat    # CentOS/RHEL
  2. sudo apt install vnstat    # Debian/Ubuntu
复制代码
利用:
  1. vnstat -l
复制代码
  1. vnstat -d
复制代码

总结
命令功能示例ifconfig

/ ip检察网络接口信息ip addr
netstat
/ ss检察网络毗连和监听端口ss -ltn
ping测试网络连通性ping -c 4 8.8.8.8
traceroute追踪网络路径traceroute google.com
nmap扫描端口和服务nmap -p 1-65535 192.168.1.1
iftop
实时流量监控iftop
tcpdump抓包和分析网络流量tcpdump -i eth0 host 192.168.1.1vnstat带宽流量统计vnstat -d
10 环境变量

在 Linux 体系中,环境变量是存储在内存中的变量,它们影响体系和程序的运行活动。环境变量包罗体系设置信息、用户信息、路径信息等,用于控制操作体系和应用程序的运行。

环境变量 是一个带有名称和值的键值对,如 PATH=/usr/bin:/bin。
它们用来存储与体系或用户相关的信息,比如:
路径变量:指定可执行文件的搜刮路径。
语言变量:指定体系语言和字符集。
用户变量:存储当前登录用户的信息。
环境变量在 Shell 和体系运行中饰演重要脚色。

变量名作用PATH定义可执行文件的搜刮路径,用冒号分隔路径。HOME当前用户的主目录路径。USER当前登录的用户名。SHELL当前用户的默认 Shell 范例(如 /bin/bash
)。LANG体系语言和字符编码设置。PWD当前工作目录。EDITOR默认文本编辑器的路径。PS1定义 Shell 的提示符格式。TERM当前终端范例(如 xterm
、vt100
)。
3.1 利用 echo 检察单个变量
  1. echo $PATH
复制代码
输出示例:
  1. /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
复制代码
3.2 利用 env
检察所有环境变量
  1. env
复制代码
3.3 利用 printenv

检察所有环境变量
  1. printenv
复制代码
3.4 利用 set
检察所有 Shell 变量(包罗环境变量和本地变量)
  1. set
复制代码

临时设置的环境变量仅在当前会话(Shell)有效,关闭终端后会失效。
设置临时变量
  1. export VARIABLE_NAME=value
复制代码
示例:
  1. export MY_VAR="Hello, World!"
复制代码
然后检察变量值:
  1. echo $MY_VAR
复制代码
添加路径到 PATH
  1. export PATH=$PATH:/new/path
复制代码

永世设置环境变量必要将其添加到设置文件中,例如用户的 Shell 设置文件 或体系的 环境设置文件。
5.1 用户级别环境变量
修改当前用户的 Shell 设置文件:
对于 Bash(大多数 Linux 体系默认 Shell),编辑 ~/.bashrc:
  1. vi ~/.bashrc
复制代码
对于 Zsh,编辑 ~/.zshrc:
  1. vi ~/.zshrc
复制代码
在文件末尾添加:
  1. export VARIABLE_NAME=value
复制代码
示例:
  1. export JAVA_HOME=/usr/local/java
  2. export PATH=$PATH:$JAVA_HOME/bin
复制代码
保存文件后,执行以下命令使设置生效:
  1. source ~/.bashrc
复制代码
5.2 体系级别环境变量
体系范围的环境变量对所有用户有效,编辑 /etc/profile 或 /etc/env
ironment:
  1. sudo vi /etc/profile
复制代码
或:
  1. sudo vi /etc/env
  2. ironment
复制代码
添加变量:
  1. JAVA_HOME=/usr/local/java
  2. PATH=$PATH:$JAVA_HOME/bin
复制代码
保存后,执行以下命令使设置生效:
  1. source /etc/profile
复制代码

临时删除变量
利用 unset
命令可以删除变量(仅限当前会话):
  1. unset
  2. VARIABLE_NAME
复制代码
示例:
  1. unset
  2. MY_VAR
复制代码
永世删除变量
从对应的设置文件(如 ~/.bashrc、/etc/profile)中删除相关定义,并重新加载文件。

/etc/env
ironment
用于设置体系范围的环境变量。
格式:VAR=value(不支持 Shell 的语法扩展)。
/etc/profile
体系范围的 Shell 设置文件,在用户登录时加载。
~/.bashrc
当前用户的 Bash 设置文件,在每次打开新终端时加载。
~/.bash_profile
当前用户的登录 Shell 设置文件。

添加自定义路径到 PATH
临时添加:
  1. export PATH=$PATH:/usr/local/my_program/bin
复制代码
永世添加: 在 ~/.bashrc 文件中添加:
  1. export PATH=$PATH:/usr/local/my_program/bin
复制代码
设置 Java 环境变量
编辑 ~/.bashrc 文件:
  1. export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
  2. export PATH=$PATH:$JAVA_HOME/bin
复制代码
更新环境变量:
  1. source ~/.bashrc
复制代码

总结
命令功能echo $VAR_NAME检察单个环境变量的值env
检察所有环境变量export VAR_NAME=value临时设置环境变量unset
VAR_NAME删除环境变量source <文件>使环境变量文件修改立即生效 通过把握环境变量的操作,您可以灵活设置运行环境,优化体系和软件的利用体验。
11 上传、下载

固然,除了通过FinalShell的下方窗体举行文件的传输以外,也可以通过rz、sz命令举行文件传输。
rz、sz命令必要安装,可以通过:yum -y install lrzsz,即可安装。
rz命令,举行上传,语法:直接输入rz即可
[img]https
://i-blog.csdnimg.cn/img_convert/64e39e989d63242f35c02a749133dc86.png[/img]

sz命令举行下载,语法:sz 要下载的文件
[img]https
://i-blog.csdnimg.cn/img_convert/bbe11d4f09cf37613fe2434a3ec49e25.png[/img]

文件会主动下载到桌面的:fsdownload文件夹中。
注意,rz、sz命令必要终端软件支持才可正常运行
FinalShell、SecureCRT、XShell等常用终端软件均支持此操作
**rz**** 和 **sz** 是独立的命令,分别用于上传和下载文件**,二者之间没有依靠关系。你可以根据具体需求单独利用这两个命令。
12 压缩、解压

在 Linux 体系中,文件的压缩和解压是非常常见的操作。以下是常用的压缩和解压工具及其利用方法:

tar:用于打包和解压文件,通常结合 gzip 或 bzip2 利用。
gzip/gunzip:用于压缩和解压 .gz 文件。
bzip2/bunzip2:用于压缩和解压 .bz2 文件。
xz/unxz:用于压缩和解压 .xz 文件。
zip/unzip:用于压缩和解压 .zip 文件。
7z:用于压缩和解压 .7z 文件。

2. 利用 tar 举行打包和解压

2.1 打包文件
tar 命令重要用于将多个文件或目录打包成一个归档文件。
语法
  1. tar -cvf [打包后的文件名] [文件或目录]
复制代码
示例
打包目录 mydir 为 mydir.tar:
  1. tar -cvf mydir.tar mydir
复制代码
打包多个文件为 files.tar:
  1. tar -cvf files.tar file1 file2 file3
复制代码
2.2 打包并压缩
可以结合 gzip 或 bzip2,将打包的文件举行压缩。
语法
  1. tar -cvzf [压缩后的文件名] [文件或目录]
复制代码
示例
利用 gzip 压缩目录 mydir 为 mydir.tar.gz:
  1. tar -cvzf mydir.tar.gz mydir
复制代码
利用 bzip2 压缩目录 mydir 为 mydir.tar.bz2:
  1. tar -cvjf mydir.tar.bz2 mydir
复制代码
2.3 解压 tar 包
解压 tar 文件或压缩包时,利用以下命令:
语法
  1. tar -xvf [压缩包]
复制代码
示例
解压 mydir.tar:
  1. tar -xvf mydir.tar
复制代码
解压 mydir.tar.gz:
  1. tar -xvzf mydir.tar.gz
复制代码
解压 mydir.tar.bz2:
  1. tar -xvjf mydir.tar.bz2
复制代码
2.4 常用选项
选项功能-c创建打包文件-v显示具体信息-f指定打包的文件名-x解包文件-z利用 gzip
压缩/解压-j利用 bzip2
压缩/解压
3.1 压缩文件
gzip 用于将单个文件压缩为 .gz 文件。
语法
  1. gzip [文件名]
复制代码
示例
压缩 file.txt 为 file.txt.gz:
  1. gzip file.txt
复制代码
3.2 解压文件
gunzip 用于解压 .gz 文件。
语法
  1. gunzip [压缩文件]
复制代码
示例
解压 file.txt.gz:
  1. gunzip file.txt.gz
复制代码

4.1 压缩文件
bzip2 用于将单个文件压缩为 .bz2 文件。
语法
  1. bzip2 [文件名]
复制代码
示例
压缩 file.txt 为 file.txt.bz2:
  1. bzip2 file.txt
复制代码
4.2 解压文件
bunzip2 用于解压 .bz2 文件。
语法
  1. bunzip2 [压缩文件]
复制代码
示例
解压 file.txt.bz2:
  1. bunzip2 file.txt.bz2
复制代码

5. 利用 zip 和 unzip 压缩/解压

5.1 压缩文件
zip 用于将文件或目录压缩为 .zip 文件。
语法
  1. zip [压缩后的文件名] [文件或目录]
复制代码
示例
压缩 file.txt 为 file.zip:
  1. zip file.zip file.txt
复制代码
压缩目录 mydir 为 mydir.zip:
  1. zip -r mydir.zip mydir
复制代码
5.2 解压文件
unzip 用于解压 .zip 文件。
语法
  1. unzip [压缩文件]
复制代码
示例
解压 file.zip:
  1. unzip file.zip
复制代码
  1. unzip [-d] 参数
复制代码
-d,指定要解压去的位置,同tar的-C选项
参数,被解压的zip压缩包文件
  1. unzip test.zip,将test.zip解压到当前目录
  2. unzip test.zip -d /home/it,将test.zip解压到指定文件夹内(/home/it)
复制代码

6.1 压缩文件
7z 用于创建 .7z 格式的压缩文件。
语法
  1. 7z a [压缩后的文件名] [文件或目录]
复制代码
示例
压缩 file.txt 为 file.7z:
  1. 7z a file.7z file.txt
复制代码
压缩目录 mydir 为 mydir.7z:
  1. 7z a mydir.7z mydir
复制代码
6.2 解压文件
7z 也可以解压 .7z 文件。
语法
  1. 7z x [压缩文件]
复制代码
示例
解压 file.7z:
  1. 7z x file.7z
复制代码

工具操作命令tar打包文件tar -cvf archive.tar files/tar解包文件tar -xvf archive.targzip压缩文件gzip file.txt
gunzip解压 .gz
文件gunzip file.txt.gz
bzip2压缩文件bzip2 file.txt
bunzip2解压 .bz2
文件bunzip2 file.txt.bz2
zip压缩文件/目录zip -r archive.zip files/unzip解压 .zip
文件unzip archive.zip7z压缩文件7z a archive.7z files/7z解压 .7z
文件7z x archive.7z 通过以上工具和命令,您可以在 Linux 体系中灵活地举行文件的压缩和解压操作,满足不同的需求。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4