嵌入式开发必备linux基础
来源:互联网 发布:小区网络管理 编辑:程序博客网 时间:2024/05/02 01:04
一、菜鸟级基础篇
关机:shutdown -h now
数据写入磁盘:sync
Linux环境下注释:#
查看当前目录下文件: ls #仅列出文件名
ls -l #列出文件名与文件详细信息
ls -al #列出包含隐藏文件在内的文件名与文件详细信息
ls -l filiename #仅列出filename的详细信息
显示当前目录:pwd
进入指定目录:cd 相对路径/绝对路径
相对路径:不从根目录写起的路径
绝对路径:从根目录“/”写起的路径
“-”表文件;“d”表目录;“l”表连接文件,相当于windows下的快捷方式
文件名前有“.”表明该文件为隐藏文件
文件名有“*”表明列出与“*”其余部分关键字重合的文件
touch 文件名:创建文件
cat -n 文件名:打印行号查看文件
Tab键按两次:补齐内容操作
man 命令:命令简介
. #当前目录
.. #上一层目录
~ #主目录
二、查询
file 文件名 #查询文件类型
locate/whereis 文件或目录 #快速查找,从现有数据库中查找,而非磁盘
find 路径 -name文件名/缺省类文件名* #find相关命令过于繁杂,这里仅列出最常用的一个,其余可具体参考man find
三、文件与目录
Linux下目录即相当于windows下的文件夹
文件与目录的复制、删除与移动:
常用复制命令:cp 源文件 目标文件 #普通复制,复制时会将执行者的权限一同复制
cp -a #将源文件所有属性一起复制过来
cp -i #互动模式,若目标文件已存在,覆盖时会事先询问是否覆盖
cp -r #递归复制,用于目录复制时
常用删除命令:rm 文件或目录
rm -r #递归删除,用于目录删除时
rm -i #互动模式,删除前询问用户是否删除
常用移动命令:mv 源文件或目录(可以多个) 目录 #mv也可作为更名操作
mv -i:互动模式,若目标文件已存在会询问是否覆盖
创建目录:mkdir -m xxx 目录名 #创建时直接设定目录权限
mkdir -p 目录名 #递归创建
删除目录:rmdir 目录名 #仅删除空的目录
rmdir -p 目录名 #连同上层空的目录一起删除
四、权限设置
一般设置:chown -R 账号名称 文件或目录 #递归修改所有者,多个账号用冒号隔开
chgrp -R 账号名称 文件或目录 #递归修改所属用户组
chmod -R xxx 文件或目录 #递归修改权限,r:4 w:2 x:1
chmod u=r/w/x ,g=,o= 文件或目录
chmod u+r/o+w 文件或目录
特殊权限:chmod xxxx 文件或目录 #第一个x:4为SUID,2为SGID,1为SBIT。当有x的权限时才可设置特殊权限。三者特殊权限仅对二进制程序起作用,SUID表示执行者在执行过程中会获得所有者的权限,SGID表示程序执行时会获得所属用户组的权限,SBIT表示只针对目录有效当用户对目录拥有wx权限时,用户在该目录创建的文件或目录,只有自己与root才可以删除。 三者设置完成后通常会在x位置分别显示s,s,t空状态(没有x的权限)时为大写。
chmod u+s,g+t 文件或目录 #符号法设置
ACL权限设置:ACL主要目的是提供传统的权限之外的具体权限的设置。ACL可以针对单一用户,单一文件或目录来进行r,w,x的权限设置。对于需要特殊权限的使用状况非常有帮助。
启动ACL: 使用mount,可以直接查看挂载参数的功能。如果没有acl,则说明挂载的时候没有开启acl权限。那么我们可以使用dump2fs -h /dev/sda2命令来查看该块设备的状态信息。其中有一行Default mount options: *****,如果****中有acl,则说明支持acl。接下来,我们可以使用mount -o remount,acl / 的命令来重新挂载根分区,这样就打开了acl权限。
如果想要每次开机都生效,可以编辑/etc/fstab,并修改相关参数。
/dev/sda1 / ext4 defaults,acl 1 1
ACL设置技巧:setfacl [-bkRd] [{-m|-x} acl参数] 目标文件名
参数: -m:设置后续的acl参数给文件使用,不可以与-x合用。
-x:删除后续的acl参数,不可与-m合用。
-b:删除所有的acl设置参数。
-k:删除默认的acl参数。
-R:递归设置acl。
-d:设置默认的acl参数,只对目录有效。在该目录下新建的数据会用此默认值。
设置acl权限:
setfacl -m u:(用户名):(赋予的权限) 目录或文件
setfacl -m u:st:rx /project/
setfacl -m g:(组名):(赋予的权限) 目录或文件
setfacl -m g:tgroup2:rwx /project/
查看ACL设置:
getfacl 目录
删除指定组用户的acl权限:
setfacl -x g:组名 文件名
删除指定用户的acl权限
setfacl -x u:用户名 文件名
删除文件下所有acl权限
setfacl -b 文件名
默认acl权限和递归acl权限的区别
1、默认的只对新建的文件和目录会继承该acl权限,以前建立好的,没有这个功能,如果以前建立好的文件和目录要有该acl权限,得用递归acl权限。
2、递归的alc权限,只对以前创建好的文件和目录能有该acl权限,对于后来新建的没有,默认和递归的作用正好相反。
3、默认acl权限 setfacl -m d u:用户名:权限 -R 目录
递归acl权限 setfacl -m u:用户名:权限 -R 目录
五、用户与用户组
su - 用户名 #更改登录用户
sudo -u 用户名 操作 #更换用户执行某操作
groups #查询当前用户所属用户组
newgrp 用户组 #更改有效用户组
useradd -u UID号 -g初试用户组 用户名 #添加用户并指定初试用户组和UID号
passwd 用户名 #更改用户密码,新建用户不设密码不能使用
userdel -r 用户 #连同用户主文件夹一同删除
groupadd 用户组 #新建用户组
groupdel 用户组 #删除用户组
六、进程管理
ps -a #查看所有进程
pstree #显示进程树
kill -9 进程号#删除进程
top 显示内存信息
七、打包与压缩
打包:tar -czvf FileName.tar DirName
解包:tar -zxvf FileName.tar
压缩:gzip -v FileName 解压:gzip -d FileName.gz
压缩:bzip2 -v FileName 解压:bzip2 -d FileName.bz2
八、磁盘管理
fdisk -l #查看磁盘分区
- 嵌入式开发必备linux基础
- linux下的嵌入式开发技能(嵌入式工程师必备)
- 嵌入式必备Linux源码
- l嵌入式开发--linux基础命令操作
- 零基础嵌入式Linux开发工程师培训
- 嵌入式开发基础--Linux常用命令介绍
- Linux环境下arm嵌入式开发基础
- [资料]学习必备嵌入式开发板-4412开发板ARM+Android+linux技术全覆盖
- Linux开发必备工具
- 转:嵌入式开发前景 新手必备知识
- 嵌入式开发视频地址,经典必备
- 嵌入式系统开发入门一:必备基础知识
- 嵌入式系统开发入门一:必备基础知识
- 嵌入式开发基础
- 嵌入式开发基础(1)
- 嵌入式开发基础(2)
- 嵌入式开发基础(3)
- 嵌入式开发基础(4)
- 动态网页
- QT 不阻塞线程,达到延时的作用
- PopUpWindow使用详解(二)——进阶及答疑
- div边框重叠 解决办法
- 研究:生女儿的父亲更平等、更大方、更长寿
- 嵌入式开发必备linux基础
- 机器学习步骤
- JAVA 设计模式学习总结
- SpringIOC的几种注入方式
- Java 数组去重
- ubuntu命令行配置网络
- Fork/Join并发编程
- 用U盘做启动盘安装ubuntu系统
- mysql(修改表名,列名,添加表列,删除表列,修改列类型,修改表列名)