0
点赞
收藏
分享

微信扫一扫

linux学习笔记

白衣蓝剑冰魄 2022-03-17 阅读 120

目录

快速链接:

1 linux 目录结构

2 vi与vim相关操作

2.1 一般模式

2.2 编辑模式

3 查看网络ip和网关

3.1 查看当前网络ip

 3.2 修改IP地址

4 配置主机名

4.1 显示和设置系统的主机名称

4.2 修改主机名

5  关闭防火墙

5.1 service 后台服务管理

5.2 chkconfig 设置后台服务自启配置

5.3 进程运行级别

5.4 关闭防火墙

6 常用基本命令

6.1 帮助命令

6.2 常用快捷键

6.3 文件目录操作

7 用户 组 权限

7.1 linux用户机制

7.2 用户操作

7.3 用户组管理

7.4 文件 、权限类

7.4.1 rxw作用文件和目录的不同解释:

7.4.2 chmod 修改权限

7.4.3 chown 改变所有者

7.4.3 charp 改变所属组

8 搜索与查找

8.1 find 查找文件或者目录

8.2 locate快速定位文件路径

8.3 grep 与管道符“|”

9 压缩和解压缩

9.1  gzip/gunzip

9.2 zip/unzip 

9.3 tar

10 磁盘分区类

10.1 分区的方式

10.2 查看所有设备(光驱 /media,u盘, 硬盘)挂载情况

 10.3 df 查看磁盘空间使用情况

10.4 fdisk 查看分区

10.5 mount/umount 挂载/卸载

10.6 经典案例——在系统中增加一块硬盘,挂载到/home/newdisk上(含自动挂载操作)

11 进程、线程

11.1 ps 查看当前系统进程状态

11.2 kill 终止进程

 11.3 pstree 查看进程树

 11.3 top 查看系统健康状态

12 netstat 显示网络统计信息和端口占用情况

13  crond 系统定时任务

13.1 crond 服务管理

13.2 crontab 定时任务设置

 14 软件包管理

14.1 RPM

14.1.1 RPM查询命令(rpm -qa)

14.1.2 RPM卸载命令(rpm -e) 

 14.1.3 RPM安装命令(rpm -ivh)

14.2 YUM仓库配置

14.2.1 YUM的常用命令

14.2.2 修改网络YUM源


1 linux 目录结构

/opt 给主机额外安装软件所摆放的目录。

2 vi与vim相关操作

2.1 一般模式

以vi打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。

2.2 编辑模式

在一般模式中可以进行删除、复制、粘贴等的动作,但是却无法编辑文件内容的!要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。退出按Esc。

2.3 指令模式

在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。

3 查看网络ip和网关

3.1 查看当前网络ip

 3.2 修改IP地址

 以下标红的项必须修改,有值的按照下面的值修改,没有该项的要增加。

 最后,记得执行service network restart或者reboot重启虚拟机。

4 配置主机名

4.1 显示和设置系统的主机名称

4.2 修改主机名

   配置主机ip

5  关闭防火墙

5.1 service 后台服务管理

开启、关闭、重启查看服务状态

5.2 chkconfig 设置后台服务自启配置

5.3 进程运行级别

 

 当忘记root密码时,如何找回密码:启动时->快速输入 enter->输入 e-> 进入到编辑界面-> 选择中间有 kernel 项->输入 e(edit)-> 在该行的最后写入 1 [表示修改内核,临时生效]-> 输入 enter->输入 b [boot]-> 进入到单用模式。

5.4 关闭防火墙

临时关闭防火墙:

 开机启动时关闭防火墙:

6 常用基本命令

6.1 帮助命令

 eg:

6.2 常用快捷键

6.3 文件目录操作

 

 eg:递归删除目录中所有内容

 rm -rf dssz/

般查看比较小的文件,一屏幕能显示全的。

-n表示显示行号

如果需要一行行,输入 enter;
如果需要翻页,输入空格键;
如果需要退出,输入 q。

eg:cat -n houge.txt

 more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。

eg: more smartd.conf

less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。

eg: less smartd.conf

eg: 

[atguigu@hadoop101 ~]$ echo "hello\tworld"

hello\tworld

[atguigu@hadoop101 ~]$ echo -e "hello\tworld"

hello world

head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容。

tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容。

删除软链接: rm -rf 软链接名,而不是rm -rf 软链接名/

查询:通过ll就可以查看,列表属性第1位是l,尾部会有位置指向。

7 用户 组 权限

7.1 linux用户机制

Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。在linux中每个文件有所有者、所在组、其它组的概念。用户组是为了让系统可以对有共性的多个用户进行统一的管理。当我们创建一个用户后,默认会在/home/xx 创建一个和用户名相同的目录,该目录就是该用户的家目录。当一个新用户登录后,默认会切换到/home/xx下。一个用户默认是不能进入到其他用户的该目录下。

另外,因为在实际的工作中,是不可能让每一个人都用最高管理权限的root用户,只能是让他们用到低第一级的用户权限。登录时尽量少用root帐号登录,因为它是系统管理员,最大的权限,避免操作失误。如果在操作中真的需要管理员权限,可以利用普通用户登录,登录后再用”su-root’命令来切换成系统管理员身份。
 

7.2 用户操作

添加新用户:

设置用户密码:

id 查看用户是否存在:

查看创建了哪些用户:

切换用户:

删除用户:

查看登录用户信息:

sudo设置普通用户具有root权限:

修改用户:

7.3 用户组管理

1)文件/目录的所有者一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。

2)查看文件的所有者与所在组的指令——ls ahl (第一个为所有者名称,第二个为所在组名称)

3)组自身的一些命令:

增加组:groupadd lab
新增一个用户,并且将他指定到一个新增的组中 groupadd -g lab sharm(当这个语句用不了的话就只能是一步一步操作)
4)文件与组的一些操作:

修改文件的所有者:chown 用户名 文件名 (修改文件的所有者时,它的所在组还是属于原来的组)
运用chown同时修改所有者和所有组:chown newowner:newgroup 文件名
修改文件所在的组: chgrp 组名 文件名
删除组:groupdel lab (前提是这个组里没有用户了)
5)所有者与所在组之间的一些操作

在已有组中添加一个新用户: useradd -g 组名 新用户
修改所有者的所在组:usermod -g 新的组名 用户
改变该用户登陆的初始目录:usermod –d 目录名 用户名

新增组:

 删除组:

查看创建了那些组:

7.4 文件 、权限类

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。

 

  •  第0位确定文件类型,其中-:普通文件;d:目录;l:连接文件;c:字符设备文件[键盘,鼠标];b:块设备文件[硬盘]
  • 第1-3位确定所有者(该文件的所有者)拥有该文件的权限(r:读权限;w:写权限;x:执行权限)
  • 第4-6位确定所属组(同用户组的)拥有该文件的权限
  • 第7-9位确定其他用户拥有该文件的权限
  • 1:如果是文件,表示硬链接的数目(一般都是1);如果是目录,则表示有多少个子目录
  • root表示所有者名称
  • police表示所属组名称
  • 1213:表示文件存储的大小,如果是目录,则统一为4096
  • Feb209:39表示文件最后的修改时间
     

7.4.1 rxw作用文件和目录的不同解释:

(1)作用到文件:

[ r ]代表可读(read): 可以读取,查看

[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.

[ x ]代表可执行(execute):可以被系统执行

(2)作用到目录:

[ r ]代表可读(read): 可以读取,ls查看目录内容

[ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录

[ x ]代表可执行(execute):可以进入该目录

7.4.2 chmod 修改权限

u:所有者  g:所有组  o:其他人  a:所有人(u、g、o的总和)

r=4 w=2 x=1        rwx=4+2+1=7

eg:

  • chmod u=rwx,g=rx,o=x 文件、目录 【表示:给所有者rwx, 给所在组的用户 rx, 给其他人 x】
  • chmod o+w 文件、目录 【表示:给其它用户增加w 的权限】
  • chmod a-x文件、目录 【表示:给所有用户 去掉 x权限】
  • chmod u=rwx,g=rx,o=x 文件、目录
    chmod 751 文件、目录        ( 两者的功能是相同的)

7.4.3 chown 改变所有者

 eg:chown atguigu houge.txt

7.4.3 charp 改变所属组

eg:chgrp root houge.txt

8 搜索与查找

8.1 find 查找文件或者目录

find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。

 eg:

(1)按文件名:根据名称查找/目录下的filename.txt文件。

[root@hadoop101 ~]# find xiyou/ -name *.txt

(2)按拥有者:查找/opt目录下,用户名称为-user的文件

[root@hadoop101 ~]# find xiyou/ -user atguigu

(3)按文件大小:在/home目录下查找大于200m的文件(+n 大于  -n小于   n等于)

[root@hadoop101 ~]find /home -size +204800

8.2 locate快速定位文件路径

ocate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。

由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。

eg:

(1)查询文件夹

[root@hadoop101 ~]# updatedb

[root@hadoop101 ~]#locate tmp

8.3 grep 与管道符“|”

 -i 忽略字母大小写;

eg:

(1)查找某文件在第几行

[root@hadoop101 ~]# ls | grep -n test

9 压缩和解压缩

9.1  gzip/gunzip

(1)只能压缩文件不能压缩目录

(2)不保留原来的文件 (删除原文件)

9.2 zip/unzip 

 eg:

zip -r nn.zip /home/temp/ 将/home目录下的temp文件夹压缩成名为nn.zip的文件,同时保留原文件,注意,要写全,如/home/temp/
unzip -d /home/haha nn.zip 将nn.zip文件解压到/home/haha中,如果没有该目录,则自动创建该目录(在当前文件夹中操作另一个文件夹,那么该文件夹的前面不要加/,不然电脑会识别到根目录的下一层上)
 

9.3 tar

eg:

tar -zcvf a.tar.gz haha.txt mimi.txt 将haha.txt和mimi.txt合并打包为a.tar.gz文件
tar -zcvf myhome.tar.gz /home/ 将/home文件夹下的所有东西打包成一个myhome.tar.gz文件
tar -zxvf a.tar.gz 将z.tar.gz压缩文件解压到该原目录下
tar -zxvf a.tar.gz -C /opt/tmp 将a.tar.gz压缩文件解压到/opt/tmp文件夹下,该文件夹需要事先创建
 

10 磁盘分区类

10.1 分区的方式

1) mbr分区:

最多支持四个主分区
系统只能安装在主分区
扩展分区要占一个主分区
MBR最大只支持2TB,但拥有最好的兼容性


2) gtp分区(✔):

支持无限多个主分区(但操作系统可能限制,比如windows下最多128个分区)
最大支持18EB的大容量(1EB=1024PB,1PB=1024TB)
windows764位以后支持gtp
 

10.2 查看所有设备(光驱 /media,u盘, 硬盘)挂载情况

 10.3 df 查看磁盘空间使用情况

1)查询系统整体磁盘使用情况 df -h
2)查询指定目录的磁盘占用情况(默认为当前目录) du -h 目录

-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
–max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值

10.4 fdisk 查看分区

 该命令必须在root用户下才能使用。

Device分区序列

Boot:引导

Start:从X磁柱开始

End:到Y磁柱结束

Blocks容量

Id:分区类型ID

System:分区类型

10.5 mount/umount 挂载/卸载

对于Linux用户来讲,不论有几个分区,分别分给哪一个目录使用,它总归就是一个根目录、一个独立且唯一的文件结构。

Linux中每个分区都是用来组成整个文件系统的一部分,它在用一种叫做“挂载”的处理方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来,要载入的那个分区将使它的存储空间在这个目录下获得。

 eg:

(1)挂载光盘镜像文件

[root@hadoop101 ~]# mkdir /mnt/cdrom/ 建立挂载点

[root@hadoop101 ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom/ 设备/dev/cdrom挂载到 挂载点 :  /mnt/cdrom中

[root@hadoop101 ~]# ll /mnt/cdrom/

(2)卸载光盘镜像文件

[root@hadoop101 ~]# umount /mnt/cdrom

10.6 经典案例——在系统中增加一块硬盘,挂载到/home/newdisk上(含自动挂载操作)

步骤:

1 增加一块硬盘 1G [到设置中添加一块硬盘即可]

        

2 重启一下服务器 reboot

3 lsblk


4 给sdb 硬盘分区,分区命令:fdisk /dev/sdb
选项:
m 显示命令列表
p 显示磁盘分区 同 fdisk –l
n 新增分区
d 删除分区
w 写入并退出
说明:开始分区后输入n,新增分区,然后选择p ,分区类型为主分区。两次回车默认剩余全部空间。最后输入w写入分区并退出,若不保存退出输入q。

 

 
5 格式化 sdb1
mdfs -t ext4 /dev/sdb1 [把 /dev/sdb1 分区格式化]

6 挂载
mkdir /home/newdisk
mount /dev/sdb1 /home/newdisk [说明;挂载时,当前目录不要在 /home/newdisk ]


 

7 上面的方式,只是临时生效,当你重启系统,挂载的关系没有, 配置Linux的分区表,实现启动时,自动挂载。
vim /etc/fstab

 
8 重启后,会自动挂载

9 如果,我们希望卸载
umount /dev/sdb1(设备名)或/home/newDisk(挂载名)

11 进程、线程

1)在Linux中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个ID号。
2)每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。
3)每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
4)一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束。
  

11.1 ps 查看当前系统进程状态

(1)ps aux显示信息说明

USER:该进程是由哪个用户产生的

PID:进程的ID号

%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;

%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;

VSZ:该进程占用虚拟内存的大小,单位KB;

RSS:该进程占用实际物理内存的大小,单位KB;

TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。

STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台

START:该进程的启动时间

TIME:该进程占用CPU的运算时间,注意不是系统时间

COMMAND:产生此进程的命令名

(2)ps -ef显示信息说明

UID:用户ID

PID:进程ID

PPID:父进程ID

C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高

STIME:进程启动的时间

TTY:完整的终端名称

TIME:CPU时间

CMD:启动进程所用的命令和参数

如果想查看进程的CPU占用率和内存占用率,可以使用aux;

如果想查看进程的父进程ID可以使用ef

11.2 kill 终止进程

 11.3 pstree 查看进程树

 在这里插入图片描述

 11.3 top 查看系统健康状态

 交互操作:

 eg:

在这里插入图片描述

 第一行信息为任务队列信息:

 第二行为进程信息:

 第三行为CPU信息:

 第四行为物理内存信息:

 第五行为交换分区(swap)信息:

12 netstat 显示网络统计信息和端口占用情况

 -an 按一定顺序排列输出

13  crond 系统定时任务

很多时候,我们在linux中,需要自动执行某一个脚本(代码),这个时候,我们就需要任务调度的作用。任务调度分为两类,第一类,系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等。第二类,个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。

任务调度的两种方式:
1)直接通过命令行来调度
2)通过调用脚本来调度
本质上两者是相同的,只不过当内容太多时,放在脚本中比较方便。
 

13.1 crond 服务管理

13.2 crontab 定时任务设置

快速入门:
第一步:设置任务调度文件:/etc/crontab
第二步:设置个人任务调度。执行crontab –e命令。
第三步:接着输入任务到调度文件
如:*/1 * * * * ls –l /etc/ > /tmp/to.txt
意思说每小时的每分钟执行 ls –l /etc/ > /tmp/to.txt命令

 

 eg:

案例:每隔1分钟, 将当前日期和日历都追加到 /home/mycal.log 文件中(用脚本形式)(思路,我先把写好的脚本放在某个文件夹下,然后通过crontab调度这个脚本)
cd /tmp/tp/crontask.sh (放脚本的位置)
在该脚本中写入 date >> /tmp/tp/mycal.log
cal >> /tmp/tp/mycal.log (存放保存文件的位置)
[root@localhost tp]# chmod 755 ./crontask.sh (对了,还要给它一个可执行的权限)
crontab -e
*/1 * * * * /tmp/tp/mycal.log
crontab -r
 

 14 软件包管理

14.1 RPM

PM(RedHat Package Manager),RedHat软件包管理工具,类似windows里面的setup.exe

 是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的。

Apache-1.3.23-11.i386.rpm

  • “apache” 软件名称
  • “1.3.23-11”软件的版本号,主版本和此版本
  • “i386”是软件所运行的硬件平台,Intel 32位微处理器的统称
  • “rpm”文件扩展名,代表RPM包

14.1.1 RPM查询命令(rpm -qa)

由于软件包比较多,一般都会采取过滤。rpm -qa | grep rpm软件包

在这里插入图片描述

14.1.2 RPM卸载命令(rpm -e) 

 14.1.3 RPM安装命令(rpm -ivh)

 eg:

14.2 YUM仓库配置

yum 是一个Shell 软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装,如图所示。

14.2.1 YUM的常用命令

 

 yum的基本指令

  • yum list|grep xx软件列表    查询yum服务器是否有需要安装的软件

  • yum install xxx        安装指定的yum包(默认会安装最新版本的软件)

14.2.2 修改网络YUM源

默认的系统YUM源,需要连接国外apache网站,网速比较慢,可以修改关联的网络YUM源为国内镜像的网站,比如网易163。

1.前期文件准备

(1)前提条件linux系统必须可以联网

(2)在Linux环境中访问该网络地址:CentOS镜像使用帮助,在使用说明中点击CentOS6->再点击保存,如图所示

 (3)查看文件保存的位置,如图所示

 

 在打开的终端中输入如下命令,就可以找到文件的保存位置。

2.替换本地yum文件

(1)把下载的文件移动到/etc/yum.repos.d/目录

(2)进入到/etc/yum.repos.d/目录

(3)用CentOS6-Base-163.repo替换CentOS-Base.repo

3.安装命令

yum makecache就是把服务器的包信息下载到本地电脑缓存起来

4.测试

参考:尚硅谷官方文档、及 Linux极速上手,超全面总结_是志明呀的博客-CSDN博客

举报

相关推荐

0 条评论