RVVM - RISC-
V 虚拟机
用С编写的RISC-
V CPU和系统软件实现
OpenSBI,自定义固件启动并正确执行
Linux内核启动!
Linux用户空间工作,通过UART交互shell
帧缓冲图形,使用鼠标和键盘工作
原始映像挂载为 rootfs
解决更换git账号后 每次git push/pull总输入账号密码问题
【linux环境下】
1、删除/root/.git-credentials文件
2、git config --global credential.helper store
3、重新执行git push/pull一次 输入账号密码,以后就不会再提示了
在linux系统中,每个文件或者目录都有权限,如何查看这个权限呢?我们可以通过ls -l命令来查看某个目录下的文件或者目录权限。
如上图所示,我们可以看到,所有的文件前面都有两个root,第一个root表示用户名,第二个root表示用户组,在默认的情况下,创建用户的时候就会自动创建一个同名的用户组,然后前面的数字表示这个文件有多少个软硬连接。
最前面的信息表示的是权限,也就是本文的核心,它的内容为:
最前面的是文件类型:
d:代表目录
-:代表文件
l:代表连接(可以认为是window中的快捷方式)
b:块特殊文件,指设备,比如优盘
c:字符特殊文件,指设备,比如终端
f:命名管道,通信相关
s:套接字文件,通信相关
然后后面的9位分为3组,每3位为一组,分别表示属主权限、属组权限(与当前用户同组的用户的权限)、其它用户的权限
属主权限:谁创建的这个文件,属主就是谁
属组权限:该文件创建者所在的组,同组者
其它用户权限:其它组的用户
r:代表权限是可读,r也可以用数字4表示
w:代表权限是可写,w也可以用数字2表示
x:代表权限是可执行,x也可以用数字1表示
目录:
x:进入目录
rx:显示目录的文件名
wx:修改目录的文件名
修改文件/目录的权限
现在我们想要将aaa.txt文件的权限修改为:属主有全部权限(rwx),属主所在的组有全部权限(rwx),其他用户只有读的权限(r):
chmod u=rwx,g=rwx,o=r aaa.txt
=标识设置权限(会覆盖之前的权限),+表示增加权限,-表示减少权限
u表示用户权限,g表示组权限,o表示其它权限,a表示所有
如何将权限设置为空
chmod a= 1.txt的意思是将1.txt的所有的权限设置为空
a就是all表示所有,表示user、group、other
还可以进一步的省略,省略ugo,省略rwx
r对应4,w对应2,x对应
1,所以6=4+2表示rw,也就是读和写,所以我们可以将chmod u=rwx,g=rwx,o=r aaa.txt修改为:
chmod 774 aaa.txt
那么我们就可以得到aaa.txt的权限为:
如果属主有权限,属组没有权限,那么也没有权限,优先级属主大于属组
修改目录中的所有权限
当我们修改目录中权限的时候,仅仅修改了文件夹的权限,但是文件夹内部的文件或者文件夹的权限并不会修改,那么如何才能当修改文件夹权限的时候,将里面的文件或者文件的权限也相应的修改呢?在修改权限的最后加一个-
R。
在文件夹a中有一个文件夹b,那么修改文件夹a的过程中使用命令是chmod 777 a -
R,那么效果就是将a下面的b目录的权限也修改成了777
如何修改文件的所有者
更改属主(用户)和属组(组)
修改属组
chown :组名 文件或目录
chgrp修改文件的所属组
网络
Linux 教程及性能优化实战
Linux中要想把 linuxxx 数据库中的内容导出为一个文件(保存到 root 管理员的家目录中),应该执行什么命令?
应执行 mysqldump -u root -p linuxxx > /root/linuxprobeDB.dump 命令。
【香橙派开发板使用小贴士】
Q:香橙派双千兆网口的r1plus开发板,使用linux系统,如何切换成root用户
A:在Ubuntu PC中使用 sudo -i 命令,就可以将当前用户切换成root用户, 这个是linux系统通用的命令
切换用户后,/etc/profile的配置不起效
遇到的问题
在配置linux的时候,发现一个问题:su root切换到root用户后,/etc/profile 中配置的PATH不起效果。
问题分析和疑问
是不是/.profile,/.bashrc等初始化当前用户的脚本有非法的初始化操作覆盖了PATH ?
/etc/profile 定义的PATH不是全局有效吗?
解决办法
疑问1很快排除了,后来上网找到解决思路。
用su - root 代替 su root
跟着文中提到的几个概念(登录shell,交互shell),查了一下资料,思路终于理清了。
不同用户初始的PATH是不一样的。切换用户系统会先将PATH设为初始值,然后再根据调用的初始化脚本,添加PATH中的路径。并不是所有用户共用一个PATH。
su - root,产生一个登录shell去执行后面的指令。登录 shell 执行的是shell 登录的流程,会执行 /etc/profile,/etc/profile.d/下定义的*.sh都会执行。
su root,产生一个非登录交互shell,非登录交互shell,只执行用户家目录下 .profile等配置文件。
一些相关的概念
shell 是用户和操作系统内核通信的接口。
由于历史的原因,产生了很多shell的办法。/etc/shells文件记录了当前系统可用的shell。linux 系统默认的shell是bash。
可以通过命令: ps -ef | grep bash 查看当前活跃的shell
exit 当前shell(login shell可以用logout退出)。
echo $可以查看当前shell ID , 退出shell前后可以执行这个指令进行验证。
打卡第23天
测试过程中经常使用的Linux命令:
1. 切换系统用户:sudo,比如切换root账户,则使用命令:sudo root
2. 查看系统当前运行进程:ps –ef|grep java,如果是java程序可以grep java,如果已经知道应用名字,也可以使用命令:ps –ef|grep 应用名称
3. 只输出进程的ID号:ps -ef|grep 应用名|awk '{print $2}'
awk 主要是处理每一行字段内的数据,默认的分隔符为空格键或[tab]键
print $
2 表示将分隔之后的第2个字段打印到屏幕上
比如上面命令,先根据ps -ef|grep 应用名查到进程,查到的结果中第一个字段是当前用户,第二个字段是当前进程的进程号,如果只取进程号,那么只输出第2个字段即可
4. 查找当前目录下名称为测试的所有文件:find . -type f -name ‘测试’
find命令用来在指定路径查找文件
-type f表示查找的是一般文件
-name 表示查找名称为测试的文件
5. 统计文件有多少行:wc –l 文件名称
wc命令用来统计文件的字、行或字符数
-l 表示列出文件行数
-w 表示列出文件字数(英文单字)
-m 表示列出文件字符数
linux 什么是root帐户?
在Linux系统中,root是一个超级用户账户,也被称为系统管理员账户。root账户拥有系统上所有操作的最高权限,可以对系统进行任何操作,包括创建和删除文件、修改系统配置、安装和卸载软件等。
一般情况下,root账户是预先存在于系统中的,且默认被禁用。只有在必要时才会通过特殊的方式启用root账户,并在完成操作后禁用它。
因为root账户具有如此高的权限,所以需要特别小心和谨慎地使用它。在普通用户账户下,可以使用sudo命令来暂时获取root账户的权限来执行需要的操作,避免直接使用root账户造成的潜在风险。
今天,Linux回炉的第五天
chown修改用户和组的名字
chown -R(递归) user(用户) :group(组) filename(文件名字)
chmod修改权限
chmod 777 文件名字
root权限和user权限
我认为的
普通用户,权限是类似于租客与房东一样
root就像房东一样,规定你只能住这间房子你可以开这个门的权限
然后,可以操作房间里面的东西,
但是其他房间你只能站在门口看一下你无权操作房间里的东西,
如果需要操作则需要该房间的主人授权
用户组,权限就像闺蜜一样,可以使用其主人房间的所有资源
文件权限
rwx rwx rwx, 第一个rwx是用户的权限(r读w写x执行)如果为-就是没有该权限
第二rwx是用户组的权限,第三个是其他用户的权限
r=4 w=2 x=1
文件的权限是644
文件夹的权限是755
在针对中间件稳定的问题上我写了一个shell主要是通stat -lntup|grep 80|sed -n &39;|sed & 34;|awk -F&39; '{ print $
2 }'|awk -F&39; '{ print $
2 }'|awk -F' ' '{ print $
1 }' 进行一个判断端口是否存在,放在定时任务中,可是老是不执行,看shell没有问题,最后,在别人的提醒下做了
chmod a+x 1.sh
最后,开发要的是进程ps -ef
我靠,你知道我回忆过去有多困难吗
文件的所有者没有写的权限但是一定可以写在文件上的