目录

Linux 笔记

哔哩哔哩 @ 萌狼蓝天

微信公众号 @ 萌狼蓝天

博客:https://mllt.cc

学习站:https://edu.mllt.cc

[如果你想支持我,可以为我的哔哩哔哩账号(萌狼蓝天)充电]

linux基本概念

linux终端四部分

[当前登录用户@主机名 当前所在路径]用户类型

linux的实质

可执行二进制文件或shll脚本,存放在/bin目录下

linux系统操作命令

查询用户

who

查询主机上所有普通用户

  -H或--heading  显示各栏位的标题信息列。

  -i或-u或--idle  显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成"."号,如果该用户已超过24小时没有任何动作,则标示出"old"字符串。

  -m  此参数的效果和指定"am i"字符串相同。

  -q或--count  只显示登入系统的帐号名称和总人数。

who -H

跟who相比多了一行表头

whoami

查询当前登录的账户

修改密码

passwd  用户名

root用户修改普通用户的密码无需验证旧的密码

快速切换到用户目录

cd ~用户名

sshd

ssh协议远程开启其他主机shell的服务

systemctl

负责控制systemd系统和服务管理器

查看服务状态
systemctl status 服务
开启服务
systemctl start 服务
关闭服务
systemctl stop 服务

关机

取消关机 shutdown -c
将系统关机 shutdown -h
shutdown -h +5 "5分钟后关机。"
shutdown -h  1:00 "凌晨一点关机"
提示关机 shutdown -k
重启 shutdown -r
关机流程
  1. 查看在线用户和在线服务
  2. 通知用户关机/重启原因和时间安排
  3. 下达关机命令或者重启命令

shell 命令

man 常用的帮助命令

history 历史命令

history n

查询之前输入的n条命令

重执行某一条
!n
!之前执行过得命令的首字母

重执行某一条

【练习作业】

Bash

pwd

ls

查看目录下文件

ls -a

查看目录下所有文件 包括隐藏文件

ls -l

查看目录下文件详细信息

ls -ld

查目录的详细信息

ls -al(ll -a)

显示所有文件详细信息(包括隐藏文件)

ls -lr

查看目录下文件与文件权限、文件所属等信息

递归显示目录

ls -R

注意:r和R效果不一样

alias

alias 新命令名字=' 命令 '

eg:使用alias给 echo " hello linux" 取别名为 linux

alias linux=' echo "hello linux" '

linux相关配置

配置主机名称

配置文件所在: /etc/hostname

配置网卡信息

配置文件所在 /etc/sysconfig/network-scripts/ifcfg-ens33

/etc/sysconfig/network-scripts
IPADDR=192.2.25.100
GATEWAY=255.255.255.0
NETMASK=192.2.25.0
BOOTPROTO=static

原本是BOOTPROTO="dhcp",意思是动态的,自定义IP后,改成静态的

ONBOOT="yes"

设置完成后,保存退出,重启网络

systemctl restart network

实现远程联机

vim文本编辑器

命令模式

dd:删除(剪切)光标所在整行

ndd:删除(剪切)从光标开始的n行

yy:复制光标所在整行

n yy:复制从光标处开始的n行

n:显示搜索命令定位的下一个字符串

N:显示搜搜命令定位到的上一个字符串

u:撤销上一步操作

p:将之前删除(dd)或复制(yy)过来的数据粘贴到光标后面

work:查找work。从下往上搜索work这个字符串。

/ work:查找work。从上往下搜索work这个字符串。

输入模式

a:在光标所在字符后插入

i:在光标所在字符前插入

o:在光标下插入新行

A:在光标所在行尾插入

I:在光标所在行首插入

末行模式

:q:退出

:w:保存

:q!:强制退出(不保存)

:wq!:强制保存退出

:set nu:显示行号

:set nonu:隐藏行号

:行号:定位到该行

:命令:执行该命令

:整数:跳转到该行

: n1 , n2 s /word1 /word2 /gc:从n1行到n2行的字符串,将word1替换为word2。gc表示是否确认替换的询问肯定回答。

定位

gg:到第一行

G:到最后一行

nG:到n行

$:行尾

0:行首

查找

eg:例如要查找/boot

因为/有特殊含义,所以需要使用\将其转换为一个普通字符

: ? \/boot

eg:例如查找特殊单词 io

\<io\>

向上查找
:?
向下查找
:/

查找后定位到下一个字符(n),上一个字符(N

替换

:n1,n2s/word1/word2

将n1到n2行的字符串中的word1替换为word2

替换前询问是否替换

:n1,n2s/word1/word2/gc

恢复

撤销快捷键:Ctrl+r

vim崩溃恢复:

if(vim.崩溃==true){
恢复文件(.xxxx.swp){
R;
}
}

文件系统架构

文件通配符

只能匹配非隐藏文件

快速创建多个文件

touch 文件名{num1..num2}

实例:Practice

目录管理

创建目录

mkdir 文件夹名称

嵌套创建目录

mkdir -p dirA / dirB

mkdir -p dirA / dir{x,y}

复制文件cp

如果复制文件夹,需要添加参数 -r

如果存在同名文件,需要添加参数-i

删除文件rm

删除目录 -r

全部删除 -f

移动文件mv

-i 交互式操作,如果文件存在,出现覆盖情况会先询问,要求用户回答以避免误操作覆盖文件

-f 禁止交互式操作,覆盖也不会给出提示

归档管理tar  gzip

tar

-c 创建压缩文件

-x 解压

-t 查看压缩包内文件

-z 用Gzip压缩或者解压

-j 用bzip2压缩或者解压

-v 显示压缩或者解压的过程

-f 目标文件名

-p 保留原始属性与权限

-P 使用绝对路径来压缩

-C 解压到指定目录

创建压缩包 tar -zcvf fileName filePwdAndName

解压 tar -zxvf fileName

gzip

-c 把压缩后的文件输出到标准输出设备,不去更动原始文件

-d 将压缩文件解压

-数字 压缩效率是介于1-9的数值,预设值为6,指定越大的数值,压缩率越高

Linux文件安全模型

用户组

相同特征的用户集合。用户组作为用户容器,方便管理用户

文件类型 文件属主 同组用户 其他用户
d(目录文件) r(读)w(写)x(执行)
-(非目录文件)

链接数:可来到该文件的所有路径

用户名:

组名:

文件大小:

文件修改日期:

文件名:

字符设备:一个字节一个字节读写(鼠标,键盘,LED设备等)

修改所属用户和用户组chown

只能有用户本身或超级用户才能去修改文件的权限

chown [参数] 属主[:组] 文件或者目录

同时修改目录及其子目录所属用户和用户组

chown -R root:root 文件夹名称

读取4,写入2,执行1

所有者、用户组,公共

修改文件或者目录的权限 chmod
chmod g- rx,o- rx 文件夹名称

u:所属用户

g:用户组

o:公共

-:减去权限

+:增加权限

=:赋予新的权限(覆盖旧的权限)

r:4

w:2

x:1

组、用户组、存储文件

/etc/passwd

内容包括:用户名 | 用户ID | 用户主组ID | 家目录 | 用户Shell

字段意义:(书上也有)

序号 说明 备注
1 用户组名
2 组密码 没有太大作用,一般都显示“x”字符(实际密码存放在:/etc/gshadow 文件夹中)
3 GID 用户组ID,GID是用户组的唯一标识
4 组中附加用户

/ect/shadow

字段 说明 备注
用户名
加密密码
密码最后一次修改日期
两次密码修改间隔时间
密码有效期
密码修改到期前的警告天数
密码过期后的宽限天数
账号失效时间。留空则永不失效

/ect/gshadow

/ect/gshadow 是 ect/passwd的影子文件,二者互补

useradd命令

作用:添加用户。默认创建与用户同名的组

-u UID

-d 家目录

-g 用户组

-b, --base-dir BASE_DIR 指定新账户的家目录;

-c, --comment COMMENT 新账户的 GECOS 字段;

-d, --home-dir HOME_DIR 新账户的主目录;

-D, --defaults 显示或更改默认的 useradd 配置;

-e, --expiredate EXPIRE_DATE 新账户的过期日期;

-f, --inactive INACTIVE 新账户的密码不活动期;

-g, --gid GROUP 新账户主组的名称或ID;

-G, --groups GROUPS 新账户的附加组列表;

-h, --help 显示此帮助信息并推出;

-k, --skel SKEL_DIR 使用此目录作为骨架目录;

-K, --key KEY=VALUE 不使用 /etc/login.defs 中的默认值;

-l, --no-log-init 不要将此用户添加到最近登录和登录失败数据库;

-m, --create-home 创建用户的主目录;

-M, --no-create-home 不创建用户的主目录;

-N, --no-user-group 不创建同名的组;

-o, --non-unique 允许使用重复的 UID 创建用户;

-p, --password PASSWORD 加密后的新账户密码;

-r, --system 创建一个系统账户;

-R, --root CHROOT_DIR chroot 到的目录;

-s, --shell SHELL 新账户的登录 shell;

-u, --uid UID 新账户的用户 ID;

-U, --user-group 创建与用户同名的组;

-Z, --selinux-user SEUSER 为SELinux 用户映射使用指定 SEUSER。

id
id 用户名

查询用户信息

usermod

修改组

添加扩展组

usermod -G 扩展组 用户名
usermod -u {ID} -g {初始组} -G {扩展组} {用户名}
passwd

-l 锁定用户,禁止登陆

-u 解锁

-S 查看状态

echo '密码' | passwd --stdin 用户名
userdel

-r 删除和用户相关的目录例如用户家目录

groupadd

创建用户组

-r :系统用户组

让渡用户权限
1./etc/sudoers

文件类型:文本文件

打开方式:visudo

2.字段
字段 说明
1 授权给用户或者用户组。①不以%开头的表示“被授权的用户”,eg:root | ②以%开头的表示“被授权用户组”,eg:wheel
2 允许登陆的主机。
3 授权哪些用户或用户组的权限
4 执行指定指令时是否需要输入当前用户密码(不需要 则写:NOPASSWD:
5 授权给用户的命令。多个命令逗号(英文输入状态下)隔开

注意事项:

1.命令要使用绝对路径(可以通过whereis查询命令路径)

 <用户名> <权限> <切换sudo时是否需要输入密码> 添加记录

重定向和管道

一、输入输出重定向

标准输入重定向(STDIN,文件描述符为0):默认从键盘输入,也可以从其他文件或命令中输入

标准输出重定向(STDOUT,文件描述符为1):默认输出到屏幕

错误输出重定向(STDERR,文件描述符2):默认输出到屏幕

文件描述符是一个非负整数,用于指代被打开的文件,所有与文件读写相关的系统调用都是通过文件描述符调用起来的。

符号 作用 备注
命令 > 文件 标准输出重定向到一个文件中(会清空原有文件数据) 命令 1> 文件
命令 2> 文件 错误输入重定向到一个文件中(会清空原有文件数据)
命令 >> 文件 标准输出重定向到一个文件中(会追加到原有文件数据后) 命令 1>> 文件
命令 2>> 文件 错误输出重定向到一个文件中(会追加到原有文件数据后)
命令 >> 文件 2>&1
命令 &>> 文件

标准输入错误重定向到回收站:命令 2>/dev/null

输入重定向

统计文本文件行数

wc -l < stderr.txt

-l

-w

-c

二、简单过滤器命令

more
head -行数 文件名(顺序)
tail -行数 文件名(倒叙)

替换

tr 原始字符 目标字符

提取

cut 参数 文本

用“列”提取文本字符

按列搜索,要用-f 参数设置需要查看的列数,-d设置间隔符号

排序

sort -r /etc/passwd |  sort

去重

uniq 消除连续重复的行

sort 文件名 | uniq
sort 文件名 | uniq -c

三、管道命令符

序号 字段
1 远程主机IP
2 远端用户标识(已废弃)
3 远程用户名
4 请求时间
5 请求第一行(典型格式:请求方法/访问资源协议)
6 状态代码(显示客户端的请求是否成功)
7 发送字节数(服务器发送给客户端的总字节数)
8 请求来源
9 客户端浏览器识别信息

【Linux】当初的学习笔记的更多相关文章

  1. Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)

    Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)

  2. Linux进程间通信IPC学习笔记之同步二(Posix 信号量)

    Linux进程间通信IPC学习笔记之同步二(Posix 信号量)

  3. Linux进程间通信IPC学习笔记之消息队列(SVR4)

    Linux进程间通信IPC学习笔记之消息队列(SVR4)

  4. Linux进程间通信IPC学习笔记之有名管道

    基础知识: 有名管道,FIFO先进先出,它是一个单向(半双工)的数据流,不同于管道的是:是最初的Unix IPC形式,可追溯到1973年的Unix第3版.使用其应注意两点: 1)有一个与路径名关联的名 ...

  5. Linux进程间通信IPC学习笔记之管道

    基础知识: 管道是最初的Unix IPC形式,可追溯到1973年的Unix第3版.使用其应注意两点: 1)没有名字: 2)用于共同祖先间的进程通信: 3)读写操作用read和write函数 #incl ...

  6. Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]

     Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...

  7. linux基础命令学习笔记(二)

    linux基础命令学习笔记(二) 1.kill :终止进程  kill pid (唯一标示一个进程) kill -9  强制终止  kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...

  8. 兄弟连Linux运维学习笔记

    最新经典linux运维兄弟连Linux运维学习笔记... --------------- 全程1.5倍播放.加油我一定可以学完Linux----------------------Unix与Linux ...

  9. Linux shell 菜鸟学习笔记....

    20171123 Linux shell 基础学习笔记1. shell 的开始 一般是 #!/bin/bash 通过 #! 来唯一指定使用的shell路径 其他的 # 都表示注释.2. shell 的 ...

  10. Linux进程线程学习笔记:运行新程序

    Linux进程线程学习笔记:运行新程序                                         周银辉 在上一篇中我们说到,当启动一个新进程以后,新进程会复制父进程的大部份上下 ...

随机推荐

  1. vue前端开发仿钉图系列(4)右侧行政区绘制的开发详解

    行政区绘制是基于高德地图的api,需要在高德提供的代码基础上做好html代码在vue页面上的适配.核心功能就是选择省市区,可以根据需要绘制对应选中的地图图层.整理总结不易,如需全部代码,请联系我150 ...

  2. watch 监视搜索关键词的变化不断发送请求返回建议

    watch: { keywords: { // yarn add lodash 下载lodash包 // import { debounce } from "lodash"; 引入 ...

  3. 华为云-云容器引擎(CCE)-高危操作及解决方案

    业务部署或运行过程中,用户可能会触发不同层面的高危操作,导致不同程度上的业务故障.为了能够更好地帮助用户预估及避免操作风险,本文将从集群/节点维度出发,为用户展示哪些高危操作会导致怎样的后果,以及为用 ...

  4. OpenCv Mat 数据结构

    前言 OpenCv的Mat数据结构可以存储图片信息.但是以坐标系构建来说,Mat是以左上角为原点,而我们自己的日常习惯是以左下角为原点. 本文提供了这两者之间的一种转换. 假设 Mat : (x,y) ...

  5. debug指南-基础bug

    基础Bug 本章节主要阐述一些最基本的bug. 虽然这些bug看起来很弱智简单,但正是因为这些小bug,让我们调代码的时间增加至少 \(2,3\) 个小时. 本系列的宗旨就是综合这些小bug极其对应解 ...

  6. Codeforces 1847 A-F

    题面 A B C D E F 难度:红 橙 黄 蓝 紫 紫 题解 B 题目大意:找到一组分割方法,使得 \(\sum _{i=1} ^ k (\text{&} _{j=l_i} ^ {r_i} ...

  7. 前端性能优化:使用 Web Workers 实现轮询

    // pollWorker.js import { Base64 } from 'js-base64'; import RsaAndAes from '~/composables/RsaAndAes' ...

  8. Codeforces Round 987 (Div. 2)

    Codeforces Round 987 (Div. 2) 总结 A 常见的套路,将一个序列变为不下降序列所需要改变的值的最小数量,考虑最大能保留多少个,显然是求最长上升子序列,而这题给出的 \(a\ ...

  9. Air780E量产binpkg文件如何获取

    ​ 今天我们学习Air780E量产binpkg文件如何获取: 一.背景 最近luatos开发客户增多,客户在量产烧录的时候需要binpkg文件,但是有些客户不知道binpkg文件是什么,在哪里获取,是 ...

  10. Pgloader极简教程

    目录 简介 安装 安装概述 CentOS编译安装 使用 命令行 配置文件迁移 可能遇到的错误 更多配置参考 总结 引用 简介 pgloader是一个数据同步工具,用来将数据从其它地方迁移到postgr ...