一、基础知识
(1)Linux系统文件结构

(2) Linux系统命令行的含义


(3)CentOS和Ubuntu的区别
CentOS由CentOS项目社区维护,提供免费的社区支持。而Ubuntu由Canonical公司维护,提供商业支持和付费服务。下面是常见命令区别

二、基础操作
(1) 关闭系统
// 立刻关机
shutdown -h now 或者 poweroff
// 两分钟后关机
shutdown -h 2
(2) 关闭重启
// 立刻重启
shutdown -r now 或者 reboot
// 两分钟后重启
shutdown -r 2
(3) 帮助命令(help)
ifconfig --help //查看 ifconfig 命令的用法
(4) 命令说明书(man)
man - 查看某个命令的帮助手册
man ls 【查看 ls 命令的帮助手册】
man netstat 【查看 netstat 命令的帮助手册】
//打开命令说明后,可按"q"键退出
(5)在Linux中修改主机名
hostname // 查看主机名
hostnamectl set-hostname 主机名 // 修改主机名命令(需要root)
三、目录操作
(1)切换目录(cd)
cd / // 切换到根目录
cd /bin // 切换到根目录下的bin目录
cd ../ // 切换到上一级目录 或者使用命令:cd ..
cd ~ // 切换到home目录
cd - // 切换到上次访问的目录
cd xx(文件夹名) // 切换到本目录下的名为xx的文件目录,如果目录不存在报错
cd /xxx/xx/x // 可以输入完整的路径,直接切换到目标目录,输入过程中可以使用tab键快速补全
(2)查看目录(ls,ll)
ls // 查看当前目录下的所有目录和文件
ls -a // 查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l // 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息),与命令"ll"效果一样
ls /bin // 查看指定目录下的所有目录和文件
输入ll显示出当前目录下所有目录和文件的详细信息

- 硬链接是指多个文件名指向同一个文件的情况。在Linux系统中,每个文件都有一个链接数,表示有多少个文件名指向该文件。
- 当创建一个文件时,会自动创建一个链接数为1的硬链接。当使用ln命令创建一个文件的硬链接时,该文件的链接数会增加。删除一个硬链接并不会删除文件本身,只有当链接数减少到0时,文件才会被真正删除。
(3)创建目录(mkdir)
mkdir tools // 在当前目录下创建一个名为tools的目录
mkdir /bin/tools // 在指定目录下创建一个名为tools的目录
mkdir -p /bin/tools // -p选项的作用可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录
(4)删除目录与文件(rm)
rm 文件名 // 删除当前目录下的文件
rm -f 文件名 // 删除当前目录的的文件(不询问)
rm -r 文件夹名 // 递归删除当前目录下此名的目录
rm -rf 文件夹名 // 递归删除当前目录下此名的目录(不询问)
rm -rf * // 将当前目录下的所有目录和文件全部删除
rm -rf /* // 将根目录下的所有文件全部删除【慎用!相当于格式化系统】
(5)移动目录或重命名(mv)
重命名语法:mv 旧文件名 新文件名
移动语法:mv /源目录 /目标目录
mv 当前目录名 新目录名 // 修改目录名,同样适用与文件操作
mv /usr/tmp/tool /opt // 将/usr/tmp目录下的tool目录剪切到 /opt目录下面
mv /usr/tmp/tool/* /opt/ // 将 tool 目录下的所有文件和子目录移动到 /opt目录下面来
(6)拷贝目录(cp)
cp /usr/tmp/tool /opt // 将/usr/tmp目录下的tool目录复制到 /opt目录下面
cp -r /usr/tmp/tool /opt // 递归剪复制目录中所有文件和文件夹
语法:cp 源文件 目标文件
cp hello.txt a/ 【拷贝 hello.txt 文件到 a 目录下】
cp -r /home/a /b/ 【递归将 home 下的整个 a 目录拷贝到 b 目录下】
cp -r /home/a /b/ 【强制覆盖不提示】
如果连续执行相同的拷贝命令系统会一个一个提示是否覆盖文件内的文件,这时在 cp 前加一个 \ 就可以进行强制覆盖,不提示。
(7)搜索目录或文件(find)
find 指令将从指定目录向下递归遍历其各个子目录,将满足条件的文件或目录显示在终端。
// find 起始路径 -name "被查找文件名或目录名"
find /bin -name 'a*' //查找/bin目录下的所有以a开头的文件或者目录
find命令结合通配符
test,表示匹配任何以test开头的内容
test,表示匹配任何以test结尾的内容
test,表示匹配任何包含test的内容
find按照文件大小查找文件
查找小于10KB的文件:find / -size -10k
查找大于100MB的文件:find / -size +100M
查找大于1GB的文件:find / -size +1G
(8)查看当前目录(pwd)
pwd //显示当前位置路径
这里我们需要注意的是,在Windows上,我们的绝对路径是以盘符开头的,而在linux里,我们的绝对路径,是以/(根目录)开头的 。
四、文件操作
(1)创建文件(touch)
# 如果文件不存在,在当前目录下创建名为a的txt文件
# 如果文件存在,则将文件时间属性修改为当前系统时间
touch a.txt
(2)删除文件(rm)
rm 文件名 //删除当前目录下的文件
rm -f 文件名 //删除当前目录的的文件(不询问)
(3)编辑文件(vi、vim)
操作界面有三种模式:命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)
- 命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能。此模型下,不能自由文本编辑。
- 插入模式也就是所谓的编辑模式。此模式下,可以对文件内容进行自由编辑。
- 底行模式 以:开始,通常用于文件的保存、退出。
vi 文件名 //打开需要编辑的文件(若文件不存在,就创建文件)
命令模式
-刚进入文件就是命令模式,通过方向键控制光标位置,
-使用命令"dd"删除当前整行
-使用命令"/字段"进行查找
-按"i"在光标所在字符前开始插入
-按"a"在光标所在字符后开始插入
-按"o"在光标所在行的下面另起一新行插入
-按":"进入底行模式
插入模式
-此时可以对文件内容进行编辑,左下角会显示 "-- 插入 --""
-按"ESC"进入底行模式
底行模式
-退出编辑: :q
-强制退出: :q!
-保存并退出: :wq
## 操作步骤示例 ##
1.保存文件:按"ESC" -> 输入":" -> 输入"wq",回车 //保存并退出编辑
2.取消操作:按"ESC" -> 输入":" -> 输入"q!",回车 //撤销本次修改并退出编辑
## 补充 ##
vim +10 filename.txt //打开文件并跳到第10行
vim -R /etc/passwd
//以只读模式打开文件
:w 文件 |
另存为 |
:w |
保存(ctrl+s) |
:q |
退出,如果没有保存,不允许退出 |
:q! |
强行退出,不保存退出 |
:wq |
保存并退出 |
:x |
保存并退出 |
Shift+z+z |
保存退出 |
:set nu |
设置行号 |
:set paste |
设置粘贴模式 |
(4)查看文件(cat,less,more)
cat a.txt //查看文件最后一屏内容
less a.txt //PgUp向上翻页,PgDn向下翻页,"q"退出查看
more a.txt //显示百分比,回车查看下一行,空格查看下一页,"q"退出查看
tail -100 a.txt //查看文件的后100行,"Ctrl+C"退出查看
cat 指令查看文件比 vim 更安全,因为 cat 指令只能查看不能修改。
cat a.txt 【查看文件 a.txt 的内容】
cat -n a.txt 【查看文件 a.txt 的内容,并显示行号】
" less " 命令最大的优势在于,能够对于大文件进行 " 秒开 "。
正常的一个编辑器打开文件的时候,就是直接将文件内容都读到内存中,这就涉及到大量的磁盘 IO. 此时,如果文件很大 ( 几个G ),就会打开的很慢,甚至打开失败。比方说,我们前面介绍的 " cat " 命令,就是一下子将所有的数据读出来并显示。
然而," less " 命令只是将当前屏幕显示的这一块给加载到内存中,随着用户的手动翻页,就会不断地加载新的部分,这其实就是懒加载的思想,类似于单例模式中的懒汉模式。( 需要用到了数据,才会执行 )
综上所述,在日常开发中,若我们在服务器上需要打开一个大文件,使用 " less " 命令就是一个明智的选择。
(5)查看文件首尾(head,tail)
# head - 查看文件开头部分
head a.txt 【默认查看 a.txt 文件的前 10 行内容】
head -n 5 a.txt 【查看 a.txt 文件的前 5 行内容】
# tail - 查看文件尾部的部分
tail a.txt 【默认查看 a.txt 文件的后 10 行内容】
tail -n 5 a.txt 【查看 a.txt 文件的后 5 行内容】
tail -f a.txt 【查看 a.txt 文件的后 10 行内容,并实时追踪文件更新】
(6)输出内容到控制台(echo)
# 语法:echo 输出内容
echo $PATH 【输出环境变量 $PATH】
echo "Hello World" 【输出语句“Hello World”】
echo `pwd` 【输出pwd命令执行的内容】
(7)查看历史命令(history)
history 【查看最近所有执行过的指令】
history 10 【查看最近执行过的10条指令】
!5 表示去执历史编号为5的指令
(8)终止操作
Ctrl+C 用于终止正在运行的程序。 Ctrl+Z 用于将正在运行的程序暂停并放入后台。
- Ctrl+C:当你在终端中运行一个程序时,按下 Ctrl+C 可以发送一个中断信号(SIGINT)给正在运行的程序,通常用于终止程序的执行。这相当于向程序发送一个请求,要求它停止运行并退出。大多数程序会捕获这个信号并执行相应的处理,例如关闭文件、释放资源等。
- Ctrl+Z:按下 Ctrl+Z 可以将当前正在运行的程序暂停,并将其放入后台(挂起)。这相当于将程序置于休眠状态,暂时停止它的执行。程序会被挂起并返回到终端,你可以在终端中执行其他命令。
五、用户和权限管控
- 普通用户的权限,一般在其HOME目录内是不受限的
- 一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限
(1)查看用户/用户组信息
查看用户信息
getent passwd username 【获取指定用户的信息】
getent passwd 【获取所有用户的信息】
查看用户组信息
getent group groupname 【获取指定用户组的信息】
getent group 【获取所有用户组的信息】
(2)用户管理
1. 创建用户
useradd [-g -d] 用户名
- 选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g
- 选项:-d指定用户HOME路径,不指定,HOME目录默认在:/home/用户名
2. 删除用户
userdel [-r] 用户名
- 选项:-r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留
3. 设置用户密码
passwd 用户名
4. 切换用户身份
su - 用户名
5. 查看用户所属组
id 用户名
6. 修改用户所属组
usermod -aG 用户组 用户名
(3)用户组管理
groupadd 用户组名 // 创建用户组
groupdel 用户组名 // 删除用户组
groupmod -n 新用户组名 旧用户组名 // 修改用户组名
getent group 用户组名 // 查看用户组信息
usermod -aG 用户组名 用户名 // 添加用户到用户组
gpasswd -d 用户名 用户组名 // 从用户组中移除用户
(4)权限说明

# 括号内代表"8421法"
文件权限简介:'r' 代表可读(4),'w' 代表可写(2),'x' 代表执行权限(1),'-'代表没有对应权限(0)
##文件权限信息示例:-rwxrw-r--
-第一位:'-'就代表是文件,'d'代表是文件夹
-第一组三位:拥有者的权限
-第二组三位:拥有者所在的组,组员的权限
-第三组三位:代表的是其他用户的权限
(5)文件权限(chmod)
chmod [-R] 权限 文件或文件夹
# 将文件夹test及其文件夹内全部内容权限设置为 rwxr-x--x
chmod -R u=rwx,g=rx,o=x test
sh
- 选项:-R,对该文件夹里面的所有文件与文件夹都赋予相同的权限
- 其中:u表示user所属用户权限,g表示group组权限,o表示other其它用户权限
普通授权 chmod +x a.txt // 给a.txt 添加可执行权限
chmod -R u=rwx,g=rx,o=x test
8421法 chmod 777 a.txt // 1+2+4=7,"7"说明授予所有权限
1. 使用数字表示法设置文件权限:
chmod 644 file.txt
- 权限数字表示:‘r’ 代表可读(4),‘w’ 代表可写(2),‘x’ 代表执行权限(1),'-'代表没有对应权限(0)
644
是权限模式,表示设置文件的权限为 -rw-r--r--
。
- 第一个数字
6
表示所有者的权限,即读写权限(rw = 4+2)。
- 第二个数字
4
表示所属组的权限,即只读权限(r = 4)。
- 第三个数字
4
表示其他用户的权限,即只读权限(r = 4)。
file.txt
是要设置权限的文件。
2. 使用符号表示法添加权限:
chmod +x script.sh
+x
表示添加可执行权限。
script.sh
是要添加权限的脚本文件。
3. 使用符号表示法移除权限:
chmod -w file.txt
-w
表示移除写权限。
file.txt
是要移除权限的文件。
4. 使用符号表示法设置权限:
chmod u=rw,go=r file.txt
u=rw
表示设置所有者的权限为读写。
go=r
表示设置所属组和其他用户的权限为只读。
file.txt
是要设置权限的文件。
5. 递归修改目录及其子目录中的文件权限:
chmod -R 755 directory
-R
表示递归修改目录及其子目录中的文件权限。
755
是权限模式,表示设置目录的权限为 -rwxr-xr-x
。
directory
是要递归修改权限的目录。
六、打包与解压
(1)说明
.zip、.rar 【windows系统中压缩文件的扩展名】
.tar 【Linux中打包文件的扩展名】
.gz 【Linux中压缩文件的扩展名】
.tar.gz 【Linux中打包并压缩文件的扩展名】
(2)打包文件
tar -zcvf 【打包压缩后的文件名】 【要打包的文件】
# z:调用gzip压缩命令进行压缩; c:打包文件; v:显示运行过程; f:指定文件名;
tar -zcvf a.tar file1 file2,... //多个文件压缩打包
(3)解压文件
tar -zxvf a.tar //解包至当前目录
tar -zxvf a.tar -C /usr------ //指定解压的位置
unzip test.zip //解压*.zip文件
unzip -l test.zip //查看*.zip文件的内容
七、系统管理
(1)修改服务器IP
修改网络配置文件,文件地址:/etc/sysconfig/network-scripts/ifcfg-eth0
------------------------------------------------
主要修改以下配置:
TYPE=Ethernet # 定义网络接口为以太网类型
BOOTPROTO=static # 指定使用静态IP地址
DEVICE=ens00 # 指定网络接口设备的名称(网卡)
IPADDR=192.168.1.100 # 设置服务器的静态IP地址
NETMASK=255.255.255.0 # 定义网络的子网掩码
GATEWAY=192.168.1.1 # 指定网络的默认网关,用于服务器访问外部网络
DNS1=192.168.1.1 # DNS(用于互联网域名的解析)
DNS2=8.8.8.8 # 备用DNS
ONBOOT=yes # 确保在服务器启动时自动激活该网络配置
-------------------------------------------------
修改保存以后使用命令重启网卡:systemctl network restart
如果要固定虚拟机IP,使用vim编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件
(2)配置IP映射
修改文件: vi /etc/hosts
在文件最后添加映射地址,示例如下:
192.168.1.101 node1
192.168.1.102 node2
192.168.1.103 node3
配置好以后保存退出,输入命令:ping node1 ,可见实际 ping 的是 192.168.1.101。
(3)配置环境变量
1、什么是环境变量?
环境变量是一组信息记录,类型是KeyValue型(名称=值),用于操作系统运行的时候记录关键信息。
在Linux系统中执行:env
命令即可查看当前系统中记录的所有环境变量信息
2、什么是PATH,它的作用是?
环境变量PATH会记录一组目录,目录之间用:隔开。这里记录的是命令的搜索路径,当执行命令会从记录中记录的目录中挨个搜索要执行的命令并执行。
可以通过修改这个项目的值,加入自定义的命令搜索路径如export PATH=$PATH:自定义路径
env | grep PATH # 通过管道符查找出PATH的环境变量信息
这也就是我们为什么能在Linux系统中的任意位置都能执行内置的系统命令了,因为它们的可执行文件的路径都已经被配置在环境变量PATH里面了!
3、$符号的使用
- 在Linux系统中,$符号被用于取出“环境变量”的值。
环境变量记录的信息,除了给操作系统自己使用外,如果我们想要取用,也可以使用。取得环境变量的值就可以通过语法:$环境变量名
来取得
- 比如:
echo $PATH
就可以获得PATH这个环境变量的值,并通过echo语句输出出来。
(4)查看进程信息(ps)
ps -ef //查看所有正在运行的进程
语法:ps -ef | grep 关键字 # 查找指定关键字进程信息
ps -ef | grep tail # 即可准确的找到tail命令的信息
ps -ef | grep 3001 # 查找带有3001关键字的进程信息
- 选项:-e,显示出全部的进程
- 选项:-f,以完全格式化的形式展示信息(展示全部信息)
- 过滤不仅仅过滤名称,进程号\用户ID等等,都可以被grep过滤
(5)结束指定进程(kill)
kill pid # 杀死该pid的进程
kill -9 pid # 强制杀死该进程
killall 进程名称 # 通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用
sh
(6)管理系统服务 (systemctl)
systemctl命令是CentOS 7及以上版本引入的新的服务管理工具,用于管理系统服务、单位和系统状态。它提供了更强大和灵活的功能,适用于基于systemd的发行版。
Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启能够被systemctl管理的软件,一般也称之为服务。一些系统内置的服务,如NetworkManager(主网络服务)、network(副网络服务)、firewalld(防火墙服务)和ssh(远程终端)等,可以通过systemctl命令进行控制。
systemctl命令的基本语法是 systemctl start | stop | status | enable | disable 服务名
systemctl start apache2 // 启动Apache服务。
systemctl stop nginx // 停止Nginx服务。
systemctl restart mysqld // 重启MySQL服务。
systemctl reload 服务名 // 重新加载一个服务的配置文件,而不中断服务
systemctl enable 服务名 // 设置服务在系统启动时自动启用。
systemctl disable 服务名 // 设置服务在系统启动时不自动启用。
systemctl status 服务名 // 查看服务的状态信息。
systemctl is-active 服务名 // 检查服务是否正在运行。
systemctl is-enabled 服务名 // 检查服务是否被设置为启动时自动运行
systemctl list-units --type=service // 列出所有已安装的服务。
systemctl list-units --type=service --state=running // 只列出当前正在运行的服务。
需要注意的是,部分软件在安装后会自动集成到systemctl中,可以直接使用systemctl命令进行控制。而对于没有自动集成的软件,可以手动添加到systemctl中以便使用。这样可以方便地管理和控制各种服务。
(7)管理系统服务(service)
service命令是CentOS上默认的服务管理工具,用于启动、停止、重启和查询服务的状态。它提供了简单的接口,适用于基于SysV init的发行版。
service命令没有直接的开机自启管理功能,需要使用chkconfig命令来设置服务的开机自启,如果您使用的是CentOS 7及以上版本,推荐使用systemctl命令来管理系统服务。
# 说明:service命令用于运行System V init脚本,这些脚本一般位于/etc/init.d文件下
# 这个命令可以直接运行这个文件夹里面的脚本,而不用加上路径
service ssh status //查看服务状态
service --status-all //查看所有服务状态
service ssh restart //重启服务
(8)防火墙操作(firewalld)
service iptables status //查看iptables服务的状态
service iptables start //开启iptables服务
service iptables stop //停止iptables服务
service iptables restart //重启iptables服务
chkconfig iptables off //关闭iptables服务的开机自启动
chkconfig iptables on //开启iptables服务的开机自启动
##centos7 防火墙操作
systemctl status firewalld.service //查看防火墙状态
systemctl stop firewalld.service //关闭运行的防火墙
systemctl disable firewalld.service //永久禁止防火墙服务
sh
(9)开放/关闭防火墙端口
打开端口:这条命令在公共区域永久开放指定的TCP端口。
sudo firewall-cmd --zone=public --add-port=[端口号]/tcp --permanent
关闭端口:这条命令在公共区域永久关闭指定的TCP端口。
sudo firewall-cmd --zone=public --remove-port=[端口号]/tcp --permanent
重新加载防火墙规则:更改后需要重新加载 firewalld
以应用新规则。
sudo firewall-cmd --reload
查看开放的端口:显示当前公共区域开放的端口。
sudo firewall-cmd --zone=public --list-ports
- 注意:
nmap
/telnet
这些工具可以从外部检测服务器端口的状态,确定端口是否对外界开放。
如果一个端口被防火墙规则允许,且服务在该端口上监听,nmap/telnet 通常会报告该端口为“开放”。
- 而防火墙查看端口号是从服务器的内部视角出发,不考虑外部因素如其他防火墙或网络配置。
(10)查看端口开放(nmap/telnet)
nmap 命令可以帮助您确定目标主机上哪些端口处于开放状态,哪些是关闭状态
nmap不是系统内置命令,使用前需要安装 yum -y install nmap
公认端口:1~1023,用于系统内置或常用知名软件绑定使用
注册端口:1024~49151,用于松散绑定使用(用户自定义)
动态端口: 49152~65535,用于临时使用(多用于出口)
语法:nmap 【被查看的IP地址】
nmap 127.0.0.1 # 查看本机对外暴露的端口
-p <端口范围>
:指定要扫描的端口范围,例如 -p 1-100 表示扫描从端口 1 到端口 100 的范围。
-F
:执行快速扫描,仅扫描常见端口。
-oN <文件名>
:将扫描结果保存到指定的文件中,以普通文本格式保存。
-oX <文件名>
:将扫描结果保存到指定的文件中,以XML格式保存。
(11)查看端口占用情况(netstat)
netstat 是一个用于查看本地系统端口占用情况的工具。它可以告诉您哪些端口正在被哪些进程使用。
netstat不是系统内置命令,使用前需要安装 yum -y install net-tools
语法:netstat 【选项】
netstat -a # 查看所有被占用的端口号
netstat -a -p # 查看所有被占用的端口号和绑定的进程
# 查看指定端口的占用情况
netstat -an | grep <端口号>
# 除了显示与端口8080相关的网络连接和监听端口外,还会显示相关进程的信息
netstat -anp | grep <进程标识符/端口号>
-a
:显示所有的活动连接和监听端口。这包括 TCP 和 UDP 协议的所有端口
-n
:显示数字形式的地址和端口号
-p
:显示进程 ID 和程序名称。
-anp
等于 -a,-n,-p这三个选项
(12)查看网络信息 (ifconfig)
ifconfig 是一个用于配置和管理网络接口的命令行工具,它可以用来查看、配置和管理网络接口的IP地址、子网掩码、广播地址、MAC地址等网络参数。
# 它将显示所有网络接口的配置信息,包括接口名称、IP地址、MAC地址、子网掩码等
ifconfig # 查看网络接口信息
ifconfig eth0 # 显示接口 eth0 的统计信息
# 为接口 eth0 配置IP地址为 192.168.0.10
ifconfig eth0 192.168.0.10 #
# 为接口 eth0 配置子网掩码为 255.255.255.0
ifconfig eth0 netmask 255.255.255.0
ifconfig eth0 up # 激活接口 eth0
ifconfig eth0 down # 禁用接口 eth0
(13)网络状态监控(sar)
查看网络的相关统计(sar命令非常复杂,这里仅简单用于统计网络)
sar -n DEV num1 num2 # 查看网络情况
八、其他常用命令
(1)软链接和硬链接(ln)
- 软链接:软链接是一个指向文件或目录的指针,类似于Windows系统中的快捷方式。它可以跨文件系统、跨分区和跨网络进行链接。软链接可以指向文件或目录,并且可以链接到不存在的目标。
- 硬链接:硬链接是一个指向文件的直接链接,它与原始文件共享相同的inode和数据块。硬链接只能链接到同一文件系统中的文件,并且不能链接到目录。
创建软链接时需要使用-s选项来指定创建软链接.而创建硬链接时,不需要使用任何选项,默认创建的就是硬链接。
# 创建软链接
ln -s 原文件位置 需要建立快捷方式的位置
ln -s /path/to/target /path/to/link
# 创建硬链接
ln 原文件位置 需要链接的文件位置
ln /path/to/target /path/to/link
# 删除链接
rm 需要删除的链接文件
rm /path/to/link
注意: 对软链接的操作不会影响原始文件或目录,删除软链接不会影响原始文件或目录。对硬链接的操作会影响原始文件,删除硬链接不会影响原始文件,只有当所有硬链接都被删除时,原始文件才会被删除。
(2)安装软件(yum)
yum命令是Linux系统中常用的包管理工具,用于安装、更新、卸载软件包。它是基于RPM包管理系统的,可以自动解决软件包之间的依赖关系。yum命令需要root权限哦,可以su切换到root,或使用sudo提权。
说明:安装插件命令
yum install httpd // 使用yum安装Apache HTTP服务器软件包
yum update httpd // 更新Apache HTTP服务器软件包
yum remove httpd // 卸载/删除Apache HTTP服务器软件包
yum list // 列出当前系统中的所有安装包(包括已安装和未安装的)
yum list| grep jdk // 列出jdk的可安装版本列表
yum list installed // 查看已安装的软件包列表
yum search <软件包名称> //在rpm仓库中搜寻软件包
yum i nfo docker // 查看docker软件包详细信息
yum clean all // 清理yum缓存,删除已下载的软件包文件(无论是否安装)
注意,在yum命令中,使用-y选项表示自动回答"yes",即在执行命令时自动确认所有的提示信息,无需手动输入"yes"或"no"来确认操作。
(3)安装软件(rpm)
RPM是一种底层的包管理工具,提供基本的软件包管理功能,需要手动解决依赖关系,并且只能使用本地的RPM软件包文件。而YUM是基于RPM的高级包管理工具,提供自动解决依赖关系、仓库管理等高级功能,对用户更加友好。因此,YUM通常是更常用和推荐的包管理工具。
# 说明:插件安装命令
rpm -i <软件包.rpm> // 安装RPM软件包
rpm -U <软件包.rpm> // 升级已安装的RPM软件包
rpm -e <软件包> // 卸载已安装的RPM软件包
rpm -q <软件包> // 查询系统中是否安装了指定的RPM软件包
rpm -qa // 列出系统中所有已安装的RPM软件包
rpm -qf <文件> // 查询指定文件属于哪个RPM软件包
(4)安装软件(apt)
apt命令是用于在Debian和Ubuntu等基于Debian的Linux发行版上进行软件包管理的命令行工具。它提供了一种简单而强大的方式来搜索、安装、更新和删除软件包。
apt install package1 package2 // 同时安装多个软件包。
apt install package // 安装指定的软件包。
apt update // 更新本地软件包列表
apt upgrade // 升级所有已安装的软件包到最新版本
apt upgrade package // 仅升级指定的软件包。
apt search keyword // 搜索包含关键字的软件包。
apt show package // 显示特定软件包的详细信息。
sudo apt remove package // 卸载指定的软件包,但保留其配置文件。
sudo apt purge package // 彻底卸载指定的软件包,包括其配置文件。
apt list --installed // 列出所有已安装的软件包。
sudo apt-add-repository repository // 添加软件源。
sudo apt edit-sources // 编辑软件源列表
(5)设置日期/时区(date)
date命令和时区切换需要root权限或sudo权限才能执行。
date -s "01/31/2010 23:59:53" ///设置系统时间
语法:date、data -s 时间
date 【显示当前时间】
date +%Y 【显示当前年份】
date +%m 【显示当前月份】
date +%d 【显示当前是哪一天】
date “+%Y-%m-%d %H:%M:%S” 【显示年月日时分秒】
data -s “2022-3-20 11:05:06” 【设置系统时间为…】
# 切换系统时区
timedatectl list-timezones // 列出可用的时区
sudo timedatectl set-timezone "时区" // 设置系统时区
(6)远程主机
ssh IP //远程主机,需要输入用户名和密码