summary day220526 linux基础 linux高级

09_文件和目录常用命令(掌握)

9.1 Linux使用技巧

  • 自动补全

    • 在敲出 文件/ 目录 / 命令 的前几个字母之后, 按下 tab键

    • 如果还存在其他 文件 / 目录 / 命令, 再按一下tab键, 系统会提示可能存在的命令

  • 曾经使用过的命令

    • 使用 上 / 下 光标键可以在曾经使用过的命令之间来回切换

    • 如果想要退出选择, 并且不想执行当前选中的命令, 可以按 ctrl + c

  • 复制黏贴

    • 在crt中使用ctrl + shift + c 复制

    • 在crt中使用ctrl + shift + v 黏贴

  • ctrl + l 清屏

9.3 ls命令

ls 是英文单词list的简写, 其功能为列出目录的内容,是用户最常用的命令之一

因为需要编辑服务器上的文件, 所以需要先确认指定目录下是否存在

ls [目录] 如果目录省略 默认查看就是当前目录

如果目录不存在 就会报出一下错误

linux 下文件和目录的特点

  • linux文件 或者 目录 名称最长可以 256 个字符

  • . 开头的文件为隐藏文件, 需要用 -a 参数才能显示

  • . 代表当前目录

  • .. 代表上一级目录

ls常用选项

如果 只使用ls命令 就只能看到当前目录下 非隐藏文件。

如果想增强功能,就需要学习更多的选项

-aall显示指定目录下所有子目录与文件, 包含隐藏文件
-l以列表方式显示文件的详细信息
-hhuman-readable配合 -l 以人性化的方式显示文件大小
ll等价于 ls -l以列表方式显示文件的详细信息
*代表任意个数的任意字符
?代表任意一个字符, 且只能是一个
[abc]匹配a、b、c中任意一个
[a-f]匹配从a到f范围内的任意一个字符

 pwd可以查看当前所在的位置

cd 是英文单词 change directory 的缩写, 其功能为 更改当前的工作目录, 也是用户最常用的命令之一

注意: linux的所有 目录文件名 都是大小写敏感的

cd 目录切换到指定目录下
cd ..切换到上级目录
cd -可以在最近打开的两个目录之间切换
cd 或者 cd~回到家目录

10.3 相对路径与绝对路径(混淆)

 

  • 相对路径

特征: 相对路径输入路径时, 最前面不是以 "/" 开始的, 表示相对 当前目录 所在的位置

相对于当前的目录开始查找, 一层一层的进行查找 不能跨层级

缺点: 参照工作目录 发生变化 相对路径也要发生变化

  • 绝对路径

特征: 绝对路径 在输入路径时, 最前面是以 / 开始的, 表示从 根目录 开始的具体目录位置

优点: 定位准确, 不会因为 工作目录变化 而变化

据对路径 定位准确 在任何位置使用的时候 都可以找到对应的目录 永远从根节点开始查找, 与你现在在哪里无关

小结:

相对路径 在输入路径时, 最前面不是以 / 开始的 , 表示相对 当前目录 所在的目录位置

绝对路径 在输入路径时, 最前面是以 / 开始的, 表示 从 根目录 开始的具体目录位置

11_创建和删除操作

11.1 创建文件

命令格式:touch 文件

创建一个空白文件
touch 不存在的文件

11.2 创建目录

命令格式:mkdir 文件目录

创建单层目录,想要创建多层目录使用 -p 选项

-pparent可以递归创建目录

建议: 不论创建单层还是多层 都加上 -p

11.3 删除文件或目录

通过 rm -rf 文件/目录 命令实现删除文件和目录的功能

rm 对应的英文是 remove 含义: 删除

案例1: 删除文件 (有提示)

rm 文件

-fforce (强制)强制删除,忽略不存在的文件, 无需提示

案例2: 删除文件 (取消提示)  

rm -f 文件

案例3: 删除目录

-rrecursive (递归)递归地删除目录下的内容, *删除文件夹* 时必须加此参数

rm -rf 目录 

递归配合强制删除进行使用(推荐使用)  

常用通配符:*?[abc][a-z]
rm -rf *.txt

小结:

通过 rm -rf 文件/目录 完成删除 文件或目录的功能.

注意:使用rm命令要小心, 因为文件删除后不能恢复

记住:在企业开发中,自己只删除自己创建的文件

12_拷贝和移动文件

通过 cp 实现复制将指定的 文件 或 目录 复制到 一个 文件 或 目录中

案例1: 备份指定文件
cp 文件1 备份文件名

使用场景:当需要对服务器中的相关配置文件进行修改时,或其他软件中的配置文件进行修改时(例:mysql):

建议先对要修改的配置文件进行:cp操作 备份操作

案例3: 将文件复制到另一个文件中, 实现覆盖效果
cp 文件1 文件2(存在的)

案例2: 将文件复制到目录中
cp 文件1 目录/

命令英文作用
-rrecursive (递归)递归复制目标目录的内容

案例4: 复制目录 到指定 目录中
cp -r 目录1/ 目录2/ 

12.2 移动文件

 通过mv 命令可以用来 移动 文件 或 目录, 也可以给 文件或目录重命名

案例1: 将文件 移动 另一个目录中
mv 文件或者目录 目录/

案例3: 将目录移动到 另一个目录中
mv 被移动目录 目标目录

案例2: 重命名
mv 旧文件名 新文件名

13_查看文件内容

通过 cat 会一次显示所有的内容, 适合 查看内容较少 的文本文件

案例1: 显示文件内容
cat 文件名

  • 通过 less [参数] 文件名 命令可以用于分屏显示文件内容, 每次只显示一页内容

  • less 命令适合查看 内容较多 的文本文件

空格键显示下一屏幕
Enter 键一次滚动一行
b回滚一屏
f向前一屏
q退出
/word搜索word字符串

 通过 head 命令查看文档的前几行内容

案例1: 查看文件的前5行内容

-nnumber表示显示前几行内容

 

 

tail命令用来查看文档(日志)的后几行内容

案例1: 查看文档的最后10行内容

案例2: 动态显示文档的最后内容,一般用来查看日志

 

tail -f 文件名(必须掌握)

监听文件的输入 只要文件有新的内容输入 就会打印出来

使用场景:在开发中当某个服务启动后,需要监控该服务中的相关参数信息时,会查看服务的日志文件信息

在开发中,通常会把一些日志信息,写入到一个log文件中。当遇到一些bug时,需要对当前的log文件进行日志的监控或查看。 会使用:tail -f log日志文件 监控日志中输出的信息,从而来排查bug

案例3: 动态显示文档的最后10行内容
tail -10f  文件名

小结:

通过 head 命令查看文档的前几行内容

head -n 数值 文件名 --查看文件的前n行信息

通过 tail -10f 文件 命令 查看文档(日志)的后几行内容

tail -数值 文件名 --查看文件的后n行信息

tail -f 文件名 --动态的查看文件中的信息 (会一直滚屏)

14_其他命令

通过 命令1 | 命令2 可以将命令1的结果 通过 命令2 作进一步的处理

案例1 : 过滤 /etc/ 目录下 以 pro 开头的文件

grep 命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来

ls /etc/ | grep ^pro

echo string 将字符串输出到控制台 , 通常会和 重定向 联合使用

# 如果字符串有空格, 为了避免歧义 请增加 双引号 或者 单引号

echo "hello world"

14.3 重定向 >(覆盖)和>>(追加)

默认情况下linux执行命令后,命令的结果会输出到控制台

通过 重定向 可以将结果 输出到文件

案例1: 将 111 覆盖 指定文件内容

echo 111 > 01.txt

结果 > 文件名> 表示输出, 会覆盖文件的原有内容

 

案例2: 将 命令的成功结果追加 指定文件的后面

ls >> 01.txt

命令 >> 文件名>> 表示追加, 会将内容追加到已有文件的末尾

案例3: 将 命令的失败结果 追加 指定文件的后面

cat 不存在的目录 &>> error.log

 

命令 &>> 文件&>> 表示不区分错误类型 通通放到 日志中

案例1:如果创建目录成功, 就提示*创建成功*  

命令1 && 命令2如果 命令1执行成功了, 才执行 命令2

mkdir -p 正确目录 && echo "提示创建目录成功

案例2:如果创建目录失败, 就提示创建失败

命令1 || 命令2如果 命令1 执行失败了, 才执行 命令2

mkdir 错误目录 || echo "提示创建目录失败" 

14.5 软连接(创建快捷方式)

 

软链接也叫符号链接,相当于windows的快捷方式。主要使用场景:当文件存储的目录比较深时,为了快速的去访问藏的比较深的文件,可以给这类文件创建一个访问的快捷方式。

软链接类似一个文本文件,里面存放的是源文件的路径,指向源文件实体。删除源文件,软链接文件依然存放,但是无法访问指向的源文件路径内容了。失效的时候一般是红字白底闪烁提示。

命令格式: ln -s /源文件的绝对路径 快捷方式的访问路径

ln -s 目标文件绝对路径 快捷方式路径link给目标文件增加一个软链接, 通俗讲就是快捷方式

为/etc/profile 在root下添加软件profile

ln -s /etc/profile profile

小结:

注意: 必须 增加 -s , 否则 就变成了 硬链接。

硬链接的作用之一是允许一个文件拥有多个有效路径名,这样用户就可以建立硬链接到重要的文件,以防止“误删”源数据。

之所以文件建立了硬链接就会防止数据误删,是因为文件系统的原理是,只要文件的索引节点还有一个以上的链接(仅删除了该文件的指向),只删除其中一个链接并不影响索引节点本身和其他的链接(数据的实体并未删除),只有当最后一个链接被删除后,此时如果有新数据要存储到磁盘上,被删除的文件的数据块及目录的链接才会被释放,空间被新数据暂用覆盖。

15_Linux搜索命令

find是linux中最常见的搜索命令。

find命令在linux系统的整个目录结构中搜索文件,并对搜索结果执行指定的操作。

find的使用格式如下:

  • find <指定目录> <指定条件> <指定动作>

    • <指定目录>: 所要搜索的目录及其所有子目录。默认为当前目录

    • <指定条件>: 所要搜索的文件的特征

    • <指定动作>: 对搜索结果进行特定的处理

如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。

通过find命令 在特定目录下(包含它的后代目录) 搜索符合条件的文件。

find [路径] -name '*.txt'查找指定路径下扩展名是 .txt的文件, 包括子目录

案例1: 搜索root目录下, 文件是 01.txt的文件  

# 方式一: 指定全目录
find /root -name '01.txt'

# 方式二: 当前目录
find . -name '01.txt'

# 方式三: 当前目录 可以 省略 不写
find -name '01.txt'

案例2: 搜索指定目录下, 文件名以.txt结尾的文件

find -name '*.txt'

grep 命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来

ps -ef 查看所有进程

ps -ef | grep sshd 查找指定 ssh 服务进程

ps -ef | grep sshd | grep -v grep 查找指定服务进程,排除 gerp 本身

16_解压缩命令(重要)

解压缩命令能做什么呢?

1、从第三方下载软件压缩包, 解压缩后安装软件到服务器上;

2、通过打包压缩备份文件

tar 是linux中打包命令

# 将 一系列文件 打包成 一个大文件

tar -cvf 打包名.tar 被打包的目录

tar -cvf 打包名.tar 被打包的文件1 被打包的文件2 被打包的文件3

命令英文含义
ccreate生成档案文件, 创建打包文件
vverbosely(啰嗦的)像 '唐僧' 一样报告进度
ffile指定档案的文件名称, f后面一定是 .tar 文件, 所以必须放到左后

#练习1: 将1.txt、2.txt、3.txt 打包成 test.tar文件
tar -cvf test.tar *.txt  

在linux中,使用tar 命令进行解包

#练习1: 将1.txt、2.txt、3.txt 打包成 test.tar文件
tar -cvf test.tar *.txt 

==注意:解包到指定位置的时候 一定记得加上 -C  (C是大写)==

命令英文含义
xextract (提取)解包
C (大写C)directory (目录)默认保存到当前目录, 通过-C 更改解压目录, 注意: 解压目录必须存在

练习1: 将 test.tar 解压到 当前目录中
tar xvf test.tar

练习2: 将 test.tar 解包到 指定目录 
tar xvf test.tar -C 指定目录

不加上大写的 -C 会出现这个错误

在 Linux 中, 最常用的压缩文件格式是 xxx.tar.gz

在 tar 命令中有一个选项 -z 可以调用 gzip , 从而可以方便的实现压缩和解压缩的功能

# 压缩文件(记忆敲门:智闯潍坊)
tar -zcvf 打包压缩文件名.tar.gz 被压缩的文件/目录
# 解压缩文件(记忆敲门: 至孝潍坊)
tar -zxvf 打包文件.tar.gz
# 解压缩到指定路径
tar -zxvf 打包文件.tar.gz -C 目录路径

命令英文*含义
zgzip使用gzip压缩和解压缩
jbzip2使用bzip2压缩和解压缩

练习题:
练习1: 将1.txt、2.txt、3.txt 打包压缩成 123.tar.gz文件(gzip压缩格式)
tar zcvf 123.tar.gz 1.txt 2.txt 3.txt

练习2: 将有内容的aaa目录 打包成 aaa.tar.gz 文件(gzip压缩格式)
tar zcvf aaa.tar.gz aaa/

练习3: 将 123.tar.gz 解压到 当前目录中(gzip压缩格式)
练习4: 将 aaa.tar.gz 解包到 指定目录中(gzip压缩格式)

知识点01:Linux用户与权限--用户与组概念、权限概念

 用户、用户组

#用户 user
linux上可以创建不同的用户  不同用户具有不同的权限
权限最高的用户叫做root 超级管理员用户
可以通过root去管理其他用户及权限

#用户组 usergroup
多个用户组成一组 同一组的用户具有相同的权限

#一个文件归属可以分为3类
所属用户user
所属用户组group
其他用户组other

文件权限

- 读read   r
- 写write   w
- 执行execute  x

权限的分配和管理

在linux上对应文件文件夹,划分3个归属

文件的拥有者 user
拥有者所在的用户组 group
其他用户组  others

如何去查看权限 ls -l

[root@node1 linux02]# ll
total 8
-rw-r--r--. 1 root root   47 May 18 11:23 1.txt

-rw-r--r-- 就是权限位
    第一位 -文件 d文件夹 l链接
    后面每3位一组
    rw- u 读写
    r-- g 读

知识点02:Linux用户与权限--用户与组的管理

必须是root用户才可以进行管理。

#1、增加一个新的用户组
groupadd 选项 用户组
    可以使用的选项有:
    -g GID 指定新用户组的组标识号(GID)。
    
# groupadd group1
此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1。
# groupadd -g 101 group2
此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。

#2、查看当前系统已有组信息
cat /etc/group 
itheima:x:1001:lisi,wangwu

itheima组名
x 密码口号 一般都没有密码
1001 groupID  gid 组编号
lisi,wangwu 归属该组的用户

#3、删除组  
groupdel 组名

#4、修改文件归属的组
chgrp 组名 文件/目录名  针对文件夹加上-R可以实现递归修改

#1、创建用户
useradd 选项 新建用户名
    -g   指定用户所属的群组。值可以是组名也可以是GID
    -G   指定用户所属的附加群组。
    
#2、设置密码    
[root@node1 linux02]# passwd 用户名
Changing password for user allen.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.    

#3、删除用户
userdel -r 用户名
此命令删除用户sam在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。

#4、查看用户信息
cat /etc/passwd | grep 用户名

#5、修改文件所属的用户
chown allen 1.txt   如果是文件夹及其下面的所有要修改 加上-R参数

linux上root用户和非root用户区别

  • 命令提示符不同: root# 普通用户$

  • home目录不同:

  • [root@node1 ~]# pwd
    /root

    [allen@node1 ~]$ pwd
    /home/allen

su命令:用于用户之间的切换。

# su 用户

[allen@node1 ~]$ ll /root
ls: cannot open directory /root: Permission denied
[allen@node1 ~]$ su root   #普通用户切换成为root需要输入root密码
Password: 

[root@node1 linux02]# su allen   #root用户切换成为普通用户 不需要密码
[allen@node1 linux02]$ 

[allen@node1 linux02]$ exit  #退出
exit


#弊端:虽然通过切换可以具有root权限,但是root密码已经泄露了 不安全。
#能不能实现一种 让普通用户临时具有root权限,但是又不泄露密码

sudo

  • 功能:给普通用户临时授予root权限。

  • 注意:能够分配sudo的只有root。

  • sudo的配置命令 visudo

  • sudo具体使用

    • step1:使用root用户编辑sudo配置文件

 

[root@node1 ~]# visudo

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
allen   ALL=(ALL)       ALL

allen   ALL=(ALL)       /usr/bin/ls  #配置只允许执行指定的命令

step2:普通用户执行命令之前需要添加sudo关键字 申请sudo权限校验

知识点04:Linux用户与权限--权限相关管理命令

  • 修改文件的权限

核心的命令 chmod 权限 文件|文件夹 (针对文件夹-R 递归修改)

  • 方式1:老百姓喜闻乐见的形式 数字

read----->r      4
write---->w      2
execute-->x      1
没有权限           0

chmod 777 -R 文件|文件夹

方式2: 字母 +-形式  

user->u  group->g others->o  all->a
+ 增加权限
- 减少权限

chmod o-x 1.txt
chmod a-w 1.txt

方式3: 等号赋值形式

chmod u=rwx 1.txt

知识点05:Linux系统信息查看--时间、内存磁盘、进程

[root@node1 linux02]# date
Tue May 18 14:44:13 CST 2021
[root@node1 linux02]# date +"%Y-%m-%d %H:%M:%S"
2021-05-18 14:44:53
[root@node1 linux02]# cal
      May 2021      
Su Mo Tu We Th Fr Sa
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

#关于时间日期的同步  同步网络授时
#大数据都是集群环境  基本要求:集群的时间同步问题

df -h    #disk free 显示磁盘剩余空间
[root@node1 linux02]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G   12M  1.9G   1% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/mapper/centos-root   38G  1.5G   36G   5% /  #重点关注这一行
/dev/sda1               1014M  152M  863M  15% /boot
/dev/mapper/centos-home   19G   33M   19G   1% /home
tmpfs                    378M     0  378M   0% /run/user/0
tmpfs                    378M     0  378M   0% /run/user/1000

#内存使用情况
[root@node1 linux02]# free -h
              total        used        free      shared  buff/cache   available
Mem:           3.7G        257M        3.0G         11M        467M        3.2G
Swap:          3.9G          0B        3.9G

 

#在安装了jdk的情况下 有一个命令专门用于查看本机运行的java进程。
jps

[root@node1 ~]# jps  #必须在安装好jdk之后可以使用  
-bash: jps: command not found

#查看本机运行的所有进程
ps -ef | grep 进程名

#通常根据查询的进程号 结合kill -9 进程号  杀死进程

知识点06:大数据集群环境搭建--分布式与集群概念初识

  • 分布式、集群

    分布式:多台不同的服务器中部署不同的服务模块,通过远程调用协同工作,对外提供服务。

    集群:多台不同的服务器中部署相同应用或服务模块,构成一个集群,通过负载均衡设备对外提供服务。

  • 共同点:多台机器。 相对的概念叫做单机系统。

  • 注意:在口语中经常混淆分布式和集群的概念的。都是汲取两者的共同点。

 

比如:搭建一个分布式hadoop集群。

背后意思:不要搭建单机版本的 搭建多台机器版本的。 

集群架构

  • 主从架构

主角色:master leader   大哥
从角色:slave  follower 小弟

主从角色各司其职,需要共同配合对外提供服务。
常见的是一主多从 也就是一个大哥带着一群小弟共同干活。

主备架构

主角色:active
备角色:standby

主备架构主要是解决单点故障问题的 保证业务的持续可用。
常见的是一主一备 也可以一主多备。

已完成当天:::::::::::::::

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值