Linux操作系统(Centos7)零基础入门,超详细!2

简介: Linux操作系统(Centos7)零基础入门,超详细!

3.Linux核心实用命令

3.1.Linux中find命令的用法

(1)find的基本用法:find 路径 选项

  • 各个参数:
-type #根据文件类型查找,f为文件,d为目录
-name #根据文件名查找
-perm #根据文件权限查找,比如-rw-------,r为4,w为2,所以为6,后面全是0 ,为600,三位一加
-user #根据文件所属主 
  • 举例:
find /var/log/ -type f -name "*.log"
查找/var/log目录下有.log结尾的文件


4bd3af5b796d4b80bc3d19c05c6aae69.jpg

find /var/log/ -type d
查找/var/log目录下的所有目录

454aae64390e437c878bec0a40ce7411.jpg

find /var/log/ -perm 600 -type f -name "*.log"
查找/var/log 下文件权限为所有者读写权限,所有组无权限,其他无权限,以.log结尾的文件。

051a30951b95430ebfd43db221c2209a.jpg

find /var/log/ -user root -type f -name "*.log"
查找/var/log 下所属者为root,以.log结尾的文件


9734a4a8b6fd4ce58824d52cbc8e7dea.jpg

(2)find的高级用法

参数:

;   #可以执行多条命令
\   #转义符,使得这条命令结束
{}    #把find命令的结果传递给{}
-exec #执行

举例:

find /var/log/ -type f -name "*.log" -exec wc -l {} \;
显示find查询结果的行数


e72bec7093ac4168a9067814f60850b7.jpg

find /var/log -type f -name "*.log" -exec cp -a {} /home/test \;
将find查询到的结果复制到home的test目录下

ea5d99e97f8248f68fed87174cda7cb0.jpg

-mtime #根据文件的变更时间来查找,-n表示更改时间距现在的n天以内,+n表示更改时间距现在的n天以外。
find /var/log -mtime -2 -type f -name "*.log" -exec ls -lrt {} \; 
显示前两天到今天这段时间内的以.log结尾的文件

52c777a3c2d841d7a2a474a99999e07f.jpg

find /var/log -mtime +2 -type f -name "*.log" -exec ls -lrt {} \; 
显示前两天之前的所有.log结尾的文件

b2c64c7f955b4520aa32c32dde3a5d92.jpg

3.2.防火墙以及selinux介绍

(1)firewall防火墙的使用

防火墙主要用于保护信息安全防护,主要有软件防火墙和硬件防火墙,firewalld防火墙是软件防火墙,在centos7之前默认采用的是防火墙是iptables,而在centos7则采用的是firewall
  • 查看firewalld服务状态
systemctl status firewalld

181bc39b14be431caa3d9f0896493ca8.jpg


0ca7543e4a094641ad2795b7a4f79db6.jpg

  • 开启、重启、关闭firewall服务
开启:systemctl start firewalld.service
关闭:systemctl stop firewalld.service
重启:systemctl restart firewalld.service
  • 查看firewall防火墙的状态
firewall-cmd --state

5dae1ddb83df43e780310726c6a64ea5.jpg


885aff8c3cd747f4bbe42d14617e088c.jpg

  • 查看防火墙开放端口规则
firewall-cmd --list-port

b894fded2d3e4f33a03c22fe8da66a8a.jpg

  • 开放80端口
firewall-cmd --permanent --add-port=80/tcp  (注意:--permanent是永久生效,不加这个参数重启后就失效)
  • 加载生效开放的端口
firewall-cmd --reload
  • 查询指定端口80是否开放
firewall-cmd --query-port=80/tcp

a82966ce8d174654a029c1e8b0b5f795.jpg

  • 关闭80端口
firewall-cmd --remove-port=80/tcp


55287136cb57486ea60b6f0ff3d560a4.jpg

安装telnet命令:yum -y install xinetd telnet telnet-server (确认联网状态)

安装netstat与ifconfifig命令:yum -y install net-tools(确认联网状态)

(2)SeLinux的三种共工作模式:配置文件路径:/etc/selinux/config

  • enforcing:强制模式,违反selinux规则的行为将会被阻止并记录到日志中。
  • permissive:宽容模式,违反selinux规则的行为将会记录到日志,但不会阻止。
  • disabled:关闭模式。

3.3.telnet与scp的用法

(1)企业中telnet命令的使用

  • telnet命令主要用于测试到某台机器的某个端口是否畅通
  • telnet这个命令依赖于xinetd夫妇于telnet-server服务
  • telnet命令的安装:yum -y install xinetd telnet telnet-server (确认联网状态)
  • telnet命令的用法:telnet IP地址 端口 ;如telnet 192.168.235.130 80

(2)企业中scp命令的使用

scp命令用于服务其之间文件或者目录的拷贝

  • 从本机拷贝文件到别的机器:scp 本机文件的存放路径 root@服务器IP地址:服务器目标路径
scp /root/vmware.tar root@192.168.235.129:/root/
将当前机器的vmware.tar复制到192.168.235.129机器的root目录下

6ba26976e8584f80b8c36dba95ae6ba7.jpg

在130机器上执行命令:scp /root/vmware.tar root@192.168.235.129:/root/


46a9fa9150aa42428e5a614429dd4ec6.jpg


ada18e1013d047c7a1dbbfb2290757bc.jpg

  • 从别的机器拷贝文件到本地目录:scp root@服务器IP:服务器目标文件的路径 本机文件的存放路径
scp root@192.168.235.129:/root/vmware-tools.tar.xz /root/
将129机器的vmware-tools.tar.xz拷贝到本地的root目录下

57f334f7ba194939a871f916ff6d0105.jpg

执行命令:scp root@192.168.235.129:/root/vmware-tools.tar.xz /root/

106aa16fae5b4fbe8459adfbf47f3c36.jpg

c23eca7d0c02411abffb955e629940c8.jpg

  • -r参数:递归的作用(拷贝目录,不加-r会报错)
scp -r vmware-tools-distrib root@192.168.235.129:/root/


4d0c389442244805a76e31decfb93a5a.jpg

3.4.进程管理命令

(1)ps -ef | more

UID         PID   PPID  C STIME TTY          TIME CMD
root          2      0  0 13:19 ?        00:00:00 [kthreadd]
root          3      2  0 13:19 ?        00:00:00 [ksoftirqd/0]
root          5      2  0 13:19 ?        00:00:00 [kworker/0:0H]
UID:用户名,代表当前进程是那个用户启动的
PID:进程ID
PPID:父进程号
C:CPU占用率
STIME:进程启动的时间
TTY:TTY终端
TIME:进程执行起到现在总的CPU占用时间
CMD:启动这个进程的命令

(2)ps aux | more

USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          2  0.0  0.0      0     0 ?        S    13:19   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    13:19   0:00 [ksoftirqd/0]
root          5  0.0  0.0      0     0 ?        S<   13:19   0:00 [kworker/0:0H]
USER:那个用户启动了这个命令
PID:进程的ID
%CPU:CPU的占用率
%MEM:内存的使用率
VSR:如果一个进程完全驻留在内存中一共使用了多长时间
RSS:进程当前占用了多少内存
TTY:tty终端
STAT:表示当前进程状态(S处于休眠状态,D不可中断状态,Z僵尸状态,X死掉的状态)
START:启动这个命令的时间点
TIME:进程总共占用CPU的时间
COMMAND:启动这个进程的命令

3.5.处理海量数据之cut命令

(1)cut命令的基本使用

cut应用场景:通常对数据进行列的提取

语法:cut [选项] …[file]

选项:
-d  #指定分隔符
-f  #指定截取区域
-c  #一字符为单位进行分割


8af335d7ff7345c09502cf798a777189.jpg

(2)以’:'为分隔符,截取出/etc/passwd的第一列跟第三列

cut -d ':' -f 1,3 /etc/passwd
cat /etc/passwd | cut -d ':' -f 1,3



7b70a3457460458d87d8ab46e682f949.jpg

(3)以’:'为分隔符,截取出/etc/passwd的第一列到第三列

cut -d ':' -f 1-3 /etc/passwd
cat /etc/passwd | cut -d ':' -f 1-3



16250b2a4ec34de6b065635206fc7223.jpg

(4)以’:'为分隔符,截取出/etc/passwd的第二列到最后一列

cut -d ':' -f 2- /etc/passwd
cat /etc/passwd | cut -d ':' -f 2-



7f0dd27b0f984430a306bf754442cdb3.jpg

(5)截取/etc/passwd文件从第二个字符到第九个字符

cut -c 2-9 /etc/passwd
cat /etc/passwd | cut -c 2-9


12c820bada34488d8fbd7c106210dd2c.jpg

(6)截取linux上面所有可登陆普通用户

cat /etc/passwd | grep '/bin/bash' | cut -d ':' -f 1 | grep -v root

bdc6ffd1fff74bc481b3f660b7d90c01.jpg

3.6.处理海量数据之awk命令

(1)awk简介

awk是一个非常强大的数据处理命令,支持条件判断,数组,循环等功能,与grep,sed被称为linux三剑客

awk的应用场景:通常对数据进行列的提取

语法:

(1)awk '条件1 {执行动作} 条件2 {执行动作}...' 文件名
(2)awk [选项] '条件1 {执行动作} 条件2 {执行动作}...' 文件名

(2)printf与print的用法

  • printf #格式化输出,不会自动换行
  • print #打印出内容,默认自动换行
  • %s #代表字符串
  • \t #制表符
  • \n #换行符
printf '%s\t%s\t%s\t%s\t%s\t%s\n' 1 2 3 4 5 6


336173ec3ed9465e92097a0818b25bad.jpg

(3)awk的简单用法

  • NR #行号
  • $1 #代表第一列
  • $2 #代表第二列
  • $NF #代表最后一列
  • 截取行数是4的第一个在字符
df -h | awk 'NR==4 {print $1}'

4f3fe7fb7fa14110a1d92ce1c6295ae0.jpg

  • 截取行数是2到5的第一个字符
df -h | awk '(NR>=2 && NR<-5) {print $1}'


388fbd0300234574bde29251d238d9e0.jpg

  • 截取最后一个字符
df -h | awk '{print $NF}'


4fe9675fa3c74b59a8b1237e1156dec8.jpg

  • 以’:’ 为分隔符, -F #指定分割符
awk -F":" '{print $1}' /etc/passwd


d7e749f374d747da97c4d0d221a20535.jpg

  • BEGIN#在读取所有行内容前就开始执行,一般用来初始化操作
cat /etc/passwd | awk 'BEGIN {FS=":"} {print $1}'

473c88bb9fb542298319bac05cc715b8.jpg

df -h | grep -v '文件系统' | awk 'BEGIN {printf "文件系统使用情况:\n\n"} {print $1} {printf "文件系统使用率:"} {print $5}'

e966c00b8892403cb82bf6e5955b0bc5.jpg

  • END #结束的时候执行
df -h | grep -v '文件系统' | awk 'BEGIN {printf "文件系统使用情况:\n\n"} {printf $1} {printf "文件系统使用率:"} {print $5} END {printf "一切正常\n"}' 

6ef273d73bb04b6d9bfd63895911a3bc.jpg

3.7.处理海量数据之sed命令

sed主要对数据进行处理(选取、新增、替换、删除、搜索)

sed语法:sed [选项] [动作] 文件名

常见的选项与参数:

-n  #把匹配到的行输出打印到屏幕
p #以行为单位进行打印,通常与-n一起使用
d #删除
a #在行的下面插入新的内容
i #在行的上面插入新的内容
c #替换
指定字符串替换:s/要被取代的内容/新的字符串/g #指定内容进行替换
-i  #对源文件进行修改(高危操作,慎用,用之前要备份源文件)
搜索:在文件中搜索内容 
-e  #表示可以执行多条动作

(1)把第2行的文件系统打印在屏幕上

df -h | sed -n '2p'

13370939da7248889e623d8deaaaa5d4.jpg

(2)删除第二行显示,不会对源文件产生影响

df -h | sed '2d'

3a38d11bf6824bd1a2488a051714fe9b.jpg

(3)在第二行下面插入新的内容

df -h | sed '2a 1211212121212121212121212121'


ae92a18e23ab4364a1c4a09263321f10.jpg

(4)在第二行上面插入新的内容

df -h | sed '2i 1211212121212121212121212121'


ebbd567c9bf5462686b0c32974af0edc.jpg

(5)将第二行替换成指定字符

df -h | sed '2c 1211212121212121212121212121'


4484fa6637c84bf4a16df9b0e5556bb1.jpg

(6)把centos-root替换成centos8

df -h | sed 's/centos-root/centos8/g'

ff5bb044f9144004b7d2e3a643edcd55.jpg

(7)对源文件进行修改

sed -i 's/centos7/centos8/g' df.txt

36d31c0fed4148878f84e2e18ff6f7d0.jpg

(8)搜索文件中带有TMP的字符

sed -n '/TMP/p' df.txt


dfededa8b8cf4b46a627850596cb0d28.jpg

(9)把centos8替换成centos7并且搜索文件中带有TMP的字符

sed -e 's/centos8/centos7/g' -e 's/TMD/g' df.txt

fbc0b03573fc41789a9c26378a1ebcfe.jpg


相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
3天前
|
缓存 安全 Linux
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
44 23
|
9天前
|
弹性计算 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot是由阿里云推出的操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行等功能,极大提升了Linux系统的使用效率。用户只需通过简单的命令或自然语言描述问题,OS Copilot即可快速提供解决方案并执行相应操作。例如,查询磁盘使用量等常见任务变得轻松快捷。此外,它还支持从文件读取复杂任务定义,进一步简化了操作流程。虽然在某些模式下可能存在小问题,但总体上大大节省了学习和操作时间,提高了工作效率。
74 2
OS Copilot-操作系统智能助手-Linux新手小白的福音
|
2天前
|
存储 运维 安全
深入解析操作系统控制台:阿里云Alibaba Cloud Linux(Alinux)的运维利器
本文将详细介绍阿里云的Alibaba Cloud Linux操作系统控制台的功能和优势。
21 5
|
3天前
|
安全 大数据 Linux
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享
|
3天前
|
弹性计算 运维 安全
阿里云操作系统迁移最佳实践|飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是阿里云操作系统迁移最佳实践,Alibaba Cloud Linux /Anolis OS 兼容 CentOS 生态,因此能够很丝滑的进行迁移替换。无论是对企业的运维人员,还是对企业操作系统的使用者来说,相对简化了它的维护成本。通过 SMC 操作系统迁移实践带用户深入了解,不仅阐述了原地迁移方案的独特优势,还针对不同的迁移场景,逐步剖析了整个迁移流程,力求使复杂的操作变得直观易懂,实现了真正的“白屏化”体验。 1. CentOS 迁移背景 2. 操作系统迁移实践 3. 迁移故障处理
|
29天前
|
负载均衡 Ubuntu 应用服务中间件
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
106 13
|
1天前
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
23 7
|
1月前
|
存储 缓存 网络协议
Linux操作系统的内核优化与性能调优####
本文深入探讨了Linux操作系统内核的优化策略与性能调优方法,旨在为系统管理员和高级用户提供一套实用的指南。通过分析内核参数调整、文件系统选择、内存管理及网络配置等关键方面,本文揭示了如何有效提升Linux系统的稳定性和运行效率。不同于常规摘要仅概述内容的做法,本摘要直接指出文章的核心价值——提供具体可行的优化措施,助力读者实现系统性能的飞跃。 ####
|
8月前
|
Ubuntu Linux Shell
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
122 0
|
8月前
|
Ubuntu Linux Shell
【Linux操作系统】探秘Linux奥秘:用户、组、密码及权限管理的解密与实战
【Linux操作系统】探秘Linux奥秘:用户、组、密码及权限管理的解密与实战
157 0

热门文章

最新文章