Linu系统(笔记版)

这篇博客是关于Linux系统的学习笔记,涵盖了文件属性、Linux命令、用户与组管理等内容。讲解了如何查看内核版本、理解文件权限、使用常用命令如关机、重启、编辑文件等,以及如何创建和管理用户。

学习目标:考试不挂科

学习内容:Linux系统(笔记版)


  • Linux内核的版本号:
    使用uname -r 查看Linux系统的内核版本号
    3.10.0-862.el7.x86_64
    3是主版本号
    10是次版本号
    0-862是修订版本号,修改次数
    el7是RHEL7系列
    x86_64表示这是64位的系统

  • / liunx文件的最上层根目录

  • /boot 开机所需文件—内核、开机菜单以及所需配置文件等

  • /dev 以文件形式存放任何设备与接口

  • /etc 配置文件

  • /home 用户家目录

  • /bin Binary的缩写,存放用户的可运行程序,如ls、cp等,也包含其他shell,如bash和cs等

  • /lib 开机时用到的函数库,以及/bin与/sbin下面的命令要调用的函数

  • /sbin 开机过程中需要的命令

  • /media 用于挂载设备文件的目录

  • /opt 放置第三方的软件

  • /root系统管理员的家目录

  • /srv 一些网络服务的数据文件目录

  • /tmp 任何人均可使用的“共享”临时目录

  • /proc虚拟文件系统,如系统|有糠可查看原罔呈、外部设备及网络状态等

  • /usr/local 用户自行安装的软件

  • /usr/sbin Linux系统开机时不会使用到的软件/命令/脚本

  • /usr/share 帮助与说明文件,也可放置共享文件

  • /var 主要存放经常变化的文件,如日志

  • /lost+found 当文件系统发生错误时,将一些丢失的文件片段存放在这里

1.文件属性

d 表示目录文件夹
-表示文件
/ 表示链接
b、c:分别表示该文件为区块设备或其他的外围设备,是特殊类型的文件。
s、p:这些文件关系到系统的数据结构和管道,通常很少见到。

在这里插入图片描述
文件类型后一共有9杠,对应的时123456789位,三位一个权限,有则用数字表示没有则是0,下面可知,所以上面图片的权限是755

4 读 (r)、 2 写( w) 、 1 执行(x)

(1)user (2)group (3)others对应u(属主), g(属组), o(其它)来代-表三种身份的权限! a 则代表 all 亦即全部权限!

修改权限

给所有加写的权限(要减掉就变成减号):
1.用字母
chmod a+w 文件名(注意路径)
2.用数字
chmod 444 文件名(这是都有读的权限)


2. Linux命令


关机:

init 0 关机
halt 立即关机
poweoff 立即关机
shutdown -h now 立即关机
shutdown -h 10 十分钟后关机

重启:

init 6 重启
reboot 立即重启
shutdown -r now 立刻重启
shutdown -r 10 十分钟后重启
shutdown -r 20:35 20:35时候重启
通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启和关机


pwd 查看当前路径
pwd -p 链接路径显示完整路径
init 5 进入图形界面
init 3 进入字符界面
exit 在Linux中关闭
logout 在Windows中注销(关闭)
; 与下一条命令分开(两条命令连在一起的就不会报错了)
clear 刷新屏幕(只是相当于输入命令行在最上面而已,显示页向后翻了一页)
reset 真的清空屏幕,速度比较慢(在光标不见的时候用)
Ctrl+l 快捷键清空屏幕,跟clear一样
ifconfig Linux的查看IP的命令
ipconfig Windows的查看IP的命令
su 切换root
sudo password root 重置root密码


文件:

ls 列出目录
ls -a 列出所有包括隐藏文件
ls -l 显示文件的权限(也可以使用两ll)
cd / 切换到根目录
cd ~ 回到家(主)目录(home目录)
cd … 当前上一层
cd - 上一次的目录
touch 创建一个空文件夹
mkdir -m 权限 文件名 创建时给权限
mkdir -p 文件名/文件名/文件名 直接创建多层的
rmdir 文件名 删除空的目录
rmdir -p 文件名/文件名/文件名 删除所写到的所有的空目录
rm 文件名 删除文件(不可以删除目录)
rm -f 文件名 删除文件(不可以删除目录)
rm -i 文件名 询问删除文件(不可以删除目录)
rm -r 文件名 提示后,递回删除文件(可以删除目录)
rm -rf 文件名 强制删除


移动、复制、查看:

cp 要复制的文件 /复制到哪的路径/更名的名字 复制文件后改名字
cp -i 要复制的文件 /复制到哪的路径/更名的名字 若目标存在,会询问是否覆盖
-p 连同文件的属性一起复制过去
-r 递归持续复制,用于目录的复制行为(复制不了就加r)


mv 要移动的文件名 移动到的目录位置 将一个文件移动到另一个目录中,路径一定要对(不然就可能跑到根目录下了,用绝对路径安全一点),当它存在时在路径后加新名字一样可以移过去
-f 强制不询问,直接覆盖
-i 询问
mv 需要更改的目录名 你想更改后的目录名 将目录改名字(文件名也可以改)


cat 文件名 显示全部内容,从第一行开始正序
cat -n 文件名 显示序号,从第一行开始正序
cat >文件名 创建一个,并编辑后使用CTRL+d保存,会在当前路径存在或指定路径
cat /tmp/a1.txt>/tmp/a2.txt 将a1文件内容覆盖至a2中
cat /tmp/a1.txt>>/tmp/a2.txt 将a1文件内容追加到a2中

tac 文件名 显示全部内容,整个文件倒序显示
nl 文件名 显示全部内容,每行显示序号,从第一行开始正序
head 文件名 显示文件前几行
head -5 文件名 显示前几行但只显示5行,是head -n 5 文件名 的简写,想显示几行就改数字5那里
tail -5 文件名 显示后面的5行,跟head一个用法,它是倒序而已


文件权限

chmod 权限数字 文件名 修改文件夹的权限(使用数字对应的421)
chmod a+r 文件名 所有都加上读的权限(a代表三个(u,g,o))
chmod a-r 文件名 所有都减去读的权限
chmod -r 文件名
chmod u=r 文件名 整个u三杠只有一个r(r- -),对应的是u,g,o这三个权限主
chmod -R u+x 文件名 对这个文件及其所有的子文件添加权限
chmod =r 文件名 所权限等于4(相当于数字444)
chmod a-wx,a+r 文件名 所有权限减去读和执行,然后所以权限加上读


文件编辑

  • 不进入vim:
    grep ^H 文件名 查找以H开头的行数
使用vim编辑

请添加图片描述
使用a、i、o切换到输入模式:
a 光标后面一位
i 当前光标
o 在下面创建新的一行
vim 文件名 打开需要编辑的文件
vi 文件名 打开需要编辑的文件
dd 删除(剪切)光标所在行
5dd 删除(剪切)光标所在5行
yy 复制光标所在行
5yy 复制光标所在5行


: w 保存
:q 退出 Q后面要加空格
: q! 强制退出
: wq! 强制保存退出
: set nu 显示行号
: set nonu 取消行号
: 数字 跳转到该行
: 命令 执行命令
: s/one/two 将当前光标所在行的第一个one换成two
: s/one/two/g 将当前光标所在行的所有one换成two
: %s/one/two/g 将全文所有的one换成two
? 字符串 文中从下至上搜索该字符串
/ 字符串 文中从上至下搜索该字符串


连接Windows

安装一个能提供Linux和Windows连接的小软件,只要能用就行,现在使用的是:setupssh-9.0p1-1.exe
安装好后,命令都一样的,Windows中cmd中输入ssh正常就可以开始连接了
虚拟机:(如果使用虚拟机的话,需要注意的)

  • 网卡一定要打开不能禁用状态
  • 虚拟机要连网

步骤

  1. ifconfig 在Linux中查看ip
  2. 在Windows中cmd输入ssh
  3. ssh -l root Linux的IP地址 在Windows中cmd输入
  4. 确认yes/no
  5. Linux的密码
  6. 连接成功是#状态

国庆10月5号


用户与组管理

  • Linux是多用户多任务的操作系统,普通用户只能访问到它们拥有的权限。
  • root的UID从1——999,普通用户默认是从1000开始顺序编号
  • 用户标识(UID,唯一表示用户的标识),组群标识(GID,所属的私有组号,对应group文件的GID),shell是一个解释器默认为/bin/bash(如果是/sbin/nologin,没有登陆权限)

/etc/passwd

  • 创建用户及其相关信息(密码除外)配置文件,所有用户都有读取权限
  • 格式:
    用户名:加密口令:UID:GID: 用户的描述信息:主目录:命令解释器(登录shell, 共分为7个域)
    例:
    Qdd:x:1000:1000:Qdd:/home/Qdd:/bin/bash(可以留空但是要用:占位置,没有设置密码用x显示)

/etc/shadow

  • 存放用户的加密口令,只有root才可读写
  • 格式:
    用户名:加密后的用户口令:最近一次修改的天数:最短口令存活期: 最长口令存活期:口令过期前几天提醒更改:口令过期后几天账号被禁用:口令被禁用具体日期:保留域,用于扩展
    在这里插入图片描述

etc/login.defs

  • 建立用户时,根据/etc/login.defs文件的配置设置用户账户的某些选项
    在这里插入图片描述

/etc/group

  • 所有用户的组信息
  • getent group 用户名 查看某个用户的,不用自己找
    Linux: x :0:Linux
    在/etc/group 中的每条记录分四个字段:
    用户组名称 :用户组密码:GID :用户列表,每个用户之间用,号分割;本字段可以为空

创建用户

useradd 用户名 新建用户
在这里插入图片描述
例:
新建用户user1,UID为1010,用户的主目录为/home/user1
useradd -u 1010 -d /home/user1 -s /bin/bash -f -1 user1 (-f 后面-1永不过期)


修改用户口令(密码)

  • 无效密码,可以再输入一次也可以用
  • 正确命名格式:大小写字母、数字、特殊符号8位
  • 普通用户只能修改自己的密码,直接passwd回车即可

passwd 用户名 root模式下修改其他用户的口令
passwd -S 用户名 查看用户的密码信息
passwd -d 用户名 清空用户密码
在这里插入图片描述


修改用户属性

  • 其属性信息在/etc/passwd里面看
  • id 用户名 可以显示出那个用户的属性(可以用UID用户唯一标识代替)

usermod -G root 用户名 加入到root用户组中,也就是扩展组
-d 修改主目录
-s 修改shell
在这里插入图片描述

<think> 首先,用户的问题是:“我想查找在Linux系统中查看系统日志的方法 请问Linux系统查看系统日志的方法”。我需要基于提供的引用内容来回答这个问题。 引用内容是关于Linux系统日志的查看方法: - 引用[1]:描述了常见日志文件的位置和查看方法,如/var/log/messages, /var/log/syslog, /var/log/auth.log, /var/log/dmesg, /var/log/kern.log等。还提到了dmesg命令和journalctl命令。 - 引用[2]:提到了syslog守护进程和日志文件位置在/var/log目录下。 - 引用[3]:讨论了日志管理工具如logrotate。 - 引用[4]:提到Tomcat日志和多屏查看工具multitail。 - 引用[5]:介绍了tail命令的使用。 用户的查询是专门关于查看系统日志的方法,所以我应该聚焦在系统日志上,而不是特定应用如Tomcat。 系统级指令要求: 1. 行内数学表达式用$...$格式(但这里没有数学表达式,所以无需担心)。 2. 独立公式用$$...$$格式(同样,没有公式)。 3. LaTeX语法正确(在文本中不需要LaTeX)。 4. 使用中文回答。 5. 生成相关问题。 6. 在回答中引用的段落末尾自然地添加引用标识,如[^1]。 示例结构:包括一个主题部分,然后代码块(如果适用),最后相关问题。 我的回答结构: - 开头介绍Linux系统日志的重要性。 - 详细描述查看方法,基于引用内容。 - 使用代码块展示命令示例。 - 添加引用标识。 - 最后生成相关问题。 关键查看方法从引用中提取: - 日志文件位置:/var/log目录。 - 常见日志文件: - /var/log/syslog 或 /var/log/messages(取决于发行)。 - /var/log/auth.log(认证日志)。 - /var/log/dmesg(内核消息)。 - /var/log/kern.log(内核日志)。 - 命令: - less命令查看日志文件:如`less /var/log/syslog`。 - dmesg命令:显示内核缓冲区消息。 - journalctl命令:用于systemd系统,如`journalctl`查看所有日志, `journalctl -f`实时跟踪。 - tail命令:如`tail -f /var/log/syslog`实时查看日志尾部。 在回答中,我需要自然地添加引用标识。例如,当提到某个点时,在相关句子末尾添加[^1]。 生成相关问题:类似于示例,生成2-3个相关问题。 最终回答结构: 1. 简要介绍Linux系统日志。 2. 列出主要查看方法。 3. 代码块展示命令。 4. 添加引用。 5. 结尾生成相关问题。 确保语言是中文。 </think> ### Linux系统查看系统日志的方法 在Linux系统中,查看系统日志是诊断问题和监控系统行为的重要手段。系统日志文件通常存储在`/var/log`目录下,它们记录操作系统内核、服务和应用的关键事件,如启动、错误、用户登录等[^1]。Linux提供了多种工具和方法来查看这些日志,包括命令行工具和一些实用程序。以下是基于常见Linux发行(如Debian、Ubuntu、CentOS等)的主要查看方法,确保您能高效地访问所需信息。 #### 1. **直接查看日志文件** Linux系统日志文件主要位于`/var/log`目录中。您可以使用文本查看命令如`less`、`cat`或`tail`来打开这些文件: - **通用系统日志**:这些文件存储系统启动、运行和错误信息。发行差异: - Debian/Ubuntu系统:日志通常在`/var/log/syslog`。 - RedHat/CentOS系统:日志通常在`/var/log/messages`。 示例命令: ```bash less /var/log/syslog # 或 less /var/log/messages,用于分页查看整个日志文件 ``` - **认证日志**:记录用户登录和权限变更,如sudo命令使用: ```bash less /var/log/auth.log # 查看认证相关信息 ``` - **内核消息日志**:包含硬件驱动和内核事件: - `/var/log/dmesg`:存储启动时的内核消息。 ```bash less /var/log/dmesg # 查看静态内核日志文件 ``` - `/var/log/kern.log`:用于诊断硬件问题。 ```bash less /var/log/kern.log # 查看详细的内核日志 ``` 这些文件是日志信息的持久存储来源,适合离线分析[^1][^2]。 #### 2. **使用命令行工具实时查看日志** 除了静态文件查看,Linux提供了动态工具来实时监控日志: - **`tail`命令**:适合查看日志尾部,并实时跟踪新内容。常用选项: - `tail -f /var/log/syslog`:实时显示文件新增内容(使用`-f`选项)。 - `tail -n 50 /var/log/auth.log`:显示文件的后50行内容。 示例: ```bash tail -f /var/log/syslog # 实时跟踪系统日志变化 ``` 这在调试运行时问题(如服务崩溃)时非常有用[^5]。 - **`dmesg`命令**:直接显示内核缓冲区的消息,无需文件路径,适合查看启动过程或硬件事件: ```bash dmesg | less # 分页查看内核消息 dmesg -T # 添加时间戳显示 ``` 这个方法适用于快速诊断硬件故障[^1]。 - **`journalctl`命令**:对于使用systemd初始化系统的现代Linux发行(如Ubuntu 16.04+或CentOS 7+),此命令提供统一日志管理: - `journalctl`:查看所有系统日志(包括内核和应用)。 - `journalctl -f`:实时跟踪新日志。 - `journalctl -u nginx.service`:查看特定服务的日志。 示例: ```bash journalctl -f # 实时监控所有日志 ``` `journalctl`支持过滤和搜索,是systemd系统的推荐工具[^1][^2]。 #### 3. **高级技巧和工具** - **日志轮转管理**:日志文件会自动轮转以节省空间。使用`logrotate`工具配置轮转规则(如压缩旧日志): ```bash less /etc/logrotate.conf # 查看配置文件 ``` 这有助于避免日志文件过大影响性能[^3]。 - **多日志同时查看**:安装工具如`multitail`,可同时监控多个日志文件: ```bash multitail /var/log/syslog /var/log/auth.log # 分屏显示多个日志 ``` 这对于关联不同事件很方便[^4]。 #### 注意事项 - **权限要求**:查看系统日志通常需要root权限(使用`sudo`)。 - **日志位置**:如果找不到特定文件,检查发行文档,因为路径可能因系统配置而异。 - **应用日志**:许多应用(如Nginx或Apache)在`/var/log`子目录中有专属日志(如`/var/log/nginx/access.log`),查看方法类似[^4]。 通过以上方法,您可以轻松访问和分析Linux系统日志。例如,如果您遇到系统启动失败,首先查看`dmesg`或`/var/log/boot.log`;如果是权限问题,检查`auth.log`[^1][^2]。日志管理是系统运维的核心技能之一,能帮助您快速定位问题[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值