linux中的权限

【Linux】linux权限设置 文章目录一、shell1. shell概念2. 进程二、用户1. 用户分类2. 用户切换三、权限1. 临时权限提升2. 权限的属性3. linux中角色类别4. 第一列文件属性四、修改权限1. 修改文件权限2. 修改文件所属3. 修改文件权限八进制4. 粘滞位五、linux默认权限设置1. 默认权限2. 权限掩码 linux/sentos 是一个操作系统 广义上,linux发行版 = linux内核版本 + 外壳程序(狭义上不包括) 外壳程序:shell、bash 对应windows系统下的gui, 阅读详情

第1章 显示或设置网络相关信息

1.1 ip address 与ifconfig 类似

[root@znix ~]# ip address

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 scope host lo

    inet6 ::1/128 scope host

       valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:a8:e4:14 brd ff:ff:ff:ff:ff:ff

    inet 10.0.0.201/24 brd 10.0.0.255 scope global eth0

    inet6 fe80::20c:29ff:fea8:e414/64 scope link

       valid_lft forever preferred_lft forever

1.2 显示第一块网卡 ip a s eth0

[root@znix ~]# ip a s eth0

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:a8:e4:14 brd ff:ff:ff:ff:ff:ff

    inet 10.0.0.201/24 brd 10.0.0.255 scope global eth0

    inet6 fe80::20c:29ff:fea8:e414/64 scope link

       valid_lft forever preferred_lft forever

1.2.1 ip address show eth0

[root@znix ~]# ip address show eth0

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:a8:e4:14 brd ff:ff:ff:ff:ff:ff

    inet 10.0.0.201/24 brd 10.0.0.255 scope global eth0

    inet6 fe80::20c:29ff:fea8:e414/64 scope link

       valid_lft forever preferred_lft forever

第2章 查找命令的位置

2.1.1  which 命令

which 是根据PATH 变量里的内容来查找。

[root@znix ~]# which awk

/bin/awk

2.1.2 find 命令

"*awk*" 找其中包含的字段。模糊查找。

[root@znix ~]# find / -type f -name "*awk*"

2.1.3 whereis

找出与命令相关的帮助的位置

[root@znix ~]# whereis awk

awk: /bin/awk /usr/bin/awk /usr/libexec/awk /usr/share/awk /usr/share/man/man1/awk.1.gz /usr/share/man/man1p/awk.1p.gz

2.1.4 locate

    根据名字找文件 (根据一个表格找,表格需要更新,一般不用)

更新 locate数据库的命令update db

[root@znix ~]# locate oldboy.txt

/data/oldboy.txt

/oldboy/oldboy.txt

/oldboy/20170118/oldboy.txt

/root/oldboy.txt

/root/123/oldboy.txt

/root/123/oldboy.txt-hard

/root/123/oldboy.txt.bak

第3章 查看系统哪些用户在线

w 命令,可以显示谁登陆了,并显示干什么。

[root@znix ~]# w

 09:01:01 up 3 days, 10:50,  4 users,  load average: 0.00, 0.00, 0.00

USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT

root     tty1     -                24Aug17  7days  0.00s  0.00s -bash

root     pts/0    10.0.0.1         Mon14   13:22m  0.05s  0.05s -bash

root     pts/1    10.0.0.1         Mon20    0.00s  1.71s  0.00s w

root     pts/2    10.0.0.1         Mon20   12:30m  0.00s  0.00s -bash

第4章 系统关机相关命令

4.1 关机

shutdown 10       十分钟后关机

shutdown -h 10    十分钟后关机

shutdown -h now   关机

shutdown -c       取消 关机/重启

halt              关闭系统,不关闭电源

4.2 重启

shutdown -r 10   重启

reboot           重启,没有提示

第5章 快捷键系列

5.1 Linux命令行中

ctrl+d    退出当前用户  logout/exit

 

ctrl+a    把光标移动到这一行的开头

ctrl+e    把光标移动到这一行的行尾

 

ctrl+u    剪切 光标所在位置到行首

ctrl+k    剪切 光标所在位置到行尾

 

ctrl+y    粘贴

 

ctrl+r    查找历史的命令history

(reverse-i-search)`-F': stat /etc/hosts | awk -F "(" 'NR==4 {print $2}'

 

ctrl+→   向右移动光标 移动一个单词的位置

ctrl+←   向左移动光标 移动一个单词的位置

 

ctrl+s   锁屏  

ctrl+q   解锁

5.2 vim/vi中的快捷键

G          把光标移动到这个文件的最后一行

gg         把光标移动到这个文件的第一行

:set nu    显示行号

:set nonu  不显示行号

dd         删除光标所在这一行

dG         删除光标所在位置到行尾

o          光标所在位置的下一行插入空行,并进入编辑模式

第6章 权限基础

6.1 rwx含义

r     read      读

w    write      写

x    execute    执行

r==4 w==2 x==1

rw-          r--             r--

文件所有者   所有者属于的组 隔壁老王

6.2 如何找到当前用户对某个文件拥有什么权限

6.2.1 看看你是谁

使用命令id 或whoami 可以查看,还可看命令行中的用户。

[root@znix oldboy]# id

uid=0(root) gid=0(root) groups=0(root)

[root@znix oldboy]# whoami

root

6.2.2 看你跟这个文件什么关系

linux中权限的三种关系主人 陌生人 家人

6.2.3 根据关系找到权限

[root@znix ~]# ls -l /etc/hosts

-rw-r--r--. 2 root root 250 Aug 28 11:31 /etc/hosts

这个文件权限为rw-r--r-- 属于root用户,root用户拥有读写权限。

6.3 如何修改权限

使用chmod命令丢文件或目录的权限进行修改。

chmod  ==== change mode

u  == user    文件所有者 主人

g  ==group   家人

o  ==others   陌生人

6.3.1 创建一个文件,默认权限644

[root@znix ~]# touch oldboy.sh

[root@znix ~]# ll oldboy.sh

-rw-r--r-- 1 root root 0 Sep  5 10:54 oldboy.sh

6.3.2 给所有者加上x权限

[root@znix ~]# chmod u+x oldboy.sh

[root@znix ~]# ll oldboy.sh

-rwxr--r-- 1 root root 0 Sep  5 10:54 oldboy.sh

6.3.3 都加上执行权限

chmod +x   chmod a+x  chmod ugo+x

[root@znix ~]# chmod +x oldboy.sh

[root@znix ~]# ll oldboy.sh

-rwxr-xr-x 1 root root 0 Sep  5 10:54 oldboy.sh

6.3.4 把文件权限设置为755

[root@znix ~]# ll oldboy.sh

-rwxrwxrwx 1 root root 33 Sep  5 11:01 oldboy.sh

[root@znix ~]# chmod 755 oldboy.sh

[root@znix ~]# ll oldboy.sh

-rwxr-xr-x 1 root root 33 Sep  5 11:01 oldboy.sh

6.3.5 更改文件所有者

chown === chang own 修改文件的所有者和用户组

[root@znix ~]# chown oldboy.oldboy oldboy.sh

[root@znix ~]# ll oldboy.sh

-rwxr-xr-x 1 oldboy oldboy 33 Sep  5 11:01 oldboy.sh

 

6.4 rwx 对与文件或目录的含义

测试文件的rwx含义

6.4.1 测试环境

groupadd incahome

useradd oldboy  -g incahome

useradd oldgirl -g incahome

usermod -g incahome oldboy

usermod -g incahome oldgirl

useradd test

id oldboy

id oldgirl

id test

6.4.2 创建文件

mv /oldboy   /tmp/oldboy_bak$(date +%F)

mkdir /oldboy -p

echo "echo oldboylinux" >/oldboy/test.sh

chmod +x /oldboy/test.sh

cat /oldboy/test.sh

ls -l /oldboy/test.sh

6.4.3 修改文件所有者

[root@znix oldboy]# chown oldboy.incahome test.sh

[root@znix oldboy]# ll

total 4

-rwxr-xr-x 1 oldboy incahome 17 Sep  5 11:27 test.sh

 

6.4.4 测试读属性 r

使用root 进行修改权限,让oldboy用户,仅有读权限。

[root@znix oldboy]# chmod u=r test.sh

[root@znix oldboy]# ll test.sh

-r--r-xr-x 1 oldboy incahome 17 Sep  5 11:27 test.sh

可以查看

[oldboy@znix oldboy]$ cat test.sh

echo oldboylinux

不能写入

[oldboy@znix oldboy]$ echo "pwd" >>test.sh

-bash: test.sh: Permission denied 权限不足

不能执行

[oldboy@znix oldboy]$ /oldboy/test.sh

-bash: /oldboy/test.sh: Permission denied

6.4.5 测试文件读 w 权限

[root@znix oldboy]# chmod u=w test.sh

[oldboy@znix oldboy]$ ll test.sh

--w-r-xr-x 1 oldboy incahome 17 Sep  5 11:45 test.sh

不可以看

[oldboy@znix oldboy]$ cat test.sh

cat: test.sh: Permission denied

可以往里写

[oldboy@znix oldboy]$ echo "pwd" >> test.sh

不能执行

[oldboy@znix oldboy]$ /oldboy/test.sh

-bash: /oldboy/test.sh: Permission denied

6.4.6 测试文件执行 x 权限

[root@znix oldboy]# chmod u=x test.sh

[root@znix oldboy]# ll test.sh

---xr-xr-x 1 oldboy incahome 21 Sep  5 11:48 test.sh

       x权限对文件单独使用,没有作用

[oldboy@znix oldboy]$ cat test.sh

cat: test.sh: Permission denied

[oldboy@znix oldboy]$ >> test.sh

-bash: test.sh: Permission denied

[oldboy@znix oldboy]$ /oldboy/test.sh

bash: /oldboy/test.sh: Permission denied

6.4.7 对于文件rwx 小结

r   查看文件的内容

w  修改文件的内容 需要r权限的配合

x   执行文件的权限 需要r的权限配合

6.5 测试对于目录的rwx

r    显示目录里的内容 相当于ls

w   对目录里面的内容就行修改 可以在目录中删除,创建文件

x    进入到目录中的权限 cd  是否能查看目录里面的文件属性信息

6.5.1 实验环境

[root@znix oldboy]# tree oldboydir/

oldboydir/

├── 1.txt

├── 2.txt

└── 3.txt

 

0 directories, 3 files

目录所有者改为oldboy

[root@znix oldboy]# ll

drwxr-xr-x 2 root   root     4096 Sep  5 12:10 oldboydir

[root@znix oldboy]# chown oldboy.incahome oldboydir/

[root@znix oldboy]# ll -d oldboydir/

drwxr-xr-x 2 oldboy incahome 4096 Sep  5 12:10 oldboydir/

6.5.2 测试目录的读权限 r

修改目录权限,仅有可读

[root@znix oldboy]# chmod u=r oldboydir/

[root@znix oldboy]# ll -d  oldboydir/

dr--r-xr-x 2 oldboy incahome 4096 Sep  5 12:10 oldboydir/

       无法进入目录

[oldboy@znix oldboy]$ cd oldboydir/

-bash: cd: oldboydir/: Permission denied

       只能查看目录里的文件名,不能查看详细信息。

[oldboy@znix oldboy]$ ll oldboydir/

ls: cannot access oldboydir/3.txt: Permission denied

ls: cannot access oldboydir/2.txt: Permission denied

ls: cannot access oldboydir/1.txt: Permission denied

total 0

-????????? ? ? ? ?            ? 1.txt

-????????? ? ? ? ?            ? 2.txt

-????????? ? ? ? ?            ? 3.txt

6.5.3 测试目录的写权限 w

[root@znix oldboy]# chmod u=w oldboydir/

[root@znix oldboy]# ll -d  oldboydir/

d-w-r-xr-x 2 oldboy incahome 4096 Sep  5 12:10 oldboydir/

       仅有写权限,不能查看目录里的内容,不能对目录中的文件进行修改。

[oldboy@znix oldboy]$ ls oldboydir/

ls: cannot open directory oldboydir/: Permission denied

[oldboy@znix oldboy]$ \rm -f oldboydir/1.txt

rm: cannot remove `oldboydir/1.txt': Permission denied

6.5.4 测试目录的写执行权限 wx

[root@znix oldboy]# chmod u=wx oldboydir/

[root@znix oldboy]# ll -d  oldboydir/

d-wxr-xr-x 2 oldboy incahome 4096 Sep  5 12:10 oldboydir/

       不能参看目录里文件的信息,但是可以第一已知文件进行

[oldboy@znix oldboy]$ ls oldboydir/

ls: cannot open directory oldboydir/: Permission denied

[oldboy@znix oldboy]$ \rm -f oldboydir/1.txt

[oldboy@znix oldboy]$

6.5.5 目录的rwx小结

对于目录来说

r   显示目录里的内容 相当于ls  需要x配合

w   对目录里面的内容就行修改 可以在目录中删除,创建文件 需要x权限的配合

x   进入到目录中的权限 cd  是否能查看目录里面的文件属性信息

第7章 rwx 对与文件或目录的含义

7.1 对于文件rwx

r  查看文件的内容

w  修改文件的内容 需要r权限的配合

w权限需要r的配合  

只有w权限的时候,文件的所有者可以强制修改(vim),但是原文件内容消失

x  执行文件的权限 需要r的权限配合

7.2 对于目录rwx

r   显示目录里的内容 相当于ls  需要x配合

w   对目录里面的内容就行修改 可以在目录中删除,创建文件 需要x权限的配合

x   进入到目录中的权限 cd  是否能查看目录里面的文件属性信息

Vivado/Vitis 2024.2工程创建与GPIO操作[可运行源码] 本文详细介绍了在Vivado/Vitis 2024.2环境下创建工程和操作GPIO的完整流程。内容包括ZYNQ MIO结构解析、Vitis环境设置(如串口助手使能、字体调整、库函数源码查看)、MIO(GPIO)常用库函数的使用(初始化、方向设置、读写操作),以及从Vivado工程创建到Vitis工程建立的详细步骤。文章还提供了具体的代码示例,展示了如何通过MIO控制GPIO,实现按键控制LED的功能。适合嵌入式开发者和FPGA初学者参考学习。 立即下载

相关推荐

AURIX TC397开发板到手第一步:用iLLD库驱动LED流水灯(附完整代码)

本文详细介绍了如何使用英飞凌AURIX TC397开发板和iLLD库实现LED流水灯效果。从开发环境配置到硬件连接,再到完整的代码实现,逐步引导开发者完成项目。文章还提供了优化建议和常见问题解决方案,帮助嵌入式开发新手快速上手。

weixin_30911451的博客 390

基于FreeRTOS的CPU利用率计算教程详解(STM32版)

基于FreeRTOS的CPU利用率计算教程,使用的MCU为STM32F103ZET6。教程详细且易懂,工程代码开源!

black_sneak的博客 9203

揭秘大型语言模型:从神经元到思维透明的奇妙旅程

这篇博客带你走进大型语言模型的内部世界,从神经元的小任务,到功能向量的团队合作,再到层间的协作和思维的透明化。掌握这些知识,能让你在开发中更高效地优化AI,在研究中更深入地探索模型的奥秘。建议多动手实践,把这些理论变成自己的能力!

数据与算法架构提升之路专栏 1520

FreeRTOS--CPU利用率

FreeRTOS CPU利用率统计摘要: 原理:通过空闲任务运行时间计算CPU利用率,公式为:CPU使用率 = 100% - (空闲任务时间/总时间)×100% 实现步骤: 配置configUSE_TRACE_FACILITY=1 定义portCONFIGURE_TIMER_FOR_RUN_TIME_STATS()和portGET_RUN_TIME_COUNTER_VALUE()宏 启用高精度定时器统计运行时间 两种实现方式: 方式一:使用vTaskGetRunTimeStats()直接获取各任务运行时间和

qq_64171874的博客 434

使用MID360在室内快速定位

在预构建的点云地图中实现实时3D全球定位。通过融合FAST-LIO的低频全局定位(约0.5~0.2Hz)和高频里程计,整个系统的计算效率很高。消除里程计的累计误差初始定位可以通过RVIZ的粗略手动估计或来自另一个传感器/算法的姿势来提供。

CTwinkle的博客 1162

从课堂笔记到动手实践:用Multisim仿真高频谐振功放(丙类)的完整流程

本文详细介绍了使用Multisim仿真高频谐振功放(丙类)的完整流程,从仿真环境准备到电路搭建、偏置网络设计、信号注入与波形观测,再到效率优化与性能验证。通过14个关键操作步骤,帮助读者将高频电子线路的理论知识转化为动手实践,深入理解丙类功放的非线性工作状态和效率优化技巧。

weixin_30701575的博客 520

FreeRTOS菜鸟入门(十九)·CPU 使用率统计

CPU利用率概念介绍,并且举例更直观的观察,内含源码可直接移植

时光の尘的博客 2244

lattice Diamond Programmer程序下载

Lattice Diamond Programmer(支持Lattice FPGA与CPLD程序下载)

qq_44385725的博客 5177

freeRTOS调度

嵌入式的设备开发通常有两种模式:裸机开发和OS开发。像功能较为强大的SOC通常都会先一直linux或其他OS然后进行业务逻辑的开发;而单片机则有很多简单的应用场景直接使用裸机开发的模式,稍微复杂些的场景,会先移植OS,然后在OS的基础上开发。我认为移植OS主要有两大需求:实现多线程和更加方便的资源管理,比如内存管理。多线程的实现离不开调度器,调度器的实现又分不开现场切换和调度策略。不同OS通常会有不同的调度策略,有些大型的OS比如linux甚至于会同时支持多种调度策略。本文简单描述目前比较常见的freeRT

liu2419918682的博客 2959

SAP_SD模块更改销售订单定价简介

方式优点缺点适用场景MASS简单,无需开发不能触发重新定价逻辑修改特定字段BDC (VA02)可模拟人工操作维护复杂,速度慢少量订单批改稳定、安全需ABAP支持推荐用于批量重新定价VBOF标准重算返利仅适返利类条件返利更新通过本文,我们了解了 SAP 的[SAP_SD模块更改销售订单定价]的基本概念和应用方法。希望这些信息能帮助您在实际工作中更好地使用 SAP 系统,提高工作效率和管理水平。更多SAP文章请点击更多SAP文章更新,大家一起学习进步!!!

我小时候很黑的博客 713

【GlobalMapper精品教程】027:路径剖面和和视线工具的使用

路径剖面视线工具允许您使用加载的高程数据集沿用户指定的路径获取垂直剖面。要定义生成3D路径剖面所遵循的路径,只需单击鼠标左键选择路径的点,然后石键单击以结束路径。出现一个带有剖面的对话框,允许您设置视线分析或优化端点。

智慧空间实验室 2049

Linux移动文件提示权限被拒绝

Ubuntu移动文件时提示Permission denied

wq_0708的博客 2万+

华为OD机考 新系统真题 【区分奇偶的数组排序】

华为OD机试 新系统真题【区分奇偶的数组排序】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【区分奇偶的数组排序】多语言题解。

qq_45776114的博客 511

【Linux】关于Linux中的权限

【Linux】关于Linux权限的知识

weixin_60478154的博客 2万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

彻底搞懂linux中的权限【详解】

详解linux中的权限

weixin_46016019的博客 9226

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

【Linux】 - Linux中的权限机制

管理者可以通过配置sudo命令,使系统以一种可控的方式,允许一 个普通用户以一个不同的用户身份(通常是超级用户)执行命令。列在输出结果中的前10个字符表示的是文件属性,其中第一个字符表示文件类型,其余9个字符称为文件模式,分别表示文件所有者、文件所属群组以及其他所有用户对该文件的读取、写入和执行权限。chown命令更改的是文件所有者还是文件所属群组,或者对两者都更 改,取决于该命令的第一个参数。在输入su命令后,系统会提示输入该超级用户的密码,开启一个新的交互命令界面。sudo命令类似于su命令。...

1+1=王的博客 9425

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【Linux】Linux权限

Linux权限,详细讲解:一,shell命令介绍 二,Linux权限 1. Linux下的用户 2. 命令su 3. Linux权限管理 3.1. 文件访问者 4. 修改权限 1. 修改目标属性 2. 修改拥有者 chown chgrp 5. 缺省权限 umask t 粘滞位

tan_run的博客 2640

linux中的权限—linux

文件的普通权限,修改权限,文件的特殊权限,文件的隐藏权限,文件访问控制列表

qq_51399192的博客 2238

Linux中的权限

权限理解!!!

小八哥 1375

Linux权限

Linux权限

2303_78442132的博客 1753

【Linux权限|权限的引入、Linux中的用户、文件权限、目录权限、默认权限掩码umask、粘滞位】

通过一定的条件,拦住一部分人,给另一部分人权利,来访问某种资源。决定有无,或者能还是不能的问题。像学校的门禁,是该学习的师生才有权利进去,没有便进不去。

m0_70496383的博客 941

权限不足_【Linux】Linux系统中的权限详解

我们linux服务器上有严格的权限等级,如果权限过高导致误操作会增加服务器的风险。所以对于了解linux系统中的各种权限及要给用户,服务等分配合理的权限十分重要。一.文件基本权限  首先看下linux下的文件权限,可以使用ll命令或者是带-l(长列表选项)的ls命令。     文件列表信息分为:文件类型、权限、链接数、所属用户、所属用户组、文件大小、最后修改时间、文件名。  linu...

weixin_36232899的博客 2509

【Linux】权限

本期博客讲解内容有:为什么需要权限,Linux下角色问题和用户问题,文件权限属性问题,权限的指令操作,没有权限的表现,以及权限的三个子问题

2401_86785052的博客 1098
上一篇: 三剑客之sed&grep
下一篇: 默认权限umask、文件系统权限、特殊权限
惨绿少年
博客等级 码龄10年 173粉丝 236原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值