@和原子哥一起学习Linux
最近入手一块正点原子购买的阿尔法Linux开发板,在此做下学习笔记,方便后续查阅,希望自己有所长进。
1、VMware安装和Ubuntu安装
此处遇坑无数(致敬我差点被打消的学习热情)
1、虚拟机好用了一天,之后忽然电脑无法打开ubantu,每次打开自动蓝屏,然后重启
根据网上的方法,查找时忽然发现自己刚买回的电脑是家庭版,重装了专业版的系统,重装虚拟机恢复了。
2、虚拟机本来还好用的,晚上Win10自动更新,还是蓝屏,吐血。。
按照网上的方法操作一波还是不好用,实在烦了就重装ubuntu,我一发狠就直接把win10更新到最新版!然后发现先ubuntu蓝屏了。。。。
再按照教程还是不行,最后无意间翻到这个是VMware版本的原因!!
将VMware15升级到重装VMware16,就好了,感谢大神们在网上的分享。
2、安装
安装VMware tools
sudo su -> cd 桌面 -> ls
->cd vmware(tab)…->ls
->sudo ./vmware(tab)…(注意里面的no,需要输入y)
安装其他
Sudo apt-get install git(下载比较慢)
Sudo apt-get install mplayer
编译安装使用 -> make install
3、文件系统结构
一切皆文件。
4、绝对路径和相对路径
绝对路径:从根目录“/”算起的路径(cd /)。
相对路径:相对于目前路径的文件名写法(cd ./)。
5、磁盘
cd /dev(对应设备)->ls sd*(sd设备 sdb表示U盘 sdb1 表示分区)
df 表示文件系统整体使用量
du 表示文件内文件大小
du -h --max-depth=1 显示一层目录文件大小
卸载磁盘
需要先解锁磁盘
sudu umount /media…(磁盘挂载点)
安装磁盘
创建文件挂载点在media中的用户下-sudo mkdir u
在dev中挂载 sudo mount (-o iocharset=utf8) 想要挂载的u盘的第一个分区 需要挂载的文件中
查看磁盘分区
fdisk -l
sudo fdisk /dev/sdb(操作分区)
磁盘格式化
mkfs
6、压缩和解压
gzip —>.gz(不打包)
bzip2 —>.bz2
tar(打包) -vcjf -vcjf
例如linux源码使用gz压缩(www.kernel.org/)
7、权限管理
ls -l 查看
rw-rw-r—就是文件权限,第一位表示文件类型,剩下的每三位表示一组权限。分别对应拥有者权限、拥有者所在组权限、其他用户权限。
1、修改文件权限命令
chmod命令
2、修改文件所属用户
chown命令
8、连接文件
ln命令用于创建连接文件
分为软连接(必须使用绝对路径)和硬链接(相当于文件实体多了入口)
9、vim编译器
sudo vi /etc/vim/vimrc
设置TAB = 4 空格
set ts =4
显示行号
set nu
10、make Makeflie
Make 的执行过程:
1、 make 命令会在当前目录下查找以 Makefile(makefile 其实也可以)命名的文件。
2、当找到 Makefile 文件以后就会按照 Makefile 中定义的规则去编译生成最终的目标文件。
3、当发现目标文件不存在,或者目标所依赖的文件比目标文件新(也就是最后修改时间比
目标文件晚)的话就会执行后面的命令来更新目标。
- Makefile 中可以写注释,注释开头要用符号“#”
- 使用“=”在给变量的赋值的时候,不一定要用已经定义好的值,也可以使用后面定义的值,赋值符“:=”不会使用后面定义的变量
- “?=”如果前面已经赋过值了,那么就使用前面赋的值。
- 目标中的“%”表示对文件名的匹配,“%”表示长度任意的非空字符串,通配符“%”只能用在规则中,只有在规则中它才会展开
- $< 依赖文件集合中的第一个文件
- .PHONY : clean 声明伪目标
- ifeq 用来判断是否相等,ifdef 如果“变量名”的值是否为非空
例如
1 #定义Makeflie变量
2 objects =main.o input.o calcu.o
3
4 main: $(objects)
5 gcc -o main $(objects)
6 %.o: %.c
7 gcc -c $<
8
9 clean:
10 rm *.o
11 rm main
10、shell脚本
- shell脚本第一行一定要为:#!/bin/bash 表示使用bash。
- read -p 提示符 参数
- [ ] ==或 != 判断
- $ 0 ~$ n,表示shell脚本的参数
$0:hell脚本命令本身
$#:#表示最后一个参数的标号。
$@:表$1、$2、$3…