win下更改ip:本地连接右击属性,更改适配器。@market指market组。
如下将本地用户转变为samba用户即共享用户
。通过如下转变可实现该用户通过客户端访问服务器时提供验证标准了。
如下都是在文件末尾新添加的内容,都是逗号,writeable=no指除了下行外
都不能写。[manager]是共享名即对方能看到的网络文件夹名称,comment是可共享目录的描述信息(可加可不加),valid_users指谁可以访问。
windows里只需在共享文件夹名后面加一个$符号就能实现隐藏共享了。linux的samba中需修改主配置文件。如下将manager目录做一个隐藏。
如上操作后share文件夹就有读写权限了。如下设置win账号,因为默认禁止空密码登录。
pip install速度慢,用pip换源:进入python,看os在哪个py脚本里即python工作路径在1下,所以在1下建pip文件夹可以执行。
在桌面新建pip文件夹再拖进1,在pip里新建.txt,再改为.ini文件,点击打开输入下面代码保存。
apt install python3-pip --fix-missing(断开,cp /etc/apt/sources.list /etc/apt/sources.list.bak,python3 -m pip install --upgrade pip,apt-get update,pip install 包名 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com)
三个源:https://pypi.tuna.tsinghua.edu.cn/simple,https://pypi.douban.com/simple,https://mirrors.aliyun.com/pypi/simple
upgrade升级下numpy,看下载速度:pip install numpy -U
以上为windows换源,下面为ubuntu换源同理:cd ~
,mkdir .pip
,cd .pip
,gedit pip.conf
,将以下内容复制到pip配置文件pip.conf中,保存退出即可。
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host = mirrors.aliyun.com (上面http地址中间一部分,这行为了获取ssl证书,不然会报错)
到所在文件夹:pip install Shapely-1.6.4.post1-cp37-cp37m-win_amd64.whl
,conda install python==3.7
No module named ‘numpy.core._multiarray_umath’:pip install numpy -U -i https://pypi.tuna.tsinghua.edu.cn/simple/
No module named 'cv2.cv2:pip install opencv-python
出错:如上面下载对应版本再pip install,python -V
,pip -V
ffmpeg压缩软件链接为:链接:https://pan.baidu.com/s/1Pn1y76_HQULm9c7xaTrMXw 提取码:uvg4。
压缩
:将解压后的ffpeg软件和录音文件放在同一文件夹下,并在当前文件夹cmd,在cmd中输入命令并运行:ffmpeg -i "1.wav" -b:a 64k -acodec mp3 -ar 44100 -ac 1 "1.mp3"
。
-i "1.wav"
表示输入,后面的文件名必须要用双引号
-b:a 64k
表示音频的码率为64kb/s,即8kB/s
-acodec mp3
表示设定声音编解码器为mp3
-ar 44100
表示设定采样率为44100
"1.mp3"
表示输出保存的文件名
拼接
:新建文本list.txt
,复制下内容到其中
file '1.mp3'
file '2.mp3'
file '3.mp3'
cmd输入:ffmpeg -f concat -i list.txt -c copy "all.mp3"
,产生all.mp3
即拼接好了。
驱动:https://www.usb-drivers.org/ft232r-usb-uart-driver.html。
安装到了D盘里:D/office/Office15/VISIO.EXE。KMspico工具安装成功后,Visio同时也正常使用了,不需要任何操作。链接:https://pan.baidu.com/s/1hRGadTjU7cPqMTqaghVFSQ 提取码:e49y
如下关于office2013,mathtype,Axmath:链接:https://pan.baidu.com/s/1XJ9KBQeKxPqjIA692f1J9Q 提取码:tyi5 ,点下图红框标出进行安装:
复制下图文件到上图文件夹位置进行替换。
win10关闭更新:
此电脑-管理-服务-双击windows update。
选择文件夹右击"授权访问权限",选择"特定用户",添加"所有人",权限改为"读取与写入",以共享方式访问,就可删除文件夹了,还有删除里面文件就可删除文件夹了。
locate 文件:全局
rm \\
ctrl + H :显示隐藏文件
0,-1:0成功
0,1:0假
1.
内存卡插入读卡器
再插入电脑的usb接口,将u盘格式化为FAT32格式
。如果右击格式化没有FAT32则用格式化fat32工具:http://www.ridgecrop.demon.co.uk/guiformat.exe。树莓派系统官网:https://www.raspberrypi.org/downloads/raspbian/。下载完系统(1.9G),用写盘工具(https://www.balena.io/etcher/或win32diskimager
)将系统
写入u盘
,写完后不要格式化其他盘。
2.
树莓派插上内存卡,接上网线(网络认证)或连上wifi(连wifi,eth0信息为空,因为没有连接网线,wlan0显示内网ip)用ifconfig查看网络。service ssh start
开启ssh服务,树莓派默认用户名pi,密码raspberry,sudo netstat -antp
可查看到当前有22端口即ssh端口被监听,这时可关闭显示器。如果忘了树莓派内网ip,可用win下cmd中输入arp -a
查看局域网下所有ip和mac对应。本电脑就可以ssh连接树莓派再通过picocom -b 115200 /dev/ttyUSB0连接到机器,minicom -D /dev/ttyUSB0 登不上时进入/var/lock,删除lockfile,minicom又可正常启动。
如下图先删除所有,再在驱动1即固态上新建
满存再应用
,默认被分成4个区,选中分区4安装win10。
此电脑
右击管理
到磁盘管理(或搜索磁盘管理选择创建并格式化分区),右击删除卷(或压缩卷)
到未分配,右击新建简单卷
再命名。压缩卷C盘分出50G装ubuntu,ubuntu自动识别未分配
空间。
软碟通Ultraiso
将从itellyou
下载的win10镜像(用户customer版64位,复制链接迅雷下载)或ubuntu镜像写入U盘,Boot设置为UEFI启动U盘,legacy为老版本不用。下面两图都为f2。注意f12选择UEFI OPTIONS
:USB1…启动,进入安装界面会提示与其他系统共存。
# sv restart sensor-mon, ./sy..sh生成yocto文件夹
# 如下aliases.sh(在rootfs/etc/procfile.d, 参考环境变量章节)同init.d/setup_*.sh上电启动脚本。
alias ls='ls --color=auto'
alias i="ip addr show | grep 'inet '| grep ' eth0' | grep -v '240.1.1.1' | awk '{print $2}'|awk -F "/" '{print $1}'"
alias a="python3 /usr/local/bin/board_setup_routes.py"
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin #在脚本中只能对这行下面的执行脚本的路径生效,不能对外面的shell窗口生效,在shell窗口命令行下PATH=,echo $PATH才生效。
# if [ -f /sys/bus/i2c/devices/48-0058/mfr_id ]; then ln -snf /sys/bus/i2c/devices/48-0058/mfr_id /sys_switch/psu/psu1/model_name;fi
# model_name 必须不存在,相当于快捷方式
# ln -s $(find /sys/bus/i2c/devices/i2c-42/42-0048/hwmon -name "hwmon*" | tail -n 1)/name /sys_switch/temp_sensor/temp2/alias
# pwm:0%(cpld的0即0x0), 50%(cpld的127即0x7f), 100%(cpld的255即0xff)
过滤一下看文件大小:-print0将如上三行打印为1行并用null即‘\0’隔开,再用xargs -0即用‘\0’再分开(原因是默认管道到下一个里面空格会出错)。
如上/是整个系统搜索慢,如下是当前路径搜索快。
日志文件没清空非常大,要找到删除,如下找系统中大文件,超过10M。
如下查找文件夹,文件夹有相应名字或大小属性。
如下基于修改时间,time是天。-1
:今天一天之内。1
:1天前这一天。+1
:1天前。
如下指定最大文件深度。
如下是find指令总结。
echo “aa” >> 1.txt,追加内容。cat -n 1.txt(行号:number)。grep “a” 1.txt。
如下*
可换成 * .txt
。
-r:递归子路径,-n:显示行号。-i:忽略大小写。
如下用于java日志文件非常大,要grep出某个异常如ioexception,且需要打印出exception下面几行看什么出了错。
cat的文件非常大,非常占用cpu和内存,这时候可以每次读取一小部分。
如下通过空格往后翻页。
如下指定从第四行开始读。
如下查看前后10行。
如下打印文件最后两行,tail -f 阻塞监控。
df -h查看磁盘使用,占用率太高就需要使用前面find,grep指令并进行删除。
如上找出占空间的文件夹再去里面找。
题目:输出当前路径及当前路径子路径下所有.txt文件,要求大小超过1M,并且按照从大到小
顺序进行排序输出前10个?
先通过find . -name '*.txt' -size +1M -type f
查看是否有大于1M的txt文件,没有的话就不用继续了。
再通过find . -name '*.txt' -size +1M -type f -print0|xargs -0 du -m|sort -nr|head -10
。
linux文件系统中iNode用来存储文件原数据信息
,不存储文件内容
,原数据信息
包括:
类型
:这个文件是个目录还是普通文件。
拥有者
:这个文件是owner还是group owner。
时间
:ctime
:上次inode变动时间。atime
:上次访问时间。mtime
:上次文件内容发生变动时间。
连接数
:有多少文件名同时指向inode。一个文件名只对应一个inode
,但一个inode可能被多个文件名同时指向。
文件内容所在的位置
:文件真正内容所在磁盘块的标号。
1.
文件系统fs在格式化好后,inode以什么样格式存储的呢?整个inode以数组形式存储,每个元素是一个inode
,每个inode大小根据当前文件系统以及整个磁盘大小,inode会有一个固定128或256字节
大小。
2.
除了inode数组,fs初始化好后还会生成一个Map映射关系表
(存储filename和inode index)。现在要读取/ect/1.txt,整个过程怎么样?
先根据文件名到Map中找到inode index,找到下标为假如是3的inode后拿出来如下图左边整个框。当前在读取/ect/1.txt,所以查看是否有读权限,如果有读权限就继续往下,找到文件内容
所在位置(磁盘上块的下标)。
文件内容在磁盘中存储区域如下:以块
进行分隔,每个块大小
也是根据当前fs和整个磁盘大小决定,并不是一个特定大小【扇区在磁盘生产时
有多少个扇区,每个大小是定的,早期扇区512byte,现在4k】。文件系统fs在文件访问过程中不可能直接使用扇区,扇区是硬件
的概念,所以抽象出一个概念:fs角度去看最小文件存储单元就是块
,一个块可以有一个或多个扇区组成(2的幂次方即1,2,4…个扇区)。
一个块采用多少扇区也是有权衡的,比如一个块有好几兆,存一个1k文件也要占一个文件块,造成磁盘空间浪费。块选择过小的话也不好,如果一个块大小1bit,导致一个文件假如是1kb,它所在的块由1千个块组成
,在inode中存储文件内容所在位置这个字段时候造成存1千个块信息(1千个块下标),一个inode(存1千个块下标)不可能128/256字节大小了
,一个inode会很大,进而导致inode数组会很大,整个inode区大,这样导致磁盘损耗大量空间存储inode信息,较少的空间存储真正文件内容。
即使进行权衡,目前存在问题,如经常听到inode用完了即inode数组初始化大小用完了
,声明完数组大小后不能增加或减少了。inode数组用完了即使磁盘还有额外空间也不能存储文件了,常见特别零碎文件数量又特别多占据磁盘大量inode导致整个inode用完。如早期docker采用overlay文件存储格式导致镜像的碎文件很多,导致inode用尽这样问题,后面采用overlay2文件存储格式一定程度上解决了这问题。
查看linux系统中inode数组以及每个文件所对应inode标号:df -i(inode)
,查看当前文件夹下文件所在的inode标号是什么ls -il
。访问1.txt先查文件名和inode标号映射即Map,1.txt能找到270306
这个标号。根据这个标号到1183200这个数组中拿取第270306个
标号的inode。根据这个inode信息查看权限,最终找到1.txt在磁盘中存储位置,最后把这些磁盘块进行读取,最终读取到1.txt这个文件。
如果是一块移动硬盘,在其他设备上创建了文件,把这个移动硬盘拿到linux上面,有没有inode呢?
1.
os可以支持多种fs。2.
inode是在ext2/3/4等linux支持的文件系统(fs)有的。所以移动硬盘看是什么文件系统
了,如果是ntfs或者exfat、fat32等等就是另一种访问形式了,inode其实是文件系统里的概念,而不是linux的概念。
#include
#include
int main() {
DIR *dir;
struct dirent *node;
dir = opendir("."); // 打开当前目录
if (dir == NULL) {
printf("无法打开目录\n");
return 1;
}
while ((node = readdir(dir)) != NULL) { // 遍历目录, node->d_name是文件或目录名
if (node->d_type == DT_REG) {
printf("文件: %s,%d\n", node->d_name, DT_REG); // DT_REG:8
} else if (node->d_type == DT_DIR) {
printf("目录: %s,%d\n", node->d_name, DT_DIR); // DT_DIR:4
} else if (node->d_type == DT_LNK) {
printf("符号链接: %s,%d\n", node->d_name,DT_LNK); // DT_LNK:10
} else {
printf("其他类型: %s\n", node->d_name);
}
}
closedir(dir);
return 0;
}