关于Linux的知识总结


前言

今天总结一下这段时间学到的关于Linux的知识

一.文件类型

1.-  regular file 普通文件
2.d  directory 目录
3.l  link 链接
4.b  block 块设备 存储数据以供系统存取的接口设备,也就是就硬盘
5.c  character 字符设备 串口设备 键盘鼠标等
6.s  socket 套接字
7.p  pipe 管道

二.命令系统

1.文件
	0  标注输入
	1  标注输出
	2  标准错误输出
2.通配符
	匹配字符
		1.? 单个字符
		2.*  任意字符
3.任务管理
	1.& 后台执行
	2.;顺序执行
	3.&& 只有第一个命令成功第二个才执行
	4.|| 如果第一个失败,则执行第二个命令
	5.`x` 优先执行被包裹的命令,命令替换符
	6.ctrl + z 挂起进程
	7.bg 挂起到后台
	8.fg 挂起到前台
	9.jobs 查看所有前后台进程任务
4.管道 重定向
	1.> 重定向,命令到文件
	2.>> 追加重定向
	3.< 文件到命令
	4.<< 结束符
5.转义符
	1.‘  ’ 硬转义,不允许替换
	2.“  ”软转义,允许替换
	3.\

三.修改权限与环境

1.su - xxx
	切换用户 - 代表更新环境
2.chmod
	1.ugo
		1.u  user 用户
		2.g  group 群组
		3.o  others 其他
	2.用法
		1.chmod ug+x,o-r 1.c 
		2.chmod ugo=x 1.c
		3.chmod 777 1.c
		4.cmod a+x 1.c a==all 所有人
3.chown 改变所属用户或所属组
4.chgrp 改变所属组
	用法 usermod -G 用户组 用户名
5.vim .zshrc    source .zshrc 别名设置,这是bash环境下的命令
6.exit logout ctrl + d 退出用户
7.man 查询详细信息也可以用info,有多个分区
	man -k xxx 查询关键信息
	man -f xxx

四.基础信息获取

1.uptime 打印系统运行时长和平均负载
2.who 显示当前登陆系统胡用户信息
3.last 显示用户最近登陆信息
4.date 系统时间,打印计算机元年到现在秒数
		用法 date +"%Y-%m -%d %H:%M:%S"
			date +"%s"
5.w 当前登陆用户列表和正在执行的任务
		USER	(登录用户名)     
		TTY		(登录后系统分配的终端号)      
		FROM 	(远程主机名)            
		LOGIN@ 	(登录时间)  
		IDLE	(空闲时间)   
		JCPU	(和终端相连胡所有进程占用的时间,包含当前正在执行的后台作业)  
		PCPU	(当前进程所占用时间) 
		WHAT 	(当前进程正在执行的命令)
6.whoami 打印当前有效的用户名称
7.uname 打印当前系统信息
8.cal 日历
9.!xxx 快速查找历史记录
10.basename 取文件名
11.dirname 取目录名
12.nl 显示行号
13.head tail
	用法 head -n 10 取前十行
14.more less 区别主要在于less可以上下翻页且搜索找到时高亮,more不行
15.文件的三个时间,三个时间都可以用touch修改
	touch -a -c -m  <file>
	1.mtime 内容数据改动时更新
	2.ctime 文件权限,属性被修改时更新
	3.atime 文件内容被执行成功时修改时间
16.chattr 改变文件隐藏属性
17.lsattr -a 打印隐藏文件的隐藏信息
18.文件的特殊权限
	1.set_uid 执行权限占位符为s,如果原先有执行权限则是s,没有则是S,
			  下面两个也一样,作用对象为二进制程序文件,非脚本,
			  效果是用户在执行该程序时获得所有者权限
	2.set_gid 占位符为s,作用对象为目录和二进制文件,用户在该目录里,
			  有效组变为目录所属组
	3.sticky bit 占位符为t,作用对象为目录
			  在该目录下,用户只能删除自己创建的内容
19.ls -ald xx 读取目录权限
20.命令与文件查询
	1.which 寻找执行文件
	2.whereis 寻找特定文件
	3.locate 搜索文件(可部分查找)
	4.find 多样化高级查找
			find -mtime +n n天之前,不包含n,修改过的文件
			-mmin 分钟
			find ./ -mtime -1 -user userB 只找用户userB的一天内修改过的文件
			find ./ -name xxx 查找文件
			find ./ -name "*.c" 查找目录下所有.c文件
			+- size 大小
21.tldr xxx 相当于man
22.三剑客
	1.grep
	2.awk 文本数据处理
	3.sed
		替换 sed -i  's/abc/123/g' a.log没有i不会保存
		删除 sed '6,8d' a.log 删除6-8行
			sed '/xxxx/d' a.log 找到某一行删除
			sed '/xxx/,$d' a.log 删除包括这行后面所有
		显示 sed '/3q;d' a.log 显示第三行
		可以直接在vim命令行中替换 :%s/abc/123
23.数据提取操作
	1.cut 切分
		-d "x" 按字符x切割
		-f num 显示num
	2.grep 检索
		-c	计数
	3.sort
		排序 -u 去重 
		-n -r 降序
	4.wc 统计字符,字数,行数
		wc -l 行数
		wc -c 字符
	5.uniq 去重
		uniq 只会把连续的才认为是重复的,所以要先用sort
		uniq -c
	6.tee 双向重导项 相当于重定向
	7.split 文件切分
		split -l 20 按20行一组
	8.xargs 参数代换
		echo "./c" | xargs ls
	9.tr 替换 压缩 删除
		1.tr ":" " " 讲冒号替换为空 \n
		2.tr -c "0-9" " " 把不在0-9之间的替换成空格
		3.tr -d "0-9" 删除0-9
		4.-s 压缩
24.看进程 
	1.ps  -ef
	2.ps  -aux
25.文件节点
	1.inode 文件节点 放文件属性信息权限等等
		一个文件有一个inode多个blocks
		ls -ali xxx 显示inode
	2.blocks
		文件块
	3.superblock
		放12的信息
26.连接
	1.软连接是有新生成
		ln -s 1.c 2.c
	2.硬连接没有
		ln 1.c 2.c

五.shell编程

1.变量
	1.a=2 不能空格会变成命令
	2.a=`pwd`
	3.局部变量 local a=12
	4.特殊变量
		1.$n 获取当前执行脚本的第n个参数
			 如果大于9则需要将n用大括号括起来n=0意思是脚本名包括路径
		2.$# 得到执行当前脚本的参数个数
		3.$@ 获取这个程序所有参数并保留参数之间的任何空白,相当于 “$1” “$2” “$3"
		4.$* 获取当前shell的所有参数,将所有的命令行参数视为单个字符串
			 相当于“$1$2$3”
		5.$? 判断上一命令是否成功执行,0为成功,非0为失败
		6.$$ 获取当前进程PID
		7.$! 上一个命令的PID
		8.read echo 输入输出
		9.prinf 输出
2.函数
	1.function _printf_() {  echo $1 return} 注意没有形参
	_printf_ “1111111” 调用
	2.流程控制
		1.if if [[  ]];rhen if 里是test表达式
		  else
		  fi
		  
		  eq == 
		  gt > 
		  lt < 
		  ge >=
		  le <= 
		  ne !=
		  
		2.case
			case $a in
			1)
			echo 1
			::
			esac
		3.循环 
			1.for
				1.for i in $@;do 
					    echo $i
				  done
				2.for((i=1;i<=100;i++));do
						echo $i
				  done
			2.while 
				  while [[ ]];do
						echo $i
				  done
			3.until
				  until [[ ]];do
						echo $i
				  done
3.数组
	1.read -a a
	2.declare -a a
	3.a=(1,2,3,4,5) 可以不定义
	a+= (6,7,8) 追加
	unset a 删除数组
	unset a[1] 删除单个元素
    4.echo {$a} 输出数组全部元素
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值