【Linux】当初的学习笔记
Linux 笔记
哔哩哔哩 @ 萌狼蓝天
微信公众号 @ 萌狼蓝天
[如果你想支持我,可以为我的哔哩哔哩账号(萌狼蓝天)充电]
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
关机流程
- 查看在线用户和在线服务
- 通知用户关机/重启原因和时间安排
- 下达关机命令或者重启命令
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"取别名为linuxalias 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-pdirA/dirB
mkdir-pdirA/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】当初的学习笔记的更多相关文章
- Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)
Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)
- Linux进程间通信IPC学习笔记之同步二(Posix 信号量)
Linux进程间通信IPC学习笔记之同步二(Posix 信号量)
- Linux进程间通信IPC学习笔记之消息队列(SVR4)
Linux进程间通信IPC学习笔记之消息队列(SVR4)
- Linux进程间通信IPC学习笔记之有名管道
基础知识: 有名管道,FIFO先进先出,它是一个单向(半双工)的数据流,不同于管道的是:是最初的Unix IPC形式,可追溯到1973年的Unix第3版.使用其应注意两点: 1)有一个与路径名关联的名 ...
- Linux进程间通信IPC学习笔记之管道
基础知识: 管道是最初的Unix IPC形式,可追溯到1973年的Unix第3版.使用其应注意两点: 1)没有名字: 2)用于共同祖先间的进程通信: 3)读写操作用read和write函数 #incl ...
- Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]
Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...
- linux基础命令学习笔记(二)
linux基础命令学习笔记(二) 1.kill :终止进程 kill pid (唯一标示一个进程) kill -9 强制终止 kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...
- 兄弟连Linux运维学习笔记
最新经典linux运维兄弟连Linux运维学习笔记... --------------- 全程1.5倍播放.加油我一定可以学完Linux----------------------Unix与Linux ...
- Linux shell 菜鸟学习笔记....
20171123 Linux shell 基础学习笔记1. shell 的开始 一般是 #!/bin/bash 通过 #! 来唯一指定使用的shell路径 其他的 # 都表示注释.2. shell 的 ...
- Linux进程线程学习笔记:运行新程序
Linux进程线程学习笔记:运行新程序 周银辉 在上一篇中我们说到,当启动一个新进程以后,新进程会复制父进程的大部份上下 ...
随机推荐
- vue前端开发仿钉图系列(4)右侧行政区绘制的开发详解
行政区绘制是基于高德地图的api,需要在高德提供的代码基础上做好html代码在vue页面上的适配.核心功能就是选择省市区,可以根据需要绘制对应选中的地图图层.整理总结不易,如需全部代码,请联系我150 ...
- watch 监视搜索关键词的变化不断发送请求返回建议
watch: { keywords: { // yarn add lodash 下载lodash包 // import { debounce } from "lodash"; 引入 ...
- 华为云-云容器引擎(CCE)-高危操作及解决方案
业务部署或运行过程中,用户可能会触发不同层面的高危操作,导致不同程度上的业务故障.为了能够更好地帮助用户预估及避免操作风险,本文将从集群/节点维度出发,为用户展示哪些高危操作会导致怎样的后果,以及为用 ...
- OpenCv Mat 数据结构
前言 OpenCv的Mat数据结构可以存储图片信息.但是以坐标系构建来说,Mat是以左上角为原点,而我们自己的日常习惯是以左下角为原点. 本文提供了这两者之间的一种转换. 假设 Mat : (x,y) ...
- debug指南-基础bug
基础Bug 本章节主要阐述一些最基本的bug. 虽然这些bug看起来很弱智简单,但正是因为这些小bug,让我们调代码的时间增加至少 \(2,3\) 个小时. 本系列的宗旨就是综合这些小bug极其对应解 ...
- Codeforces 1847 A-F
题面 A B C D E F 难度:红 橙 黄 蓝 紫 紫 题解 B 题目大意:找到一组分割方法,使得 \(\sum _{i=1} ^ k (\text{&} _{j=l_i} ^ {r_i} ...
- 前端性能优化:使用 Web Workers 实现轮询
// pollWorker.js import { Base64 } from 'js-base64'; import RsaAndAes from '~/composables/RsaAndAes' ...
- Codeforces Round 987 (Div. 2)
Codeforces Round 987 (Div. 2) 总结 A 常见的套路,将一个序列变为不下降序列所需要改变的值的最小数量,考虑最大能保留多少个,显然是求最长上升子序列,而这题给出的 \(a\ ...
- Air780E量产binpkg文件如何获取
今天我们学习Air780E量产binpkg文件如何获取: 一.背景 最近luatos开发客户增多,客户在量产烧录的时候需要binpkg文件,但是有些客户不知道binpkg文件是什么,在哪里获取,是 ...
- Pgloader极简教程
目录 简介 安装 安装概述 CentOS编译安装 使用 命令行 配置文件迁移 可能遇到的错误 更多配置参考 总结 引用 简介 pgloader是一个数据同步工具,用来将数据从其它地方迁移到postgr ...

