inux系统下如何查看及修改文件读写权限

[size=x-large][color=red]Linux系统下如何查看及修改文件读写权限[/color][/size] [url]http://tech.ddvip.com/2008-01/119991599540175.html[/url]
[color=red][b]查看文件权限的语句:[/b][/color]
  在终端输入:
  ls -l xxx.xxx (xxx.xxx是文件名)
  那么就会出现相类似的信息,主要都是这些:
  -rw-rw-r--
  一共有10位数
  其中: [color=red]最前面那个 - 代表的是类型
  中间那三个 rw- 代表的是所有者(user)
  然后那三个 rw- 代表的是组群(group)
  最后那三个 r-- 代表的是其他人(other)[/color]
  然后我再解释一下后面那9位数:
[color=darkblue]  r 表示文件可以被读(read)
  w 表示文件可以被写(write)
  x 表示文件可以被执行(如果它是程序的话)
  - 表示相应的权限还没有被授予[/color]


[color=red][b]现在该说说修改文件权限了[/b][/color]
  在终端输入:
  chmod o+w xxx.xxx
  表示给其他人授予写xxx.xxx这个文件的权限
  chmod go-rw xxx.xxx
  表示删除xxx.xxx中组群和其他人的读和写的权限
  其中:
  u 代表所有者(user)
  g 代表所有者所在的组群(group)
  o 代表其他人,但不是u和g (other)
  a 代表全部的人,也就是包括u,g和o
  r 表示文件可以被读(read)
  w 表示文件可以被写(write)
  x 表示文件可以被执行(如果它是程序的话)
  其中:rwx也可以用数字来代替
  r ------------4
  w -----------2
  x ------------1
  - ------------0
  行动:
  + 表示添加权限
  - 表示删除权限
  = 表示使之成为唯一的权限
  当大家都明白了上面的东西之后,那么我们常见的以下的一些权限就很容易都明白了:
  -rw------- (600) 只有所有者才有读和写的权限
  -rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
  -rwx------ (700) 只有所有者才有读,写,执行的权限
  -rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
  -rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
  -rw-rw-rw- (666) 每个人都有读写的权限
  -rwxrwxrwx (777) 每个人都有读写和执行的权限


[size=x-large][color=red]chown与chmod的区别[/color][/size] [url]http://www.jb51.net/article/6935.htm[/url]
[color=darkblue][b]chown 修改文件和文件夹的用户和用户组属性[/b][/color]
1。要修改文件hh.c的所有者.修改为sakia的这个用户所有
chown sakia hh.c
这样就把hh.c的用户访问权限应用到sakia作为所有者

2。将目录 /tmp/sco 这个目录的所有者和组改为sakia和组net
chown -R sakia:net /tmp/sco


[color=darkblue][b]chmod 修改文件和文件夹读写执行属性[/b][/color]
1。把hh.c文件修改为可写可读可执行
chmod 777 hh.c
要修改某目录下所有的文件属性为可写可读可执行
chmod 777 *.*
把文件夹名称与后缀名用*来代替就可以了。
同理若是要修改所有htm文件的属性
chmod 777 *.htm
2。把目录 /tmp/sco修改为可写可读可执行
chmod 777 /tmp/sco

要修改某目录下所有的文件夹属性为可写可读可执行
chmod 777 *
把文件夹名称用*来代替就可以了

要修改/tmp/sco下所有的文件和文件夹及其子文件夹属性为可写可读可执行
chmod -R 777 /tmp/sco

可写 w=4
可读 r=2
可执行 x=1
777就是拥有全权限。根据需要可以自由组合用户和组的权限


[color=red][size=x-large]linux的chmod与chown命令详解[/size][/color]
[url]http://wenson.iteye.com/blog/212739[/url]
使用方式 : chmod [-cfvR] [--help] [--version] mode file...
说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。
把计 :
mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本
范例 :将档案 file1.txt 设为所有人皆可读取 :
chmod ugo+r file1.txt
将档案 file1.txt 设为所有人皆可读取 :
chmod a+r file1.txt
将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt
将 ex1.py 设定为只有该档案拥有者可以执行 :
chmod u+x ex1.py
将目前目录下的所有档案与子目录皆设为任何人可读取 :
chmod -R a+r *
此外chmod也可以用数字来表示权限如 chmod 777 file
语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。
范例:
chmod a=rwx file

chmod 777 file
效果相同
chmod ug=rwx,o=x file

chmod 771 file
效果相同
若用chmod 4755 filename可使此程式具有root的权限
指令名称 : chown
使用权限 : root
使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file...
说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。
把计 :
user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)-c : 若该档案拥有者确实已经更改,才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误讯息-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案-v : 显示拥有者变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)--help : 显示辅助说明--version : 显示版本
范例 :
将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie :
chown jessie:users file1.txt
将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport :
chmod -R lamport:users *
-rw------- (600) -- 只有属主有读写权限。
-rw-r--r-- (644) -- 只有属主有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700) -- 只有属主有读、写、执行权限。
-rwxr-xr-x (755) -- 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711) -- 属主有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666) -- 所有用户都有文件读、写权限。这种做法不可取。
-rwxrwxrwx (777) -- 所有用户都有读、写、执行权限。更不可取的做法。
以下是对目录的两个普通设定:

drwx------ (700) - 只有属主可在目录中读、写。
drwxr-xr-x (755) - 所有用户可读该目录,但只有属主才能改变目录中的内容
suid的代表数字是4,比如4755的结果是-rwsr-xr-x
sgid的代表数字是2,比如6755的结果是-rwsr-sr-x
sticky位代表数字是1,比如7755的结果是-rwsr-sr-t
--------------------------------------------------------------------------------------------------
指令名称 : chown
  使用权限 : root
  使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file...
  说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。
  参数格式 :
  user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)
  -c : 若该档案拥有者确实已经更改,才显示其更改动作
  -f : 若该档案拥有者无法被更改也不要显示错误讯息
  -h : 只对于连结(link)进行变更,而非该 link 真正指向的档案
  -v : 显示拥有者变更的详细资料
  -R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)
  --help : 显示辅助说明
  --version : 显示版本
  范例 :
  将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie :
  chown jessie:users file1.txt
<think> 根据用户的问题,他想要了解在Linux系统下为Conda添加两个环境变量的方法。结合之前的对话历史,用户可能已经安装了Conda,但需要添加环境变量。根据引用[1]和[^3],配置环境变量有两种情况:系统级和虚拟环境级。用户特别提到要添加两个环境变量,但没有明确是系统级还是虚拟环境级。因此,我将分别介绍两种场景。 引用[1]提到,如果安装时没有自动配置环境变量,需要手动配置。引用[^3]也提到在安装过程中有两个地方需要输入yes,其中一个就是配置环境变量。但用户现在需要添加两个额外的环境变量,而不是配置conda命令本身。 因此,我将分两种情况回答: 1. 添加系统级的环境变量(对所有环境生效) 2. 添加虚拟环境级的环境变量(仅对特定环境生效) 另外,根据引用[^3],在修改配置文件后需要使用`source`命令使配置生效。 由于用户要求添加两个环境变量,我们假设这两个变量名为`VAR1`和`VAR2`,值分别为`value1`和`value2`。 具体步骤: 一、系统级环境变量添加(对所有conda环境生效) 1. 打开bash配置文件(如~/.bashrc或~/.bash_profile) 2. 在文件末尾添加两行: export VAR1=value1 export VAR2=value2 3. 保存文件并执行source命令使配置生效。 二、虚拟环境级环境变量添加(仅对特定环境生效) 1. 激活目标虚拟环境 2. 在该环境的激活脚本中设置变量,在停用脚本中清除变量(参考之前的回答) 由于用户要求添加两个,我们可以同时设置两个变量。 另外,根据引用[^1],配置环境变量后可以跳过后续的一些操作,说明环境变量配置是基础。 我将按照以下结构回答: 1. 系统级环境变量添加方法 2. 虚拟环境级环境变量添加方法 3. 验证方法 4. 常见问题 同时,生成相关问题。 注意:用户可能已经配置了conda命令的环境变量,现在是要添加其他自定义环境变量。 开始回答: </think> ### Linux 系统下为 Conda 添加两个环境变量的完整指南 在 Linux 中为 Conda 添加环境变量有两种场景:**系统级**(全局生效)和**虚拟环境级**(仅特定环境生效)。以下是两种方法的详细步骤(以添加 `API_KEY=12345` 和 `DATA_PATH=/mnt/data` 为例): --- #### 一、系统级环境变量(全局生效) 适用于所有 Conda 环境,修改用户配置文件: ```bash # 1. 打开配置文件 nano ~/.bashrc # 或 ~/.zshrc # 2. 在文件末尾添加 export API_KEY="12345" # 添加第一个变量 export DATA_PATH="/mnt/data" # 添加第二个变量 # 3. 保存并生效 source ~/.bashrc # 立即生效 ``` **验证**: ```bash echo $API_KEY # 应输出 12345 echo $DATA_PATH # 应输出 /mnt/data ``` > ⚠️ 注意:此配置对所有环境生效,**不适合存储敏感信息**(如密钥)[^1]。 --- #### 二、虚拟环境级环境变量(推荐) 为特定环境设置变量,互不干扰: ```bash # 1. 激活目标环境 conda activate myenv # 2. 创建配置目录 mkdir -p $CONDA_PREFIX/etc/conda/activate.d mkdir -p $CONDA_PREFIX/etc/conda/deactivate.d # 3. 创建激活脚本(添加变量) echo 'export API_KEY="12345"' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh echo 'export DATA_PATH="/mnt/data"' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh # 4. 创建停用脚本(清除变量) echo 'unset API_KEY' >> $CONDA_PREFIX/etc/conda/deactivate.d/env_vars.sh echo 'unset DATA_PATH' >> $CONDA_PREFIX/etc/conda/deactivate.d/env_vars.sh # 5. 添加执行权限 chmod +x $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh chmod +x $CONDA_PREFIX/etc/conda/deactivate.d/env_vars.sh ``` **验证**: ```bash conda deactivate conda activate myenv echo $API_KEY # 激活后显示 12345 conda deactivate echo $API_KEY # 停用后显示空 ``` > ✅ 优势:变量仅在特定环境激活时存在,避免全局污染[^2]。 --- #### 三、临时环境变量(单次会话有效) ```bash # 启动环境前设置(退出终端后失效) API_KEY="12345" DATA_PATH="/mnt/data" conda activate myenv # 验证 echo $API_KEY # 输出 12345 ``` --- #### 四、环境变量优先级总结 | 类型 | 生效范围 | 持久性 | 安全性 | |---------------|---------------|------------|--------| | 虚拟环境级 | 单环境 | ✅ 永久 | ★★★★★ | | 系统级 | 所有环境 | ✅ 永久 | ★★☆☆☆ | | 临时变量 | 当前终端会话 | ❌ 临时 | ★★★★☆ | > 💡 最佳实践:**敏感信息用虚拟环境级**,通用路径用系统级[^3]。 --- ### 常见问题解决 1. **变量不生效**: ```bash # 检查脚本权限 ls -l $CONDA_PREFIX/etc/conda/activate.d/ # 重新初始化环境 conda deactivate conda activate myenv ``` 2. **多环境冲突**: ```bash # 查看当前生效变量 conda env config vars list ``` 3. **安装时自动配置**: ```bash # 安装 Miniconda 时选择初始化环境变量 bash Miniconda3-latest-Linux-x86_64.sh # 出现提示时输入 yes[^3] ``` > 提示:通过 `conda env config vars set KEY=VAL` 可直接设置环境变量(Conda 4.9+版本支持)[^2]。 [^1]: conda环境变量+常用操作+配置镜像源 [^2]: 超详细的Linux Conda环境安装教程 [^3]: Linux系统下安装conda与环境配置(亲测有效)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值