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

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

1.Linux入门

1.1.Linux CentOS7的网络设置

  • 入门命令
重启主机的命令:reboot
重启网卡的命令:systemctl restart network.service
查看ip地址的命令:ip addr
ping网络是否畅通:ping ip地址
  • 桥接模式(Bridged)
可以访问外网
容易与局域网的其他集器ip地址冲突
  • Host-Only仅主机模式
一般情况下不可以访问外网
不会与局域网的其他机器ip地址冲突
  • NAT模式
可以访问外网
不会与局域网的其他机器ip地址冲突

1.2.虚拟机的快速克隆


9972db3e9f534a729a29c6e7a5bf6bd1.jpg

克隆之后,systemctl restart network.service 命令会报错,原因试MAC地址不正确,会复制原来的MAC地址。

网卡路径:/etc/sysconfig/network-scripts/ifcfg-eno16777728,修改MAC地址后保存

1.3.虚拟机的快照


b427b35f22ac4143a158ce8a11b63a65.jpg

2.Linux常用操作

2.1.Linux常用基础命令(一)

(1)cd命令

  • 功能说明:切换目录
  • 举例:cd /usr/local/ ; cd … ; cd - ; cd(回到家目录)

(2)ls命令

  • 功能说明:列出目录内容
  • 举例:ls -ltr ; ls -ltr /home ; ll

(3)pwd命令

  • 功能说明:查询所在目录
  • 举例:pwd
  • (4)cat命令
  • 功能说明:查看小文件内容
  • 举例:cat -n 123.txt

(5)more命令

  • 功能说明:查看大文件内容
  • 举例:more System.map-3.10.0-123.e17.x86_64

(6)head命令

  • 功能说明:查看文件的前N行,默认查看前10行
  • 举例:head -20 System.txt

(7)tail命令

  • 功能说明:查看文件的后面N行,默认查看后10行
  • 举例:tail - f access.log ; tail -20 access.log

(8)touch命令

  • 功能说明:创建一个空文件
  • 举例:touch 123.txt

(9)mkdir命令

  • 功能说明:创建目录
  • 举例:mkdir -p /tmp/xd (注意不加-p,不能多级创建) ;mkdir /tmp/xd/test{1…10} ; mkdir /tmp/xd/test{1…10}.txt

(10)rmdir命令

  • 功能说明:删除目录
  • 举例:rmdir /tmp/xd

(11)cp命令

  • 功能说明:拷贝文件
  • 举例:cp 123.txt class/(复制123.txt到class目录) ; cp -a 123.txt class/ 789.txt(复制123.txt重命名位789.txt到class目录下,-a完全复制)

(12)mv命令

  • 功能说明:移动或更名现有的文件和目录
  • 举例:mv 123.txt 345.php ; mv 789.txt /home/789.php

(13)rm命令

  • 功能说明:删除文件或目录
  • 举例:rm 987.txt ; rm -rf 456.txt

(14)diff命令

  • 功能说明:对比文件差异
  • 举例:diff 123.txt 456.txt

(15)exit命令

  • 功能说明:退出命令

(16)ssh命令

  • 功能说明:远程安全登录方式
  • 举例:ssh ip

(17)id命令

  • 功能说明:查看用户
  • 举例:id root

(18)uname命令

  • 功能说明:查询主机信息
  • 举例:uname -a

(19)ping命令

  • 功能说明:查看网络是否畅通
  • 举例:ping ip

(20)echo命令

  • 功能说明:标准输出命令
  • 举例:echo “this is echo 命令”

(21)man命令

  • 功能说明:查看帮助文档
  • 举例:man ls

(22)help命令

  • 功能说明:查看内部命令帮助
  • 举例:help if

2.2.Linux常用基础命令(二)

(1)clear命令

  • 功能说明:清屏
  • 举例:clear ; ctrl+L

(2)who命令

  • 功能说明:当前在本地系统上的所有用户信息
  • 举例:whoami ; who

(3)uptime命令

  • 功能说明:显示当前时间,系统运行了多长时间,多少用户登陆过,负载信息
  • 举例:load average: 0.00,0.01,0.05 (1分钟的负载,5分钟的负载,15分钟的负载)

(4)w命令

  • 功能说明:查询系统信息
  • 举例:w

(5)free命令

  • 功能说明:查看系统内存
  • 举例:free -h ; free -m
  • (6)wc命令
  • 功能说明:统计文件的行数
  • 举例:wc -l 123.txt

(7)grep 命令

  • 功能说明:查找文件里符合条件的字符串
  • 举例:grep ‘11111111111’ 123.txt | wc -l
  • -n:输出记录对应的行号 grep -n ‘1111111’ 123.txt
  • -w:精确匹配 grep -w ‘111111’ 123.txt
  • -i:忽略大小写 grep -i ‘1111111’ 123.txt
  • -v:反向选择 grep -v ‘1111111’ 123.txt
  • (8)find命令
  • 功能说明:查询文件
  • 举例:
  • find / -name 123.txt (查询名称为123.txt的文件或者文件夹)
  • find / -type f -name 123.txt (查询名称为123.txt的文件)
  • 注意:find 最好不要从根目录开始查,非常消耗性能,生产不要用

(9)uniq命令

  • 功能说明:对排序好的内容进行统计
  • 举例:uniq -c 123.txt |sort -n

(10)sort命令

  • 功能说明:对内容进行排序
  • 举例:uniq -c 123.txt | sort -n

(11)df命令

  • 功能说明:文件系统的磁盘使用情况统计
  • 举例:df -h

(12)hostname命令

  • 功能说明:查看主机名
  • 举例:hostname

(13)netstat命令

  • 功能说明:查看网络端口的使用情况
  • 举例:netstat -tunlp |grep nginx
  • -t:显示tcp端口
  • -u:显示UDP端口
  • -n:指明拒绝显示别名
  • -l:指明监听的内容
  • -p:指明显示建立相关连接的程序名
  • centos中默认没有netstat命令,须安装:yum install net-tools

(14)ps命令

  • 功能说明:显示所有进程信息。ps与grep常用组合,查找特定的进程
  • 举例:
  • ps aux | grep nginx
  • ps -ef | grep nginx

(15)kill命令

  • 功能说明:杀进程
  • 举例:kill -9 进程号
  • (16)top命令
  • 功能说明:监控Linux系统状况,比如cpu、内存的使用
  • 举例:top ;按住q退出

(17)du命令

  • 功能说明:统计大小
  • 举例:du -sh ; du -sm *

(18)firewall-cmd命令

  • 功能说明:查看防火墙的状态
  • 举例:firewall-cmd --state
  • centos7关闭防火墙的命令:systemctl stop firewall.service

(19)echo命令

  • 功能说明:判断上一个命令是否正确
  • 举例:echo $?

(20)cal命令

  • 功能说明:查看日历
  • 举例:cal 2008

2.3.Linux的输入输出错误重定向

(1)什么是输入重定向?

输入重定向就是把要输入的信息写入到指定的文件去

(2)什么是输出重定向?

输出重定向就是把要输出的信息写道一个文件中去,而不是将要输出的信息打印到控制台

(3)什么是错误重定向?

错误重定向就是把错误的信息写入到一个文件中去

(4)Linux中一切皆文件

文件描述符 posix名称 用途
/dev/stdin 0 标准输入
/dev/stdout 1 标准输出
/dev/stderr 2 标准错误输出

(5)输入重定向:<

举例:wc -l < 123.txt

(6)输出重定向:> 代表覆盖写入;>> 代表追加写入

举例:cat >>123.txt(追加输入) ;cat >123.txt(覆盖输入);ls -lrt >123.txt(ls-lrt查询结果覆盖到123.txt中); echo ‘123123’ >123.txt(直接写入)

(7)错误重定向:2>

举例:llll 2> 123.txt(将错误信息写到123.txt中);llll 2>/dev/null 将一些无用的错误报错写到这里

(8)符号:

&:代表等同于的意思:ls -lrt /boot /test 1>/root/123.txt 2>&1

&>:代表部分正确还是错误的意思:ls -lrt /boot /test &>123.txt

|:管道符:用于将前面的执行结果作为后面执行的条件

;:代表可以执行多条命令,cat etc/password; grep root

&&:前面的命令执行成功的话,后面才可以执行,前面执行失败的话,后面不执行 :llll && grep root

||:前面的命令执行成功,后面的不执行,面前的执行失败,后面的才执行:grep root || ls -lrt

2.4.Linux下的目录分类与作用


a870ce35e015409082a9f132c66fdf3c.jpg

/:根目录,一般根目录下之村放目录,不要存放文件,也不要修改,或者删除目录下的文件
/mnt:测试目录
/root:root用户的家目录
/home:普通用户的家目录
/tmp:临时文件(比如文件上传时)
/var:存放经常修改的数据,比如程序运行的日志文件
/boot:存放启动linux时使用的内核文件,包括链接文件以及镜像文件
/etc:系统默认放置配置文件的地方
/bin:所有用户都能执行的程序
/sbin:只有root才能执行的程序
/usr:用户自己的软件都可以放到这里
/dev:存放硬件设备的地方(dev/cdrom)
/media:挂载光盘使用
挂载光盘:mount /dev/cdrom /media
卸载光盘:umount /dev/cdrom

2.5.虚拟机与外部物理机时间同步

(1)卸载光盘的时候出现:


3f365d7198f64a70b88eca5f3a63ed3f.jpg

解决办法:

首先确认联网状态

  • yum install -y psmisc
  • fuser -mv /media
  • fuser -kv /media

(2)date命令

  • date “+%Y-%m-%d %H:%M:%S” 时间格式刷
  • date -s “2020-10-1 22:00:00” 指定当前时间
  • date -d yesterday “+%Y-%m-%d %H:%M:%S” 查看昨天日期
  • date “+%w” 显示星期几
  • (3)安装VMwareTools
  • 打开虚拟机,安装VMwareTools使工具软件包下载到光盘
  • 挂载光盘到linux系统:mount /dev/cdrom /mnt
  • cp VMwareTools-10.2.0-7259539.tar.gz /root/
  • umount /dev/cdrom
  • root目录解压:tar -xf VMwareTools-10.2.0-7259539.tar.gz
  • cd vmware-tools-distrib
  • yum -y install perl-Data-Dumper
  • ./vmware-install.pl
  • 安装过程全部yes或者默认

2.6.Linux编辑器vi的使用

(1)vi的基本概念(三种模式)

插入模式:按住键盘的i(当前位置前面插入)或者o(当前位置的下一行)或者a(当前位置的后面插入)
命令模式:按住esc
底行模式:前提是在命令模式,按住:进入

(2)在命令行模式的基本操作

$ #移动到这一行的行尾
gg  #移动到当前文本的行首
G #移动到文档最后一行的行首
x #删除内容,删除一个字符
dd  #删除游标所在的那一整行,多行删除3dd
u #复原原来的操作
v #选中范围按y即复制
p #当前光标所在行,向下粘贴
P   #当前光标所在行,向上粘贴
yy  #复制当前光标所在行,多行复制3yy

(3)在底行模式中的操作

n #n为数字,光标移动到第n行
/字符串  #寻找内容,从上往下查找,按n查找下一个
%s/word1/word2/g    #从第一行到最后一行寻找word1字符串,并将该字符串取代为word2
n1,n2s/word1/word2/g  #n1与n2为数字。在第n1与n2行之间寻找2word1的单词替换成word2
set nu  #显示行号
set nonu  #取消行号
q!  #强制离开不保存
wq! #强制离开并保存
!ls #暂时离开
?   #模糊查找,从下往上开始查找,按n查找下一个
s   #作替换,s/t/A 当前行的第一个t字符替换成A,s/t/A/g当前行的所有t字符替换成A,%s/t/A全文t替换成A
r   #读文件,将读到的文件内容插入在当前文件的末尾

(4)编辑模式操作

A #直接在光标行末尾插入
a #在光标后插入
i #在光标前插入
I #在光标所在的行首插入
o #在下一行插入
O #在上一行插入

2.7.Linux的用户管理与组管理

(1)Linux用户的分类

Linux是一个多用户、多任务的操作系统

超级用户root:拥有至高无上的权限UID:0
普通用户:权限有一定的限制,可以登录系统。一版可以执行/usr/local/bin或者/usr/bin或者自己的家目录。
    UID:500-10000(centos6)  UID:1000-10000(centos7)
系统用户(伪用户):一般不会登录系统,一版情况下是用来维持某个程序的服务。
    UID:1-499(centos6)  UID:1-999(centos7)

(2)关于用户的相关配置文件

  • 账号信息:/etc/passwd


e8b69d846c9742dc8a9456cd9559a14b.jpg

  • 密码信息:/etc/shadow
    2e7daf8e518446e782c88473cc1ae1c6.jpg

(3)账号信息解析

lixiang:x:1230:0::/home/lixiang:/bin/bash
lixiang :x :1230 :0 : :/home/lixiang :/bin/bash
用户 密码占位符 UID GID 描述 用户家目录 登陆后使用shell解释
/sbin/nologin #不可登录的
/bin/bash   #可以登录

(4)密码信息解析

lixiang:xxxx:18794:0:99999:7:::
lixiang :xxxx :18794 :0 :99999 :7 :空 :空
用户账号名 密码的密文 账号上次修改距离1970-01-01过去多长时间 距离上次修改密码多少天不能修改密码,0表示随时可以修改 密码过期天数 强制密码修改提醒时间,表示密码过期前7天开始警告 当密码过期后多少天该账号被禁用 用户过期日期,若设置则显示过期日期为距1970-01-01有多少天

(5)添加用户命令:useradd

  • -u #指定用户UID
  • -d #指定用户主目录
  • -g #指定用户所属组
  • -r #指定用户是系统用户
  • -s #用户登录shell解释器
  • -M #不创建主目录

举例:创建一个用户lixiang,指定UID为1010,指定家目录为home/lixiang,指定所属组root组,指定登录shell为/bin/bash

useradd -u 1010 -d /home/lixiang -g root -s /bin/bash lixiang

(6)删除用户命令:userdel

userdel -r lixiang
-r #连同家目录一起删除

(7)添加用户组命令:groupadd

(8)修改用户的信息命令:usermod

  • -u #指定用户的UID
  • -d #指定用户的主目录
  • -g #指定用户所属组
  • -s #修改用户的登录Shell,默认是bin/bash
  • -e #修改用户的失效日期,格式为”YYYY-MM-DD“
usermod -u 1300 -g 0 -d /usr/local/lixiang lixiang

(9)设置用户密码命令:passwd

passwd lixiang
echo '123456' | passwd --stdin lixiang

(10)用户登录出现如下信息

如下: 
bash-4.2$
bash-4.2$
解决:复制/etc/skel 中bash相关的文件到家目录当中
cp -r /etc/skel/.bash* /home/lixiang/

(11)获取主机ip

hostname -I
ifconfig | grep -Eo "([0-9]{1,3}\.){3}[0-9]{1,3}" | head -1

2.8.Linux文件属性与权限操作

(1)文件的属性:ls -lrti

135088935 -rw-------. 1 root root 1778 Oct 1 2020 yum.log
135088935
第一列:i节点,i节点可以理解为文件的id,一个i节点号可以对应多个文件,但是一个文件只能对应一个i节点号。
-rw-------.
第二列:文件的类型与权限
(1)-   #代表的是文件  
  d   #代表的是目录 
  l #代表的是软链接  
  b #代表是块设备 
  c #代表的是硬件设备
(2)r:读权限  w:写权限 x:执行权限
  4:读权限  2:写权限   1:执行权限
- rw- --- ---:分为三列,第一列为所属者的权限,第二列为所属组的权限,第三列为其他权限
1
第三列:有多少文件名链接到这个节点
root
第四列:文件的所有者
root
第五列:文件的所有组
1778
第六列:容量大小,单位默认为B
Oct 1 2020
第七列:创建或最近修改的时间
yum.log
第八列:文件名

(2)文件链接

原始文件:

92dc06983d674f42b11b11b3055c6c50.jpg

软链接:ln -s
举例:ln -s /home/lixiang/yum.log /usr/local/
i节点号根源文件不一样,源文件一旦删除,软链接将找不到源文件。

8c15635c20fd4b5ca62ede7e9ac751db.jpg

硬链接:ln
举例:ln /home/lixiang/yum.log /usr/local/lixiang/
i节点与源文件一模一样,源文件删除,硬链接还可以继续使用,常用于防止重要文件被误删。

68b70702f1854134bab09202aa1da3e2.jpg

(3)修改文件的权限命令:chmod

  • -R:递归的意思
  • chmod -R 777 /home/lixiang

举例:

文件权限修改之前:


74fb187aa6454f27b0255a4f2266481b.jpg

执行命令:chmod u+x,g+w,o+w 123.txt

b1457b748d8c4034a00786456b550787.jpg

撤销权限:chmod u-w,g-r,o-w 123.txt

47803df3f1f54730bb067a251b81201d.jpg

举例:
chmod u+x,g+w,o+w boot.log
chmod u-x,g-w,o-w 123.txt
chmod 777 boot.log

(4)修改文件的所有者跟所属组的命令:chown

更改文件目录lixiang 的所属者为root用户和所属组为lixiang组

chown -R root:lixiang lixiang


ee6bd31a24fe427f8170f0fb7e015d00.jpg

2.9.Linux的文件归档与解压缩

(1)文件归档与文件压缩

  • 文件归档:
文件归档也称为打包,指的是一个文件或者多个文件或者目录的一个集合,这个集合存储在一个文件内。归档文件是没有进行压缩的,所以占用的空间是所有文件或者目录的总和。工作中常于压缩结合在一起。
  • 文件压缩:
节约磁盘空间,加快文件的传输速率。

(2)压缩解压缩命令:gzip、xz

  • gzip:不能压缩目录,只能压缩文件,压缩速度最快,但是压缩比例比较低。扩展名:.gz
不保留源文件压缩:gzip 123.txt
保留源文件压缩:gzip -c 123.txt >123.txt.gz
不保留源文件的解压:gunzip 123.txt.gz
保留源文件的解压:gunzip -c 345.txt.gz > 234.txt
不保留源文件解压:gzip -d 345.txt.gz
  • xz:可以压缩目录和文件,压缩的速度比较慢,但是压缩的比例最高。扩展名:.xz
不保留源文件的压缩:xz 123.txt
保留源文件的压缩:xz -c 345.txt > 345.txt.xz
不保留源文件的解压:unxz 345.txt.xz
保留源文件的解压:xz -d -k 123.txt.xz
不保留源文件的解压:xz -d 123.txt.xz

(3)归档与压缩命令:tar

  • 参数:
-c #创建新文件
-f #指定文件格式
-v #显示详细过程
  • 压缩:
tar -cvf vmware.tar vmware-tools-distrib
-z 以gzip方式归档压缩:tar -zcvf vmware.tar.gz vmware-tools-distrib
-J 以xz方式进行归档压缩:tar -Jcvf vmware.tar.xz vmware-tools-distrib
           tar -Jcvf /home/lixiang/vmware.tar.xz vmware-tools-distrib
  • 解压缩:
-x 解档解压缩操作:tar -xvf vmware-tools.tar.xz
-C 解压指定路径:tar -xvf vmware-tools.tar.xz -C /home/lixiang



相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
15天前
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
37 0
Vanilla OS:下一代安全 Linux 发行版
|
8天前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
29 9
|
7天前
|
缓存 运维 网络协议
深入Linux内核架构:操作系统的核心奥秘
深入Linux内核架构:操作系统的核心奥秘
24 2
|
11天前
|
缓存 网络协议 Linux
Linux操作系统内核
Linux操作系统内核 1、进程管理: 进程调度 进程创建与销毁 进程间通信 2、内存管理: 内存分配与回收 虚拟内存管理 缓存管理 3、驱动管理: 设备驱动程序接口 硬件抽象层 中断处理 4、文件和网络管理: 文件系统管理 网络协议栈 网络安全及防火墙管理
34 4
|
10天前
|
安全 网络协议 Linux
Linux操作系统的内核升级与优化策略####
【10月更文挑战第29天】 本文深入探讨了Linux操作系统内核升级的重要性,并详细阐述了一系列优化策略,旨在帮助系统管理员和高级用户提升系统的稳定性、安全性和性能。通过实际案例分析,我们展示了如何安全有效地进行内核升级,以及如何利用调优技术充分发挥Linux系统的潜力。 ####
30 1
|
13天前
|
物联网 Linux 云计算
Linux操作系统的演变与未来趋势####
【10月更文挑战第29天】 本文深入探讨了Linux操作系统从诞生至今的发展历程,分析了其在服务器、桌面及嵌入式系统领域的应用现状,并展望了云计算、物联网时代下Linux的未来趋势。通过回顾历史、剖析现状、预测未来,本文旨在为读者提供一个全面而深入的视角,以理解Linux在当今技术生态中的重要地位及其发展潜力。 ####
|
17天前
|
人工智能 安全 Linux
|
分布式计算 资源调度 Hadoop
|
应用服务中间件 Linux nginx
【Linux环境】centOS 7安装nginx详细步骤及nginx配置
【Linux环境】centOS 7安装nginx详细步骤及nginx配置
1071 0
|
6月前
|
缓存 Linux 编译器
Linux(CentOS7.5) 安装部署 Python3.6(超详细!包含 Yum 源配置!)
该指南介绍了在Linux系统中配置Yum源和安装Python3的步骤。首先,通过`yum install`和`wget`命令更新和备份Yum源,并从阿里云获取CentOS和EPEL的repo文件。接着,清理和更新Yum缓存。然后,下载Python3源代码包,推荐使用阿里云镜像加速。解压后,安装必要的依赖,如gcc。在配置和编译Python3时,可能需要解决缺少C编译器的问题。完成安装后,创建Python3和pip3的软链接,并更新环境变量。最后,验证Python3安装成功,并可选地升级pip和配置pip源以提高包下载速度。
1631 0

热门文章

最新文章