Linux基础命令

Linux基础命令
基础命令
cd , ls , pwd , mkdir, rmdir , cat, head, tail, tac, less, more, vim, touch, cp , mv, rm , echo, type, man, help,

软件管理
rpm -i e u f q v
yum , install , remove, update ,
clean , all , makecache ,list ,
./configure,
make , make , install ,
tar, unzip , gzip, bzip2, xz
用户管理
useradd , usermod ,
userdel, groupadd,
groupmod, groupdel ,
passwd, su , id,
chmod , chown ,

磁盘管理
fdisk , mkfs ,Fstype
blkid , mount , umount
fsck ,du,pvcreate , vg,lv

进程管理

ps , top ,htop , kill , killall ,
at, crontab ,bg ,fg, jobs,

配置远程访问:
配置网络:cd /etc/ sysconfig /network-scripts /
ls :列出当前目录下的文件列表
vim ifcfg -en33 :编辑网卡配置文件
ROOTDROTO=static :改名为手动配置ip地址
IPADDR=192.168.1.0 :ip 地址
NETMASK=255.255.255.0 :子网掩码
ONBOOT=yes 激活网卡
vim 操作:
输入i 键进入输入模式
按Esc键,输入:进入末行模式 ,wq保存退出
2.重启网络:systemctl restart network
3.查看ip 地址:ifconfig
4.链接linux 服务器 :ssh ip
文件系统:
文件有两类数据:
元数据区:文件名、大小、起始位置、权限、时间
数据区:
查看文件的元数据:stat FILE
特点:
1.文件名严格区分大小写
2.文件名使用除了"/"以外的任意字符,不建议使用特殊字符
/:根目录 /:目录分隔符
3.文件名长度最长不能超过255个字符
4.所有以.开头的文件均为隐藏文件
路径:
绝对路径:从根目录起始
相对路径:从当前位置起始
…:当前目录上一级目录
.:当前位置
省略.号
pwd:打印当前工作目录

基础命令:
date:时间管理
date [option] [+FORMAT] :显示
FORMAT:显示格式
%D 月/日/年
%F 年-月-日
%T hh:mm:ss
date [MMDDhhmm[[cc]yy][.ss]]:设置
MM:月份
DD:几号
hh:小时
mm:分钟
YY:两位年份
CCYY:四位年份
.ss:秒钟
linux的两个时钟:
系统时钟:通过cpu的工作频率进行计时
硬件时钟:主板上有时钟芯片
hwclock:显示硬件时间
-s:硬件时间同步至系统
-w:系统时间同步至硬件
cal:日历
目录相关的命令:
当前目录和家目录
家目录:
root:/root
普通用户:/home/userName
~:用户的主目录
cd ~或cd :回到当前用户的主目录
cd ~USERNAME:切换至指定用户主目录,root可行
cd -:来回切换目录

ls:显示指定路径下的文件
ls [option] [dir]
-a:显示所有文件
-l:长格式
1位:文件类型
-,f:普通文件
d:目录
l:符号链接文件
b:块设备
c:字符设备
p:管道文件
s:套接字文件
2-10位:访问权限
数字:硬链接次数
左root:用户
右root:用户组
数字:文件大小
日期
-h:单位换算
-d:只显示目录自身
-r:逆序显示
-R:递归显示

查看文件内容:cat、tac
cat [option] file
-n:显示行号
-E:显示行结束符
file /path/to/file :查看文本文件内容的类型

回显命令:echo
echo " V A R N A M E " : 变 量 会 替 换 , 双 引 号 表 弱 引 用 e c h o ′ VAR_NAME":变量会替换,双引号表弱引用 echo ' VARNAME":echoVAR_NAME’:变量不会替换,单引号表强引用
-n:禁止换行
-e:允许使用转义符
\n:换行
\t:制表符
which:显示命令对应的程序文件路径
系统管理命令:
关机:
halt,poweroff,shutdown,init 0
重启:
reboot,shutdown,init 6

shutdown [option] [time] "note"
	-r:重启
	-h:关机
	-c:取消之前操作
	time:
		now:立刻
		+#:当输入命令#分钟后执行该操作
		hh:mm:指定时间执行操作

跟用户登录相关:
whoami:查看当前登录用户
who:查看当前登录所有用户
w:查看登录所有用户及操作
1.系统帮助命令的使用
2.完成/目录下对应目录的功能与作用

linux的文件系统:
根文件系统(rootfs)
LSB,FHS(FileSystem Heirache standed)
/boot:引导文件存放目录、内核文件(vmlinuz)
引导加载器(bootloader,grub)都存放与此目录
/bin:供所有用户使用的基本命令
/sbin:管理类的基本命令
/lib:基本共享库文件
/lib64:专用于x86_64系统上的辅助共享库文件存放位置
/etc:配置文件目录(纯文本文件)
/home:普通用户家目录
/root:管理员的家目录
/media:便携式移动设备挂载点
/mnt:临时文件系统挂载点
/dev:设备文件及特殊文件位置
b:block device 随机访问
c:character device 线性访问
/opt:第三方应用程序的安装位置
/srv:系统上运行的服务用到的数据
/tmp:临时文件存储位置
/usr:有价值只读的数据目录
保证系统拥有完整性功能而提供的应用程序
/usr/bin,/usr/sbin
/usr/share:结构化独立的数据
/usr/local:第三方应用程序的安装位置
/var:variable data files
cache:应用程序缓冲数据目录
lib:应用程序状态信息数据
local:专用于/usr/local下的应用程序存储的可变数据
lock:锁文件
log:日志目录及文件
opt:专用于为/opt下应用程序存储可变数据
run:运行中的进程相关的数据;通常用于存储进程的
pid文件
spool:应用程序数据池
tmp:存储系统两次重启之间产生的临时数据
/proc:用于输出内核与进程信息相关的虚拟文件系统
/sys:用于输出当前系统上硬件设备相关信息的虚拟文
件系统
/selinux:selinux相关的安全策略等信息的存储位置

help:主要查看内部命令的帮助信息
man:外部命令
man帮助手册级别:
man1:用户命令
man4:设备文件及特殊文件
man5:配置文件格式
man8:管理类命令
whatis COMMAND:查看命令的帮助级别
man # COMMAND:使用指定#级别
man命令操作:
h:帮助
e ^E j ^N CR 向文件尾部翻一行
y ^Y k ^K ^P 向文件首部翻一行
f ^F ^V SPACE 向文件尾部翻一屏
b ^B ESC-v 向文件首部翻一屏
d ^D 向文件尾部翻半屏
u ^U 向文件首部翻半屏
q 退出
# 跳转至第#行
1G 回到首行
G 跳转至文件行尾
文本搜索
/pattern 以pattern指定的字符串为关键字,从当前
位置向文件尾部搜索
n:下一个
N:上一个
?pattern

history:查看历史命令
!!:调用上一条命令
!string:调用历史中最近一个以string开头的命令
!#:调用历史中第#命令

-a:追加本次会话新执行的命令至历史文件中
-d:删除历史中指定的命令
-c:清空命令历史

作业:
与命令历史相关的配置文件
命令补全和路径补全工作机制

目录管理命令:
mkdir:创建空目录
mkdir [option] dir_name
-p:存在时不报错,递归创建目录
-v:显示创建过程
tree:按层级显示目录结构
-d:只显示目录
-L #:指定显示的层级数
rmdir:删除空目录
-v:显示其过程
文件查看类命令:
less :分页查看到行尾不退出
more:分页查看至行尾后直接退出
-d:显示翻页及退出提示
head [option] file :显示文本前#行
-n #:查看指定前#行
-#
tail [option] file :显示文本后#行
-n # | -#:查看指定后#行
-f 跟踪显示文件新追加的内容
输入输出重定向:Input Output
标准输入:键盘、鼠标等输入设备,0
标准输出:显示器等输出设备,1
标准错误输出:2

I/O重定向:改变标准位置及为重定向
输出重定向:>,>>
	>:覆盖重定向
	>>:追加重定向
错误输出重定向:
	2>:覆盖
	2>>:追加
标准输出和错误输出合并重定向:&>,&>>

输入重定向:<
	tr命令:转换或删除字符
		tr [option] set1 set2
			-d:删除对应的字符
<< 输入结束符
	cat > /path/to/somefile <<EOF

命令行展开:
~:展开为用户的主目录
~username:指定用户的主目录
{}:可承载一个以逗号分隔的列表,并将其展开为多个路径
/tmp/{a,b}=/tmp/a,/tmp/b

命令执行结果状态:
0:成功
1-255:失败
bash使用$?特殊变量保存最近一条的执行状态结果

文件时间戳管理工具:
touch
文件:metadata,data
三个时间戳:
atime:访问时间
mtime:修改时间
ctime:改变事件
touch [option] file
-a:atime
-m:mtime
-t STAMP
[[CC]YY]MMDDhhmm[.ss]
-c:如果文件不存在,则不予创建
文件管理:
cp:复制拷贝
cp [option] SRC DEST
-i:交互式
-r:递归复制
-a:归档复制
-f:强制复制
-p:保留源权限
mv:移动文件
-i:交互式
-f:强制

rm:删除
	-f:强制删除
	-r:递归

基础命令:
命令别名:alias
alias:显示当前shell进程所有可用的命令别名
alias NAME=‘VALUE’:定义别名
命令行中定义的别名,只在当前shell有效,如果永久
有效要定义在配置文件中:
个人:~/.bashrc
全局:/etc/bashrc
定义在配置文件不会立即生效,需要bash进程重读
配置文件
source /path/to/config_file
. /path/to/config_file
撤销别名:unalias
unalias [-a] name
如果别名同命令的名称,则如果需要执行原命令,使用
“\COMMAND”
bash中的用于实现文件名“通配”
*:任意长度的任意字符
?:任意单个字符
[]:匹配指定范围内的任意单个字符
[^]:匹配范围之外的任意单个字符
专用字符集:
[[:digit:]]:数字
[[:lower:]]:任意小写字母
[[:upper:]]:任意大写字母
[[:alpha:]]:任意大小写字母
[[:alnum:]]:字母+数字
[[:space:]]:空白
[[:punct:]]:标点字符
bash的快捷键
ctrl +l :清屏
ctrl +a :跳转至行首
ctrl +e :跳转至行尾
ctrl +c :取消命令
ctrl +u :删除命令行首至光标所在的所有内容
ctrl +k :删除光标所在处至行尾的内容
管道 |:
COMMAND1 | COMMAND2 | COMMAND3 | …
文本处理命令:
wc [option] file 文本统计命令
-l:行
-w:单词数
-c:显示字节数
cut命令
cut [option] file
-d DELIMITER:指明分隔符
-f FILEDS:
#:第#字段
#,#,[#]:离散的多个字段
#-#:连续的多个字段
–output-delimiter=string :替换分隔符
sort命令:
sort [option] file
-f:忽略字符大小写
-r:逆序
-t: 指明分隔符
-k#:以指定字段为标准排序
-n:以数值大小排序
-u:去重显示
uniq命令:去重
uniq [option] [file]
连续且完全相同方为重复
-c:显示重复的次数
-d:仅显示重复过的行
-u:仅显示不曾重复过的行

文件查找命令:
find [指定范围] [查找条件] [处理动作]
查找条件:
根据文件名查找
-name “文件名称”:支持使用通配符
根据大小查找
-size [+|-]#UNIT
常用单位:k,m,g,t
根据文件类型
-type FS_TYPE
f,d,b,c,p,l,s
根据时间戳
以“天”为单位
-atime
-mtime
-ctime
以“分钟”为单位
-amin
-cmin
-mmin
根据属主和属组查找
根据权限查找
处理动作:
-ls:类似于对查找到的文件执行ls -l命令
-delete:删除查找到的文件
-fls /path/to/dir:将查找到的文件保存至指定路径下
-exec COMMAND {} ; 对查找的内容执行命令,{}调用
查找到的文件名。
注意:find传递查找到文件数量过多时,有一些命令无法同时
接受过多的参数,这时候可以使用
find | xargs COMMAND

grep文本过滤工具
grep作用:文本搜索工具,根据用户指定的“模式”对目标
文件逐行进行匹配检查;打印匹配到的行。
模式:由正则表达式字符及文本字符所编写的过滤条件
正则表达式:由一类特殊字符及文本字符所编写的模式
其中有些字符不表示字面意义,而表示控制或通配
功能。

grep [option] PATTERN file
	-v:反选
	-i:忽略大小字母
	-o:仅显示匹配到的字符串
	-q:静默模式
	-A#:后#行
	-B#:前#行
	-C#:前后#行
	-E:使用egrep

正则表达式的元字符:
字符匹配:
.:匹配任意单个字符
[]:匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符
[1]、[[:lower:]]、[[:upper:]]、[[:alpha:]]
[[:alnum:]]、[[:space:]]、[[:punct:]]

匹配次数:用在次数的字符后面,用于指定前面的字符要
出现的次数
	*:前面字符出现任意次
	.*:任意长度任意字符
		贪婪模式
	\?:匹配前面字符0次或1次	
	\+:匹配前面的字符至少一次
	\{m\}:匹配前面的字符m次
	\{m,n\}:匹配前面字符至少m次,至多n次
		\{0,m\}:匹配前面字符至多m次
		\{m,\}:匹配前面字符至少m次

作业:
元字符的位置锚定和分组
位置锚定
^:行首锚定,用于模式的最左侧
: 行 尾 锚 定 , 用 于 模 式 的 最 右 侧 P A T T E R N :行尾锚定,用于模式的最右侧 ^PATTERN :PATTERN:匹配整行
^ : 空 行 [ [ : s p a c e : ] ] ∗ :空行 ^[[:space:]]* :[[:space:]]:空白行
\b或<:词首锚定,用于单词的左侧
\b或>:词尾锚定,用于单词的右侧

分组:
\(\):将一个或多个字符捆绑在一起,当作一个整体进行
	处理。
后向引用:引用前面的分组括号中的模式所匹配的字符
如何引用:分组括号中的模式匹配内容会被正则表达式
	保存至变量中,变量名为:\1,\2,\3.....
	\(ab\+\(xy\)*\)
	\1=ab\+\(xy\)*
	\2=xy

作业:
扩展正则表达式的元字符

压缩与解压缩:
gzip/gunzip xx.gz
gzip [option] file…
-d:解压缩,gunzip
-c:将结果输出值标准输出
-#:指定压缩比
less/zcat:不解压查看文件内容
bzip2/bunzip2 xx.bz2
bzip2 [option] file
-k:保留源文件
-d:
-#:
less/bzcat
xz/unxz xx.xz
xz [option] file
-k:
-d:
-#:
less/xzcat:

归档:
1.创建归档
tar -c -f /path/to/somefile.tar file
-cf
2.查看归档文件
tar -t -f /path/to/somefile.tar
3.展开归档文件
tar -x -f /path/to/somefile.tar -C /path

结合压缩工具
-j:bzip 	-z:gzip      -J:xz
	
创建归档并压缩:
	tar -[j|z|J]cf /path/to/somefile.tar.[bz2|gz|xz]  file...
解压缩并展开归档:
	tar -[j|z|J]xf /path/somefile.tar.[bz2|gz|xz] -C /path
		-v:显示解压展开过程

vim编辑器:
使用:
命令模式–>输入模式
i:在光标所在处输入
I:在光标所在处行首输入
a:在光标所在处后面输入
A:在光标所在处的行尾输入
o:在当前光标所在行的下方插入新行
O:在当前光标所在行的上方插入新行
输入模式–>命令模式
ESC键
命令模式–>末行模式

末行模式–>命令模式
ESC键 (两次ESC键快速退出)
关闭文件
:q 退出
:q! 强制退出
:wq 保存退出
:x 保存退出

ZZ:保存退出

命令模式:
字符间跳转
h(左),j(下),k(上),l(右)
#[h|j|k|l]:跳转#
单词间跳转
w:跳转至下一个单词词首
e:当前或下一个单词词尾
b:当前或前一个单词词首
#COMMAND:跳转#个单词
行首行尾跳转
^:跳转至行首的第一个非空白字符
0:绝对行首
KaTeX parse error: Expected 'EOF', got '#' at position 16: :跳转至行尾 行间移动 #̲G:跳转至#行 G:最后一…:删除光标至行尾
d^:删除光标至非空白行首
d0:删除光标至绝对行首

	dw,de,db
	#[dw|de|db]
	
	dd:整行删除
		#dd:多行删除
粘贴命令:
	(小)p:粘贴至光标后
	(大)P:粘贴至光标前
复制命令:y
	y$:
	y0:
	y^:
	
	ye,yw,yb
	#COMMAND
	yy:复制行
		#yy

替换命令:
	r:替换光标所在处的字符
	R
可视化模式
	v:按字符选择
	V:按行选择
	结合命令:d,y

撤销此前的编辑
	u
	#u
撤销此前的撤销
	ctrl + r
	
翻屏:
	ctrl + f:
	ctrl + b:
	ctrl + d:
	ctrl + u:

末行模式:
内建命令接口:
1.地址定界:
:start_pos,end_pos
#:具体第#行
#,#:从左侧#起始,到右侧#结束
#,+#:从左侧#起始,加上右侧#结束
.:当前行
$:最后一行
%:全文
后跟编辑命令
d,y
w /path/to/file :另存为
r /path/from/file :插入内容
2.查找
/pattern:向下
?pattern:向上
n,N
3.查找替换
: s/要查找的内容/替换的内容/修饰符
修饰符:
i:忽略大小写
g:全局替换
例如:
:%s@r(…)t@R\1T@g
:%s@linux@&er@g
查找替换的分隔符可以为其他字符
s@ @ @ s# # #

窗口分区
vim -o | -O file1 file2
-o:水平分隔
-O:垂直分隔
窗口间切换:ctrl + w ,方向键
单文件:
ctrl + w ,s :水平分割
ctrl + w ,v :垂直分割

多文件编辑:
vim file1 file2 file3 file4
:next 下一个
:prev 上一个
:first 第一个
:last 最后一个
:wall 保存所有
:qall 退出所有

作业:vim编辑器的特性

vim配置文件
	全局:/etc/vimrc
	个人:~/.vimrc
行号:
	set nu:设置
	set nonu:取消
自动缩进:
	set ai:启用
	set noai:禁用
语法高亮:
	syntax on 	启用
	syntax off 	禁用

软件安装管理:
软件安装方式:
源码编译安装
rpm包管理–>yum,dnf前端管理工具安装
rpm包管理:
包命名格式:
name-VERSION-arch.rpm
arch:操作系统版本.CPU架构版本
软件包的组成:
文件清单
安装或卸载时运行的脚本
系统软件数据库
程序包名及版本
依赖关系
功能说明
安装生成的个文件的文件路径及校验码信息
软件包获取
系统自带光盘
http://rpmfind.net
http://rpm.pbone.net
http://pkgs.org
自己制作
项目官方
搜引擎搜索

作业:安装QQ和微信
rpm管理方式:
1.挂载系统安装盘
mount /dev/sr0 /media

安装:
rpm -i {install-option} PACKAGE
通用选项:
-v:详细信息
-vv:详细详细信息
-h:以#显示程序安装时的进度条
install-option
–test:测试安装
–nodeps:忽略依赖关系
–replacepkgs:重新安装
升级:
rpm -U|-F [install-option] PACKAGE
-U:如果未安装升级时安装,已安装则升级
-F:如果未安装则不升级不安装,已安装则升级
install-option
–oldpackage:降级
–force:强制
查询:
rpm -q [select-options] [query-option] package
选择选项:
-a:所有包
-f:查询指定的文件由哪个程序包生成
-p /path/to/file:针对尚未安装的程序包文件做查询
操作
查询选项:
-c:查询程序的配置文件
-d:查询程序的文档
-i:程序的信息
-l:查看指定的程序包安装后生成的所有文件
用法:
-qi,-qf,-qc,-ql,-qd
-qpi,-qpl
-qa
卸载:
rpm -e PACKAGE
–nodeps

校验:
rpm -V package

导入公钥:
rpm --import /path/to/RPM-GPG-KEY-CentOS-7

数据库重建:
rpm {–initdb|–rebuilddb}
initdb:初始化,如果存在数据则不操作
rebuilddb:重建,直接重建数据库

作业:
yum的方式将虚拟化环境安装,源码编译安装httpd

yum软件安装
构建仓库:将所有软件存放在一起,并构建一个软件清单列表
下载安装时能解决软件依赖的关系(软件清单目录repodata)
仓库:
1.系统安装盘
2.互联网上的仓库
3.自建仓库
仓库的访问方式:
file:/// 本地文件协议
http://
https://
nfs:// 网络文件协议
ftp://

配置yum客户端文件:
/etc/yum.repos.d/*.repo
[repoID] 仓库ID,必须唯一
name= 仓库名称
baseurl= 指明仓库地址以及下载方式
enabled=1|0
1:启用仓库,默认选项
0:禁用仓库
gpgcheck=1|0
gpgkey= 校验文件位置

yum命令的使用:
清除缓存:
yum clean all
构建缓存
yum makecache
查看软件清单列表
yum repolist
安装:
yum install package1 package2 …
y:下载安装
d:仅下载
n:取消
更新:
yum update package1 package2 …
降级
yum downgrade package1 package2 …
查询搜索
yum search
检查可用升级包
yum check-update
卸载程序包
yum remove 程序包名
查看程序包的信息
yum info 程序包名
yum历史操作
yum history

选项:
-y 自动回答为yes
–nogpgcheck:禁止进行gpgcheck
-q:静默模式
–disablerepo=repoidglob:临时禁用此处指定repo
–enablerepo=repoidglob:临时启用此处指定repo

自建仓库:
1.准备软件包
2.安装createrepo工具
yum install createrepo
3.创建repodata清单目录
createrepo ./

作业:源码编译安装httpd

源码编译安装httpd
1…/configure 检查编译环境,准备编译源码所依赖的各种文件
传递参数,启用软件的功能特性等
2.make 编译
3.make install 编译安装

bash变量类型:根据生效范围种类
本地变量,环境变量,局部变量,位置变量,特殊变量
环境变量:
定义环境变量:
export name=VALUE
引用环境变量: n a m e , name, name,{name}
显示所有环境变量:
export
销毁:
unset name

bash的配置文件:
两类:
全局:/etc/profile
/etc/profile.d/*.sh
/etc/bashrc
个人:~/.bash_profile
~/.bashrc
命令路径优化:
编辑bash的配置文件~/.bash_profile
export PATH=$PATH:/path/to/software/bin
编辑配置文件生效的方式:
1.重新启动shell进程
2.使用source或. 命令

用户管理:
token凭证,身份认证(用户名/密码)
资源分派
认证:Authentication
授权:Authoritarian
审计:Audition
3A认证服务器
Linux用户:username/UID
管理员:root,0
普通用户:1-65535
系统用户:1-999
登录用户:1000+
系统用户
对守护进程获取资源进行权限分配

Linux组:Groupname/GID
管理员组:root,0
普通组:
系统组:1-999
普通组:1000+

安全上下文:
运行中的程序:进程(process)
以进程发起者的身份运行
进程所能够访问的所有资源的权限取决于进程的发起
者的身份
linux组的类别:
主组,基本组
额外组,附加组

Linux用户和用户组相关的配置文件:
/etc/passwd:用户及其属性信息
/etc/shadow:用户密码文件
/etc/group:组信息文件
/etc/gshadow:组密码文件

/etc/passwd:
name:password:UID:GID:GECOS:directory:shell
/etc/shadow
用户名:加密了的密码:最近一次修改密码的更改时间:
密码最小使用期限:最大使用期限:密码警告时间:密码
禁用期:账号过期日期:保留字段
加密了的密码
加 密 算 法 加密算法 随机数$加密密文

创建用户:
useradd [option] LOGIN
-u UID:指明用户UID
-g GID:指明用户GID,必须事先存在
-c “comment”:用户的注释信息
-d /path/to/dir:家目录信息
-s SHELL:指明用户shell程序
-G GROUP1:指明附加组,必须事先存在
-r :创建系统用户

查看用户信息:id
id [option] [user]
-u:UID
-g:GID

切换用户或以其他用户身份执行命令:su
su [option] [-] [user]
su UserName:非登录切换,不会切换至家目录
su - UserName:登录式切换,会切换至家目录

换个身份执行命令:
	su [-] UserName -c "COMMAND"

用户修改:usermod
usermod [option] login
-u UID:新UID
-g GID:新GID
-G GROUP1[…]:新附加组
-s shell:新的shell
-c “comment”:新的备注信息
-d /path/to/dir:新的家目录,-m将原目录数据迁移至新目录
-l LOGIN_NAME:新的登录名
-L:锁定用户
-U:解锁用户

设置密码:
passwd UserName:修改指定用户的密码,仅root
passwd:修改自己的密码

--stdin :从标准输入接收用户密码
	echo "PASSWORD" | passwd --stdin USERNAME
-l:锁定用户
-u:解锁用户

删除用户:userdel
userdel [option] login
-r:删除用户家目录

groupadd:创建组
group [option] GROUP_NAME
-g GID:指定GID号创建组
-r:创建系统组
groupmod:修改组
group [option] GROUP_NAME
-n:新名字
-g:新GID
gpasswd:组密码
gpasswd [option] GROUP1
-a user:将user添加至指定组中
-d user:删除用户
-A:指定该用户拥有管理权限

newgrp:临时切换基本组

groupdel:删除用户组

chage,chfn,finger,chsh

权限管理:
文件的权限主要针对三类对象进行定义:
owner:属主,u
group:属组,g
other:其他,o

每个文件针对每类访问者都定义了三种权限
	r:
	w:
	x:

三种权限针对文件或目录有不同的含义:
文件:
r:读,使用查看工具可以阅读
w:写,使用编辑工具可编辑
x:执行,可以运行该程序
目录:
r:可以使用ls查看此目录中文件列表
w:可在此目录中创建文件,也可删除此目录中的文件
x:可以使用ls -l查看此目录中文件列表,可以cd
进入此目录
rw- r-- r--
u g o
权限表示方法:
— 000 0
–x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7

640=rw-r-----
rwxr-xr-x=755
573=r-xrwx-wx

修改文件权限:
chmod [option] OCTAL-MODE FILE
-R:递归修改权限
MODE:
u=,g=,o=,a=
u+,u-,g+,g-,o+,o-
777,644,755

修改文件属主和属组:仅root可用
chown [option] [owner][:[GROUP]] FILE …
-R:递归修改
用法:
OWNER
OWNER:GROUP
:GROUP
命令中的冒号可以替换成点号

修改文件属组:chgrp

文件或目录创建时遮罩码:umask
FILE:666-umask
如果某类的用户权限减的结果中存在x权限,则
将其权限+1
666-333=333 444
DIR:777-umask
umask #:设定umask值

文件默认权限为644,该如何操作
666 - umask = 644
022
两个特殊设备:
/dev/null:吞零设备
/dev/zero:吐零设备

Linux磁盘管理:
I/O Ports:I/O设备地址池
Input:输入
Output:输出
一切皆文件
open(),read(),write(),close()

设备文件:关联至一个设备驱动程序,进而能跟与之对应硬件
	设备进行通信
设备号码:
	主设备号:标识设备类型
	次设备号:具体某个设备

硬盘接口类型:
并行:
IDE:133MB/s
SCSI:640MB/s
串行:
SATA:6Gbps
SAS:12Gbps

设备文件命名:
/dev/sd[a-z]:不同设备
/dev/sd[a-z][1…]:同设备不同分区

硬盘特殊位置:0磁道0扇区
MBR,GPT等格式的分区表
MBR:512byte
446byte:boot loader
64byte:分区信息,16byte存储一个分区
2byte:校验
4个主分区:
3个主分区+1扩展分区(N个逻辑分区)

分区管理工具:fdisk,gdisk,parted
fdisk:对于一块硬盘最多只能管理15个分区
fdisk -l [device] 查看设备分区信息
fdisk [device] 对磁盘进行分区管理
子命令:管理功能
p:打印
n:创建
d:删除
w:保存并退出
q:放弃更新并退出
m:获取帮助
l:列表所有分区id
t:调整分区id

查看内核是否已经识别新的分区:
cat /proc/partations

linux文件管理:
linux文件系统:ext2,ext3,ext4,xfs,btrfs,reiserfs
swap:交换分区
光盘:iso9660
windows:fat32,ntfs
unix:FFS,UFS,JFS32
网络文件系统:NFS,CIFS
集群文件系统:GFS2,OCFS2
分布式文件系统:ceph
根据是否支持日志:
日志型文件系统:ext4,xfs,…
非日志型文件系统:ext2,vfat

linux的虚拟文件系统:VFS

创建文件系统:
cat /proc/filesystems 查看文件系统
mkfs.FS_TYPE /dev/sd[a-z][1…]
FS_TYPE:
ext2,ext3,ext4,xfs,btrfs,vfat

mkfs -t FS_TYPE  /dev/DEVICE
	-f:强制创建文件系统
	-L "LABEL":设置卷标

查看设备文件系统信息:
blkid [option] [DEVICE]
-U UUID:根据UUID查找设备
-L “LABEL”:根据卷标查找设备

创建交换分区:
mkswap /dev/DEVICE

补充:
通知内核重读分区表:
kpartx /dev/DEVICE
partprobe /dev/DEVICE

文件系统的检测:fsck
fsck.FS_TYPE /dev/DIVICE
-a:自动修复
-r:交互式修复错误
文件系统管理:
自动挂载,挂载时的各个选项,强制卸载

挂载:
将额外文件系统与根文件系统某现存目录建立关联关系,
进而使得此目录作为其他文件系统访问入口的行为称为挂载

现存的目录:挂载点,MOUNT_POINT	
	mount
卸载:
	umount
挂载点下原有文件在挂载完成后会被隐藏

挂载方式:
mount DEVICE mount_point
DEVICE:指明要挂载的设备
设备文件:/dev/DEVICE
-U UUID:
-L LABEL:卷标
伪文件系统:proc,sysfs
mount_point:dir
事先存在,尽量为空
选项:
-U UUID:
-L 卷标:
-r:
-w:
-a:支持自动挂载
-B:绑定
-t:指明文件系统类型
-o option:挂载文件系统的选项
rw:读写
ro:只读
suid:管理员用户挂载
dev:设备文件
exec:自动运行程序
auto:自动挂载
nouser:普通用户挂载
async:异步
默认:defaults

卸载:
umount DEVICE
umount MOUNT_POINT
查看正在访问指定文件系统的进程
fuser -v MOUNT_POINT
终止所有所有正在访问指定的文件系统进程
fuser -km MOUNT_POINT

交换分区:
启用:swapon
禁用:swapoff
内存空间使用状态
free [option]
-m:以MB为单位
-g:以GB为单位

文件系统空间占用的等信息查看工具
df:查看挂载情况
-h:单位换算
-i:查看inode信息

查看目录总体空间占用状态
du [option] [DIR]
-h:单位换算
-s:统计所有文件

自动挂载:
配置:/etc/fstab
1字段:设备文件
2字段:挂载点
3字段:文件系统
4字段:挂载选项
5字段:转储频率
0:不做备份
1:每天转储
2:每隔一天转储
6字段:自检次序
0:不自检
1:首先自检

ln:创建连接文件
软硬连接,LVM

文件系统的其他概念:
Inode:Inder node:索引节点
Inode bitmap:对位标识每个inode空闲与否的状态信息
链接文件:
硬链接:
不能够目录进行
不能跨分区
符号链接,软连接
可以对目录
可以跨分区
创建方式:
ln [-sv] SRC DEST
-s:symbolic link,软连接

LVM
LV:组合LE,LE根据PE进行数量配比
VG:将加入组中的硬盘依据固定块大小进行拆分,默认4M,
称为PE
PV:将硬盘加入该组中
LV:/dev/mapper/VG_NAME-LV_NAME
/dev/VG_NAME/LV_NAME

PV管理工具:
pvdisplay 显示pv详情
pvcreate /dev/DEVICE 创建pv
pvremove /dev/DEVICE 删除pv

vg管理工具:
vgdisplay 显示vg详情
vgcreate [-s #[kmgtpe]] VG_NAME PV_NAME
vgextent VG_NAME PV_NAME
vgreduce VG_NAME PV_NAME
先做pvmove PV_NAME

LV管理工具:
lvdisplay 显示lv详细
lvcreate -L #[mgt] -n LV_NAME VG_NAME

扩展逻辑卷:
先扩展pv,vg
lv扩展:
lvextend -L [+]20G /dev/VG_NAME/LV_NAME
ext系列文件系统扩容:
resize2fs /dev/mapper/VG_NAME-LV_NAME

减容逻辑卷:
umount
fsck -f /dev/mapper/VG_NAME-LV_NAME 检查文件系统
resize2fs /dev/VG_NAME/LV_NAME #[kmgt]
lvreduce -L [-]#[kmgt] /dev/VG_NAME/LV_NAME
mount

作业:磁盘配额,xfs文件扩容与减容

Linux作业及进程
进程类型:
守护进程:daemon,在系统引导过程中启动的进程,跟
终端无关的进程。
前台进程:跟终端相关,通过终端启动的进程
注意:也可把前台启动的进程送往后台,以守护
模式运行
进程状态:
运行态:running
就绪态:ready
睡眠态:
可中断:interruptable
不可中断:uninterruptable
停止态:暂停于内存中,但不会被调度,除非手动启动
之:stoped
僵死态:zombie
进程的分类:
CPU-Bound
IO-Bound

linux进程查看及管理的工具:
pstree:显示进程数

欢迎使用Markdown编辑器

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法2 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

功能快捷键

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G

合理的创建标题,有助于

  1. List item

目录的生成

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

图片: Alt

带尺寸的图片: Alt

居中的图片: Alt

居中并且带尺寸的图片: Alt

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目Value
电脑$1600
手机$12
导管$1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列第二列第三列
第一列文本居中第二列文本居右第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPEASCIIHTML
Single backticks'Isn't this fun?'‘Isn’t this fun?’
Quotes"Isn't this fun?"“Isn’t this fun?”
Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to- HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。3

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通过欧拉积分

Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

Mon 06 Mon 13 Mon 20 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

这将产生一个流程图。:

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.2.0 开始 我的操作 确认? 结束 yes no
  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. :digit: ↩︎

  2. mermaid语法说明 ↩︎

  3. 注脚的解释 ↩︎

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值