手摸手教你 CentOS 入门必备基础知识(建议收藏)

这里记录一下我的 CentOS 学习过程,相当于自己记个笔记,同时分享出来,如果有同学刚好有需要而这个文章帮助到了你的话,在下也会十分开心。

文章最后推介了几个免费视频,B 站和慕课上的免费学习视频挺多,而且有些质量还是不错的。

1. CentOS 中的文件管理

1.1 CentOS 中根目录下的各子目录

cd / 进入到根目录,ls 可以看到一大堆子目录,如下图:

这些文件是有颜色的:

  • 蓝色 表示文件夹;

  • 灰色 表示普通文件;

  • 绿色 表示可执行文件;

  • 红色 表示压缩文件;

  • 天蓝色 表示链接文件(快捷方式);

常用目录的作用如下:

  • bin: 存放普通用户可执行的指令,普通用户也可以执行;

  • dev : 设备目录,所有的硬件设备及周边均放置在这个设备目录中;

  • boot : 开机引导目录,包括 Linux 内核文件与开机所需要的文件;

  • home: 这里主要存放你的个人数据,具体每个用户的设置文件,用户的桌面文件夹,还有用户的数据都放在这里。每个用户都有自己的用户目录,位置为:/home/用户名。当然,root 用户除外;

  • usr: 应用程序放置目录;

  • lib: 开机时常用的动态链接库,bin 及 sbin 指令也会调用对应的 lib 库;

  • tmp: 临时文件存放目录 ;

  • etc: 各种配置文件目录,大部分配置属性均存放在这里;

其他更详细的目录作用参考 <CentOS根目录下各目录介绍 - 知乎>

1.2 目录相关命令

一些常用的命令见下:

作用命令
切换目录cd
显示当前目录完整路径pwd
查看目录下的信息(包括隐藏文件)lsls -a
列出目录下的文件和详细信息ls-lll
创建目录mkdir
创建文件touch
复制文件(文件夹)cpcp -r
移动/重命名文件夹和目录mv
删除文件(目录)rmrm -rf
删除空文件夹rmdir
查找文件find
获取帮助man / info

还有几个常用的快捷键:

作用快捷键
清空至行首Ctrl + U
清空至行尾Ctrl + K
清屏Ctrl + L
终止执行的命令Ctrl + C

值得一提的是,这些命令在其他系统也可以使用。

1.3 tree 命令查看目录树

我们可以使用 tree 命令方便地查看目录树,但是系统本身却并没有安装 tree 命令,所以我们要首先安装一下 sudo yum -y install tree,然后我们就可以快乐使用了:

image-20200304133618996

2. vim 编辑器使用方法

vim 编辑器是 CentOS 系统中使用频率比较高的编辑器,掌握基本使用方法对以后的工作有很大帮助。

通过 vim <文件名> 的方式可以编辑某文档,如果文档名不存在,那么会新建一个文档来进行编辑。

image-20200301142523562

vim 共分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)

2.1 命令模式

启动 vim 后就进入了命令模式,此状态下敲击键盘动作会被认为是命令,而非输入字符。常用的几个命令:

  • i 切换到输入模式,以输入字符;

  • : 切换到底线命令模式,以在最底一行输入命令;

  • a 切换到输入文字模式;

命令模式只有一些最基本的命令,要依靠底线命令模式输入更多命令。

2.2 输入模式

在命令模式下按下 i 就进入了输入模式。在输入模式中,可以使用以下按键:

功能命令
向上翻页PageDown / Ctrl + F
向下翻页PageUp / Ctrl + B
跳转到文件首行1G / gg
跳转到末尾行G
跳转到第 # 行#G
行号显示:set nu
行号显示取消:set nonu
插入d / Del
删除当前行dd
fuzhiyy
将缓冲区中的内容粘贴到光标位置处之后p

还有一些其他命令,比如删除从光标处开始的 # 行内容 #dd,复制从光标处开始的 # 行内容 #yy 等,可以看文档 <Linux vi/vim | 菜鸟教程> 一文。

2.3 底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

  • :q 退出程序;

  • :q! 放弃对文件内容的修改并退出;

  • :w 保存文件;

  • :w /root/xx 另存为;

  • :wq 保存文件并退出;

2.4 查看文件内容

一些常见查看文件内容的命令:

功能命令
浏览文件全部内容more / less
查看文件内容(显示行号)cat (cat -n)
在文本文件中查找字符串(显示行号)grepgrep <关键字> <要查找的文件> -n

2.5 管道符

管道符 将一个命令的执行结果作为另一个命令的输入来执行,格式 cmd1 | cmd2 ... | cmdn

比如,将 /etc 目录中的文件名以 pass 开头的文件列举出来 ls /etc | grep pass*

再比如,查看 /etc 目录下的内容,并使用 less 的形式浏览 ls /etc | less

2.6 重定向

功能命令
输出重定向,已有原来的文件则替换>
输出重定向,如果原来的文件存在则追加在原来的内容之前>>
suiru<
cuiwu2>
输出重定向与错误重定向同时实现&>

比如,将 ls / 命令执行的结果输出到 2.txtls / > 2.txt

3. 进程管理

2.1 进程管理

进程: 是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。

进程管理最重要的就是 ps 命令:

  • ps aux ,查看系统中所有进程,使用 BSD 操作系统格式;

  • ps -le ,查看系统中所有进程,使用 Linux 标准命令格式;

ps 命令输出大约如下图所示:


输出的格式含义:

  • USER:该进程由哪个用户产生的;

  • PID:进程的 ID;

  • %CPU:进程占用 CPU 资源的百分比;

  • %MEM:进程占用物理内存的百分比;

  • VSZ:进程占用虚拟内存的大小,单位 KB;

  • RSS:进程占用实际物理内存的大小,单位 KB;

  • TTY:进程在哪个终端运行的,tty1-tty7 代表本地控制台终端,tty1-tty6 是本地的字符界面终端,tty7 是图形终端,pts/0-255 代表虚拟终端,如果是 ? 则代表是系统进程;

  • STAT:进程状态,R-运行,S-睡眠,T-停止,s-包含子进程,+-位于后台;

  • START:进程启动时间;

  • TIME:进程占用 CPU 的运算时间,注意不是系统时间;

  • COMMAND,产生此进程的命令名;

还有个命令 pstree,显示进程树:


top 命令可以查看系统健康状态,和 Windows 系统中的系统管理器类似。

top 命令的交互模式中可以执行下面命令:

  • ?/h :显示交互模式的帮助;

  • P :以 CPU 使用率排序,默认就是此项;

  • M:以内存的使用率排序;

  • N :以 PID 排序;

  • q :退出 top

load average 后面的三个数字的意思,分别为系统在之前 1 分钟,5 分钟,15分钟的平均负载。一般认为小于 1 时,负载较小。如果大于 1,系统已经超出负荷。如果是多核 CPU,那么这个数字应该不大于你的 CPU 核心数,比如双核 CPU 时应该不大于 2。

Tasks 后面的 zombie,意思为僵尸进程,一般是进程无法正常运行,也没有正常退出卡住了,也有可能这个进程正在终止过程中,如果稍微等待一下还有,那么就需要手工检查一下。

%CPU(s) 的 id 是主要需要看的,意为空闲 CPU 的百分比,如果低于 20,那么系统的状态就比较卡了。

3.2 杀死进程

杀死进程主要有下面几个命令:

功能命令
杀死某个进程kill
按照进程名杀死进程killall
按照进程名杀死进程,加 -t 可以按照终端号提出用户pkill

杀死进程时,可以跟信号,信号很多,常用信号:

信号代号信号名称说明
1SIGHUP让进程立即关闭,然后重新读取配置文件之后重启,平滑重启
2SIGINT程序终止信号,用于终止前台进程,相当于 ctrl + c 快捷键
9SIGKILL强制终止,用来立即结束程序的运行,本信号不能被阻塞、处理和忽略
15SIGTERM正常结束的信号,kill 命令默认就是这个信号,有时候进程已经发生问题,正常无法终止,此时会使用 -9 信号

所以常用杀死进程的命令:正常杀死 kill -1 2235 或者强制杀死 kill -9 2235

3.3 修改进程优先级

我们可以 ps -le | more 来查看进程优先级:

image-20200303103127195

PRI 代表 Priority , NI 代表 Nice,这两个值都是优先级,数字越小代表该进程优先级越高。用户只能修改 NI,不能直接修改 PRI,但系统最终取 PRI + NI 的值。NI 值的范围是 -20 到 19,普通用户调整 NI 值的范围是 0-19,而且只能调整自己的进程,root 用户才能设定进程 NI 值为负值。

可以使用 nice 命令来修改优先级,nice <选项> 命令,nice 命令可以给新执行的命令直接赋予 NI 值,但是不能修改已经存在进程的 NI 值。选项 -n 值 给命令赋予 NI 值。

比如修改 apache 的进程优先级 nice -n -5 service httpd start

如果要修改已存在的进程的优先级,需要使用 renice 命令,renice <优先级> PDID,PID 为某一个进程的 ID。

比如 renice -10 2125 修改 ID 2125 的进程 NI 值为 -10。

4. 工作管理

  1. 当前的登录终端,只能管理当前终端的工作,而不能管理其他登录终端的工作;

  2. 放入后台的命令必须可以持续运行一段时间,这样我们才能扑捉和操作这个工作;

  3. 放入后台执行的命令不能和前台用户有交互或需要前台输入,否则放入后台只能暂停,而不能执行;

把进程放入后台有两个主要命令:

  1. <命令> & 把命令放入后台,并在后台执行

  2. <命令> 执行后按下 ctrl + z 快捷键,放在后台暂停

查看正在后台的工作,可以使用 jobs [-l] 命令,-l 是显示工作的 PID。

image-20200303110244268

+ 代表最近一个放入后台的工作,也是工作恢复时,默认恢复的工作,- 代表倒数第二个放入后台的工作。

恢复到前台:

  1. fg %工作号 将后台暂停的工作恢复到前台执行,这里的 % 可以省略,注意工作号和 PID 的区别;

  2. bg %工作号 将后台暂停的工作恢复到后台执行,后台恢复执行的命令,是不能和前台有交互的,否则不能恢复到后台执行;

后台命令脱离登陆终端执行的方法:

  1. 第一种方法是把需要后台执行的命令加入 /etc/rc.local 文件;

  2. 第二种方法是使用系统定时任务,让系统在指定的时间执行某个后台命令;

  3. 第三种方法是使用 nohup 命令;

nohup 命令的使用方法 nohup <命令> &

5. SSH 操作

Secure Shell(SSH)是建立在应用层基础上的安全网络协议,是专为远程登录会话和其他网络服务提供安全性的协议,可有效弥补网络中的漏洞。通过 SSH,可以把所有传输的数据进行加密,也能够防止 DNS 欺骗和 IP 欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度,已经成为Linux系统的标准配置。

5.1 SSH 登陆服务器

ssh -p port <username>@<hostname or IP address>

比如我这里购买的腾讯云服务器就可以使用 ssh root@<公网IP/域名> 连接,如果你设置过域名对 IP 的映射,那么 @ 后面写你的域名也可以,比如我就可以 ssh root@sherlocked93 连接服务器。

然后就是输入密码,就可以进入 CentOS 系统了,但是每次登陆都需要密码,挺蠢的也不安全,我们可以设置使用 SSH 密钥的方式,密钥登陆的方式可以百度一下。

连接系统之后,可以通过 Ctrl+D 或者 exit 命令退出远程登录。

连接上 CentOS 之后,命令行左侧的命令提示符含义如下:

5.2 SSH 上传/下载文件

SSH 可以通过 scp 命令来上传文件,是 Linux 系统下基于 SSH 登陆进行安全的远程文件拷贝命令,scp 是 secure copy 的简写,可以使用它上传本地文件夹到远程服务器,也可以从远程服务器上下载文件夹到本地:

# 上传文件夹到远程服务器
scp -P port -r /local/dir username@servername:/remote/dir
# scp -p 2333 -r /test/a root@192.168.0.101:/var/b

# 从远程服务器下载文件夹
scp -P port -r username@servername:/remote/dir/ /local/dir
# scp -p 2333 -r root@192.168.0.101:/var/b /test/a

-r 参数表示递归复制,即复制该目录下面的文件和目录,如果要上传单个文件,只要把 -r 删除。大写的 P 表示的是端口,如果还是默认的 SSH 端口 22 没有更改,则不需要 -P

5.3 SSH 设置超时断开

SSH 在使用时,经常会因为闲置时间过长而倍服务器自动断开,然后又要重新连接,比较麻烦,可以设置一下防止经常被服务器踢出。

一种方法就是修改服务器设置,找到所在用户的 .ssh 目录,如 root 用户该目录在:/root/.ssh/,在该目录创建 config 文件

vim /root/.ssh/config

加入下面一句:

ServerAliveInterval 60

然后 ESC 再 :wq 保存退出,重新开启 root 用户的shell,则再 SSH 远程服务器的时候,不会因为长时间操作断开。

还有种方法设置 $TMOUT 系统环境变量

vim /etc/profile 在最后一行加上:

export TMOUT=0

设置 TMOUT 参数为 0 的意思就是设置不超时,然后 ESC 再 :wq 保存退出,再 source /etc/profile 让配置立即生效。


参考文档:

  1. CentOS根目录下各目录介绍 - 知乎

  2. Linux vi/vim | 菜鸟教程

  3. Linux基础安装入门视频教程I-慕课网

  4. Linux系统编辑管理视频教程II-慕课网

  5. 基于CentOS7的Linux操作系统的入门与服务器的配置-bilibili

  6. 解决ssh登录后闲置时间过长而断开连接

❤️ 看完三件事

如果你觉得这篇内容对你挺有启发,我想邀请你帮我三个小忙:

  1. 点个「在看」,让更多的人也能看到这篇内容(喜欢不点在看,都是耍流氓 -_-)

  2. 关注我的博客 https://github.com/SHERlocked93/blog,让我们成为长期关系

  3. 关注公众号「前端下午茶」,持续为你推送精选好文,也可以加我为好友,随时聊骚。

在看点这里

  • 10
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: CentOS 是一种基于Linux的操作系统,广泛用于服务器和个人电脑。对于初学者来说,掌握 CentOS 的使用方法可以帮助他们更好地进行系统管理和开发工作。 程是学习的重要资源,提供了系统化的知识和指导,所以学习 CentOS 最好的方式之一就是通过阅读入门程。有许多适合初学者的 CentOS 入门程可以在互联网上找到,其中一种常见的格式就是 PDF 文件。 一本好的 CentOS 入门程 PDF 文件应该包含以下内容: 1. 系统安装指南:详细讲解 CentOS 的安装过程,包括准备系统、选择适当的版本、磁盘分区和安装步骤等。 2. 基本命令和操作:介绍如何使用基本的命令行工具和图形界面来管理和操作 CentOS 系统,例如文件和目录管理、用户和权限管理、进程管理等。 3. 软件包管理:说明如何使用 CentOS 的软件包管理器(如yum和dnf)来安装、更新和卸载软件包,以及如何配置软件源。 4. 网络设置:讲解如何配置网络连接、设置IP地址、配置网络服务(如DHCP和DNS)以及网络安全性设置等。 5. 远程访问:介绍如何通过SSH和VNC等远程访问协议连接到 CentOS 服务器,以及如何进行远程管理和文件传输。 6. 系统维护和故障排除:介绍如何进行系统维护工作,如监测系统性能、备份和恢复数据、解决常见故障等。 通过阅读该程,初学者可以逐步掌握 CentOS 的基本知识和操作技巧,从而能够更好地使用和管理 CentOS 系统。此外,他们还可以通过实践和进一步的学习来提高他们的技能,并在实际工作中应用所学的知识。 ### 回答2: Centos入门程pdf是一份提供给初学者的程,用于介绍Centos操作系统的基本知识和使用方法。该程可以帮助读者了解Centos的安装、系统配置、常用命令以及管理技巧等内容。 首先,程会引导读者如何下载和安装Centos操作系统。它会给出详细的步骤和注意事项,以确保读者能够顺利完成安装过程。 接下来,程会介绍Centos系统的基本配置。它将讲解如何设置网络连接、修改主机名、配置用户和用户组等内容,帮助读者熟悉Centos的系统管理工作。 此外,程还会讲解Centos系统中常用的命令和工具。它会详细介绍使用命令行界面来进行文件管理、进程管理、软件安装和配置等操作。通过学习这些命令和工具,读者可以更高效地使用Centos系统进行各种操作。 最后,程还会分享一些Centos系统管理的实用技巧和经验。它将介绍如何保护系统安全、优化系统性能、备份和恢复数据等技巧,让读者能够更加熟练地管理和维护Centos系统。 总而言之,Centos入门程pdf提供了一份全面的指南,帮助读者快速入门Centos操作系统。通过学习这份程,读者可以掌握Centos系统的基本知识和技巧,为将来更深入的学习和应用奠定良好的基础。 ### 回答3: CentOS是一种流行的Linux发行版,它是基于Red Hat Enterprise Linux(RHEL)的重建版本。以下是关于CentOS入门的一些基本信息。 CentOS入门程是一种帮助新快速掌握CentOS操作系统的教学材料,通常以PDF格式提供。这些程涵盖了各种主题,包括安装、配置、命令行操作、软件包管理和网络设置等。 CentOS入门程的目的是帮助用户理解和使用CentOS操作系统的基本功能。它通常从基础开始,介绍Linux和CentOS的基本概念,然后逐渐深入讲解更高级的主题。 这些程通常提供了详细的说明和演示,以帮助用户逐步学习操作系统的各个方面。它们可以包括图形界面和命令行界面的示例,以及实际应用场景的指导。 CentOS入门程可以帮助用户了解如何安装CentOS操作系统,并进行基本的配置。它还可以介绍如何使用终端窗口执行命令,进行系统管理和维护操作。此外,这些程还能帮助用户学习如何安装和更新软件包,以及进行基本的网络设置和管理。 通过学习CentOS入门程,用户可以获得使用CentOS操作系统所需的基本知识和技能。他们将能够轻松地自主管理和维护CentOS系统,为个人或组织提供稳定和可靠的操作环境。 最后,CentOS入门程通常是免费提供的,用户可以从官方网站、在线程平台或技术论坛上获取。不同版本的程可能存在一些差异,用户应选择与自己使用的CentOS版本相匹配的程,以获得最佳的学习效果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值