linux
1.Linux 概述
Linux 是一个极具影响力和广泛应用的操作系统。
它起源于芬兰人林纳斯・托瓦兹在大学期间编写的开源内核。Linux 作为一个整体,是免费供用户使用的,具备多用户、多任务、支持多线程的强大特性。
Linux 内核是其核心部分,主要负责管理计算机的硬件资源,涵盖进程管理、内存管理、文件系统管理、设备驱动、网络功能以及系统调用接口等重要职责,为上层的应用程序打造了一个稳定且统一的运行环境。但单纯的内核对于普通用户而言,在软件安装、文件编辑等日常操作方面存在不便。
为了解决这个问题,众多开源组织和商业机构在 Linux 内核的基础上,集成了诸如命令行、图形界面、编辑器等相关基础功能软件,从而形成了 Linux 发行版。这些发行版预先集成了操作系统和各种应用软件,用户安装后只需进行小幅度的设置调整即可投入使用,并且通常采用软件包管理系统来管理应用软件。
在众多的 Linux 发行版中,Ubuntu、CentOS、RedHat、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等在市场上较为知名,它们各自有着不同的特点和适用场景,为用户提供了丰富多样的选择。
2.Linux 特点:
一、开源性
Linux 是开源软件,这意味着其源代码对公众开放。用户可以自由查看、修改和分发源代码,促进了技术的创新和发展。这种开源特性吸引了全球众多开发者的参与,不断完善和优化 Linux 系统。同时,开源也使得 Linux 更加安全,因为众多的开发者可以共同审查代码,发现和修复潜在的安全漏洞。
二、稳定性高
Linux 内核设计精良,具有出色的稳定性。它能够长时间运行而不出现故障,适用于服务器等需要高可靠性的场景。Linux 系统在处理大量并发任务和长时间运行的情况下,表现出卓越的稳定性,减少了系统崩溃和数据丢失的风险。
三、多用户、多任务支持
Linux 可以同时支持多个用户登录和使用系统,每个用户可以拥有自己的工作环境和权限设置。同时,它能够高效地处理多个任务,合理分配系统资源,提高系统的利用率。无论是在服务器环境下同时为多个用户提供服务,还是在个人电脑上同时运行多个应用程序,Linux 都能表现出良好的多用户、多任务处理能力。
四、安全性强
Linux 具有严格的权限管理机制,用户需要特定的权限才能进行系统级的操作,这有效防止了恶意软件和非法用户的入侵。此外,Linux 系统的更新和补丁发布及时,能够快速应对新出现的安全威胁。其开源特性也使得安全问题能够被更快地发现和解决。
五、可定制性高
由于开源,用户可以根据自己的需求对 Linux 系统进行定制。可以选择不同的桌面环境、安装特定的软件包、调整系统设置等,满足各种个性化的需求。无论是用于桌面办公、服务器部署还是嵌入式系统开发,Linux 都能提供高度的可定制性。
六、丰富的软件资源
Linux 拥有庞大的软件生态系统,包括各种开源和免费的软件。从办公软件、开发工具到服务器软件,用户可以轻松找到满足自己需求的软件。通过软件包管理系统,安装和管理软件变得非常方便。
七、跨平台性
Linux 可以在不同的硬件平台上运行,包括服务器、个人电脑、嵌入式设备等。这种跨平台性使得开发人员可以在不同的设备上使用相同的开发环境和工具,提高了开发效率。同时,也为企业和用户提供了更大的灵活性,能够根据不同的需求选择合适的硬件平台。
3.安装 vmware workstation 虚拟机
VMware Workstation Pro是VMware(威睿公司)发布的一代虚拟机软件,中文名称一般称为"VMware 工作站".它的主要功能是可以给用户在单一的桌面上同时运行不同的操作系统,它也是可进行开发、测试、部署新的应用程序的最佳解决方案。
Vmware WorkStation 可在一部实体机器上模拟完整的网络环境,以及可便于携带的虚拟机器。对于企业的IT开发人员和系统管理员而言,Vmware在虚拟网络,实时快照,拖拽共享文件夹等方面的特点使它成为必不可少的工具。
网址:VMware软件商城 官方正版 免费下载 (msc23.cn)https://www1.msc23.cn/vm/
开始安装
输入自己秘钥
4.安装 CentOS 操作系统
网络配置一定要在此开启网络功能
5.远程连接
在 vmware 中通过命令操作不是很方便,不能进行复制粘贴等操作,所以需要安装
一款客户端工具,用来远程连接 linux 操作系统,方便操作.
安装 finalshell
https://www.hostbuf.com
安装过程略(官网有详细步骤(傻瓜式操作,没有要额外操心的),注意安装位置)
1.
2.
3.
6.linux 目录结构
一、/root:超级用户 root 的主目录。
二、/home:普通用户的主目录所在位置,每个用户在这个目录下都有一个以用户名命名的子目录。
三、/bin:存放常用的二进制可执行文件,例如 ls、cat、cp 等命令。
四、/sbin:存放系统管理相关的二进制可执行文件,一般只有管理员可以使用这些命令。
五、/etc:存放系统配置文件,如网络配置文件、用户账号密码文件等。
六、/dev:包含设备文件,代表硬件设备,如硬盘、打印机等。
七、/proc:虚拟文件系统,包含了当前运行的内核信息和进程信息。
八、/var:存放经常变化的数据,如日志文件、邮件队列等。
九、/usr:包含用户的许多应用程序和文件,可进一步分为多个子目录,如 /usr/bin 存放用户级的可执行程序,/usr/lib 存放库文件等。
十、/tmp:临时文件目录,用于存放临时文件,系统重启时会清空该目录。
十一、/boot:存放系统启动相关的文件,如内核文件、引导加载程序等。
十二、/lib:存放系统库文件,供系统和应用程序调用。
十三、/media:用于挂载可移动设备,如 USB 驱动器、光盘等。
十四、/mnt:也可用于临时挂载文件系统,但通常用于手动挂载一些额外的存储设备。
7.liunx 常用命令
Linux 命令大全 | 菜鸟教程 命令大全
一、系统命令
-
shutdown -h now
:立即关闭系统。这是一种快速关机的方式,通常用于需要紧急关闭系统的情况。 -
reboot
:重启系统。用于重新启动计算机,可能在系统更新、配置更改或出现问题需要重新启动以恢复正常时使用。 -
logout
:注销当前用户。当多个用户共享一台计算机时,使用该命令可以退出当前用户的登录状态,以便其他用户登录。 -
date
:显示当前的日期和时间。可以用于查看系统的当前时间,或者在脚本中获取时间信息。 -
cal
:显示当月日历。如果想要查看特定年份的日历,可以使用cal -y 年份
命令,它会显示指定年份的所有月份日历。 -
uptime
:显示从系统开机以来到现在的时间。这个命令可以提供系统运行时间的信息,包括当前时间、系统已经运行的时间、登录的用户数量以及系统的平均负载等。
二、文件命令
-
cd [目录名称]
:英文全拼为 “change directory”,用于切换当前工作目录。例如,cd /home/user
可以切换到 /home/user 目录。 -
ls
:列出当前目录下的文件名或目录名。可以使用不同的选项来获取更多信息,如ls -a
显示包括隐藏文件在内的所有文件和目录,ls -l
以长格式显示文件和目录信息。 -
ll
:实际上是ls -l
的别名,它会以详细的格式列出文件和目录的信息,包括文件的权限、所有者、大小、修改时间等。 -
pwd
:英文全拼为 “print work directory”,用于显示当前工作目录的路径。在复杂的目录结构中,这个命令可以帮助用户确定自己所在的位置。 -
tree
:以树状结构显示当前目录以及子级目录。这个命令可以清晰地展示目录的层次结构,方便用户了解文件系统的布局。 -
touch 文件名
:创建一个新的文件。例如,touch demo.txt
会创建一个名为 demo.txt 的空文件。 -
rm -f 文件名
:删除一个指定名称的文件。-f
选项表示强制删除,不进行任何提示。使用这个命令时要小心,以免误删重要文件。 -
cp 文件名 /目标地址
:复制文件到指定目录。例如,cp file.txt /home/user/destination
会将 file.txt 复制到 /home/user/destination 目录下。 -
mkdir 目录名
:创建一个新的目录。例如,mkdir new_directory
会创建一个名为 new_directory 的目录。 -
rmdir 目录名
:删除一个空目录。只能删除没有任何文件或子目录的目录。 -
rm -rf 目录名
:删除一个目录并同时删除其内容。-r
表示递归删除,-f
表示强制删除。这个命令非常强大,但也非常危险,使用时要格外小心。 -
mv 原名称 新名称
:重命名文件或目录。例如,mv old_file.txt new_file.txt
将 old_file.txt 重命名为 new_file.txt。也可以用于移动文件或目录,例如mv file.txt /destination_directory
将 file.txt 移动到 /destination_directory 目录下。 -
cat 文件名
:查看文件内容。可以在终端上显示文件的全部内容。在面试中,经常会问到如何查看日志文件,这个命令可以用于查看日志文件的内容。 -
head -n 文件名
:查询文件的前 n 行内容。例如,head -10 file.txt
会显示 file.txt 的前 10 行内容。 -
tail -n 文件名
:查询文件的后 n 行内容。例如,tail -20 file.txt
会显示 file.txt 的后 20 行内容。tail -f 文件名
还可以实时跟踪文件的末尾,常用于查看日志文件的最新内容。 -
find -name 文件名
:搜索文件命令。在指定的目录及其子目录中查找名称匹配的文件。例如,find /home -name file.txt
会在 /home 目录及其子目录中查找名为 file.txt 的文件。 -
tar -zxvf 压缩文件名
:解压并列出文件内容。-z
表示使用 gzip 压缩格式,-x
表示解压缩,-v
表示显示详细信息,-f
表示指定压缩文件名。例如,tar -zxvf archive.tar.gz
会解压名为 archive.tar.gz 的压缩文件,并显示解压缩的过程和文件内容。 -
clear / ctrl+L
:清屏。用于清除终端屏幕上的内容,使屏幕更加整洁,方便查看新的输出。
三、查看信息命令
-
free -m
:查看内存占用情况,以 MB 为单位。这个命令会显示系统的内存总量、已使用的内存量、可用的内存量以及缓冲区和缓存的使用情况等信息。 -
ps -ef
:查看所有进程并显示完整格式。-e
选项表示显示所有进程,-f
选项表示显示完整格式,包括进程的 UID、PID、PPID、C、STIME、TTY、TIME 和 CMD 等信息。 -
ps -ef | grep 进程名
:查看指定名称的进程号,并过滤出指定进程信息。首先输出所有进程信息,然后通过管道命令|
将输出传递给grep
命令进行过滤,只显示包含指定进程名的进程信息。
四、管道命令(|)
管道操作符 “|” 在 Linux 中起着重要的作用,它将一个命令的正确输出作为另一个命令的标准输入,从而实现命令的链式操作。这种方式可以方便地对数据进行连续处理,而无需将中间结果保存到文件中。
例如,ls -l | more
,这里ls -l
列出当前目录下的详细文件信息,这些信息通过管道传递给more
命令,more
命令逐页显示输入的内容,这样可以方便地查看大量的文件列表信息。
需要注意的是,正如你所提到的,管道只能处理前一个命令的正确输出信息,对错误信息没有直接处理能力。并且在使用管道时,前几个命令的正确输出通常不会直接显示在屏幕上,除非最后一个命令的输出包含了前面命令的输出或者有特殊的显示需求。
五、grep 命令
grep
命令用于在文件中查找符合特定条件的字符串。它非常强大,可以进行复杂的文本搜索和过滤。
例如,ll | grep 文件名
,这个命令组合首先使用ll
列出当前目录的详细信息,然后通过管道将这些信息传递给grep
命令,grep
命令在这些信息中查找包含特定文件名的行,并将结果显示出来。
六、pgrep 和 kill 命令
-
pgrep -l 进程名
用于查找指定名称的进程号。例如,pgrep -l firefox
可以查找名为 “firefox” 的进程的进程号。 -
kill -9 进程号
用于强制终止指定的进程。当某个进程出现问题无法正常关闭时,可以使用这个命令来强制终止它。但要谨慎使用,以免误杀重要进程。
七、top 命令
top
命令提供了实时的系统性能信息和正在运行的进程信息。
-
PID
:每个进程的唯一标识符,用于系统识别和管理进程。 -
USER
:运行该进程的用户名,有助于确定是谁启动了这个进程。 -
PR
(优先级):表示进程的优先级,优先级高的进程会优先获得系统资源。 -
NI
(Nice 值):用于调整进程的优先级,Nice 值越高,进程的优先级越低。 -
VIRT
:显示进程使用的虚拟内存大小,包括进程代码、数据和共享库等占用的内存空间。 -
RES
:表示进程实际使用的物理内存大小,这是进程真正占用的内存资源。 -
SHR
:进程共享的内存大小,多个进程可以共享一部分内存,以减少内存的使用。 -
%CPU
:进程占用 CPU 的使用率,反映了进程对 CPU 资源的使用情况。 -
%MEM
:进程占用内存的使用率,显示进程在系统内存中的占用比例。 -
TIME+
:进程的累计 CPU 时间,即进程从启动到现在所使用的 CPU 时间总和。
8.网络配置
一、Bridged(桥接模式)
在桥接模式下,虚拟机就像是物理网络中的一台独立计算机,拥有独立的 IP 地址,可以与物理网络中的其他设备直接通信。
优点:
-
虚拟机与物理网络中的其他设备处于同一网段,具有较高的网络灵活性。
-
可以直接访问物理网络中的资源,也可以被物理网络中的其他设备访问。
缺点:
-
需要物理网络中有可用的 IP 地址资源,如果 IP 地址资源紧张,可能会出现分配不到 IP 的情况。
-
网络配置相对复杂,需要手动设置与物理网络相同网段的 IP 地址等参数。
二、NAT(网络地址转换模式)
在 NAT 模式下,虚拟机通过 VMware Network Adapter VMnet8 虚拟网卡与主机进行通信,然后通过主机的网络连接访问外部网络。
优点:
-
虚拟机可以共享主机的 IP 地址访问外部网络,无需额外的 IP 地址资源。
-
网络配置相对简单,通常由虚拟机软件自动配置网络参数。
缺点:
-
虚拟机在外部网络中表现为通过主机进行通信,可能会受到一些网络限制。
-
虚拟机与外部网络的通信依赖于主机的网络连接状态,如果主机网络出现问题,虚拟机的网络也会受到影响。
三、Host-Only(仅主机模式)
在仅主机模式下,虚拟机只能与主机进行通信,不能直接访问外部网络。
优点:
-
提供了一个相对独立的网络环境,适合在不需要连接外部网络的情况下进行测试和开发。
-
安全性较高,因为虚拟机与外部网络隔离。
缺点:
-
无法直接访问外部网络,限制了虚拟机的网络功能。
-
网络配置相对较为复杂,需要手动设置 IP 地址等参数以实现虚拟机与主机之间的通信。
如果在虚拟机中使用 NAT 模式,确实可以获得相对固定的 IP 地址,避免了桥接模式下每次由路由器动态分配 IP 的不确定性。这对于需要稳定网络连接的场景非常有用,比如在进行服务器配置或开发过程中,希望虚拟机的 IP 地址保持不变,以便于进行远程访问和管理。同时,NAT 模式也可以在一定程度上保护虚拟机的安全,因为它隐藏在主机的网络地址转换之后,外部网络无法直接访问虚拟机。
Ifconfig 命令查看 ip
注意: 网络设置只在虚拟机中需要设置, 如果是云服务器环境不需要网络设置.
9.软件安装
一、yum 软件包管理器介绍
yum(Yellowdog Updater Modified)是基于 RPM(Red-Hat Package Manager)包管理的强大工具,主要用于在 CentOS 等系统中方便地管理软件包。它具有以下显著优点:
-
自动下载和安装:能够从指定服务器自动下载 RPM 包并进行安装,极大地简化了软件安装过程。
-
处理依赖关系:可以自动处理软件包的依赖性关系,一次安装所有依赖的软件包,无需用户手动逐个下载和安装依赖项,节省了时间和精力。
-
简洁易用的命令:提供了一系列简洁而好记的命令,方便用户进行各种操作,如查找、安装、删除软件包以及查看软件包信息等。
二、yum 语法及用法
-
yum list | grep 程序名
:用于查看已经安装的特定软件。通过这个命令,可以快速确定系统中是否安装了某个程序。 -
yum [options] [command] [package...]:
-
options是可选的选项,例如:
-
-h
:显示帮助信息,当用户对某个命令的用法不确定时,可以使用这个选项获取详细的帮助说明。 -
-y
:在安装过程中,当提示选择时全部自动回答 “yes”。这个选项在自动化安装场景中非常有用,可以避免手动逐个确认,提高安装效率。 -
-q
:不显示安装的过程。如果只关心安装结果而不希望看到详细的安装过程输出,可以使用这个选项。
-
-
command
表示要进行的操作,常见的操作有:
-
Install
:安装软件包。例如,yum -y install vim
会自动安装 vim 文本编辑器,其中-y
选项表示在安装过程中自动回答 “yes”。 -
update
:更新软件包。可以将系统中的已安装软件包更新到最新版本。 -
info
:查看软件包信息,包括软件包的描述、版本、依赖关系等。 -
remove
:删除软件包。当不再需要某个软件时,可以使用这个命令进行卸载。 -
clean
:清除缓存。可以清理 yum 下载的软件包缓存,释放磁盘空间。
-
-
package
是操作的对象,可以是具体的软件包名称,也可以是一组软件包名称。
-
三、更换 yum 源
由于 CentOS 已停止维护更新,可能会出现 yum 安装包下载不了的情况。这时,需要更换新的 yum 源。具体步骤如下:
-
先删除
/etc/yum.repos.d
下面的依赖源文件:rm -f *
。这个命令会删除该目录下的所有文件,这些文件通常包含了旧的 yum 源配置信息。 -
然后上传新的 yum 源文件。新的 yum 源文件可以从其他可靠的源获取,例如阿里云、网易等提供的 yum 源。上传新的 yum 源文件后,系统就可以从新的源地址下载软件包了。
-
最后,为了确保系统使用新的 yum 源信息,可以执行
yum clean all
命令清理缓存,让 yum 重新加载源信息。
以下是 yum 的具体使用方法:
一、查看已安装软件
使用命令yum list | grep 程序名
可以查看系统中是否安装了特定的软件。例如,要查看是否安装了 Python,可以执行yum list | grep python
。
二、安装软件
-
安装单个软件包:
-
例如安装 vim 文本编辑器,可以使用
yum -y install vim
。其中-y
选项会在安装过程中自动回答 “yes”,避免了手动确认的步骤。如果不使用-y
选项,安装过程中会提示用户确认是否继续安装,需要手动输入 “y” 或 “n” 进行回答。
-
-
安装多个软件包:
-
如果要同时安装多个软件包,可以在命令中依次列出软件包名称,例如
yum -y install package1 package2 package3
。
-
三、更新软件
使用yum update
命令可以更新系统中所有已安装的软件包到最新版本。在执行这个命令之前,建议先备份重要数据,因为某些软件包的更新可能会导致系统配置的变化或不兼容性问题。
四、查看软件包信息
使用yum info 软件包名
可以查看特定软件包的详细信息,包括软件包的描述、版本、依赖关系等。例如,yum info vim
可以查看 vim 文本编辑器的相关信息。
五、删除软件
使用yum remove 软件包名
可以卸载不再需要的软件包。例如,要卸载某个游戏软件,可以执行yum remove game_package_name
。
六、清理缓存
-
执行
yum clean all
可以清理 yum 下载的软件包缓存以及其他相关的临时文件。这可以释放磁盘空间,并确保 yum 在下次使用时从最新的源获取软件包信息。 -
有时候,在更换 yum 源后,也需要执行这个命令来清除旧源的缓存信息,以便 yum 能够正确地从新源下载软件包。
七、更换 yum 源后的使用
-
删除旧的依赖源文件后,上传新的 yum 源文件到
/etc/yum.repos.d/
目录下。 -
执行
yum clean all
清理缓存。 -
此时就可以像正常使用 yum 一样,进行软件的安装、更新、查询等操作了。例如,使用
yum list
可以查看新源中可用的软件包列表,使用yum install new_package
可以安装新源中的软件包。
10.vim 编辑器
一、Linux 中的文本编辑器
在 Linux 系统中,通常会内建 vi 文本编辑器,这使得在各种情况下都能进行基本的文本编辑操作。而其他一些文书编辑器可能并非系统自带,这凸显了 vi/vim 的普遍性和重要性。
vim 相较于普通的文本编辑器,具有强大的程序编辑能力。它能够主动以字体颜色辨别语法的正确性,这对于程序设计来说非常方便,可以帮助程序员快速发现语法错误,提高编程效率。
如果系统没有自带 vim 编辑器,可以通过yum -y install vim
命令进行安装。在使用 yum 安装时,-y
选项会自动回答 “yes”,避免了安装过程中的手动确认步骤。
二、vim 的三种模式
-
命令模式(Command mode):
-
当使用
vim 文件名
打开一个文件时,首先进入的就是命令模式。在这个模式下,可以使用各种命令来操作文本,但不能直接编辑文本内容。 -
例如,可以使用方向键移动光标,使用
dd
命令删除一行,使用yy
命令复制一行,使用p
命令粘贴等。
-
-
输入模式(Insert mode):
-
在命令模式下,输入
i
可以进入编辑模式。此时,可以像在普通的文本编辑器中一样输入文本内容,进行文本的编辑。 -
编辑完成后,按下
Esc
键可以退出编辑模式,回到命令模式。
-
-
底线命令模式(Last line mode):
-
在命令模式下,输入
:
可以进入底线命令模式。这个模式下可以执行一些高级的操作,如保存文件、退出 vim、查找替换等。 -
一些常用的底线命令模式命令包括:
-
:set nu
:设置行号。在编辑大型文件时,设置行号可以方便地定位特定的行。 -
:w
:保存文件。将对文件的修改保存到磁盘上。 -
:q
:退出 vim。如果文件没有被修改,可以直接使用这个命令退出。如果文件被修改了但没有保存,会提示无法退出,需要先保存文件或者使用:q!
强制退出而不保存修改。 -
:wq
:保存并退出。执行这个命令会先保存文件,然后退出 vim。 -
:%s/old/new/g
:在整个文件中进行查找和替换,将所有的 “old” 替换为 “new”。 -
:/pattern
:在文件中查找特定的模式 “pattern”。按下n
键可以跳转到下一个匹配项,按下N
键可以跳转到上一个匹配项。
-
-
以下是 vim 中一些常用命令:
一、命令模式下的常用命令
vim 文件名 进入到命令模式
输入 i 进入编辑模式
Esc 退出编辑模式,进入到命令模式
输入 : 进入到底线模式
-
移动光标:
-
h
、j
、k
、l
分别对应向左、下、上、右移动光标。 -
w
:移动到下一个单词的开头。 -
b
:移动到上一个单词的开头。 -
e
:移动到下一个单词的结尾。 -
0
(数字零):移动到当前行的行首。 -
$
:移动到当前行的行尾。
-
-
文本操作:
-
x
:删除光标所在位置的字符。 -
dd
:删除当前行。 -
yy
:复制当前行。 -
p
:粘贴在光标所在位置之后。 -
P
:粘贴在光标所在位置之前。
-
-
撤销和重做:
-
u
:撤销上一次操作。 -
Ctrl + r
:重做被撤销的操作。
-
-
翻页:
-
Ctrl + f
:向前翻一页。 -
Ctrl + b
:向后翻一页。
-
二、底线命令模式下的常用命令
-
保存和退出:
-
:w
:保存文件。 -
:q
:退出 vim。如果文件有未保存的修改,会提示无法退出。 -
:wq
:保存并退出。 -
:q!
:强制退出而不保存修改。
-
-
查找和替换:
-
:/pattern
:在文件中查找特定的模式 “pattern”。按下n
键可以跳转到下一个匹配项,按下N
键可以跳转到上一个匹配项。 -
:%s/old/new/g
:在整个文件中进行查找和替换,将所有的 “old” 替换为 “new”。 -
:%s/old/new/gc
:在进行替换时会逐个询问是否进行替换。
-
-
跳转到特定行:
-
:n
:跳转到第 n 行。例如,:10
会跳转到第 10 行。
-
-
设置选项:
-
:set nu
:设置行号。 -
:set nonu
:取消行号显示。 -
:set ic
:忽略大小写进行查找。 -
:set noic
:取消忽略大小写查找。
-
命令总记:
-
-
以下是对 Linux 常用命令及 vim 相关命令更为详细的总结:
一、Linux 常用命令
-
系统命令:
-
shutdown -h now
:立即关闭系统,常用于需要紧急关机的情况,确保系统安全地停止运行。 -
shutdown -h +[时间]
:在指定时间后关闭系统,例如shutdown -h +30
表示 30 分钟后关闭系统。 -
reboot
:快速重启系统,可在系统更新、配置更改后或出现某些问题需要重新启动以恢复正常状态时使用。 -
logout
:注销当前用户登录状态,适用于多用户共享系统时,当前用户完成任务后退出以便其他用户登录。 -
date
:显示当前系统的日期和时间,格式通常为年-月-日 时:分:秒,可以在脚本中用于获取特定时间点的信息。 -
cal
:显示当月日历,简洁地展示当前月份的日期分布。 -
cal -y [年份]
:显示指定年份的所有月份日历,方便查看一整年的日期安排。 -
uptime
:显示系统从开机以来的运行时间、当前登录的用户数量以及系统的平均负载等信息,有助于了解系统的稳定性和资源使用情况。
-
-
文件命令:
-
cd [目录名称]
:用于切换当前工作目录,可快速进入不同的文件路径进行操作。例如cd /home/user/documents
可以切换到/home/user/documents 目录。 -
ls
:列出当前目录下的文件名或目录名。可以结合不同的选项来获取更多信息,如ls -a
显示包括隐藏文件在内的所有内容,ls -l
以长格式显示文件和目录的详细信息,包括权限、所有者、大小和修改时间等。 -
ll
:实际上是ls -l
的别名,提供更详细的文件信息列表,方便用户快速了解文件的属性。 -
pwd
:打印当前工作目录的完整路径,在复杂的目录结构中帮助用户确定自己的位置。 -
tree
:以树状结构显示当前目录及其子目录,清晰地展示文件系统的层次结构,对于了解大型项目的目录布局非常有用。 -
touch [文件名]
:创建一个新的空文件。例如touch newfile.txt
会在当前目录下创建一个名为 newfile.txt 的文件。 -
rm -f [文件名]
:强制删除一个指定名称的文件,不进行任何提示。使用时需谨慎,以免误删重要文件。 -
cp [源文件或目录] [目标文件或目录]
:复制文件或目录。可以使用cp -r
复制整个目录及其内容,cp -p
保留文件的属性进行复制。 -
mkdir [目录名]
:创建一个新的目录。例如mkdir newdirectory
会在当前目录下创建一个名为 newdirectory 的目录。 -
rmdir [目录名]
:只能删除空目录。如果要删除非空目录,可使用rm -r
命令,但要小心操作以免误删重要内容。 -
rm -rf [目录名]
:强制删除一个目录及其所有内容,非常强大但也非常危险,使用时务必确认目录中的内容不再需要。 -
mv [原名称] [新名称]
:重命名文件或目录。同时也可以用于将文件或目录移动到另一个位置,例如mv file.txt /destination
将 file.txt 移动到/destination 目录下。 -
cat [文件名]
:查看文件内容并在终端上显示。可以快速查看小文件的内容,但对于大文件可能不太方便。 -
head -n [文件名]
:查询文件的前 n 行内容,便于快速查看文件开头的部分。 -
tail -n [文件名]
:查询文件的后 n 行内容,常用于查看日志文件的最新内容。tail -f [文件名]
可以实时跟踪文件的末尾,对于监控日志文件非常有用。 -
find -name [文件名]
:在指定的目录及其子目录中查找名称匹配的文件。可以帮助用户快速定位特定文件的位置。 -
tar -zxvf [压缩文件名]
:解压并列出文件内容,其中-z
表示使用 gzip 压缩格式,-x
表示解压缩,-v
表示显示详细信息,-f
表示指定压缩文件名。 -
clear / ctrl + L
:清屏,清除终端屏幕上的内容,使屏幕更加整洁,方便查看新的输出信息。
-
-
查看信息命令:
-
free -m
:以兆字节为单位显示内存占用情况,包括总内存、已使用内存、可用内存以及缓冲区和缓存的使用情况等信息,帮助用户了解系统的内存使用状况。 -
ps -ef
:查看所有进程并显示完整格式,包括进程的用户 ID、进程 ID、父进程 ID、CPU 使用率、启动时间、终端和命令等信息,有助于了解系统中正在运行的进程情况。 -
ps -ef | grep [进程名]
:通过管道将ps -ef
的输出传递给grep
命令,用于查找指定名称的进程并过滤出相关信息,方便用户快速定位特定进程的详细情况。
-
-
网络相关命令:
-
ping [选项] [目标主机]
:测试网络连接,通过向目标主机发送 ICMP 数据包并接收响应来确定网络的连通性。例如ping -c 5 www.example.com
会发送 5 个数据包测试与指定网站的连接。 -
ifconfig
(在一些系统中可能是ip addr
):查看和配置网络接口信息,包括 IP 地址、子网掩码、MAC 地址等。可以使用ifconfig [网络接口] up/down
来启用或禁用指定的网络接口。 -
netstat
:显示网络连接、路由表等信息。例如netstat -tuln
可以显示所有正在监听的 TCP 和 UDP 端口。 -
wget [选项] [URL]
:从网络上下载文件,支持断点续传等功能。例如wget -c URL
可以在下载中断后继续下载。 -
curl [选项] [URL]
:用于与服务器进行交互,可显示指定网站的 HTTP 头信息、发送 POST 请求等。例如curl -I www.example.com
显示指定网站的 HTTP 头信息。
-
-
用户和权限管理命令:
-
useradd [选项] [用户名]
:添加用户到系统中。例如useradd -m newuser
会创建用户并同时创建用户主目录。 -
passwd [用户名]
:设置用户的密码。确保用户账户的安全性。 -
chmod [选项] [权限模式] [文件或目录]
:改变文件或目录的权限。例如chmod 755 file.txt
设置文件的权限为所有者有读、写、执行权限,所属组和其他用户有读和执行权限。 -
chown [选项] [所有者]:[所属组] [文件或目录]
:改变文件或目录的所有者和所属组。例如chown user:group file.txt
将文件的所有者改为 user,所属组改为 group。
-
-
软件包管理(以 CentOS 为例):
-
yum install [package_name]
:安装指定的软件包。例如yum install vim
安装 vim 文本编辑器。 -
yum update
:更新系统中所有已安装的软件包,确保系统拥有最新的功能和安全性修复。 -
yum remove [package_name]
:卸载指定的软件包。注意卸载软件包可能会导致依赖它的其他软件出现问题。 -
yum search [keyword]
:搜索包含特定关键字的软件包,帮助用户快速找到需要安装的软件。
-
-
服务管理(以 CentOS 为例):
-
systemctl start [service_name]
:启动指定的服务。例如systemctl start httpd
启动 Apache HTTP 服务器。 -
systemctl stop [service_name]
:停止指定的服务。确保在进行维护或出现问题时可以停止服务。 -
systemctl restart [service_name]
:重新启动指定的服务。例如在配置更改后需要重新启动服务以使更改生效。 -
systemctl status [service_name]
:查看指定服务的状态,包括是否正在运行、启动时间、日志等信息。 -
systemctl enable [service_name]
:设置服务在系统启动时自动启动,方便管理常用的服务。 -
systemctl disable [service_name]
:设置服务在系统启动时不自动启动,对于不需要自动启动的服务可以节省系统资源。
-
二、vim 命令
-
启动 vim:
vim [文件名]
,进入命令模式。在命令模式下,可以使用各种命令来操作文本,但不能直接编辑文本内容。 -
三种模式切换:
-
命令模式下输入
i
进入编辑模式。在编辑模式下,可以像在普通的文本编辑器中一样输入文本内容,进行文本的编辑。 -
编辑模式下按
Esc
退出编辑模式,回到命令模式。 -
命令模式下输入
:
进入底线命令模式。在底线命令模式下,可以执行一些高级的操作,如保存文件、退出 vim、查找替换等。
-
-
底线命令模式常用命令:
-
:set nu
:设置行号,方便在编辑大型文件时快速定位特定的行。 -
:set nonu
:取消行号显示。 -
:w
:保存文件,将对文件的修改保存到磁盘上。 -
:q
:退出 vim。如果文件没有被修改,可以直接使用这个命令退出。如果文件被修改了但没有保存,会提示无法退出,需要先保存文件或者使用:q!
强制退出而不保存修改。 -
:wq
:保存并退出。执行这个命令会先保存文件,然后退出 vim。 -
:q!
:强制退出不保存。当不想保存对文件所做的修改并立即退出 vim 时,可以使用这个命令。 -
:wq!
:强制保存并退出。当文件有问题无法正常保存但又需要保存修改并退出时,可以使用这个命令。 -
:%s/old/new/g
:在整个文件中进行查找和替换,将所有的“old”替换为“new”。可以使用:%s/old/new/gc
在进行替换时逐个询问是否进行替换。 -
:/pattern
:在文件中查找特定的模式“pattern”。按下n
键可以跳转到下一个匹配项,按下N
键可以跳转到上一个匹配项。 -
:n
:跳转到第 n 行。例如,:10
会跳转到第 10 行。 -
:set ic
:忽略大小写进行查找。 -
:set noic
:取消忽略大小写查找。
-
-
-