cat /etc/centos-release
[root@localhost ~]#
包含很多信息,如下:
/root
,因此cd /root
与cd ~
结果是一样的。同理,另外一个用户siman的根目录是/home/siman
,则cd /home/siman
与cd ~
的结果也是一样的)uname -a
df -h
df
是用来查看磁盘的容量信息的工具,加-h
参数是为了容量的易读性,即会自动使用M或G为单位,如果不加-h
参数则是用字节为单位.
名称 | 意思 |
---|---|
Filesystem | 文件系统 |
Size | 总容量 |
Avail | 可用(剩余可用空间) |
Use% | 已用的占总的百分比 |
Mounted on | 挂载的目录 |
Used | 已用 |
Swap对用户是不可的,所以通过df这个工具无法查看到swap的情况。另外tmpfs是Linux下内存文件系统,如/dev/shm
这个目录你可以像硬盘上的目录一样保存文件,但系统重启之后会丢失,因为它是在内存中划分的空间。
cat /proc/cpuinfo
名称 | 意思 |
---|---|
processor | 表示内核ID,从0开始,一共8个内cat核的话,则最后一个的ID是7 |
physical id | 表示物理CPUID,从0开始,一共2颗物理CPU的话,最后一个的ID是1 |
cat /proc/meminfo
名称 | 意思 |
---|---|
MemToal | 内存的总容量 |
free
名称 | 意思 |
---|---|
pwd | 显示当前目录的完整路径 |
ls | 显示指定目录下的文件,后面不跟指定目录的话,则显示当前目录信息 |
cd | 进入指定目录 |
pwd
cd Desktop
cd ~
ls
ls -l
这些输出内容是使用 ls -l
命令显示当前目录下所有文件和子目录的详细信息。输出每一行都包含了文件/文件夹的一些基本信息,下面是每个字段的含义:
total 0 总文件数
drwxr-xr-x. 2 gee gee 6 Jun 24 21:18 Desktop
文件权限、硬链接数、所有者、组、大小、时间、名称
rw-r--r--
当前文件(文件夹)的权限信息,r:读
,w:写
,x:执行
。3位为一组,如rw-,r–,r–分别表示当前用户
,用户组
,其它用户的权限
。例如,第二行表示当前目录下的 Desktop 文件夹,文件权限为 rwxr-xr-x.
,硬链接数为 2,所有者和归属组都是 gee
,大小为 6,最后修改时间为 6 月 24 日 21:18,文件名为 Desktop
。其中首字母 d
表示该对象为目录,-
则表示为普通文件。
ls -a
-a
:表示显示隐藏文件,文件名前面带“.”表示该文件为隐藏文件,访问隐藏文件需要输入“.”,如查看.bash_profile则需输入cat .bash_profile
ll
ll
等于ls –l
,然而ll不是命令(程序),只是ls –l的别名,节省输入时间。你可以自定义任何命令的别名,例如你可以定义la等于ls –a
在 Linux 中,可以通过修改终端配置文件来定义别名。有许多种终端程序,其中最常见的是 Bash 终端,在 Bash 终端中可以通过修改 ~/.bashrc
文件来定义别名。
你可以像下面的步骤一样,设置 la
别名为 ls -a
。
1. 打开 ~/.bashrc
文件
使用文本编辑器打开 ~/.bashrc
文件,例如:
nano ~/.bashrc
2. 定义别名
在文件的末尾添加以下两行内容:
alias ll='ls -l'
alias la='ls -a'
第一行命令定义了一个 ll
别名,将其设置为 ls -l
的缩写;第二行命令定义了一个 la
别名,将其设置为 ls -a
的缩写。
3. 生效别名
保存文件并退出文本编辑器。为了使新的别名生效并进入当前会话,可以输入以下命令:
source ~/.bashrc
这会立即重新加载 ~/.bashrc
文件,使定义的别名生效。
现在你可以在终端中使用 ll
命令来代替 ls -l
命令,使用 la
命令来代替 ls -a
命令。
4. 实践效果
mkdir
,mk是make(创建,产生)的简写,dir是directory(目录)的简写,make directory就是创建目录(文件夹)的意思rm
是remove的简写,顾名思义是删除的意思,使用rm删除文件时,如果不加任何参数,则会提示是否删除该文件,输入y确认,输入n取消。加-f参数,表示强制删除不提示(慎用)名称 | 意思 |
---|---|
cp | copy的简写,顾名思义是复制的意思 |
mv | move的简写,顾名思义是移动的意思 |
命令格式:
cp 目录/源文件 目标目录
mv 目录/源文件 目标目录
Linux下文本编辑器有vim及nano,但centos最小化安装的话只会带有vim,因此仅介绍vim,需要使用nano的话需要另外安装。
nano
:在你的Linux操作系统中打开一个终端。
Debian/Ubuntu发行版可以使用apt-get
包管理器:
sudo apt-get update
sudo apt-get install nano
这将更新系统软件包列表并安装 nano
编辑器。
CentOS/RHEL发行版可以使用yum
包管理器:
sudo yum update
sudo yum install nano
这将更新系统软件包列表并安装 nano
编辑器。
Arch Linux发行版可以使用pacman
包管理器:
sudo pacman -Sy nano
这将更新系统软件包列表并安装 nano
编辑器。
安装成功后,你可以在终端中输入 nano
命令并回车来运行 nano
编辑器。
vi 文件名
Esc
键退出编辑模式,只有在退出编辑模式下才可以进行保存及退出操作。:wq
表示保存并退出vim,:
表示进入vim的命令模式w
表示写入(保存)q
表示退出。vi
编辑器中,可以使用以下快捷键进行查找、替换和删除整行:vi
编辑器中,可以使用 /
或 ?
命令来查找文本。/
命令
在命令模式下,按下 /
键,然后输入要查找的文本,最后按下 Enter
键。vi
编辑器会在当前光标位置下方查找文本,并将光标定位到第一个匹配结果上。
?
命令
在命令模式下,按下 ?
键,然后输入要查找的文本,最后按下 Enter
键。vi
编辑器会在当前光标位置上方查找文本,并将光标定位到第一个匹配结果上。
vi
编辑器中,可以使用 :%s
命令来替换文本。:%s/old/new/g
命令
在命令模式下,输入 :%s
命令,接着输入 old
替换为 new
,最后加上 g
参数表示进行全局替换。例如,如果要将文本中所有的 ad
替换为 12
,可以执行以下命令:
:%s/ad/12/g
vi
编辑器中,可以使用dd
命令删除整行:dd
命令
在命令模式下,按下 dd
命令即可删除当前光标所在行。如果要删除多行,可以在 dd
命令前加上删除的行数。例如,如果要删除当前行及以下的 3 行,可以输入以下命令:
4dd
希望这些命令可以帮助你在 vi
编辑器中更加高效地进行文本的查找、替换和删除操作。
cat test.txt
less test.txt
more test.txt
格式:
grep 搜索内容 目录/文件名
文件名前不加目录,则表示是当前目录下的文件
grep除了能搜索硬盘上文件内的内容之外,还能对其它程序在终端上的输出内容进行过滤输出(或者叫指定输出),但需要用到管道符“
|
”。
管道:顾名思义就有传送、连接的意思。所以在linux中管道符号的su作用就是将前面一个程序输出的结果传给后面的应用程序,即后面应用程序的处理对象来自上一个应用程序的结果。
使用grep过滤ip addr输出结果并输出只包含inet的行:
格式:
grep 搜索内容 目录/文件名
文件名前不加目录,则表示是当前目录下的文件
*
进行匹配搜索,*
表示多个字符匹配,通配符?
表示单个字符匹配1、仅打包:tar –cvf 打包后的文件名 需要被打包的文件(夹)
2、打包并调用gz进行压缩:tar –czvf 打包后的文件名 需要被打包的文件(夹)
.gz
而不是.tar.gz
则不能使用tar来解压,需要使用gunzip。gz更多使用方法请搜索“linux gz”。1、先用ls -lsh看看该目录下有什么文件及文件大小
2、使用-cf 参数,仅将当前目录下以.repo结尾的文件打包
参数解释:
-c
表示打包,解包则是-x
。-t
仅列出包内的文件。-f
必有。-v
打印出正在被操作(解压缩)的文件,可选。
网卡的IP配置文件位于/etc/sysconfig/network-scripts
目录下,并以ifcfg-*
形式的文件名存在,其中ifcfg-为固定,*
表示网卡接口名称.(不同机器网卡接口名称不同,设置前ls查看下)
cd /etc/sysconfig/network-scripts
ls
cat ifcfg-ens160
TYPE=“Ethernet”
表示该网络接口是以太网接口,也就是普通的有线网络接口,其他类型可能包括无线接口、虚拟接口等。这一行的设置对于网络连接的配置和管理都很重要,因为不同的网络接口类型需要不同的配置参数。
BOOTPROTO=“static”
表示该网络接口将使用静态 IP 地址,这意味着需要在该文件中手动指定该网络接口的 IP 地址、子网掩码、网关等参数。这与 DHCP(动态主机配置协议)不同,DHCP 是一种自动分配 IP 地址的协议,它将自动为该网络接口分配 IP 地址、子网掩码、网关等参数。
因此,BOOTPROTO=“static” 行的设置告诉系统,不要将该网络接口的配置留给 DHCP
来处理,而是使用手动配置的方式指定网络参数。
网卡名称(DEVICE
)、开机启用(ONBOOT
)
IP(IPADDR
)、掩码(NETMASK
)、网关(GATEWAY
)
systemctl restart network
报错Failed to restart network.service: Unit network.service not found.
这个错误意味着当前系统中没有启用名为 network.service 的网络服务,因此无法执行重启操作。
在 CentOS 7 或更高版本中,网络服务已经从 NetworkManager 迁移到了 systemd-networkd 和 systemd-resolved。因此,如果你要重启网络服务,应该使用以下命令:
systemctl restart systemd-networkd.service
或者:
systemctl restart NetworkManager.service
其中,systemd-networkd.service 是 systemd 框架中的一个专门负责网络的服务,适用于在较小的网络环境中(例如服务器)使用。而 NetworkManager.service 则是一种广泛使用的网络管理程序,它提供了更多的网络管理功能,适用于需要管理多个网络接口的复杂网络环境。
因此,如果你的系统中存在 systemd-networkd.service 或 NetworkManager.service,可以尝试使用上述命令来重启网络服务。
注:本次讨论的多IP配置均是在一个网卡上配置的,且所有IP均为同一个子网(俗语称同一个段的IP)。双网卡不同段IP需要配置系统路由策略,不在本次讨论范围。
将原网卡IP配置文件(ifcfg-*)复制一份,并修改文件名为新接口的名称,新配置文件内修改DEVICE项及IPADDR、NETMASK项,取消GATEWAY项。对于系统来说,是一个物理网卡对于两个配置文件,但两个配置文件不能同名,并且设备名称( DEVICE )更不能相同。
上面是双线的配置,三线的配置同理,再复制多一份,注意DEVICE名称及文件名。
前面提到修改网卡配置文件需要重启网卡才会生效,ip同样地添加新的配置文件也需要重启网卡
重启网卡的命令:systemctl restart network
方法一:在另外一台机器ping你配置的IP,通则生效了(不通,则不一定不生效,这涉及的是网络知识,后面再介绍)
方法二:在系统中使用ip addr命令来检测及在本机ping本机的地址(推荐该方法)
配置了两个IP地址,如果是双线机房,你可以把其中一个当作电信IP,另外一个当作联通IP来理解。
看到UP就可以确认配置文件无语法错误并成功启用了,同时可以在本机上ping自己的IP,如ping 192.168.14.128或ping 172.16.0.128,可以得到正常返回信息。
/etc/resolv.conf
/etc/sysconfig/network-scripts
目录下的网卡配置文件(ifcfg)中。例如DNS1=xxx.xxx.xxx.xxx
推荐使用标准配置文件。
注:DNS配置的修改是即时生效的,因此配完后,即时在本机ping一个大站的域名,如163.com或baidu.com等,如果有返回则配置成功了。
由于防火墙涉及到太多的网络知识,而且对于机房来说,很少会接触到,因为就算是远程端口,系统防火墙默认也是开放的,无需设置。因此在本阶段里介绍防火墙只是介绍关于防火墙服务的操作(开启、停止、禁用、查看运行状态)。通常情况下,对于初学者,为减少不必要的麻烦,建议先将防火墙禁用。
systemctl status firewalld
名称 | 意思 |
---|---|
systemctl stop firewalld | 停止防火墙 |
systemctl disable firewalld | 禁用防火墙,即下次重启后都不会再启动(下次启动才生效) |
systemctl start firewalld | 启动防火墙 |
getenforce
getenforce
命令检验selinux的状态,Enforcing表示为开启状态vi /etc/selinux/config
SELINUX=disabled
修改完成后,需要重启系统才生效。
Linux的字符操作是使用ssh协议进行远程连接的(linux图形桌面则是使用vnc协议进行远程桌面连接,微软的windows则是使用RDP协议)
Centos最小化安装都默认开启ssh远程服务端,使用合适的ssh客户端就可以远程登陆主机了。所以对于服务端没有太多介绍,只是介绍一下支持ssh协议的客户端,供大家参考,如:
Putty
Xshell
Bitvise SSH Client
Securecrt
VNC(Virtual Network Computing)和 SSH(Secure
Shell)协议都是计算机领域中常用的远程访问协议。它们的主要区别在于安全性和功能方面。
VNC协议允许用户从远程计算机上以图形化界面的方式控制另一个计算机。VNC协议的工作方式是,将远程计算机上的屏幕图像传输到本地计算机,然后通过本地计算机上的鼠标和键盘输入来控制远程计算机。VNC协议主要优点是易于安装和使用,适用于远程桌面支持和管理。
然而,VNC协议的缺点是相对较差的安全性,因为它可以在网络上传输用户的所有屏幕图像和鼠标/键盘输入。此外,VNC协议的图形传输速度也可能受到网络延迟的影响。
SSH协议是一种加密的网络协议,用于在本地计算机和远程计算机之间创建加密通道。它主要用于远程登录和执行命令,可以通过SSH进行文件传输,还可以向远程计算机/服务器安全地传输大量数据。SSH协议提供了更高的安全性,因为所有传输的信息都是加密的。此外,SSH协议的使用速度较快,适用于基于文本的系统管理。
总之,VNC协议适用于需要控制桌面和支持图形化界面的环境,而SSH协议适用于需要更高安全性和基于文本的远程访问的环境。在实际使用中,这些协议可以相互补充,可以根据具体需要选择使用哪种协议。
关机命令:
命令 | 解释 |
---|---|
shuthown -h | 需要root用户,你是root用户的直接输入即可 |
halt | 最常用,其实等于shutdown –p |
init 0 | init是linux里面一个十分重要的概念,更多信息请搜索“linux init” |
重启命令:
名称 | 意思 |
---|---|
shutdown –r | 权限要求root |
reboot | 最常用,其实等于shutdown –r |
init 1 | 更多信息请搜索“linux init” |
对于运维工程师来说,linux基本操作就是验证系统版本
、验证硬件
、配置网络
等,而配置网络就涉及文件的基本操作,查看、复制、编辑等
。