返回顶部
首页 > 资讯 > 操作系统 >Linux笔记
  • 941
分享到

Linux笔记

linux服务器运维 2023-08-20 17:08:12 941人浏览 泡泡鱼
摘要

一。基础思想 一切皆文件。 两条权限原则: 权限分组原则权限最小原则 su是切换用户,而sudo则是用root权限执行某操作( 普通用户+sudo=安全) linux目录 系统只存在一颗文件树、从==/==开始,所有的文件都

一。基础思想

  1. 一切皆文件。

  2. 两条权限原则:

    • 权限分组原则
    • 权限最小原则
  3. su是切换用户,而sudo则是用root权限执行某操作( 普通用户+sudo=安全

  4. linux目录

    • 系统只存在一颗文件树、从==/==开始,所有的文件都挂载在这个节点上。 ( 树型目录
    • windows系统存在多颗文件树,以盘开始。如==C:\==D:\
    • 注意:两者斜杆不一样,正反斜杆。Linix正斜杆,Windows反斜杠。
  5. 没有返回值就是成功:执行Linux命令,无返回值即成功,有反回值有可能成功也有可能失败。

  6. 关机前需要先同步数据

    • 虽然如今Linux系统已默认执行sync。但是为了避免数据丢失,实现手动sync是好习惯。
    synC#同步数据 shutdown -h now #立即关机shutdown -h 1#1分钟之后关闭计算机 reboot#立即重启
  7. 在众多shell中,Linux系统中的文件系统因为不同的类别,颜色都是不一样的。

    d:目录 -:文件 l:链接image-20220314194812036

  8. r4、w2、x1:读写执行分别对应二进制111

  9. 记住、用户目录 /etc/passwd

  10. 只有当要修改文件时才需要vim,其余时cat即可、或者headless

  11. 可执行文件是绿色的。
  12. ping百度检查设备是否联网

    ping baidu.com
  13. tab提示很好用,单机或者双击的规则我已领悟。

  14. -h在Linux中是非常重要的一个参数,其在绝大多数情况下都表示显示计量单位,即可以以人可以读懂的方式去显示。如:

    ls -lhdf -h#查看磁盘使用情况du -h#查看指定的目录(默认是当前目录)下的文件占用空间情况
  15. 清空或者截断文件

    > a.txt或者echo "" > a.txt
  16. 日常使用which来查询指令出处。

  17. 第三方软件安装应所在位置:/opt


二。基础操作

  1. ls指令

    ls -alh#隐藏文件、长列表、方便阅读ls -R #递归子目录ls -r#反序显示ls -S#Size,以文件大小顺序输出ls -t#按修改时间'注意-r:reverse-R:Recursive,常用于连续递归子目录

    image-20220317114208779

    • 第2列:硬链接数或者子目录数
    • 3/4:文件属主与属组
    • 5:文件大小(单位:字节),如果是文件夹则显示4096字节,文件则显示其内容的实际大小。
    • 6/7/8:最后修改日期
    • 9:文件名
  2. mkdir递归创建目录

    mkdir -p demo/{1..100}
  3. rmdir:仅能删除非空的目录。

  4. rm详解

    '技巧'rm -rf /tmp#删除这个目录rm -rf /tmproot**:注意区分这两个目录,它们不一样!

  5. Bash说明

    • GNU项目的产物,Shell程序。
    • 几乎所有的Linux发行版本均存在bash。
    • bash表示其是sh的加强版,而sh是最初编写的UNIX Shell程序。
  6. wildcard通配符

1. *:几乎全部,只不能匹配隐藏文件。2. ?:单个字符3. '匹配隐藏文件:.[!.]*
  1. 单引号、双引号规则:在单引号中,所有的转义字符会失效。

  2. /dev/null垃圾桶

    • 可以将不需要的输出全部重定向至这个文件中,神秘消失~
    • 俗称:bit bucket 位桶,Unix古老概念
    ls / &> /dev/null 
  3. Linux自带英文字典

    • locate:/usr/share/dict/Words文件
    • 大小:4.8MB。
    "里面有47万个单词,一行一个。可用grep搜索"[root@VM-4-3-Centos dict]$ cat words | wc -l479828"填字游戏"[root@VM-4-3-centos dict]$ cat words | grep '^..j.r$'MajORMajor
  4. 系统字符集查看

    "查看字符集的两种方法"1. locale2. echo $LANG
    • locale的字面意思就是语言环境:字符集。
  5. 重定向标准错误

    • 前置知识:Linux的Shell中有三个文件描述符
    • 0、1、2:标准输入、输出、错误输出。
    #仅标准输出,两种写法ls /aaa > a.txtls /aaa 1> a.txt#仅重定向错误ls sasa 2> a.txt#同时输出,两种写法ls sasa > a.txt 2>&1ls sasa &> a.txt
  6. 系统版本信息查看

[root@VM-4-3-centos]~# cat /etc/os-releaseNAME="CentOS Linux"VERSioN="7 (Core)"ID="centos"ID_LIKE="rhel fedora"VERSION_ID="7"PRETTY_NAME="CentOS Linux 7 (Core)"ANSI_COLOR="0;31"CPE_NAME="cpe:/o:centos:centos:7"HOME_URL="https://www.centos.org/"BUG_REPORT_URL="Https://bugs.centos.org/"CENTOS_MANTISBT_PROJECT="CentOS-7"CENTOS_MANTISBT_PROJECT_VERSION="7"REDHAT_SUPPORT_PRODUCT="centos"REDHAT_SUPPORT_PRODUCT_VERSION="7"

四。安装软件

  1. centOS:三种方式

    • 解压缩( 模式:解压即安装 )
    • rpm手动安装
    • yum在线安装
  2. 前景说明:

    • yum是高层工具,rpm是低层工具。
    • yum与rpm都可以删除已安装的软件,效果一样
    • yum的帮助文档,直接yum --help或者yum -h
  3. rpm详解

    • 全称:redhat package management,行业标准而不只是redhat的专用;

      • 基本格式:bt-Mysql56-5.6.50-1.el7.x86_64
        • 名称:bt-mysql56
        • 版本:5.6.50
        • 适用操作系统:1.el7.x86_64( 表示支持centos7.x的Intel—X86架构64位操作系统 ),如果是i386表示32位系统,noarch表示通用。
      • 安装说明:不会帮你自动下载并配置默认环境。

      • 参数说明:

        rpm -qa"查询所有已安装软件rpm -q  GCc'查询本地是否安装gcc。不比grep好用、容易导致误解、出错'#比 yum -info gcc 详细,更好rpm -qigcc'查询软件包的具体信息,包括安装时间等rpm -qlgcc'查询软件包中的文件rpm -qf 文件路径'查询该份文件隶属于哪一个软件#-e普通卸载,可能会被Linux阻止。卸载失败#--nodeps强制卸载rpm -e --nodeps gcc#-i_install安装,-v_verbose显示信息,-h_hash进度条rpm -ivhrpm包
      • 范例:

        #安装jdk1.81. '检查系统中是否存在jdk1.8,两种方式'rpm -qa | grep jdk1-1.'存在即强制卸载'rpm -e --nodeps jdk名称#强制卸载2. '前提:已经拿到jdk的rpm包、并且存储在系统里'rpm -ivh rpm包
    1. yum详解

      • 全称:Yellow dog Updater, Modified

      • 安装说明:会帮你自动下载并配置好所有的默认环境,省心安装。

      • 参数说明:

        yum makecache fast'生成目录缓存,方便日后检索。每日系统自动更新一次'yum -y install gcc'安装yum list | grep jdk'列出所有可以安装的软件'yum check-update'检查是否有'yum remove gcc'卸载'yum update'更新所有软件'yum update gcc'更新gcc'# 不如 rpm -qi gcc 详细,没有安装日期等等yum info gcc'查看具体信息'
      • 范例:

        yum -y install java-1.8.0-openjdk.x86_64

五。解压缩文件

  1. 常用tar,记住即可

    tar -zxvf file#解压tar -zcvffile#压缩
  2. 其他指令

    1. gzip压缩、gunzip解压

      gzip 1.txtgunzip 1.txt.gz
    2. zip与unzip

      • 注意看其表达形式,不可改变!易错。
      • Linux有时没有为我们安装此,自行安装即可
      #安装unzipyum install -y unzip#压缩zip -r a.zip /home/think 压缩递归压缩目录压缩后的文件名将要压缩的目录#解压unzip -d ./usr a.zip解压 指定解压到的文件目录 压缩包文件
    3. tar详解

      • tape archive,原本功能:磁带存档。

      • 前景说明:只提供打包、解包,没有解压缩功能。

      • 通过调用gzip实现解压缩功能。

      • 后缀:.tar.gz见名思意,先借助tar打包、然后利用gzip进行压缩。

      • 打包和压缩区分:

        • 打包是指将一大堆文件或目录变成一个总的文件;
        • 压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
      • 与其他指令的区别:其他指令只能针对某一文件进行解压缩,而不能同时针对不同地方的多份文件进行压缩。

      • 参数说明:

        tar -zxvf a.tar.gz-x'解压文件,extract-c'压缩文件,compress-z#支持gzip解压文件-v#显示操作过程,verbose-f#指定压缩文件(理解:指定要解压的压缩文件名)

六。用户与用户组

  1. 查看用户信息

    idid 用户名
  2. 创建用户、删除用户

    useradd -m-G 设置用户组#-m自动创建用户的家目录userdel -r#删除用户并且删除家文件  
  3. 修改用户密码

    passwd#回车设置密码(普通用户权限)passwd 用户名#回车设置用户密码(root权限)passwd -l 用户名#lock,冻结某用户、暂时无法登陆。应用:离职期间
  4. 用户切换

    su 用户名
  5. 退出登录

    '退出账号'exit'退出Shell端'loGout
  6. 创建、删除用户组(group的操作与useradd这系列的操作类似一样

    groupadd thinkstugroupdel thinkstu
  7. 修改用户所在组

    usermod -g 组 用户名#修改用户所在组
  8. 直接修改文件或者目录属组

    chgrp think组 1.txt
  9. 为用户赋予新的家目录

    '只能用root用户设置,因为在设置的时候该用户不能登录usermod -d 目录名 用户名
  10. 思想:

  • Linux中,所有的用户都必须存在于一个组中,用户不能独立于组而存在。
  • 某文件在创建时所归属于的组—>取决于创建者所在的组
  1. 修改文件所有者

    chown thinkstu 1.txt
  2. rwx权限详解

    1. 权限排序:文件所有者、文件所在组、其他人。

    2. 作用在文件

      • r :可读取该文件

      • w :可修改该文件,但是并不能删除该文件。

           删除该文件的前提是对该文件所在的目录拥有w写的权限。
      • x :可执行该程序

    3. 作用在目录

      • r : 可读,可以使用ls查看该目录结构
      • w :可以对目录里的内容进行修改。—>如:创建、删除、重命名该目录或其他目录内的文件
      • x :可执行,表示可以进入该目录。
    4. Summary

      • 如果想要对目录内的文件进行操作,那么首先要有针对目录的相应权限才行!
      • 目录的只读访问不允许使用cd进入目录,必须要有执行的权限才能进入。
      • 只有执行权限只能进入目录,不能 ls 看到目录下的内容,要想看到目录下的文件名和目录名,需要可读权限。
      • 一个文件能不能被删除,主要看该文件所在的目录对用户是否具有写权限,如果目录对用户没有写权限,则该目录下的所有文件都不能被删除,文件所有者除外
      • 目录的w位不设置,即使你拥有目录中某文件的w权限也不能写该文件

七。环境配置

  1. 检查环境配置

    1. set:显示Shell变量+环境变量

    2. printenv:只显示环境变量

    3. alias:别名( 以上两者均无法查看别名,只有它可以

      set#全部printenv#全部alias#全部
  2. 常见变量

    echo $PATHecho $PS1echo $LANG'输出服务器字符集'
  3. 前提说明:Shell程序在启动时会自动加载并读取一系列配置文件(用户登录操作并不会)。

  4. 配置文件读取规则

    • **登录Shell会话:**非图形界面登录。

      "全局变量"/etc/profileas"用户变量"1、 2、 3 为只要前面一个存在,则后面的就不会被读取;~/.bash_profile1~/.bash_login2~/.profile3
    • **非登录Shell会话:**利用图形界面进行登录。

      "全局变量"/etc/bash.bashrc"用户变量"~/.bashrc
    • 特例:~/.bashrc文件,无论启动方式如何,总会被执行( 但其只是用户自定义变量 )。

  5. export命令含义:告诉Shell,该环境变量的内容可用于Shell的子进程。

    export PATH=$PATH:~/bin
  6. 二月指示:以前我总是修改/etc/profile文件,直到我进去该文件中注意到这句话:

     System wide environment and startup programs, for login setup Functions and aliases go in /etc/bashrc It's NOT a good idea to change this file unless you know what you are doing. It's much better to create a custom.sh shell script in /etc/profile.d/ to make custom changes to your environment, as this will prevent the need for merging in future updates. ---------------------------'代码部分'--------------------------------- i in /etc/profile.d1 * * * * ls /tmp >> /tmp/a.txt
    #crontab参数-e# edit,编辑crontab定时任务-l# list,查询当前所有的crontab任务-r# removeAll,删除当前用户的所有crontab任务
    • ==*==占位符的说明

      项目含义范围
      ***** * * * *一小时当中的第几分钟0-59
      * ***** * * *一天当中的第几小时0-23
      * * ***** * *一月当中的第几天1-31
      * * * ***** *一年当中的第几月1-12
      * * * * *****一周当中的星期几0-7
      0和7均表示星期日
    • 特殊符号的说明

      符号含义
      *代表任何时间
      ,代表不连续的时间片段,比如0 6,8,10 * * *表示每天6点整,8点整,10点整都会执行一次
      -代表连续的时间,比如0 6-8 * * *表示每天6/7/8点整均会执行
      */n首先左边的字符代表0-59分钟均会执行,右边的数字代表每隔1分钟执行一次。比如:*/10每隔十分钟,*/20每隔20分钟。(*/1相当于*****,这点需要注意)
    • 一些案列

      image-20220317162538682

    • 定时任务:利用可执行的sh文件

      1. 首先创建一shlle脚本,.sh后缀

      2. 然后赋予shell脚本可执行的权限x( 或者使用sh而无需赋权限 )

      3. 在crontab里执行任务的地方直接填入shell脚本的全路径。

        因为正常的shell脚本也是如此调用执行的

      4. 如此一来,主要工作变成了编写Shell脚本;

    • 番外话:

      在命令行里同时执行两句不同的指令

      cal && date

      使用了==&&==

18. atd 定时单次任务

  1. 说明:

    • 有时我们并不需要Crontab循环执行任务,我们只需要执行一次任务

    • at-deamon,at的守护进程atd会以后台模式运行,检测作业队列来运行。每隔60秒回检查一次作业队列,如果作业的运行时间与当前时间相匹配则会执行该作业。

    • 在使用at命令的时候,一定要保证atd进程的启动,否则便无法启动;可以使用相关指令来查看

      ps -ef|grep atd
  2. 指令是at: 参数。

    image-20220317192905241

  3. 简单使用

    • 最后需要按两次Ctrl+D键结束
    • 2天后的下午5点执行一次任务

    理解:在 下午五点 + 两天后 执行任务)

    image-20220319084903346


    • atq查看at任务队列queue

      [root@think tmp]# atq2       Mon Mar 21 17:00:00 2022 a root

    • atrm 加编号删除某定时任务

      image-20220319085853262


    • 从现在开始30分钟以后执行任务( now 加上时间 )

      image-20220319090016042

19. 定重要文件

  1. chattr指令

    • chattr:change attribute 改变属性

    • 作用:root用户用来 锁定🔐 一些重要文件的操作。

    • 小提示:chattr是/bin目录下的二进制文件。

    • 常用:使用此操作锁住某些文件。如/etc/passwd,然后root( 包括拥有root权限的非root用户 )便无法再使用useradd添加用户,所有用户均不能再修改密码passwd,因为文件已加锁,权限特别高、无法操作。

    • 参数:

      chattr +i /etc/passwd#加锁chattr -i /etc/passwd#减锁chattr -V#显示操作过程chattr -R#递归操作

      image-20220322202458942

      image-20220322202603063

    • 然后可以在系统中通过修改chattr命名,移动到其他目录来防范其他人的恶意操作。

    • 这个指令还有众多参数。

      image-20220322203925521

    • 注意别把系统都给自己锁了。。。

      —> 我还真的把**根目录/**给锁了,然后操作指令——例如ls、man都能正常使用。

      因为==+i==只是加了吧只读锁,并没有能阻止指令的运行。当然所有的文件都已经不能增删改。

20. 检测系统安全

chkrootkit检测系统是否存在入侵的工具(需wget自行下载解压安装)

  • 文件很小+C语言编写,wget够用

    wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
  • 解压、进入、执行命令

    tar -zxvf chkrootkit.tar.gzcd chkrootkit-0.55./chkrootkit
  • nothing found、not infected则表示正常,出现红色则表示检测到入侵

21. 查看用户最后登录时间

  • 查看系统中所有的用户最后的登录时间

    **思想:**因为在日志文件中存在着一文件—lastlog。里面存放的就是系统中所有的用户最后的登录时间,但是因为文件本身为二进制文件不能直接打开,Linux为此还为我们定义了相应的命令,就是同名的lastlog,执行该命令则会去调用查看/var/log/lastlog文件。

image-20220321150829458

22. 面试题

如何优化Linux系统 ,说出你的方法

  1. 不用root,使用sudo提示权限
  2. 定时的自动更新服务时间,使用nptdate npt1.aliyun.com, 让croud 定时更新
  3. 配置yum源,指向国内镜像(清华,163)
  4. 配置合理的防火墙策略,打开必要的端口,关闭不必要的端口
  5. 打开最大文件数(调整文件的描述的数量) vim /etc/profile ulimit -SHn 65535
  6. 配置合理的监控策略
  7. 配置合理的系统重要文件的备份策略
  8. 对安装的软件进行优化,比如Nginx,apache
  9. 内核参数进行优化 /etc/sysctl.conf
  10. 锁定一些重要的系统文件 chattr /etc/passwd /ect/ shadow /etc/inittab
  11. 禁用不必要的服务

十二。Shell编程

  1. 前景提要:

    • 后缀:.sh

    • 单行注释:#

    • Shell脚本不只一种,常用的为bash。( 号开头 )

    '含义:前缀 + 可执行目录下程序/bin/bash#!/bin/bash
  2. 两种启动方式

    '1. 赋予可执行权限chmod 777 xxx./xxx'2.不赋予权限,sh执行sh xxx'特例:后台运行脚本./1.sh &
  3. 全局变量

    #临时export d='lalala'#持久化:写进profile文件里vim /etc/profileexport d='lalala'
    'Shell中预留的三个变量'$$#代表当前进程的进程号,即当前整个脚本的进程号$!#后台运行的最后一个进程的进程号$?#返回上一个命令执行结果。为0成功,其他值失败。echo "当前脚本进程号: $$"./1.sh &echo "后台运行的最后一个进程的进程号: $!"echo "上条语句的执行结果(0位成功): $?"

    image-20220323102723877

  4. 局部变量

    #用户自定义变量a='sssss''等号两边不能有空格!echo $a'习惯变量名全部大写!-----------------------------------echo $PATH#系统变量unset a#取消设置readonly b=1#静态变量,无法修改和删除
  5. 将命令的返回值赋给变量(两种方式)

    1. "反引号"c=`date`2. "美元符号$、小括号"c=$(date)
  6. 位置参数

    • 介绍: 当我们在执行Shell脚本的时候,有时想获得命令行参数,此时就可以使用位置参数。
    ./2.sh 100 200 300
    • 基本语法:
    $n#n为数字,表示位置参数具体编号$0#表示命令本身$1/${23}#10及以上参数需要用大括号{}括起来。$*#通配符,表示所有变量$@#通配符,也表示所有变量,不过$@把每个参数区分对待$##表示命令行中的参数个数
    • 使用
     sh 2.sh 100 200 300 400#!/bin/bashecho "$0 $1 $2 $3"echo "* -- $*"echo "@ -- $@"echo "个数---$#"

    image-20220323101412905

  7. 简单运算符

    • 三种方式( 效果一模一样 )
    1. '$((    ))   ----推荐echo $(($1+$2))2. '$[    ]   ----推荐echo $[$1-$2]3. 'expr m - n    ----超级不推荐,但要会看(语法转义麻烦)echo `expr $1 \* $2`

    image-20220323105449097

  8. 暂时跳过后续内容。


十三。函数式编程(略)

暂定


十四。正则表达式

  1. 说明:主要谈其在Linux操作系统中与各指令之中的联合调用

  2. grep:global regular expression print

    "以下两种式子是等价的"ls -l | grep -c ^d#-c即--count统计ls -l | grep ^d | wc -l
  3. ls 中可以使用

    ls -R / *.txt
  4. **^&**符正确叫法:锚点anchor

    ls | grep '^zip&'"特例 ^& 表示中间什么都没有,可匹配空行"cat a.txt | grep ^&
  5. 脱字符作用:排除

    [^ab]cd"以上并不会匹配cd两位数,脱字符必须存在一个字符、但不能是a和b""Discover:^符号在 [ ] 外表锚点、在内表脱字符"
  6. 连续范围

    [a-z0-9A-Z]"直接这样写即可"
  7. 有时会因为语言环境( 即字符编码集 )的不同而产生一些奇怪的匹配结果。

    1."一般字符集"abcdefg......ABCDEFG...2."个别字符集"aAbBcCdDeEfF"所以此时[a-z]就会处于:大小写均会被匹配到的状态、但是大写少个Z"
  8. 扩展正则表达式基本正则表达式

    • BRE:Basic regular expression
    • ERE:Extended regular expression
    • 扩展思想:扩展更多的表达次数而不是具体的匹配规则,这点需注意。下面第12点也谈及了此。
    "基本正则表达式:"^ & . [ ] *"扩展正则表达式在此基础上,又添加了几种规则"( ) { } ? + |
    • 传统上,扩展的正则表达式要借助egrep。但是现在不用了。

    • 新办法:grep -E

      "传统" egrep xxx"正解" grep -E xxx
  9. 扩展正则表达式详解

    "多选扩展"grep -E "*.jpg | *.png"grep -E "(*.jpg | *.png).taz"#多选与其它的组合使用需用小括号( ) 把它括起来"?:匹配前面的模式,0次或1次""\([0-9][0-9]\) ? [0-9][0-9]"#匹配两位数或者四位数
  10. 次数匹配

    {3} #匹配3次{0,3} #匹配0-3次{,3} #最多三次{2,} #最少两次
  11. ==+==匹配1次或者多次

  12. 重磅操作

    .*".*中 . 表示的是任意字符,* 表示的是0次到任意多次"#所以他两其实是表达的含义不同罢了,本质上表达的意思也不是同一个东西的嘛!"所以我们会经常的看到如下表达形式".*1[0-9]{10}.*
  13. 结语:正则表达式充满了奥妙。


十五。修改Mysql密码

  1. 前提:系统管理员权限拥有者或者mysql数据库软件的安装者。

  2. 思路:

    • 在MySQL配置文件my.cnf中授权跳过密码验证环节
    • 直接进入数据库
    • 找到管理用户文件,并修改密码,
    • 恢复配置文件
  3. 说明:实际上有两种方法,这里只展示一种方法;具体自行百度或者查看mysql手册。

  4. 步骤( 版本不同会有些许差别 ):

    1. 找到服务器上的mysql配置文件==/etc/my.cnf==

    image-20220322145107161

    1. 插入一段代码:表示跳过授权检查。
    skip-grant-tables

十六。找回root密码

  1. 本地虚拟机版本(不同版本可能有所不同):
    • 重启系统
    • 在开机的那一瞬间疯狂点击e键(选中第一条)
    • 然后界面上的字符----UTF-8后面输入指令,然后进去—单用户模式
    • 在单用户模式下,进行root用户密码的强制修改。
    • 最后刷新文件,使其生效,系统自动重启(需要等待较长时间)
  2. 阿里云平台
    • 阿里云控制台—云服务器ESC/实例—选择相应的主机—重置实例密码
    • image-20220316112014727

十七。日志

  1. 简介

    • 我们需要检查系统日志,获知系统运行状态。

    • 系统日志文件存放的位置:/var/log。( 首要记住存放日志的目录 )

  2. 该目录下的文件

    image-20220321150510747

  3. 系统常用日志( 标红的重点掌握 )

    image-20220321151342572

    • /var/log/secure文件:存放着一些与登录安全相关的信息,主要为—>比如有人想要登录我们的Linux操作系统,结果失败了等,都会在这里留下痕迹。

      image-20220321173616721

  4. 日志管理 服务

    • CentOS7.0——rsyslogd;centos6.0——syslogd

    • 单词理解:Redhat System Log Daemon 红帽系统日志守护进程

    • 用途指明:用来管理Linux系统上的所有日志,比如生成等,全靠它来管理。

    • 重要的rsyslogd配置文件:/etc/rsyslog.conf

      通过修改此配置文件,我们也可以自定义系统内存储的日志系统。

  5. 存在日志轮替 :每隔一段时间自动删除老旧日志文件。

  6. 底层基于crontab定时轮换任务

  7. 内存日志journalctl

    基于内存,重启即消失。——Tomcat、mysql等的日志文件可能会“隐藏”于此。

    image-20220321194824076

    journalctl -n 10journalctl -p errjournalctl | grep errorjournalctl -o verbose

附录。名词解释

  1. ifconifg:network interfaces configuring

  2. tty:teletype 电报交换机

  3. su :Switch User

  4. sudo:super user do

  5. GUI:Graphical User Interface

  6. CLI:Command Line Interface 命令行界面( cli原来是这个意思,Redis里面启动命令就是此! )

  7. bash:Bourne Again Shell

  8. sbin:带s开头的目录范式,system binary

  9. wildcard:通配符

  10. PS1:prompt string 1( 提示字符1

  11. fstab:( file system table )文件系统表,/etc/fatab存储了该系统存储设备的挂载情况

  12. ext4:( Fourth Extended File System )第四代扩展文件系统

  13. synopsis:“ 简要、概述 ”

来源地址:https://blog.csdn.net/pipidog008/article/details/128005729

--结束END--

本文标题: Linux笔记

本文链接: https://lsjlt.com/news/376560.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Linux笔记
    一。基础思想 一切皆文件。 两条权限原则: 权限分组原则权限最小原则 su是切换用户,而sudo则是用root权限执行某操作( 普通用户+sudo=安全) Linux目录 系统只存在一颗文件树、从==/==开始,所有的文件都...
    99+
    2023-08-20
    linux 服务器 运维
  • linux笔记13
    主从DNS同步当单一DNS无法满足客户需求是开启一个同步的次级DNS,他们dns的内容一致。主机: vim /etc/named.rfc1912.zones zone "asd.com" IN {...
    99+
    2024-04-02
  • linux入门笔记
    学习linux也不是那么难,首先你就必须掌握这些入门知识,这样才能让你从新手变老手,下面就从几个方面来教你学linux。【1】Linux介绍【2】vi编辑器(1)三种模式:(2)vi命令【1】Linux介绍(1)四个重要的人物肯.汤姆森 B...
    99+
    2023-06-05
  • Linux 学习笔记 二
    压缩解压缩压缩格式:gz bz2 xz zip z 压缩算法,算法不同,压缩比也不同compress: filename.Zuncompress: 不能压缩文件夹,会将文件夹内的文件单个...
    99+
    2024-04-02
  • Linux自学笔记——LNMP
           传统上基于进程或线程模型架构的web服务通过每进程或每线程处理并发请求,这势必会在网络和I/O操作时产生阻塞,其另一个必然结果则是对内存或CPU的利用率...
    99+
    2024-04-02
  • Linux入门笔记3
    一、管理权限和归属1.权限概述文档归属所有者(u):拥有此文件/目录的用户-user所属组(g):拥有此文件/目录的组-group其他用户(o):除所有者、所属组以外的用户-other访问权限读取(r):允许查看内容-read写入(w):允...
    99+
    2023-01-31
    入门 笔记 Linux
  • Linux学习笔记 Day 2~3
    继续整理周末课程的Linux学习笔记。 vim编辑器 最受欢迎的是emacs,vim是vi的增强版本,特点是编辑内容时有颜色变化。命令:vim /etc/passwd 三种模式: 1. 普通模式-->可视模式 2....
    99+
    2023-01-31
    学习笔记 Linux Day
  • 2018-3-14 Linux学习笔记
    Nginx访问日志的格式是在主配置文件中定义的. vim /usr/local/nginx/conf/nginx.conf //搜索log_format 日志字段含义:$remote_addr 客户端IP(公网IP...
    99+
    2023-01-31
    学习笔记 Linux
  • 2018-3-15 Linux学习笔记
    编辑虚拟主机配置文件vim /usr/local/nginx/conf/vhost/test.com.conf 配置如下:location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|...
    99+
    2023-01-31
    学习笔记 Linux
  • 2018-3-29 Linux学习笔记
    Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 java程序写的网站用tomcat+jdk来运行...
    99+
    2023-01-31
    学习笔记 Linux
  • linux系统命令笔记整理
    本文讲述了linux系统命令。分享给大家供大家参考,具体如下: 一、linux系统目录 /bin         系统命令目录 /d...
    99+
    2022-06-03
    linux 系统命令
  • linux shell编程学习笔记(3)
    1、什么是变量保存变化的数据——变量名:名称固定,由系统预设或用户自定义——变量值:根据用户设置、系统环境变化而变化2、如何定义变量——变量名=变量的值2.1变量名的规则(1)数字、字母、下划线(2)字母区分大小写(3)当变量名相同时,后赋...
    99+
    2023-01-31
    学习笔记 linux shell
  • mysql笔记-
    用单表接近一千万数据(四列:int,两个varchar,日期时间)测,发现几个效率几乎一致 count(0)=count(1)=count(数字)=count(*)>count(primary key)>count(column...
    99+
    2021-01-21
    mysql笔记-
  • redis笔记-
    前言 为了避免单点故障,我们需要将数据复制多份部署在多台不同的服务器上,即使有一台服务器出现故障其他服务器依然可以继续提供服务 作用: 数据备份 扩展读性能(读写分离) 复制方式: 全量复制 部分复制   实现方式   1、一主二...
    99+
    2021-09-21
    redis笔记-
  • Redis 笔记
    Redis常用管理命令 # dbsize 返回当前数据库 key 的数量。 # info 返回当前 redis 服务器状态和一些统计信息。 # monitor 实时监听并返回redis服务器接收到的所有请求信息。 # shutd...
    99+
    2020-04-14
    Redis 笔记
  • redis笔记
    //redis类型介绍 //获取数据 $lotterylRedis = Redis::getInstance()->redisGet($key); //有效期时间 $key = "Kaijang:lottery:frequency:sim...
    99+
    2022-02-07
    redis笔记
  • MySQL笔记
    目录著名数据库(了解)概念组成(了解即可)注意点DDL操作操作数据库数据类型(列类型)操作表DML(Data Manipulation Language)DCL(Data Control Language)DQL(Data Que...
    99+
    2019-03-29
    MySQL笔记
  • PostgreSQL笔记
    一.PostgreSQL简介 PostgreSQL数据库一种关系型数据库。是当前世界上最先进的开源关系型数据库。 PostgreSQL使用的是一种客户端/服务器的模式。一次PostgreSQL会话由以下相关进程组成: 1.post...
    99+
    2021-03-05
    PostgreSQL笔记
  • sysbench0.5笔记
    安装方法:下载地址:https://github.com/akopytov/sysbench yum install automake libtool -yunzip sysbench-0.5.z...
    99+
    2024-04-02
  • memcached笔记
        趁周末宅在家有时间,对memcached做个备忘笔记吧,总结一下,也给大家提供一个参考。有误解的地方,也请大家给我指正。1、Memcached:一套利用系统内存进行数据缓存的软件...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作