Centos7命令大全
CentOS 7是一种基于Red Hat Enterprise Linux(RHEL)源代码构建的开源操作系统,被广泛应用于服务器和工作站环境中。在CentOS 7中,命令行界面是管理和配置系统的重要工具。理解和熟练掌握CentOS 7中的常用命令,对于系统管理员和Linux用户来说至关重要。本文将介绍CentOS 7中常用的命令,帮助读者更好地管理和操作系统。
一、系统管理命令
查看系统版本
~ # cat /etc/issue
Welcome to Alpine Linux 3.15
Kernel \r on an \m (\l)
uname
显示系统信息,如内核版本、主机名等。
# 显示版本
uname -r
# 升级所有包同时也升级软件和系统内核
yum -y update:
# 只升级所有包,不升级软件和系统内核
yum -y upgrade
date
显示或设置系统日期和时间。
whoami
显示当前登录用户的用户名。
su
切换用户身份。
passwd
修改用户密码。
lastb
显示所有失败的登录尝试
# 这个命令会显示所有的失败登录尝试。
lastb
# 示特定用户的失败登录尝试
lastb username
# 显示最近10次失败的登录尝试
lastb -n 10
top
使用 top
命令,可以查看系统的负载情况,重点关注的是 %CPU
、%MEM
、load average
三个性能指标。
这里的 load average: 0.08, 0.10, 0.12
代表系统的平均负载,三个值分别表示系统在过去 1 分钟、5 分钟、15 分钟内的平均负载情况。通常情况下,这个数值越低越好,因为它反映了系统的负载情况,即系统中正在运行或等待运行的进程数量。值得一提的是,在 top
命令运行期间,按下键盘的数字键 1
,可以看到每个 CPU 的使用率。
htop
使用 htop
命令,通过友好和丰富的界面,可以更方便地查看和管理系统资源的使用情况。
htop
是一个交互式的系统监控工具,输出结果的格式如下:
1 [ 0.0%] Tasks: 94, 103 thr; 1 running
2 [ 0.1%] Load average: 0.00 0.01 0.05
3 [ 0.0%] Uptime: 10 days, 03:45:28
4 [ 0.0%]
Mem[|||||||||||||||||||||||||||||||||||867/15861MB]
Swp[ 0/7999MB]
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
943 root 20 0 1.7G 53968 6720 S 0.0 0.3 0:03.56 systemd
937 root 20 0 1.7G 37500 6348 S 0.0 0.2 0:05.76 (sd-pam)
923 root 20 0 381M 18424 11140 S 0.0 0.1 0:00.38 NetworkManager
911 root 20 0 6.2G 12932 8568 S 0.0 0.1 0:01.14 Xorg
707 root 20 0 1.8G 11920 7476 S 0.0 0.1 0:01.55 dockerd
841 root 20 0 1.6G 11692 4380 S 0.0 0.1 0:00.60 polkitd
918 root 20 0 1.3G 9264 5144 S 0.0 0.1 0:00.56 ModemManager
...
在这个界面中,可以使用键盘上的方向键和其他功能键来浏览进程列表和查看系统资源的使用情况。可以按下 F1
键查看帮助文档,以了解更多操作方法。
free
使用 free
命令,可以查看系统内存的使用情况,包括物理内存、交换空间和系统缓存的使用情况。
free // 输出的内存大小会以KB为单位显示
free -m // 输出的内存大小会以MB为单位显示
free -g // 输出的内存大小会以GB为单位显示
free -h // 输出的内存大小会自动以人类能看懂的方式(如KB、MB、GB)来显示
free
命令的输出结果格式如下:
total used free shared buff/cache available
Mem: 16238752 3190972 8253404 520508 4799376 12177876
Swap: 2097148 0 2097148
free
命令的输出结果说明如下:
total
: 总的物理内存大小。
used
: 已经被使用的物理内存大小。
free
: 可用的物理内存大小。
shared
: 被共享的内存大小,一般为 0。
buff/cache
: 用作缓存的内存大小。
available
: 可用的内存大小。
Swap total
: 交换空间的总大小。
Swap used
: 已经被使用的交换空间大小。
Swap free
: 可用的交换空间大小。
ps
该命令用于将某个时间点的进程运行情况选取下来并输出,process之意,它的常用参数如下:
-A :所有的进程均显示出来
-a :不与terminal有关的所有进程
-u :有效用户的相关进程
-x :一般与a参数一起使用,可列出较完整的信息
-l :较长,较详细地将PID的信息列出
其实我们只要记住ps一般使用的命令参数搭配即可,它们并不多,如下:
ps aux # 查看系统所有的进程数据
ps ax # 查看不与terminal有关的所有进程
ps -lA # 查看系统所有的进程数据
ps axjf # 查看连同一部分进程树状态
# 查看进程
ps -ef | grep docker
kill
该命令用于向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号,它通常与ps和jobs命令一起使用,它的基本语法如下:
kill -signal PID
signal的常用参数如下:
注:最前面的数字为信号的代号,使用时可以用代号代替相应的信号。
1:SIGHUP,启动被终止的进程
2:SIGINT,相当于输入ctrl+c,中断一个程序的进行
9:SIGKILL,强制中断一个进程的进行
15:SIGTERM,以正常的结束进程方式来终止进程
17:SIGSTOP,相当于输入ctrl+z,暂停一个进程的进行
例如:
# 以正常的结束进程方式来终于第一个后台工作,可用jobs命令查看后台中的第一个工作进程
kill -SIGTERM %1
# 重新改动进程ID为PID的进程,PID可用ps命令通过管道命令加上grep命令进行筛选获得
kill -SIGHUP PID
killall
该命令用于向一个命令启动的进程发送一个信号,它的一般语法如下:
killall [-iIe] [command name]
它的参数如下:
-i :交互式的意思,若需要删除时,会询问用户
-e :表示后面接的command name要一致,但command name不能超过15个字符
-I :命令名称忽略大小写
# 例如:
killall -SIGHUP syslogd # 重新启动syslogd
file
该命令用于判断接在file命令后的文件的基本数据,因为在Linux下文件的类型并不是以后缀为分的,所以这个命令对我们来说就很有用了,它的用法非常简单,基本语法如下:
file filename
#例如:
file ./test
systemctl
管理系统服务,包括启动、停止、重启等操作。
# 启动
systemctl start docker
# 停止
systemctl stop docker
# 状态
systemctl status docker
# 重启
systemctl restart docker
# 开机启动
systemctl enable docker
# 开机禁止
systemctl disable docker
shutdown
关机或重启系统。
二、文件和目录操作命令
ls
这是一个非常有用的查看文件与目录的命令,list之意,它的参数非常多,下面就列出一些我常用的参数吧,如下:
-l :列出长数据串,包含文件的属性与权限数据等
-a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)
-d :仅列出目录本身,而不是列出目录的文件数据
-h :将文件容量以较易读的方式(GB,kB等)列出来
-R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来
注:这些参数也可以组合使用,下面举两个例子:
ls -l #以长数据串的形式列出当前目录下的数据文件和目录
ls -lR #以长数据串的形式列出当前目录下的所有文件
grep命令
该命令常用于分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,该命令通常与管道命令一起使用,用于对一些命令的输出进行筛选加工等等,它的简单语法为
grep [-acinv] [--color=auto] '查找字符串' filename
它的常用参数如下:
-a :将binary文件以text文件的方式查找数据
-c :计算找到‘查找字符串’的次数
-i :忽略大小写的区别,即把大小写视为相同
-v :反向选择,即显示出没有‘查找字符串’内容的那一行
# 例如:
# 取出文件/etc/man.config中包含MANPATH的行,并把找到的关键字加上颜色
grep --color=auto 'MANPATH' /etc/man.config
# 把ls -l的输出中包含字母file(不区分大小写)的内容输出
ls -l | grep -i file
cd
切换当前工作目录。
cd /root/Docements # 切换到目录/root/Docements
cd ./path # 切换到当前目录下的path目录中,“.”表示当前目录
cd ../path # 切换到上层目录中的path目录中,“..”表示上一层目录
pwd
显示当前工作目录的路径。
mkdir
创建新目录。
rm
该命令用于删除文件或目录,remove之间,它的常用参数如下:
-f :就是force的意思,忽略不存在的文件,不会出现警告消息
-i :互动模式,在删除前会询问用户是否操作
-r :递归删除,最常用于目录删除,它是一个非常危险的参数
例如:
rm -i file # 删除文件file,在删除之前会询问是否进行该操作
rm -fr dir # 强制删除目录dir中的所有文件
cp
该命令用于复制文件,copy之意,它还可以把多个文件一次性地复制到一个目录下, 它的常用参数如下:
-a :将文件的特性一起复制
-p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
-i :若目标文件已经存在时,在覆盖时会先询问操作的进行
-r :递归持续复制,用于目录的复制行为
-u :目标文件与源文件有差异时才会复制
例如 :
cp -a file1 file2 #连同文件的所有特性把文件file1复制成文件file2
cp file1 file2 file3 dir #把文件file1、file2、file3复制到目录dir中
mv
该命令用于移动文件、目录或更名,move之意,它的常用参数如下:
-f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件已经存在,就会询问是否覆盖
-u :若目标文件已经存在,且比目标文件新,才会更新
注:该命令可以把一个文件或多个文件一次移动一个文件夹中,但是最后一个目标文件一定要是“目录”。
例如:
mv file1 file2 file3 dir # 把文件file1、file2、file3移动到目录dir中
mv file1 file2 # 把文件file1重命名为file2
find
find是一个基于查找的功能非常强大的命令,相对而言,它的使用也相对较为复杂,参数也比较多,所以在这里将给把它们分类列出,它的基本语法如下:
find [PATH] [option] [action]
# 与时间有关的参数:
-mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件;
-mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名;
-mtime -n : 列出在n天之内(含n天本身)被更改过的文件名;
-newer file : 列出比file还要新的文件名
# 例如:
find /root -mtime 0 # 在当前目录下查找今天之内有改动的文件
# 与用户或用户组名有关的参数:
-user name : 列出文件所有者为name的文件
-group name : 列出文件所属用户组为name的文件
-uid n : 列出文件所有者为用户ID为n的文件
-gid n : 列出文件所属用户组为用户组ID为n的文件
# 例如:
find /home/ljianhui -user ljianhui # 在目录/home/ljianhui中找出所有者为ljianhui的文件
# 与文件权限及名称有关的参数:
-name filename :找出文件名为filename的文件
-size [+-]SIZE :找出比SIZE还要大(+)或小(-)的文件
-tpye TYPE :查找文件的类型为TYPE的文件,TYPE的值主要有:一般文件(f)、设备文件(b、c)、
目录(d)、连接文件(l)、socket(s)、FIFO管道文件(p);
-perm mode :查找文件权限刚好等于mode的文件,mode用数字表示,如0755;
-perm -mode :查找文件权限必须要全部包括mode权限的文件,mode用数字表示
-perm +mode :查找文件权限包含任一mode的权限的文件,mode用数字表示
# 例如:
find / -name passwd # 查找文件名为passwd的文件
find . -perm 0755 # 查找当前目录中文件权限的0755的文件
find . -size +12k # 查找当前目录中大于12KB的文件,注意c表示byte
权限
在CentOS 7中,你可以使用find
命令来查找具有特定权限的文件。以下是一个使用find
命令来查找具有特定权限的文件的例子:
find /path/to/search -type f -perm 644
这个命令会查找/path/to/search
目录及其子目录下所有具有权限644(即所有者可读写,组用户可读,其他用户可读)的文件。
如果你想查找具有特定权限的目录,可以将-type f
换成-type d
。
如果你想查找具有所有者为特定用户的文件,可以使用-user
选项:
find /path/to/search -type f -user specific_user_name
这个命令会查找/path/to/search
目录及其子目录下所有者为specific_user_name
的所有文件。
如果你想同时结合用户和权限的条件,可以这样写:
find /path/to/search -type f -user specific_user_name -perm 644
这个命令会查找/path/to/search
目录及其子目录下所有者为specific_user_name
且具有权限644的文件。
文件名
find /path/to/search -name "filename"
这将在指定的路径/path/to/search
下按照文件名精确匹配搜索指定的文件filename
。
方法二:使用find
命令和通配符
find /path/to/search -name "*filename*"
这将在指定的路径/path/to/search
下使用通配符搜索文件名中包含指定字符串filename
的文件。
方法三:使用locate
命令
locate -r "/path/to/search/filename$"
这将在文件索引数据库中按照正则表达式匹配搜索指定的文件filename
。请注意,如果您在CentOS 7上首次运行locate
命令,则可能需要运行updatedb
命令更新文件索引数据库。
方法四:使用grep
命令和find
命令
find /path/to/search -type f | grep "filename"
这将使用find
命令在指定的路径/path/to/search
下搜索所有文件,并通过管道将结果传递给grep
命令来匹配包含指定字符串filename
的文件。
时间
在CentOS中,您可以使用find
命令结合-mtime
参数来查找特定时间范围内修改过的文件。例如,要查找在过去7天内修改过的文件,可以使用以下命令:
find /path/to/search -mtime -7
这里的/path/to/search
是您想要搜索的目录路径,-7
表示过去7天内修改过的文件。如果您想要查找特定时间范围内修改过的文件,可以使用+7
表示超过7天前修改的文件,或者使用具体的数字表示特定天数内修改过的文件。
如果您还想要查找特定类型的文件,可以使用-type
参数,例如查找过去7天内修改过的普通文件,可以使用:
find /path/to/search -type f -mtime -7
这里的-type f
表示只查找普通文件。
如果您需要更复杂的时间查询,比如查找在特定日期之后修改的文件,可以使用-newermt
参数:
find /path/to/search -newermt '2023-01-01'
这个命令会查找在2023年1月1日之后修改过的所有文件。
find . -type f -newermt "2023-01-01 00:00:00" ! -newermt "2023-01-07 23:59:59"
这将查找在2023年1月1日至2023年1月7日之间修改过的文件。
cat
该命令用于查看文本文件的内容,后接要查看的文件名,通常可用管道与more和less一起使用,从而可以一页页地查看数据。例如:
cat text | less # 查看text文件中的内容
# 注:这条命令也可以使用less text来代替
chgrp
该命令用于改变文件所属用户组,它的使用非常简单,它的基本用法如下:
chgrp [-R] dirname/filename
-R :进行递归的持续对所有文件和子目录更改
# 例如:
chgrp users -R ./dir # 递归地把dir目录下中的所有文件和子目录下所有文件的用户组修改为users
chown
该命令用于改变文件的所有者,与chgrp命令的使用方法相同,只是修改的文件属性不同,不再详述。
chmod
该命令用于改变文件的权限,一般的用法如下:
chmod [-R] xyz 文件或目录
-R:进行递归的持续更改,即连同子目录下的所有文件都会更改
同时,chmod还可以使用u(user)、g(group)、o(other)、a(all)和+(加入)、-(删除)、=(设置)跟rwx搭配来对文件的权限进行更改。
# 例如:
chmod 0755 file # 把file的文件权限改变为-rxwr-xr-x
chmod g+w file # 向file的文件权限中加入用户组可写权限
vi
编辑文件
# 直接输入以下命令
i: 进入编辑模式。
w: 保存
q: 退出
!q: 不保存退出
wq: 保存提出
/hello:回车,正向查找 hello 字符串
?hello:回车,反向查找 hello 字符串
# 使用 n 键跳转到下一个匹配项,使用 N 键跳转到上一个匹配项。
touch
创建新文件或更新文件的时间戳。
chmod
修改文件或目录的权限。
df
显示磁盘空间使用情况
[root@linuxcool ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 12M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/nvme0n1p2 200G 128G 72G 65% /
/dev/nvme0n1p1 2.0G 217M 1.8G 11% /boot
/dev/sda 1.8T 1.2T 526G 70% /data
du
查看文件或目录的大小
[root@root ~]# cd /home/restart/
[root@restart ~]# du -sh *
4.0K if.sh
6.1M main
4.0K restart.sh
fdisk
查看磁盘分区情况
[root@centos01 ~]# fdisk -l
Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000b196f
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 8800255 4194304 82 Linux swap / Solaris
/dev/sda3 8800256 62914559 27057152 83 Linux
三、网络配置命令
dig命令
先用dig命令,查找可用的ip。dig @114.114.114.114 index.docker.io
。如果dig命令报错,要先安装工具包。yum -y install bind-utils
[root@lishch-centos7-20220614 ~]# dig @114.114.114.114 index.docker.io
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.9 <<>> @114.114.114.114 index.docker.io
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 765
;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;index.docker.io. IN A
;; ANSWER SECTION:
index.docker.io. 73 IN CNAME elb-io.us-east-1.aws.dckr.io.
elb-io.us-east-1.aws.dckr.io. 73 IN CNAME us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com.
us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com. 73 IN A 52.0.124.215
us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com. 73 IN A 34.206.129.210
us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com. 73 IN A 3.218.46.255
us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com. 73 IN A 54.83.62.173
us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com. 73 IN A 50.17.172.199
us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com. 73 IN A 54.227.193.182
;; Query time: 37 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Sat Jun 18 14:36:26 CST 2022
;; MSG SIZE rcvd: 260
找到ANSWER SECTION
模块,把对应的ip添加到hosts文件。一般添加一两个ip就可以了。vim /etc/hosts
。在文件末尾添加一行
52.0.124.215 index.docker.io
。再次执行docker search命令。就可以了。
[root@lishch-centos7-20220614 ~]# vim /etc/hosts
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
172.31.160.170 lishch-centos7-20220614 lishch-centos7-20220614
100.100.2.138 index.docker.io
52.0.124.215 index.docker.io
systemctl restart docker
docker search nginx
修改DNS
只是修改resolv.conf后重启网络后发现,又回到修改之前的样子。
随后发现/在这个etc/sysconfig/network-scripts/ifcfg-ens33
(有的可能是ifcfg-ens0
,ifconfig看自己的网卡是什么)中修改后resolv.conf这个文件不用修改就会跟着改变。
下图是ifconfig看自己网卡的
下图是etc/sysconfig/network-scripts/ifcfg-ens33文件
重启网络后的resolve.conf文件可以看到nameserver跟上面的dns是一致的
立即生效
systemctl restart network
nslookup
验证 DNS 配置
nslookup example.com
ifconfig
查看或配置网络接口信息。
ip
更强大的网络配置工具,用于显示和配置网络接口、路由表等。
ping
测试与指定主机的连接。
traceroute
显示数据包到达目标主机经过的路径。
netstat
显示网络连接、路由表和网络接口统计信息。
netstat -a // 显示所有活动的网络连接
netstat -l // 显示所有监听端口
netstat -t // 显示所有 TCP 连接
netstat -u // 显示所有 UDP 连接
netstat -p // 显示进程和 PID
netstat -r // 显示路由表
netstat -i // 显示接口统计信息
netstat -n // 以数字形式显示网络连接和路由信息,忽略对 IP 地址和端口号的主机名解析
netstat -tuln | grep 3306 // 显示所有监听的 TCP 连接,并筛选出其中监听在本地端口 3306 上的连接
netstat -aon|grep 3306 // 显示所有的网络连接和监听端口,并筛选出本地端口为 3306 的连接,并显示与之相关联的进程 ID
netstat
命令的输出结果格式如下:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 5678/sendmail
tcp6 0 0 :::80 :::* LISTEN 9012/httpd
udp 0 0 0.0.0.0:68 0.0.0.0:* 3456/dhclient
udp 0 0 0.0.0.0:123 0.0.0.0:* 7890/ntpd
要在CentOS
系统上安装netstat
命令,您需要安装名为net-tools
的软件包,因为netstat
是该包中包含的一个工具。以下是使用系统自带的软件包管理器进行安装的步骤:
# 对于使用yum的CentOS(如CentOS 6或7):
# 更新软件包列表(可选,建议定期执行)
sudo yum update
# 安装net-tools(包含netstat命令)
sudo yum -y install net-tools
常见参数
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
# 查看所有活动的TCP连接和监听的TCP端口
netstat -ntlp
# 查看特定端口(如80端口)的监听状态
netstat -ntlp | grep ":80"
nmap
端口扫描
# 先安装
yum install -y nmap
# 扫描本地端口
[root@localhost ~]# nmap 127.0.0.1
Starting Nmap 6.40 ( http://nmap.org ) at 2023-03-05 11:44 CST
Nmap scan report for VM-12-17-centos (127.0.0.1)
Host is up (0.0000050s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
21/tcp open ftp
2222/tcp open EtherNet/IP-1
3306/tcp open mysql
9050/tcp open tor-socks
ss
更快速、更全面的网络套接字信息工具。
# 下面命令将列出所有占用端口80的进程和其 PID。
ss -tuln | grep 80
route
显示或配置IP路由表。
lsof
查看端口是否给占用
lsof 8090
四、软件包管理命令
1. yum:CentOS 7默认的软件包管理工具,用于安装、更新和删除软件包。
# 显示已经安装的docker
yum list installed | grep docker
# 安装程序
yum install -y yum-utils device-mapper-persistent-data lvm2
# 删除程序
yum remove docker docker-common docker-selinux docker-engine
2. rpm:管理RPM(Red Hat Package Manager)软件包,包括查询、安装、升级等操作。
3. dnf:Fedora Next Generation Package Manager,是yum的升级版,提供更快的操作速度和依赖关系解决方案。
4.更换yum源
CentOS 自带的yum源(yum仓库)的网址都是国外的服务器,因此用yum安装软件的时候下载速度会比较慢,而更改成国内源网速就会快很多。国内的源还是比较多的,比如阿里、163、清华等。
操作步骤
# 备份系统自带的源
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
# 用wget下载阿里源
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 如果提示没有wget,可以使用curl下载
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 清除并重建缓存
yum clean all
yum makecache
5.更换pip源
用pip下载的时候也是比较慢的,更换成国内的也会快很多,更换后也不用在安装的时候用参数指定源了,比较方便。
阿里云:http://mirrors.aliyun.com/pypi/simple/ (推荐使用)
清华大学:https://pypi.tuna.tsinghua.edu.cn/simple
操作步骤
# 1、建立目录和文件
mkdir ~/.pip
vim ~/.pip/pip.conf
# 临时使用
# 可以在使用pip的时候在后面加上-index参数,指定pip源:
pip3 install --index https://pypi.tuna.tsinghua.edu.cn/simple/ xlrd
# 或者
pip install package_name -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
# 永久设置
# 2、pip.conf文件里输入下面内容并保存
[global]
trusted-host = mirrors.aliyun.com
index-url = https://mirrors.aliyun.com/pypi/simple
# 3.测试安装numpy
pip install numpy
五、其他常用命令
1. grep:在文件中搜索指定模式的文本。
2. sed:流编辑器,用于处理文本流。
3. awk:文本处理工具,用于提取和处理文本数据。
4. tar:打包和解压缩文件。
该命令用于对文件进行打包,默认情况并不会压缩,如果指定了相应的参数,它还会调用相应的压缩程序(如gzip和bzip等)进行压缩和解压。它的常用参数如下:
-c :新建打包文件
-t :查看打包文件的内容含有哪些文件名
-x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中
-j :通过bzip2的支持进行压缩/解压缩
-z :通过gzip的支持进行压缩/解压缩
-v :在压缩/解压缩过程中,将正在处理的文件名显示出来
-f filename :filename为要处理的文件
-C dir :指定压缩/解压缩的目录dir
上面的解说可以已经让你晕过去了,但是通常我们只需要记住下面三条命令即可:
压缩:tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称
查询:tar -jtv -f filename.tar.bz2
解压:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
注:文件名并不定要以后缀tar.bz2结尾,这里主要是为了说明使用的压缩程序为bzip2
# 打包文件
tar -cvf archive.tar file1.txt file2.txt
# 打包并压缩文件(使用gzip)
tar -czvf archive.tar.gz file1.txt file2.txt
# 解压缩并解包文件(使用gzip)
tar -xzvf archive.tar.gz
5. gzip:压缩文件。
# 压缩文件
gzip file.txt
# 压缩后,原文件将被替换为压缩文件file.txt.gz。
# 解压缩文件
gzip -d file.txt.gz
# 解压缩后,将生成原文件file.txt,并删除压缩文件file.txt.gz。
6. ssh:通过安全的Shell连接到远程主机。
# 修改ssh配置文件
$ vi /etc/ssh/sshd_config
Port 2222
$ service sshd restart
# 带端口的链接
ssh -p 2222 root@192.168.1.2
# 不带端口的
ssh root@192.168.1.2
7. scp:通过SSH在本地主机和远程主机之间复制文件。
结论
本文列举了CentOS 7中常用的命令,涵盖了系统管理、文件操作、网络配置和软件包管理等方面。熟练掌握这些命令,能够提高在CentOS 7上的管理效率和操作能力。当然,这只是常用命令的一个简要介绍,CentOS 7还有更多其他命令和工具可以进一步探索和学习。通过不断使用和实践,读者可以逐渐熟悉和掌握这些命令,提高在CentOS 7上的工作效率和技能水平。
然而,需要注意的是,Linux系统的发展是一个动态的过程,新的版本和工具可能会引入新的命令或修改现有命令的行为。因此,建议读者在实际使用时参考相关文档和官方资源,以确保所使用的命令和方法适用于特定的系统环境和版本。
希望本文对读者在CentOS 7上使用常用命令提供了一些帮助和指导,使其能够更加高效地管理和操作系统。通过不断学习和实践,读者可以进一步深入了解Linux系统,并通过使用更多的命令和工具来扩展其技能和知识。