admin管理员组

文章数量:1638755

 Linux笔记

开篇

使用的语言工具:gcc(编译器) 高级语言到低级语言的翻译器  VI/VIM(编辑器)

Linux 系统的特点:多任务,多线程,多用户

创始人:林纳斯.托瓦兹

linux系统内核   Kernel

linux系统是李纳斯拖瓦子   Linus Torvalds

linux用c编写的还有一部分的c++

 编辑linux系统内核是合法的(免费的)

革奴计划(开源的,免费的)

 linux系统会感染病毒  (60到100个)

linux系统属于多任务多用户多线程系统

(什么类型的操作系统,特点优点)

命令语法格式 命令+选项+参数

计算机组成:硬件,软件,内核,shell (bash)

Linux的安装要求:4G内存,i5处理器,安装时的分区 :手动分区   自动分区

创建用户:1,root用户,2,普通用户

Shell界面(命令解释器)   底层在沟通硬件和用户的    

 ctrl+shift+ +  (字符增大) ctrl + - (字符变小)  ctrl+alt+f2-f6 (进入字符界面终端)   ctrl+alt+f1  (图形化)  

CLI:命令行界面

调节字体那些颜色:edit 的最后一个

字符命令

Shutdown(关机,在root下),  shutdown  -r  now  马上重启  

Shutdown  -h  now 关机,shutdown  -r 2   2分钟后关机  shutdown  -c 中断正在执行的命令    systenctl  poweroff  关机

Init  0  关机   init  1 重启 reboot重启 hostname查看主机名

Clear(ctrl +l) 清屏

第一章目录: 根目录,一级目录,

介绍目录含义:

  Cd   . 当前目录,  cd  ~  回到用户主目录   cd – 回到上一次访问的目录, cd  ..   绝对路径下返回上一级  cd  ../..  退两级

查看文件时  按照路径走   cd  /home/wx/  pwd 查看当前目录

路径:相对路径(俩者之间,优点:灵活)绝对路径(针对一个,优点:安全靠谱)

 

 

第二章命令使用格式

Ls+选项+参数(ls+功能+操作对象)

Ls     显示目录内容

Ls  -l (ll)将文件以长格式显示, ls  -a 显示所有的子目录和文件

Ls  -al 更详细的将子目录和文件显示出来   ls  -lh 显示字节单位

Total  0  资源占用总和(单位:byte)

文件名含义

  • Rw-rw-r-- .1 wx wx 6 Aug 28. 10:05 wx

第一列表示文件类型,:- :普通文件  l:链接文件 d : 目录文件  s: 字符文件rw: 可读可写  x :可执行

第二大列 三位三位表示,(数的时候也是) 其中第一个三位: 用户权限

第二个三位 :用户组权限  第三个三位 : 其他用户对这个的权限

r: 4,w:2,x:1    例题:  - rwxr-xr-x .   755  三位一组组内相加。      execute:x

.  Selinux 系统卷标      1: 对应后面内部的数量   。

第一个wx 这个文件的用户者,第二个wx :这个用户所属组 6 :文件大小(KB)

时间:最后一次修改文件的时间  最后一个wx : 文件名。

通配符(查找文件)

星号通配符 例如 ls 5* 查找以5开头的文件*5 以5结尾的文件 *5* 含有5的文件

星号:可以匹配任意字符

?:只能匹配一个字符  例题:ls ??6  查找456

Touch  创建文件 例如:touch  文件名

  1. 单个创建 : touch 123  touch “{1,2,3}”  创建了一个叫456的文件
  2. 批量创建 : touch {1,2,3,4}  创建了四个文件
  3. 省略文件名创建 : touch {6..9}  四个文件 6,7,8,9

Rm 删除文件  与touch 用法一样

 Rm –i 删除时提醒用户确认一下,避免误删重要文件

 Rm –r 删目录        rm –f  强制删除  rm –rfi  强制删除目录(有f就不会提示)

 Rm –rf  /*  强制删除根目录下所有目录。

Mkdir  创建目录  -p  逐级

Mkdir  -p  688/1  建立一个目录在1下面    反/表示 1 转义字符 2 换行

Rmdir  删除目录 不能删除非空目录

查看文件内容

  1. cat  显示文件的全部内容 (支持参数)
  2. tac  (不支持参数)

用法 :当前目录下的文件  可以直接查看  cat  wxx

       不是当前目录下    加路径逐级查看 cat  /dev/wx

  1. more  全屏方式分页显示文件内容,回车向下滚动 但是不能向上滑动
  2. less   全屏方式分页显示文件内容  可以上下滚动,q键退出
  3. head    查看文件开头的一部分内容  (默认前10行)
  4. tail    查看文件尾部的一部分内容   (默认后10行)

加参数:head  -3  查看前三行   tail  -3   查看后三行

第三章输出重定向

显示器  /dev/ stdin  标准输入stdin(0)   stderr 标准错误(2) stdout  标准输出(1)

  1. 正确命令下用这个覆盖 >

使用:passwd > /dev/null  (放在null里面的都会消失

Timedatectl > /home/wx/time timedatectl > time(后面这个文件夹是系统自动生成的)

  1. 错误命令下的覆盖  2>
  2. 不论命令正确还是错误的覆盖  &>
  3. 在文件里信息正确的追加   >>
  4. 在文件里信息错误的追加   2>>

利用输出重定向清理文件和创建新的文件 >

Cat与输出重定向的格式相结合

6.例如 创建 cat  >  a  :创建一个文件,并进行编辑(ctrl+d或者ctrl+c退出)

7. 删除.cat > a:   再次创建文件,不编辑空白直接退出,让空白把上一个内容覆盖

 8. 用输出重定向导出一个东西(相当于复制):>

Cat  a> b

Cat  a >> b  (追加)

9.写了覆盖语句后不让它覆盖 set C  关闭     (关闭之后必须再打开)

Set +C   打开

 Find + 查找范围 + 参数 + 具体内容(范围:位置,参数:名字 内容:文件名字)

Find / name user  

10. 将查看的文件里面正确 >>的重定向到一个文件里面(错误的:2>> )

例如:Find / name user >> true.test

Find / name user >> true.test 2>> false.test   (直接分开)

输入重定向

  1. 发送邮件命令使用方法  mail   -s  

编辑完邮件退出:编辑完内容回车+ctrl+d (编辑完内容敲回车: 点)  最后再回车

发送邮件:mail  -s  wxtoroot root  (-s:邮件的主题,主题名字,接收者)       

查看邮件:必须在root模式下 然后输入mail

Mail    接收邮件

切换root用户:su  -   退出到普通用户:exit  (或者:ctrl+d)

  1.  <  输入重定向  

Mail   -s  wxxtoroot root < a   :将a文件的东西

<<  : 以...结尾    <<后面跟x,编辑完邮件之后回车再输x 退出邮件

第四章VI/VIM(编辑器)

四种模式:命令模式,编辑模式(插入模式),末行模式,可视化模式

          退出:按esc键    可以从任意模式下退出到命令模式(退出vim使用q)

  1. 命令模式:

如何进入命令模式:命令行终端敲 vim 文件名称  (vim etc/passwd)

创建环境:cp  /etc  *  /tmp  -a      (查看:ls  /tmp)

vim  /etc/passwd 根下面的etc

Vim  etc/passwd   拷到tmp 下的etc

路径区分: vim  etc/passwd      vim  /etc/passwd   vim  /tmp/etc/passwd  (注意路径)

命令模式下的命令:

(1)删除小x:删除光标所在的单个字符     大X:删除光标所在字符的前一个字符

(2)撤销 小u:撤销(一直撤到最初的状态)  ctrl+r:  反撤销

(3)剪切(删除):dd: 删除光标所在行     4dd:如何多删除几行

(4)粘贴  p :将剪切(复制)的内容粘贴到光标所在行的后一行

(5)复制:yy 复制整行内容                4yy:复制几行光标所在那一行为第一行  

(6)替换:r  替换光标所在的单个字符      R 从光标所在字符开始替换 (esc退出)

(7)删除 D:从光标开始删除所在行后面所有内容

(8)删除  d0:从光标开始删除所在行前面所有内容(不包括光标所在点)

(9)移动 G:将光标移动到整个文档的最后一行 gg:将光标移动到第一行的第一个

5G=5gg   都是移动到第五行

(10)shift+6 光标移动到本行的第一个字符  shift+4 光标所在的行最后一个字符

2.编辑模式(插入模式)

命令模式进入编辑模式  

输入 i:前插入内容              a :后插入内容      

输入 I:光标在所在行最前面    A:光标在所在行的最后面

输入 o:换光标所在行下面的行   O:换光标所在行上面的行

3.末行模式  保存和退出

只能从命令模式进入末行模式 输入: 冒号  (编辑模式退到命令模式在进末行模式)

w :保存  q:退出  wq: 保存并退出 q! :强制退出  x:保存并退出  

set number nonu: 显示行号   (取消行号:set nonumber或者nonu)

搜索  /+搜索的内容

 

取消亮色标记输入:  noh

搜索+替换:///  位置 s /目标/结果/  

例如:6,8s/:/%/   6到8行中将默认每行第一个冒号替换为百分号

                 6,8s/:/%/g   6到8行中将所有冒号替换为百分号

4.可视化模式

命令模式进入可视化模式:

小v   字符可视化

大V:整行被选中  行可视化

 ctrl+v:  块儿可视化 

可视化模式的命令:

  1. 删除:d:删除选中的文本且包含光标所在字符
  2. 删除+编辑:c:在d的基础上可以进行编辑
  3. 替换:r:替换选中的范围包括光标所在字符
  4. 切换大小写:gu:切换小写  gU:切换大写

第五章管道|(连接两个命令的,同时执行俩个命令)

将一个东西标准输入到屏幕上

Grep:抓取功能  (以行的形式显示出来)

格式:grep +“抓取内容”+具体的文件   (区分大小写)

-i 忽略大小写

-v: 反抓 抓取内容,所有东西都抓出来

管道用法:具体文件|grep  抓取内容   (与ls结合使用)

Cut:抓取功能   (以列的形式显示出来)

格式:与grep 相同

-d 分界符            -f 所选取的字段      -c 所选取的字符

以列的形式显示整个文档的第一到第五个的字符  (与cat 结合)

以列的形式显示整个文档的第一和第五个的字符

单列

-d和-f结合使用

以列的形式显示整个文档的以冒号作为分隔的第一个字段 (没有分隔符的话就默认全部显示出来)

第一个字段到第三个字段

第六章本地用户和用户组管理

/etc/passwd(用户)/etc/shadow(用户密码)

/etc/group(用户组)/etc/gshadow(用户组密码)

创建用户和用户组

创建用户:

判断一个名字是不是一个用户:进入passwd 查看一下

用查看文件的命令 cat  more less head  tail  

如何确定一个用户是否存在?  Id+用户名

注意只能在root下创建新用户,普通用户下不可以

默认创建一个用户:useradd adduser 参数是系统默认设置的 

创建用户的时候加参数:  -g 把这个用户放到一个组里面(组名)

-G:附属组(创建用户的时候使用)

/etc/passwd 解释:

以冒号作为分隔符

第一个字段:用户名  username,   第二个字段:用户密码

第三个字段:用户的ID userID,UID范围0-65535  0:root用户,1-499系统用户,(1-99系统自行创建的100-499:做保留),500-65535:普通用户

  第四个字段:用户组ID,GID范围:没有3000用户组

第五个字段:用户的描述信息       第六个字段:**的家目录(路径)

第六个字段:用户使用的哪种shell   

(用户名和UID的区别:用户名是给人看的,UID是给机器看的)

Shell的分类:大多数默认使用的bash shell,前身是bourne(unix系统下) sh快捷方式

Csh   tcsh:前一个的升级版    bash在/bin下面

no login:不能登录  怎么弄:用一个软件管理。

查看当前的所有shell:

如何删除一个用户:userdel+用户名

全部删除将名字也删掉  userdel+用户名 –rf

查看 /etc/login.defs   查看邮件路径

如果不加-rf,会导致删不干净

创建密码: passwd  给root创建密码

新用户创建密码: passwd

在普通用户下进入另一个用户 su – 用户名

注意在root下可以直接进入普通用户,不用输密码

普通用户之间,相互进入需要输入密码

创建组

初始组   主组  附属组

查看group  vim  /etc/group

第一列:组名,第二列:组密码 gshadow 中  第三列:gid 第四列:当前组下包含的用户

如何创建一个组:(gid可以不唯一)

默认:

加参数:  (主组,初始组)

加参数   (附属组)

-G覆盖   保留最后修改的附属组,以最新添加的为准 (用户组   用户)

一个用户不会只有一个附属组:-aG 不覆盖  添加多个附属组

-o  可以多个组使用一个gid      -g: 设置一个gid     -r:创建系统账户 

-G:附属组(创建用户的时候使用)

组密码  gpasswd

切换组:newgrp       这个用户放到这个组里面

-a   将用户放到一个组里面

登出这个组(退回到原来的组)  exit

删除组       groupdel(只能删附属组)  删初始组:删用户

Shadow (影子文件  与用户密码相关)

在root下查看   vim  /etc/shadow

以最后一行为例子:

第一行:root用户的密码加密了 哈希算法比对

以冒号分隔:

第一段:用户名  第二段:密码锁定,一个感叹号是一把锁(没有密码的意思)

第三段:上次修改密码的时间,天数,从1970.1.1到现在的天数(没有的话说明没有改过密码)  第四段:密码的最短有效期(天数)0:永久有效  

第五段:密码最长有效期

第六段:密码到有效期的前七天给你警告 第七段:密码过期之后的宽限日期

第八段:账号的实效日                 第九段:保留字段

怎么样可以在改密码的时候看见密码(利用管道符)

如何在已经敲好命令之后让它不执行: 

如何改这个shandow  :       

Export LANG=zh_CN.utf8    (.utf8 一种语言的编码)  用中文显示出来

Passwd –help

修改用户的shadow:  

失效日期:优先级最高  chage

修改失效日期

第七章权限

linux中使用一个软件:samba :实现全球文件共享的软件(smb支撑它的协议信息服务块协议  通信协议 c/s)

四种权限:一,服务权限;二,系统权限(系统用户);三,防火墙权限;四,SE linux 权限(安全机制)   这四种是交在一起,必须四种权限都有否则不能使用。

系统权限(系统用户)普通文件权限

创建一个文件读,写  (写:echo 内容 >>文件名)

执行:执行的是脚本(直接敲路径回车,实现的就是脚本)

关于用户权限组权限和其他用户权限的认识

修改文件权限:chmod     (只能用root修改)  (三种修改方法)

1.删除文件所有者(用户)的对文件的权限用减号:chmod  u-w 文件名 

添加一个写权限(用户):chmod  u+w 文件名

添加一个执行权限(用户):chmod  u+x 文件名(可执行文件都是绿色,蓝色:链接)

用户组:chmod  g-w  文件名

2.添加多个权限:g=rw

在已有权限的情况下:在添加一个权限会被替换掉(g=x)

其他用户(o): 

多个用户一起修改:(只要用逗号分隔就行)

  

Chmod  a+x 文件名      全部添加一个x (a-x)

+-号使用多个权限 同时

使用数值修改:rwx 421  :

执行权限:(安全)普通用户和root用户都没有这个执行权限,确认之后在添加

Chown命令 :修改某个文件所属的组和用户

  

注意:不能单独修改组,只能和用户放在一起修改。文件不能随便切换用户和组

Chgrp 命令:单独改组 (间接修改组的权限)

把一个用户放到一个组下面,这个用户就有了这个组的权限。

目录文件权限简介:

对于目录来说:有无r: 是否可以查看该目录,w:是否可以在该目录下创建文件,X:是否可以进入这个目录

查看目录下有什么东西,参数-d  

具有访问某个目录的能力:  rx  

Chmod  -R  644 wxdir    只修改该目录的权限(包括文件)   Chmod  -R  644 wxdir/   目录及以下所有全部修改

特殊权限:set uid     set gid      sticky(强制冒险位)

关于密码的有关权限 :

规定:root可以在shell下面任何情况下使用任何命令

S  :set  uid  作用:对目录文件无效,只对普通文件有效。

其他文件在执行他时就会用户该文件拥有者的权限。   

小s:既有执行又有set uid  大s:没有执行,只有set uid 的权限

Set gid :  作用:目录文件,若一个目录有gid的权限,那么不管任何用户在该目录下创建文件,则这些文件所属组都属于该目录的所属组   g+s

 Sticky:和set gid结合使用用t表示 在其他用户权限中使用o+t,作用对象是目录,作用:设置了强制冒险位的目录,那么任何目录在该目录下创建文件只有root和用户本身可以删除

 

linux系统做开发的时候(工作项目),使用set  gid和sticky。

例子:

创建一个工程目录

添加set gid和sticky的权限(还有w权限)

分别创建俩个用户

分别在俩个用户下去那个目录里创建俩个文件

创建好之后,使用其他用户去删一下另一个用户创建的文件(删不了)

把sticky权限去掉,再次删除一下(可以删除)

默认权限:

Umask:查看的是umask值和默认权限挂钩的

普通文件的值:666   rw-rw-rw-

修改的时候普通文件用666减去修改的mask值   

减不开的默认是0   例如 666-027=640

目录文件的默认值:777  例如 777-027=750

临时改默认权限,把终端关了,恢复原样   :umask 加值

永久修改权限:vim  /etc/profile

权限伪派:sudo:让普通用户暂时拥有root的权限:sudo  touch  文件名

第八章进程管理与作业调度

进程的概念:执行的程序或者命令。

特点:可以杀死一个进程(结束)会占用电脑资源(cpu和内存)

父进程和子进程

如何查看进程

1   bsd系统格式:ps  aux   静态

这  u: 进程由哪个用户产生的   a:前台进程     x:后台进程

介绍里面的东西:

第一列:属于哪一个用户         第二列:PID:进程号(端口号)

第三列:占用的cpu             第四列:mem内存利用率

第五列:vsz虚拟内存利用率      第六列:rss真实内存利用率

第七列:tty 进程由哪个终端产生的,控制台终端(终端):

?:进程由内核直接产生的,pts/2:2表示哪个终端(0--255表示虚拟终端)

字符界面:ctrl+alt+f1,退出,ctrl+alt+f2-f6进入字符界面,使用ps  aux进入

然后:shift+pgup向上滚动,shift+pgdn向下滚动

第八列:stat进程的状态   大s:父进程,小s:子权限  R:正在运行,+:位于后台     

第九列:start进程的启动时间      第十列:time:进程占用cpu的时间

第十一列:进程名字

2  linux系统查看格式: ps  -le (-l 以详细的信息显示  -e所有进程) 静态

3  top:查看所有进程(动态,3秒一更新)

介绍:

第一行:系统当前时间,up 时间:系统已经工作了多少时间,5users:有多少个用户

Load average:当前系统资源利用率情况(一般不会超过1)

第二行:tasks:当前进程数量多少running运行sleeping休眠stopped停止zombine僵尸进程

  1. 创linux时遗留下的僵尸进程2,中病毒)

第三行:cpu:占用cpu,us:用户使用时占用的;sy:系统占用的;ni:优先级,被修改过优先级的进程占用cpu的百分比;id:空闲cpu(剩余)的百分比;wa:等待输入输出的进程占用cpu的百分比;hi:硬件中断请求符;si:软件中断请求符占用的;st:虚拟时间占用

第四行:内存,total:物理内存的总量;free:空闲物理内存数量;used:被使用的内存是多少;

Buff/cache:写入/读磁盘时缓冲的内存数量

第五行:硬盘的交换分区

P大p:不断刷新(以cpu的使用率排序)   M 大m:刷新(以内存的使用率排序)

N大n :刷新(以pid排序)                q:退出

改变刷新时间:Top -d  5

查看进程树:Pstree  (全部的树)

-p:展示pid号(进程id)

 

利用管道抓取进程:pstree -p | grep 进程名称

终止进程   Kill

Kill -l  显示所有进程信号

介绍:

SIGHUP:-1结束信号,让进程立即结束并重启;例:kill -1 pid号(某一个正在运行的进程号)

SIGINT:-2中止进程,                       SIGKILL:-9强制杀死进程

SIGTERM:-15: 和kill是一个意思              SIGCONT:-18继续信号(继续一个进程)

SIGSTOP:-19停止信号(暂停一个进程)       

Jobs:显示的是一个后台的进程

Killall :杀死进程 killall+进程名字+参数

参数:-I:默认不区分大小写                -i : 会询问你是否杀死进程

关闭进程的命令命令:sysstemctl stop httpd servic(start,enable)

Pkill:

一般情况杀死进程(一般不好使),特殊情况 踢用户(踢得是终端)

Ctrl+shift+t   再打开一个终端

强踢:pkill  -9

输一个首字母,敲两下tab键,显示命令

 

踢得命令

xshell软件

Alt+n  新建(在linux查看  IP :ifconfig)

任务调度 jobs:用于查看当前终端后台运行的任务

命令:fg:后台的任务调到前台运行   (加具体哪一个进程)

命令:bg:将后台暂停的命令变成执行

使用格式:命令+%+作业id

作业ID: 

Ctrl +z :暂停当前这个进程,就可以在jobs中查看后台的运行任务

  • systemd  linux的守护进程

7.4之前的版本:init 缺点 : 1,启动时间长;2,复杂

Systemd:为linux系统的启动和管理而生的      D:daemon,守护进程 system daemon

查看linux系统的版本:systemctl  --version

命令介绍

Systemctl:将systemd中的所有进程按单元来分:

  daemon: 运行在后台的一种特殊的进程(很庞大),独立于控制终端 并且周期性执行某种任务

查看windows的所有进程:在cmd中输入services.msc

systemctl

Systemctl  reboot     重启系统          systemctl  poweroff     关机

Systemctl  halt       cpu停止工作的     systemctl  suspend     暂停系统(挂起)

Systemctl  hibernate  让系统进入冬眠     systemctl  hybrid-sleep 交互性休眠

Systemctl  rescue     进入救援模式  

Systmd-analyze

Systmd-analyze     查看启动耗时

Systmd-analyze  blame   查看每一个进程的启动时间

Systmd-analyze  critical-chain   查看瀑布状的启动过程流

Systmd-analyze  critical-chain+其中的一个服务名        查看这个服务的启动过程流

Hostnamectl  查看当前主机信息

修改主机名:

Hostnamectl  set-hostname +主机名      更改主机名(永久修改)

查看主机名:hostnamectl,  hostname

Localectl  查看本地化设置

Timedatectl  显示本地化设置的时间

Timedatectl list-timezones      :选择可用时区

设置时区

设置日期

设置时间

Loginctl    用于查看当前登录的用户

Loginctl  list-users   列出当前登录的用户

Loginctl  show-user 用户名字

十二种单元

 

 

 

Systemd 下面有12种单元(资源)(在pstree中查看)

第一个:系统服务单元:service  unit       第二个:目标单元:target unit

第三个:硬件设备单元:device  unit        第四个:文件系统挂载点单元mount unit

第五个:自动挂载点单元automount unit     第六个:文件路径单元:path unit

第七个:不是由systemd启动的外部进程单元  scope unit

第八个:进程组单元slice unit            第九个:系统快照单元(systemd的)snapshot unit

第十个:进程通信单元socket unit        第十一个:交换文件单元swap unit

第十二个:定时器单元 timer unit

查看这些单元的命令(systenctl的命令)

Systemctl  list-units  列出正在运行的单元

Systemctl  list-units --all   查看所有的单元

Systemctl  list-units --all --state=inactive   列出没有运行的单元

Systemctl  list-units  --all --failed列出加载失败

Systemctl  list-units  --type=service   列出以service结尾的单元

Systemctl  status查看系统状态

 

 

 

Systemctl  status+unit名称查看单个。Unit 的状态

Systemctl  status  bluetooth.service加后缀,不加的话默认是service

脚本语句的判断使用:

Systemctl  is-active+unit名字  查看哪个单元的/服务的状态

查看单元的状态

Systemdctl  is-active 单元名

Systemctl  is-fialed bluetooth

Systemctl  is-abled bluetooth     看看某个服务或进程是不是自启动进程

Systemctl  enable  bluetooth   开启自启动  (disenable  关闭自启动),操作没有显示出来的话,重新加载一下(重启一下)

如何管理服务:

Systemctl  start  httpd.service   打开

Systemctl  stop  httpd.service   关闭

Systemctl  restart  httpd.service  重启

Systemctl  kill  服务名字   杀死(终止)服务

Systemctl  reload  服务名字 +重新加载服务

Systemctl daemon-reload修改完重新加载

Systemctl show+服务名显示这个服务的底层参数

uint依赖,查看谁依赖谁

Systemctl  list-dependencies   查看所有的依赖关系

Systemctl  list-dependencies +服务名

加--all 更详细的显示信息

unit的配置文件

Systemd  从/etc/systemd/system/   读取文件(默认):存的是符号链接(自启动)

真正指向的路径在/usr/lib/systemd/system/

查看配置文件状态的命令:

systemclt list-unit-files    查看所有单元的配置文件  

systemclt list-unit-files --type=单元名      查看单个单元的配置文件

第十章ssh

查看网卡基本信息:(ifconfig  -a  查看所有网卡)

Ens(en是enthernet   s:linux操作系统网卡命名的方式 o:内置网卡,集成网卡)

 GPU:显卡(图形化处理)

nmcli

(network mensage commond line interface)nmcli守护进程监控管理网络服务(配置网络的工具)

常用命令:

Nmcli dev list  :列举的需要的网络接口;  nmcli dev wifi:查看当前区域内的无线网络

Nmcli  nm :查看的连接状态;(nmcli  connection)

Nmcli con  status =Nmcli  con=Nmcli  connection  show   查看网络连接状态;

对ip的修改

使用vim进入修改:进入vim中将onboot 修改为yes(其中一个网卡的配置文件)

其中:name表示的是对应的配置文件的名字,device表示真实网卡的名字

一个网卡可以对应多个配置文件

重启一下服务systemctl restart  NetManager     (俩种方法)

断开网卡连接:nmcli  device  disconnect+网卡名字

插上网卡:nmcli  device  connect+网卡名字

查看网卡的信息:nmcli  device  show+网卡名字

使用命令对ip的修改:

Nmcli  connection add con-name 网卡对应配置文件的名字 autoconnect(自动连接) yes/no

Type(网卡类型) enthernet(以太网) ifname  网卡名字  ip4 地址  gw4 网关

设置一下开启网卡:nmcli  connection up ens332(俩个配置文件,设置其中一个)

查看一下  网卡配置  ip add show     (是否成功)

删除配置信息: nmcli  connection  delete  ens332(配置文件的名字)

修改网卡的配置文件:nmcli  connection  modify  配置文件的名字 ipv4.addresses “修改后的ip”

查看windows下能不能ping通        (是否能上网)

xshell登录到虚拟机使用ssh:

查看ssh的配置文件

在vim中修改登录权限  permitRootlogin  no 从xshell中使用root登录不成功(权限禁止)

Service reload ssh(重新启动一下服务)

free命令

查看内存,显示使用和未使用的 free =free -k      (单位是kB的形式)

Free -b   以这个单位显示     (BYTE)

Free  -t  显示全部内存,每一列的总计信息

Free  -s  3  每隔三秒打印一次内存信息

Free  -c  5  重复打印五次内存信息

Free  -V   输出版本信息free的

Free  -hs  以人类可读方式,每2秒更新打印一次

Free  -s  2  -c 2   2秒更新并打印2次停止

网卡的停止与启动

关闭网卡      ifdown+网卡名字    开启网卡       ifup+网卡名字

(红色不连接,绿色链接,蓝色网线没插好)

  

 

检查网卡是否插上网线:mii-tool ens33

开着:(关着的:nolink)

软件安装包的管理

软件安装包全名名称:类型-主版本号,次版本号,修订版本号发行次数-适用于红帽企业级7版本-x86架构的64位系统

名称:类型-名字-版本号(是上面全称的那个的附属组件)

Noarch:既用于x86的32位又用于64位

软件安装包的管理

光盘在/dev下面存着  ,小名叫sr0

磁盘挂载:将想查看内容的硬件设备和linux系统下的某个目录文件连接起来

如何挂载:(默认挂载都是在mnt下面)

Mount /dev/sr0  /mnt/

查看  

查看软件安装包

计算有多少个软件安装包

如何安装软件安装包:rpm包:二进制安装包

已经编译好的,安装速度特别快;不灵活。

Rpm  -ivh +安装包的名字  i;安装  v:过程 h:哈希算法

卸载: rpm  -evh  vsftpd (服务名字) e:卸载

查看软件的安装信息:

软件安装包存着位置

查看服务是哪个安装包的

实验  将passwd删了在装上

原码包: 比较灵活,可以自己编译,比较复杂比较难,对操作者的要求比较高。

用gcc(编译器)安装

软件安装包的依赖性,以 .rpm结尾的

第一种树形依赖性:安装a的软件安装包必须得安装b

第二种 环形依赖:安装a装b装c装h 不规则的关系

第三种 模块形依赖性:装a再装a下面的几个组件

例如    http

按俩下tab  查看一下有哪些安装包

在一个网站对应的查一下是什么样的软件安装包 (ww.rpmfind)

一个个比对一下,然后再装一次

 

第十一章日志管理

日志:记录linux系统每天干了什么

Journalctl 查看所有的日志

第一种 内核日志:内核  第二种 应用日志:服务

日志的存储路径:/etc/systemd/journal.conf

Journalctl  -k   查看内核日志

利用管道抓取

Journalctl  -n 最新十行日志(默认尾部)

Journalctl  -n 3   指定尾部几行

Journalctl  -f      实时日志

Journalctl  -u+ 单元名称   查看单元日志

Journalctl  -u+ 单元名称 -f   实时查看单元日志

Journalctl  -u+ 单元名称 -u + 单元名称   同时查看多个单元日志

Journalctl  -u+ 单元名称  --since  today

Journalctl  --disk-usage   所占硬盘的空间

Journalctl  --vacuum-size=1G   指定日志能占据的最大空间

Journalctl  --vacuum-time=1day  指定存放的时间  

本文标签: 学习笔记Linux