Linux的基础命令与操作

本文详细介绍了Linux系统的基础配置,包括虚拟机的网络设置、克隆方法、系统时间管理、文件系统结构、文件操作、VI/VIM编辑器、数据传输(如SCP/Rsync)、网络命令、SSH免密钥以及用户、组和权限管理。
摘要由CSDN通过智能技术生成

Linux

一、配置虚拟机

企业级应用:RHEL/CentOS
桌面平台:Ubuntu
开源服务器:CentOS

1.配置网络

路径可以通过TAB键自动补齐

vi /etc/sysconfig/network-scripts/ifcfg-ens33

2.克隆虚拟机

链接克隆:

  1. 当前节点文件夹只存储差异性数据
  2. 相同数据存放在原始节点上
  3. 优点:节省硬盘空间
  4. 缺点:耦合性大

完整克隆:

  1. 就是基于原始节点完全拷贝到新节点的文件夹中
  2. 优点:耦合性抵
  3. 缺点:硬盘空间使用大
  4. 推荐使用完整克隆

3.修改配置与关机

修改主机名

​ hostname 主机名 本次有效,重启无效

​ vi /etc/hostname 修改完成后需要重启生效。

修改主机域名

​ vi /etc/hosts
​ 将来我们需要把所有的虚拟机都配置hosts文件
​ 192.168.163.101 node01
​ 192.168.163.102 node02

关闭虚拟机

​ shutdown -h now 立刻关机

4.日期与时间

查看时区
ll /etc/localtime
/etc/localtime -> …/usr/share/zoneinfo/America/Los_Angeles

设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

date
查看当前系统时间

cal 查看日历
cal 2020

修改时间
date -s 11:11:11
date -s 2019-11-11
date -s ‘2019-11-11 11:11:11’

5.日期自动同步

首先安装时间同步的服务
yum -y install ntp
自动同步网络时间中心
ntpdate cn.ntp.org.cn

二、Linux的文件系统

在这里插入图片描述

  1. / Linux文件系统的根目录

  2. /bin 软连接 /usr/bin 普通用户和管理员都能运行的文件

  3. /boot 引导分区

  4. /dev /media /mnt 第三方挂载目录

  5. /etc Linux操作系统配置文件所在地

  6. /home 普通用户家目录

  7. /lib 软连接 /usr/lib Linux操作系统所需的系统资源

    /lib64 软连接 /usr/lib64

  8. /opt 类似Windows系统的非系统盘

  9. /proc Linux操作系统内存相关的文件

  10. /root 超级管理员root的家

  11. /run Linux操作系统进程相关的文件

  12. /sbin 软连接 /usr/sbin 管理员才能运行的命令文件

  13. /srv 类似Windows系统的非系统盘

  14. /sys Linux操作系统的相关文件

  15. /tmp 临时目录,每次服务器重启会自动清空

  16. /usr 类似Windows系统的系统盘

  17. /var 动态数据文件 例如日志数据库文件

1.Linux的文件操作

cd:改变当前工作目录

​ cd -P 如果切换的目标目录是一个符号链接,则直接切换到符号链接指向的目标目录(不走软链接,走真实地址)

​ cd -L 如果切换的目标目录是一个符号链接,则直接切换到符号链接名所在的目录(走软链接,cd /xxx 默认就是 -L)

ls/ll:显示出指定目录下所有的文件,文件的类型如下:

​ -:普通文件

​ d:文件夹

​ l:软连接

mkdir:创建文件目录

​ mkdir -p 会自动创建文件父目录

touch:如果没有就创建一个文件,如果该文件已经存在,修改文件的三个时间,将三个时间改为当前时间

​ access 访问时间

​ modify 修改文件内容时间

​ change 修改文件元数据信息时间

rmdir:删除空文件夹,可以安全的删除文件目录

rm:删除当前⽬录中的⽂件或者是⼦⽬录

​ rm -rf 删除文件夹

cp:拷贝文件或者文件目录

​ cp 源文件 目标目录

​ cp -r 拷贝文件夹下所有的内容

mv:移动⽂件到指定⽬录

kill-9 暴⼒杀死 kill-15 温柔杀死

pwd:显示当前⽬录的全路径名称

uname:显示当前操作系统的基本信息

stat:修改查看⽂件状态

vi或者vim:打开⽂件

ping:测试与指定主机的连接状态

ln:[选项] 源文件 目标文件 建立链接 默认硬链接

​ -s :建立软链接文件。如果不加 “-s” 选项,则建立硬链接文件;
​ -f :强制创建。如果目标文件已经存在,则删除目标文件后再建立链接文件;

df -h: 分区信息

2.读取文件信息

cat
将整个文档加载到内存中,并进行一次性显示
除非后面使用管道,传递数据

tac
将整个文档加载到内存中,并进行一次性按行逆序显示

more less
分页查看文档内容
快捷键:
回车 下一行
空格 下一页
b 回退
q 退出

head
从文章开始读取N行
默认如果超过10行读取10行,否则读取现在行数
head -5 profile

tail
从文章末尾读取N行
head -3 profile | tail -1
利用管道只读取第N行
管道的作用就相当于把前面的结果以参数的方式传递给后面的命令
读取新增数据
ping www.baidu.com >>baidu
tail -F baidu
如果f:
它会监听指定inode的文件数据变化,但是当文件被删除后
即使创新创建,inode也会发生变化,于是监听失败
如果F
他会监听指定名字的文件,如果文件被删除后,重新创建
他会重新监听新文件的数据变化,监听不受影响

find
查找指定的文件
find 要查找的范围 -name 名字
find /etc -name profile

basename
剔除目录部分,只显示文件名
basename /etc/rc.d/rc.local

dirname
剔除非目录部分,只显示目录名
dirname /etc/rc.d/rc.local

3.VI和VIM编辑器

正常打开
vi profile

打开文件,并将光标置于第8行
vi +8 profile

打开最后一行
vi + profile
按n查找下一个,按N查找上一个

打开指定搜索单词的位置
vi +/if profile

三种模式

在这里插入图片描述

命令模式:每一个按键都有其具体的功能。

 使用 Vim 编辑器打开文件时,默认处于命令模式。此模式下,可使用方向键(上、下、左、右键)或 k(上)j(下)h(左)l(右)移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。
G :跳转至文件末尾。
gg :跳转至文件第一行。
数字gg :跳转到指定行,例如: 2gg ,跳转到第 2 行。
^ :跳转至行首。
$ :跳转至行末。
w :跳到下个单词处。
数字w :跳转到指定个数的单词处。
yw :复制一个单词。
3yw :复制三个单词。
yy :复制一行。
3yy :复制三行。
p :粘贴复制内容。
6p :粘贴 6 次。
dw :删除一个单词。
3dw :删除三个单词。
dd :删除一行。
3dd :删除三行。
u :回退到上一步的操作。
Ctrl + r :回退 u 执行的操作。
. :重复上一步操作。
x :剪切当前光标处字符。
3x :剪切三个字符。
r :替换,然后输入一个字符替换,例如:r1,光标处字符会被替换为 1。
3r :替换三个字符。
kjhl :方向键,分别对应上下左右。
ZZ :保存并退出。
ZQ :不保存退出。
Ctrl + s :锁屏。
Ctrl + q :解锁。

编辑模式:输入什么就是什么。

底行模式:保存文件或对文件中的指定内容执行查找或替换等操作。

:set nu :打开行号。
:set nonu :关闭行号。
/要查找的内容 :搜索指定的字符串。
	n :查找下一个。
	N :查找上一个。
s/要查找的内容/替换为的内容/修饰符 :替换字符串。
	/i :忽略大小写。
	/g :替换当前行所有,不加 /g 只替换当前行的第一个。
	3,8s/abc/lucky/g :替换指定行,不加 /g 只替换指定行的第一个。
	%s/要查找的内容/替换为的内容/g :替换全文,不加 % 表示只替换光标所在行。
:w :保存。
:q :退出。
:wq :保存并退出。
q! :强制退出,不保存。
  如果上次异常退出(比如文件正在编辑忽然断电或者直接把 Shell 窗口关闭了)会保留同名隐藏文件

在这里插入图片描述

o :只读模式打开文件。
e :读写模式打开文件。
r :通过 .swp 文件恢复文件内容。
d :删除 .swp 文件。
q :退出文件。
a :终止操作(也会退出文件)。

4.计算机间的数据传输

在这里插入图片描述

已知主机列表文件叫 known_hosts 在 /root/.ssh/known_hosts 。

Window - Linux

lrzsz
需要手动安装:yum -y install lrzsz
rz:将文件从window上传到Linux
sz 文件:将文件从Linux传输到Window
安装完 lrzsz 插件以后,还支持使用鼠标拖拽文件至 Xshell 的方式来上传文件

xftp
较为通用的文件传输方式

Linux - Linux

scp

​ scp 表示安全复制,该命令可以在两个位置之间安全地复制文件和目录。使用 scp,可以复制文件:

​ 从本地系统到远程系统;
​ 从远程系统到本地系统。

使用 scp 传输数据时,文件是加密的,因此任何敏感内容都不会在传输过程中被篡改。

scp 源数据地址(source) 目标数据地址(target)

常用选项:
-C (大写):允许传输过程中压缩,可提高效率

​ -r :递归传输整个目录(如果传输的是文件则不需要这个参数)

​ -p (小写):保留源文件的修改时间和访问权限等

​ -P (大写):指定远程主机的 ssh 端口

​ -l :limit 限制传输带宽 KB/s, -l 1 表示限制每秒 1kb 的传输效率

​ -v :详细模式,打印有关其进度的调试消息的选项,这有助于调试连接、身份验证和配置问题(调试可以使用)

rsync

rsync 也是一个比较实用的命令,用于通过远程 Shell 在两个位置之间同步文件,它通传输源和目标之间的差异来提供更快的文件传输。使用前需要先安装命令(传输的双方都必须安装 rsync)

​ 增量备份和在拷贝目录时,排除掉目录中的某些文件这两个场景 scp 就满足不了

scp 源数据地址(source) 目标数据地址(target)
# A端的~/test目录拷贝到B端的~目录,B端~目录下不会出现test目录,而是把A端的~/test目录下的所有文件拷贝到B端的~目录

-r :递归传输目录下所有文件
-a :归档模式,保持所有文件属性。递归同步并保留符号链接、组、所有者和权限,它比 -r 更常用
-v :显示 rsync 过程的详细信息, -vvvv 可以获取更加详细的信息
-z :传输时进行压缩处理
-exclude=PATTERN :排除不需要传输的文件格式
-exclude-from=FILE :排除 FILE 中指定格式的文件
-bwlimit :限制 I/O 带宽 KB/s
–partial :恢复因某些原因而中断的传输
–progress :显示传输进度
-P (大写):由两个参数组成。 --partial :恢复某些原因而中断的传输, --progress :显示传输进度
–delete :从目标目录中删除无关文件。例如某一端删除了某些文件,使用该参数后另一端对应的文件也会被删除

区别

在这里插入图片描述

scp 通过安全的 SSH 连接进行文件传输(总是安全的),rsync 不是加密传输,rsync 必须通过 SSH 传输才能安全;
如果要传输大文件,并且传输在完成之前断开连接,rsync 会从中断的地方继续传输,而 scp 没有;
rsync 默认是只拷贝有变动的文件,scp 是全量拷贝,所以 rsync 很适合做增量备份。

5.文件压缩

tar

​ 主要针对的文件是 lucky.tar.gz
​ 解压缩
​ tar -zx(解压)v(过程)f(文件) lucky.tar.gz
​ 压缩
​ tar -zc(压缩)f(文件) tomcat.tar.gz(压缩后的名字) apache-tomcat-7.0.61(源文件)
​ tar -zxf tomcat.tar.gz -C /opt/
​ -C 指定解压缩的文件目录

zip和unzip

​ 安装
​ yum install zip unzip -y
​ 压缩
​ zip -r tomcat.zip apache-tomcat-7.0.61
​ 解压缩
​ unzip tomcat.zip

三、Linux的网络信息

1.网络相关命令

ifconfig
查看当前网卡的配置信息
这个命令属于 net-tools中的一个命令,但是Centos7中minimal版并没有集成这个包,所以7的时候需要自己手动安装
如果没有ifconfig ,可以使用ip addr 临时代替
netstat
查看当前网络的状态信息
一个机器默认有65536个端口号[0,65535]
这是一个逻辑的概念,将来我们需要使用程序监听指定的端口,等待别人的访问
一个端口只能被一个程序所监听, 端口已经被占用
netstat -anp
netstat -r 核心路由表 == route
ping
查看与目标IP地址是否能够连通
telnet
查看与目标IP的指定端口是否能够连通
yum install telnet -y
telnet 192.168.31.44 22
curl
restful 我们所有的资源在网络上中都有唯一的定位
那么我们可以通过这个唯一定位标识指定的资源

2.主机间的相互免秘钥

在这里插入图片描述

1.生成密钥

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

运行以上命令后会在 ~/.ssh/ 目录下生成一对密钥对。

2.拷贝公钥

把自己的公钥传递给对方主机即可,这个公钥文件必须放在对方主机的~/.ssh/authorized_keys 文件中。

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.163.102

注意:第一次建立连接时会弹出一个警告,需要输入 yes 将该主机添加到当前设备的已知主机列表中。这个警告是可以忽略的,一会我
们讲如何忽略。

查看对方主机的 ~/.ssh/authorized_keys

​ 传输文件测试是否已免密

3.SSH 公钥检查

SSH 连接远程主机时,会检查主机的公钥。如果是第一次该主机,会显示该主机的公钥摘要,提示用户是否信任该主机。

当选择接受,就会将该主机的公钥追加到文件 ~/.ssh/known_hosts 中。

为了方便关闭严格的密钥检查

本次生效: ssh -o StrictHostKeyChecking=no root@node01
永久生效:修改 /etc/ssh/ssh_config 文件的配置,在 Host * 节点下配置以下信息:
# 严格的密钥检查 no
StrictHostKeyChecking no

SSH 对主机公钥的检查等级是根据 StrictHostKeyChecking 变量来配置的:

StrictHostKeyChecking=no :最不安全的级别,当然也没有那么多烦人的提示了,相对安全的内网建议使用。如果访问的计算机的公钥在本地不存在,会自动添加到文件中(默认是 known_hosts ),并且给出一个警告

StrictHostKeyChecking=ask :默认的级别,就是出现刚才的提示。如果连接和公钥不匹配,给出提示,并拒绝登录。

StrictHostKeyChecking=yes :最安全的级别,如果连接和公钥不匹配,拒绝连接,不会提示详细信息。

四、用户-组-权限

1.用户

在这里插入图片描述

useradd 命令可以用来创建新的用户或更改用户的信息。帐号建好之后,再用 passwd 设定帐号的密码。使用 useradd 指令所建立的帐号,实际上是保存在 /etc/passwd 文本文件中。

useradd [选项] [用户名]

-D :改变新建用户的预设值
-c :添加备注文字
-d :新用户每次登陆时所使用的家目录
-e :用户终止日期,日期的格式为 YYYY-MM-DD
-f :用户过期几日后永久停权。当值为 0 时用户立即被停权,而值为 -1 时则关闭此功能,预设值为 -1
-g :指定用户对应的用户组
-G :定义此用户为多个不同附属组的成员
-m :用户目录不存在时则自动创建
-M :不建立用户家目录,优先于 /etc/login.defs 文件设定
-n :取消建立以用户名称为名的群组
-r :建立系统帐号
-u :指定用户 id

新增用户(默认会创建同名的组和家目录)

useradd 用户名

设置密码

passwd 用户密码

查看用户

id 用户名
cat /etc/passwd
cat /etc/shadow

修改用户

# 修改用户名(组名称和家目录是不会被修改的)
usermod -l newname oldname
# 锁定用户(禁止登录)
usermod -L 用户
# 解锁用户
usermod -U 用户名

删除用户

userdel -r 用户名

切换用户

su - 用户名

注意:使用 su 命令时,有 - 和没有 - 是完全不同的,- 选项表示在切换用户身份的同时,连当前使用的环境变量也切换成指定用户的。

2.组

在这里插入图片描述

修改用户的组:

# -g 修改主组(只能一个)
[root@node01 ~]# usermod 用户名 -g 组名
# -G 修改附属组(可以多个)
[root@node01 ~]# groupadd 组名
[root@node01 ~]# groupadd 组名
[root@node01 ~]# usermod 用户名 -G 组名,组名

3.权限

在这里插入图片描述

在这里插入图片描述

权限分别对应了用户、组、其他,那我们就可以直接修改文件所属信息来达到权限的控制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值