linux学习笔记

第一天

shutdown

​ shutdown -h now : 立即关机
​ shutdown -h 1 :一分钟后关机
​ shutdown -r now : 立即重启

halt

​ 直接关机

reboot

​ 重启

sync

​ 保存数据(保存数据到内存中)

logout

​ 注销用户。(图形界面下的终端中logout是无效的)

useradd

​ useradd 用户名

​ useradd -d 文件目录(用户的home目录) 用户名

​ useradd -g 用户组 用户名

passwd

​ passwd 用户名:设置指定用户密码

userdel(工作中,删除用户时,保存home目录,因为每个用户都有自己的操作痕迹)

​ userdel 用户名:删除用户,保留home目录
​ userdel -r 用户名:删除用户,不保留home目录

第二天

id

​ id 用户名(获取用户的uid,gid【组id】,组号的相关信息)

su

​ su - 用户名:切换用户,当从高级别用户切换到低级别用户时,不需要密码,反之则需要。(exit 可以回退到原来用户)

whoami

​ 查询当前用户

1、用户组相关知识
group

​ groupadd 组名:添加一个用户组

​ groupdel 组名:删除一个用户组

useradd

​ useradd -g 用户组 用户名

usermod

​ usermod -g 用户组 用户名:修改用户所属的用户组

​ usermod -d 目录名 用户名:修改用户启动的初始目录

用户和组的相关文件

​ /etc/passwd :用户配置文件,记录用户的各种信息。(每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell

​ /etc/shadow :口令配置文件。(每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

​ /etc/group :组配置文件,记录Linux包含的组的信息。(每行的含义:组名:口令:组标识号:组内用户列表

2、实用指令篇
1)、运行级别:(系统运行级别的配置文件 /etc/inittab)

​ 0:关机;

​ 1:单用户(找回丢失密码);

​ 2:多用户无网络服务;

​ 3:多用户有网络;(常用级别)

​ 4:保留(未分配的)

​ 5:图形界面;

​ 6:重启;

  • 切换到执行运行级别的指令:init 【012356】

面试题:1、如何找到 root 密码?2、修改默认运行级别

​ 答:1、进入到单用户模式,然后修改root密码即可。

​ 答:2、在/etc/inittab文件中,将id:5:initdefault:这一行中的数字,5这个数字改成对应的运行级别即可。

2)、帮助指令:当我们对某个指令不熟悉时,我们可以使用linux提供的帮助指令来了解这个指令的使用方法

​ man 【命令或者配置文件】(功能描述,获得帮助信息)

​ help 【命令】(功能描述,获得shell内置命令的帮助信息)

3)、文件目录类:
  • pwd:显示当前工作目录的绝对路径
  • ls 【选项】【目录或是文件】
    • 选项
      • -l :以列表的方式显示信息
      • -a : 显示当前目录所有文件和目录,包含隐藏的
  • cd 【参数】【指定目录–(绝对路径/相对路径)】(切换到指定目录)
    • 参数
      • cd ~ :回到自己的home目录
      • cd . .:回到上级目录
  • mkdir 【选项】【目录结构】(用于创建目录)
    • 选项:
      • -p:一次性创建多级目录
  • rmdir 【目录结构】(删除空目录)
    • 提示:rm -rf 【目录结构】 :删除非空目录。
  • touch 【文件名】(创建一个空文件)
    • touch 【文件名1】【文件名2】.。。。:创建多个空文件。
  • cp 【选项】【源文件及其目录】【目标文件及其目录】(复制文件或者目录)
    • 选项:
      • -r:递归复制整个文件夹
    • 提示1:这里的文件目录结构也是可以是绝对路径或者相对路径
    • 提示2:\cp 【选项】【源文件及其目录】【目标文件及其目录】:强制覆盖
  • rm 【选项】【文件或者目录】(删除文件或目录)
    • 选项:
      • -r:递归删除整个文件夹
      • -f:强制删除不提示
  • mv 【源文件名】【目的文件名】(移动文件和文件夹或者重命名)
    • 提示:当源文件名和目的文件名属于同一个目录,则是重命名;反之则是移动,并且保留原文件名。
  • cat【选项】【文件名】(以只读的方式打开文件)
    • 选项:
      • -n:显示行号。
    • 提示:cat 【文件名】| more(分页的形式显示文件内容)
  • more (是一个基于vi编辑器的文本过滤器,它以全屏的方式按页显示文本文件的内容)
    • 快捷键:
      • spcae:向下翻页
      • enter:向下滚动一行
      • q:离开,即退出
      • Crtl+F:向下滚动一屏
      • Crtl+B:向上滚动一屏
      • =:输出当前行的行号
      • f:输出文件名和当前行的行号
  • less (根据显示需要加载内容,对于显示文件具有较高的效率。功能和more大概类似。)
  • ‘>’ 和 ‘>>’(前者是输出重定向,即覆盖;后者是追加,即在原内容尾部继续拼接)
    • ls -l > a.txt
    • ls -l >> b.txt
    • cat 文件1.txt > 文件2.txt :将文件1的内容写到文件2中,并覆盖2的原内容
    • cat 文件1.txt >> 文件2.txt :将文件1的内容写到文件2的末尾部分。
    • echo ‘内容’ > a.txt
    • echo ‘内容’ >> a.txt
  • echo【选项】【输出内容】(输出指定内容)
    • 常用形式:
      • echo $PATH:输出环境变量
      • echo ‘hello’:输出 hello 字符串
  • head【选项】【参数(整数)】【文件】(显示文件的前多少行)
    • head 【文件名】:显示文件前10行
    • 选项:
      • head -n 5 【文件名】:显示文件前5行
  • tail【选项】【参数】【文件】(与head相反)
      • head 【文件名】:显示文件前10行
      • 选项:
        • head -n 5 【文件名】:显示文件前5行
    • 注意:tail -f 【文件】:实时追踪该文档的所有更新,工作中经常使用。
  • ln
    • ln -s 【源文件或者目录】【目标链接】:给源文件或者目录创建软连接(类似于windows中的快捷方式
    • rm 【符号链接】:删除软链接
    • 注意:进入软链接时,pwd的结果是软链接的目录。
  • history
    • 功能:查看已经执行过的历史命令;执行历史命令
    • 常用形式:
      • history:查看执行过的历史命令。
      • history 【n】:查看最后执行的n条命令,包括history n。
      • !n :执行编号为n的命令。
4)、时间日期类
  • date
    • 功能:显示当前日期。
    • 基本语法
      • date:显示当前时间
      • date “+%Y-%m-%d %H:%M:%S”:以yy-mm-dd H:M:S的格式显示时间。(格式可以自己定义)
      • date -s 【字符串时间】:设置系统时间。
  • cal
    • 功能:显示当前日历
    • 基本语法:
      • cal:显示当前日历
      • cal 年份:显示某一年的日历
5)、搜索查找类

注:(此块涉及的目录必须存在)

  • find

    • 功能:从指定目录向下递归遍历其各个子目录,将满足条件的文件或者目录显示在终端。
    • 基本语法:find【搜索范围】【选项】
      • find【搜索范围】-name 文件名:查找指定文件名的文件。
      • find【搜索范围】-user 文件名:查找指定用户下的指定文件。
      • find【搜索范围】-size 20m(+:代表大于;-:代表小于;默认是等于):按照大小来进行查找
  • loacate

    • 功能:快速定位文件路径。
    • 原理:locate利用事先建立的系统中所有文件名称及路径的locate数据库实现快速查找。
    • 基本语法:
      • 注意:使用前要先更新locate数据库。命令是:updatedb
      • locate 文件名
  • grep和管道符号(’|‘)

    • 功能:过滤查找
    • 管道 | 的功能:表示将前一个命令的处理结果输出传递给后面的命令处理。
    • 基本语法:grep【选项】【】查找内容 源文件
      • grep -n 查找内容 源文件:显示在源文件中所查找内容的行号及内容。
      • grep -i 查找内容 源文件:忽略大小写的查找所查内容。
    • 例子:
      • cat hello.txt | grep -ni yes

6)、压缩和解压类

  • gzip和gunzip
    • 功能描述:
      • gzip 文件名:压缩文件,产生文件名为“原文件名.gz”的文件,并且不保留源文件。
      • gunzip 文件名:解压文件,也不保留压缩文件。
  • zip和unzip
    • 功能描述:zip 压缩文件;unzip 解压文件
    • 基本语法:
      • zip -r 压缩文件名 源文件名:压缩整个目录为一个压缩文件。
      • unzip -d 解压目录 源文件名:将源文件解压到指定目录。
  • tar
    • 功能描述:解压和压缩。俗称打包。
    • 基本语法:tar【选项】【打包后的文件名】【源文件1】【源文件2】
    • 选项:
      • -c:建立一个打包文件
      • -v:压缩的过程中显示文件
      • -f:使用文件名。f 后面必须立即接文件名。
      • -z:打包时同时用gzip压缩,生成.tar.gz文件
      • -x:解开一个打包文件
    • 例子
      • 压缩:tar -zcvf
      • 解压:
        • tar -zxvf【源文件】:解压到当前文件夹
        • tar -zxvf【源文件】 -C【目标目录】:解压到目标目录

第三天

3、组管理和权限管理
3.1 组管理

1)、查看文件或目录的所有者

  • 指令:ls -ahl
  • 解释:a:all;h:human;l:长形式

2)、仅改变文件或者目录的所有者

  • 指令:chown 用户名 文件名或者目录
    • 例子1:chown -R 用户名 目录名
      • 作用:将目录下的所有文件和目录修改所有者。

3)、仅改变文件胡总和目录的所在组

  • 指令:chgrp 组名 文件名
    • 例子1:chgrp -R 用户名 目录名
      • 作用:将目录下的所有文件和目录修改所在组。
3.2 权限管理(文件和目录)
文件类型
-普通文件
d目录
l软链接
c字符设备【键盘、鼠标】
b快文件、磁盘

1)、一个文件或者目录的权限分为三部分:

​ 文件所有者的权限、文件所在组的用户的权限、其他组的用户的的权限。

2)、rwx作用到文件

r:代表读;可以读取查看

w:代表写;可以修改,但不代表可以删除。删除一个文件的前提条件是对该文件所在的目录有写权限。

x:代表可执行;可以被执行。

3)、rwx作用到目录

r:代表读;可以读取,ls查看目录内容。

w:代表写;可以修改,目录内创建+删除+重命名。

x:代表可执行;可以进入该目录。

4)、改变文件的权限

  • 例子1:
    • 基本语法:=:赋予权限;+:增加权限;-:除去权限;u:所有者;g:组;o:其他用户;a:所有用户
      • chmod u=rwx,g=r,o=r 文件名
      • chmod u+x 文件名
      • chmod u-x 文件名
  • 例子2:
    • 基本语法:r=4或0,w=2或0,x=1或0;0代表无对应权限
    • chmod xxx 文件名
      • 解释:三个x分别对象
      • x=r+w+x

第四天

1、crond任务调度

1.1、概念:

​ 是指系统在某个时间执行特定的命令或程序。

1.2、任务调度分类

  • 系统工作:有些重要的工作必须周而复始地执行。如:病毒扫描等。
  • 个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据的备份

1.3、基本语法

  • crontab 【选项】

  • 常用选项:

    • -e:编辑定时任务
    • -l:查询定时任务
    • -r:删除定时任务
    • service crond restart:重启
  • 基本案例:

    • crontab -e

    • */1 * * * * ls -l /etc >> /home/test/crondab_1.txt(每一分钟执行一次命令)

    • 占位符含义范围
      第一个一小时当中的第几分钟0-59
      第二个一天当中的第几个小时0-23
      第三个一个月当中的第几天1-31
      第四个一年当中的第几个月1-12
      第五个一周当中的星期几0-7(0、7都代表周天)
    • 特殊符号含义
      *所有,每一个
      多个参数,1,3,5:1 3 5
      -连续,1-3:1 2 3
      /n每隔多少单位时间
2、磁盘分区、挂载

2.1、原理介绍

*个人见解:*与windows的磁盘分区为主,文件目录为辅,分区上放文件目录不同;linux只有一个根目录“/”,一个分区对应一个目录,即分区挂载在目录上。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jMf4GViA-1581933243421)(C:\Users\MHW\AppData\Roaming\Typora\typora-user-images\1574413045070.png)]

2.2、磁盘分区查看以及挂载情况。

lsblk 命令(帮助记忆:l(老)s(师)b(不)l(离)k(开))

2.3、挂载经典案例。

  1. 添加硬盘。
  2. 分区:fdisk /dev/sdb:n新增分区,p主分区,两次回车默认全部空间,最后w写入分区并退出。
  3. 格式化:mkfs -t ext4 /dev/sdb1
  4. 挂载:先创建一个 /home/newdisk,挂载分区mount dev/sdb1 /home/newdisk。此时只是临时挂载,重启即失效。
  5. 配置自动挂载:在 /etc/fstab 中配置号挂载信息保存后即可永久挂载。
  6. 卸载:umount /home/disk或者umount dev/sdb1.
3、磁盘查询

3.1、基本语法

  • df -lh:查询系统整体磁盘使用情况
  • du -h /目录:查询指定目录的磁盘占用情况,默认为当前目录
    • -s 指定目录占用大小汇总。
    • -h 带计量单位。
    • -a 含文件。
    • –max-depth=1 子目录深度。
    • -c 列出明细的同时,增加汇总值。

3.2、案例练习

  • 统计/home文件夹下文件的个数
    • ls -l /home | grep “^-” |wc -l
  • 统计/home文件夹下目录的个数
    • ls -l /home | grep “^d” |wc -l
  • 统计/home文件夹下文件的个数,包括子文件夹里的
    • ls -lR /home | grep “^-” |wc -l
  • 统计文件夹下目录的个数,包括子文件夹里的
    • ls -lR /home | grep “^d” |wc -l
  • 以树状显示目录结构
    • tree [目录]

第五天

1、网络配置
  • 1.1、网络自动连接
    • 设置-网络连接-设置-自动连接即可。
    • 缺点:ip可能汇编
  • 1.2、指定固定IP
    • 修改文件 /etc/sysconfig/network-scripts/ifcfg-ens32
    • 修改内容
      • ONBOOT:yes
      • BOOTPROTO:static
      • IPADDR:指定ip
      • GATEWAY:网关(和真机的虚拟网关一致)
      • DNS:和网关保持一致
    • 修改后要重启服务和机器
      • service network restart:重启服务
      • reboot:重启机器
2、进程管理(重点)

2.1、显示系统执行的进程

  • 基本命令:

    • ps -a:显示当前终端的所有进程信息
    • ps -u:以用户的的格式显示进程信息
    • ps -x:显示后台进程运行的参数
    • ps -ef:查看父进程
    • pstree
      • -p:显示进程的pid
      • -u:显示进程的所属用户
  • ps -aux 结果

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RHrBpE3t-1581933243427)(C:\Users\MHW\AppData\Roaming\Typora\typora-user-images\1575016411885.png)]

  • 每一列的含义

    • user:用户名
    • pid:进程id
    • cpu:所占cpu的大小
    • mem:占用内存
    • vsz:使用的虚拟内存
    • rss:使用的物理存储情况
    • stat:进程的状态
      • s:休眠;
      • r:运行;
      • n:进程拥有比普通优先级更低的优先级
      • d:短期等待
      • z:僵死进程
      • t:被跟踪或停止等等
    • start:启动时间
    • time:占用cpu总时间
    • command:进程执行的命令行,可以理解为指令
  • 查找一部分信息

    • 例如查找sshd服务:ps -aux | grep sshd

2.2、终止进程,即杀死进程

  • 基本命令:kill或者killall
    • kill+【选项】+进程号
      • -9:强制杀死
    • killall 进程名
      • 将归属于该进程的所有进程都杀掉
3、服务管理

3.1、概念

​ 服务本质是进程。不过它是一个后台进程。通常都会监听某个端口,等待其他程序的请求,因此我们又称为守护进程,是Linux中重要的知识点。

3.2、管理指令

  • service 服务名【start | stop | restart | reload | status】
    • 在Centos7.0后不再使用service,而是systemctl
    • service启动服务会立即生效,但不是永久的,重启后就又回到默认状。
  • telnet ip地址 端口:检测某个端口是否启用。(windows)

3.3、查看服务名

方法一:

​ setup–系统服务–通过空格来选择服务

方法二:

​ /etc/init.d/目录下包含所有的服务

3.4、chkconfig指令

  • 功能:获取各个服务的运行级别设置自启动/关闭
  • 基本语法:
    • chkconfig --list:查看所有服务
    • chkconfig 服务名 --list:查看指定服务
    • chkconfig --level 数字 服务名 on/off:指定服务在指定级别的开/关
4、动态监控进程

4.1、指令介绍

​ top与ps命令很相似。他们都用来显示正在执行的进程。top与ps最大的不同之处在于:top在执行一段时间可以更新正在运行的进程。

4.2、基本语法

  • top【选项】
  • 选项:
    • top -d:指定刷新时间间隔
    • top -i:
    • top -p:
  • 交互指令:
    • p:按照cpu占用排序
    • m:按照内存排序
    • n:按pid排序
    • q:退出
  • 应用案例:
    • top后按u,输入【用户名】监控制动用户的进程;按k,输入【pid】杀死指定进程;
5、监控网络状态

5.1、基本语法

  • netstat 【选项】
  • 选项:
    • -an:按照一定顺序排列
    • -p:显示哪个进程在调用

第六天

1、rpm包的管理

1.1、概念

​ 软件包管理工具,和windows的setup.exe类似。

1.2、简单查询指令

  • rpm -qa | grep 【软件名称】:查询当前系统是否安装某个软件。
  • rpm -qi 【软件名】:查询安装rpm包的详细信息。
  • rpm -ql 【软件包的名称】:查看该软件都安装了什么文件。
  • rpm -qf 【文件名】:查询指定软件属于哪个软件包。
  • rpm -e 【软件名】:删除软件包。
    • rpm -e --nodeps 【软件名】:强制删除
  • rpm -ivh 【软件名(包括指定目录)】:安装软件
    • i:安装
    • v:提示
    • h:进度条
2、yum包管理

1.1、基本介绍

​ Yum是一个Shell前端软件包管理。基于rpm包管理,能够从指定的服务器自动下载rpm包并且安装,可以自动处理依赖关系,并且一次性安装所有依赖的软件包。

1.2、基本命令

  • yum list | grep 软件名称:查询是否存在要安装的软件
  • yum install 软件:下载并安装。
3、Linux之JavaEE定制篇

3.1、安装jdk,并配置环境变量。

JAVA_HOME=/opt/jdk1.7.0_79
PATH=/opt/jdk1.7.0_79/bin:$PATH
export JAVA_HOME PATH
Linux学习笔记是关于学习Linux操作系统的记录和总结。在学习Linux时,你可能会遇到以下几个方面的内容。 首先,Linux是一个面向网络服务的操作系统,因此你可以随意更换桌面系统。Linux有多种不同的桌面系统供你选择。这意味着你可以根据自己的喜好和需求,选择适合自己的桌面环境。 其次,在Ubuntu中,root用户默认是被锁定的,因此你无法直接使用root权限进行操作。但是,你可以使用sudo命令来提升权限,以执行需要root权限的操作。通过sudo命令,普通用户可以在需要时暂时获得root权限,以便进行需要的操作。 此外,如果你需要修改内核为bash,可以使用vim编辑器打开/etc/passwd文件进行修改。在Linux系统中,vim是一种常用的文本编辑器,类似于Windows的记事本。通过编辑/etc/passwd文件,你可以修改用户的登录shell为bash。 总结起来,Linux学习笔记记录了学习Linux操作系统的过程和经验,包括选择适合自己的桌面环境、使用sudo提升权限以及通过vim编辑器修改/etc/passwd文件等。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Linux学习笔记](https://blog.csdn.net/m0_65379736/article/details/125700177)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值