Ubuntu学习---跟着绍发学linux课程记录(第2部分)

Ubuntu的学习过程的笔记分为4个部分来记录:
1、Ubuntu学习—跟着绍发学linux课程记录(第1部分)
2、Ubuntu学习—跟着绍发学linux课程记录(第2部分)
3、Ubuntu学习—跟着绍发学linux课程记录(第3部分)
4、Ubuntu学习—跟着绍发学linux课程记录(第4部分)
视频链接:
Ubuntu 21.04乌班图 Linux使用教程_60集Linux课程
所有可以下载的文本和软件资料在http://afanihao.cn/java


我自己的ubuntu系统
账号:jiaoyidi
密码:qwer234

7 文件权限

7.1 文件的权限

在这里插入图片描述
文件权限是linux中一个重要的而且必须要理解的问题
在这里插入图片描述
如何查看一个文件的权限?
在这里插入图片描述
在这里插入图片描述
第一列:文件的权限
第二列的数字:表示文件中包含多少个文件
第三列:属主(作者)
第四列:用户所在的组
第五列:表示文件的大小,217即表示217字节
第六列:表示该文件被创建或修改的时间
第七列:文件名称

重点看第一个字符
在这里插入图片描述
d:目录
l:软连接
-:表示文件

在这里插入图片描述
对一个文件夹来说,可执行的意思就是可以打开查看的意思。可写的意思就是可以往里面创建文件的意思。
也可以按照上面的图中最后一行介绍的那样可视化的查看一个文件的权限。

7.2 修改文件权限

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
a-w:连自己都要减去w权限
u:表示自己
在这里插入图片描述
简写方式是给自己和本组的用户一起修改权限,见下图:
在这里插入图片描述

7.3 修改文件的属主

chown这个命令在日常操作中使用的很少,因为每个用户之间交互很少,都有属于自己文件目录,没有必要修改文件的属主。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
-R:表示将这个文件下的所有文件的属主全部改为目标属主,如果以后新建什么文件,属主也只属于属主和root两个用户。

opt目录只有root用户才能访问
在这里插入图片描述

8、可执行脚本

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8.2Shell脚本

在这里插入图片描述
在这里插入图片描述
保存的时候将文件后缀名改为.sh

在这里插入图片描述
第一行:#! /bin/sh需要以# !开头,bin/sh是解释器
echo:相当于打印
x权限:执行权限
三种执行方式:
./hello.sh:.表示当前路径,或者使用以下方式
/home/jiaoyidi/hello.sh,将路径完全写出来,两种方式都得加上路径
/bin/sh/ hello.s h也可以执行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

8.3python脚本的创建

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9、Shell

9.1Shell中的变量

在这里插入图片描述
在这里插入图片描述
SHELL只能在linux上运行
在这里插入图片描述
在这里插入图片描述

9.2 环境变量

在这里插入图片描述
在这里插入图片描述
export:可以定义一个环境变量
在这里插入图片描述
在这里插入图片描述

jiaoyidi@jiaoyidi-virtual-machine:~/jiaoyidi$ printenv
SHELL=/bin/bash
SESSION_MANAGER=local/jiaoyidi-virtual-machine:@/tmp/.ICE-unix/1844,unix/jiaoyidi-virtual-machine:/tmp/.ICE-unix/1844
QT_ACCESSIBILITY=1
COLORTERM=truecolor
XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
XDG_MENU_PREFIX=gnome-
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
LC_ADDRESS=zh_CN.UTF-8
GNOME_SHELL_SESSION_MODE=ubuntu
LC_NAME=zh_CN.UTF-8
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
XMODIFIERS=@im=ibus
DESKTOP_SESSION=ubuntu
LC_MONETARY=zh_CN.UTF-8
SSH_AGENT_PID=1809
GTK_MODULES=gail:atk-bridge
PWD=/home/jiaoyidi/jiaoyidi
LOGNAME=jiaoyidi
XDG_SESSION_DESKTOP=ubuntu
XDG_SESSION_TYPE=x11
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
XAUTHORITY=/run/user/1000/gdm/Xauthority
GJS_DEBUG_TOPICS=JS ERROR;JS LOG
WINDOWPATH=2
HOME=/home/jiaoyidi
USERNAME=jiaoyidi
IM_CONFIG_PHASE=1
LC_PAPER=zh_CN.UTF-8
LANG=en_US.UTF-8
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
XDG_CURRENT_DESKTOP=ubuntu:GNOME
VTE_VERSION=6003
GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/a1fb2dcb_1f34_42e9_8ba8_27f429283d2e
INVOCATION_ID=a4c70feddeec45719ca1e84994e55dfe
MANAGERPID=1638
GJS_DEBUG_OUTPUT=stderr
LESSCLOSE=/usr/bin/lesspipe %s %s
XDG_SESSION_CLASS=user
TERM=xterm-256color
LC_IDENTIFICATION=zh_CN.UTF-8
LESSOPEN=| /usr/bin/lesspipe %s
USER=jiaoyidi
GNOME_TERMINAL_SERVICE=:1.78
DISPLAY=:0
SHLVL=1
LC_TELEPHONE=zh_CN.UTF-8
QT_IM_MODULE=ibus
LC_MEASUREMENT=zh_CN.UTF-8
OUTDIR=/opt
XDG_RUNTIME_DIR=/run/user/1000
LC_TIME=zh_CN.UTF-8
JOURNAL_STREAM=8:59478
XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
GDMSESSION=ubuntu
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
LC_NUMERIC=zh_CN.UTF-8
OLDPWD=/home/jiaoyidi
_=/usr/bin/printenv

在这里插入图片描述
环境变量是存在于环境中的变量,是一个全局的概念,不仅可以在终端中使用,也可以在脚本中使用来直接调用。
在这里插入图片描述

在以上的SHELL脚本中没有定义OUTDIR这个变量,依然可以直接使用
执行:
在这里插入图片描述
重新修改环境变量的值
再次运行sample.sh,发现输出随之也有了变化
在这里插入图片描述
在这里插入图片描述

9.3用户环境变量

在这里插入图片描述
主目录下看不到.profile这个文件
ls也看不到,只能ls -a看所有的文件,包括隐藏文件
在这里插入图片描述
定义一个环境变量:
在这里插入图片描述
使用gedit来打开一个隐藏文件,gedit是一个文本编辑器程序。
gedit 文件名路径
在这里插入图片描述

.profile文件中额外添加

export JAVA_HOME=/opt/jdk1.8/

在这里插入图片描述
保存即可,需要注销一下就可以生效
查看环境变量是否存在
在这里插入图片描述
这样环境变量就被永久的添加进去了,这样的原理是下图:
在这里插入图片描述
在这里插入图片描述
系统变量可以设置为每个用户都可以使用的
CentOS上面是.bash_profile文件存放用户配置

9.4系统环境变量

在这里插入图片描述
ls /etc/profile
在这里插入图片描述

9.5 PATH环境变量

在这里插入图片描述
在这里插入图片描述
使用echo命令将环境变量的名字显示出来
在这里插入图片描述
在这里插入图片描述
蓝的的字是系统默认的环境变量

bin:表示普通用户就可以执行的程序
sbin:表示超级用户才能执行的程序
使用ls查看/usr/bin目录下有哪些文件
在这里插入图片描述
可以看出/usr/bin下面有很多的命令,很多都没用过,也不用都学习
查看一下/usr/bin和/usr/sbin目录下是否存在tar文件和useradd文件
在这里插入图片描述
存在!

在安装系统的时候,系统自带的程序,是放在/user/下面的,用户安装的命令是在/user/local/下面的
即还是下图的一行字:
在这里插入图片描述
/usr/bin/下长下面这个样子:
在这里插入图片描述
/usr/sbin/下长下面这个样子:
在这里插入图片描述

/usr/local/下有bin和sbin
在这里插入图片描述
/usr/local/bin/下还没有安装东西
在这里插入图片描述
/usr/local/sbin/下也没有安装东西
在这里插入图片描述
直接写hello.sh不能执行,是因为在环境变量中找不到这个命令
只有在hello.sh前面加上该文件所在路径才能够执行它。如:/home/jiaoyidi/hello.sh或./hello.sh
不知道是为什么使用/home/jiaoyidi/hello.sh不能执行,而需要进入jiaoyidi这个目录下执行./hello.sh才能正常执行,见下图:
在这里插入图片描述
接下来学习如何设置PATH环境变量
在这里插入图片描述
在哪里加上:可以在用户环境变量中加也可以在系统环境变量中添加。
1、切换为root用户
2、修改/etc/profile.d/myprofile.sh,在该文件上添加一个环境变量即可

export PATH=$PATH:/homen/jiaoyidi

上面的冒号是分隔符,$PATH表示将原有的PATH值取出来,使用冒号将新添加的环境变量添在原有的环境变量之后。
3、注销用户,重新登录
在这里插入图片描述

![在这里插入图片描述](https://img-blog.csdnimg.cn/eae6690f6d944eb2ae74d9a753a2b7f9.p
虽然上面修改过了,但是经过重启之后还是不能执行hello.sh,根本原因大概是虽然使用su root切换到了管理员用户权限,但是没有使用管理员登录脚本的权限。下面是报错
在这里插入图片描述
经过(gedit:5010): dconf-WARNING **: failed to commit changes to dconf: 连接已关闭 问题解决方法提示,使用su - root再试一遍
又爆了这个错误的问题
在这里插入图片描述
明天白天再搞,凌晨1点11了,该睡觉了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

饿了就干饭

你的鼓励将是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值