一、常见指令及权限理解
一、Linux中常见的环境变量
1.PATH:指定命令的搜索路径
2.HOME:指定用户的主工作目录(即用户登录到Linux系统中时,默认的目录)
3.HISTSIZE:指保存历史命令记录的条数
4.LOGNAME:指当前用户的登录名
5.HOSTNAME:指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的
6.SHELL:指当前用户用的是那种shell
7.LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量
8.MAIL:指当前用户的邮件存放目录
9.PS1:命令基本提示符,对于root用户是#,对于普通用户是$
10.PS2:附属提示符,默认是">"
与此同时,Linux也提供了修改和查看环境变量的命令,如下所示:
1.echo:显示某个环境变量值echo $PATH
2.export:设置一个新的环境变量export
HELLO="hello"(可以无引号)
3.env:显示所有环境变量
4.set:显示本地定义的shell变量
5.unset:清除环境变量 unset HELLO
6.readonly:设置只读环境变量 readonly HEELO
二、Linux权限管理(一件事情允许被谁做?人,事物属性)
1、文件访问者的分类(人)
a)文件个文件目录的所有者:u------User
b)文件和文件目录的所有者所在的组的目录:g------Group
c)其他用户:o-----Other
2、文件访问权限的种类(事物属性)
a)基本权限
i.读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
ii.写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说,具有删除移动目录内文件的权限
iii.执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
iv."-"表示不具有该项权限
b)特殊权限
i.suid (s/4)只能应用在可执行文件上,允许任意用户在执行文件时以文件拥有者的身份执行
ii.sgid(s/2)只能应用在可执行文件上,是任意用户在执行可执行文件时,将以拥有组成员的身份执行
3、文件访问权限的相关设置方法
a)chmod
功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名
参数:R --> 递归修改目录文件的权限
V -->显示指令执行过程
reference=<参考文件和目录>:把指定文件或目录的权限全部设成与参考文件或目录的权限相同
说明:只有文件的拥有者和root才可以改变文件的权限
chmod命令权限制的格式:
<1>用户表示符+/-=权限字符
+:向权限范围增加权限代号所标示的权限
-:向权限范围取消权限代号所标示的权限
=:向权限范围赋予权限代号所标示的权限
用户符号:
u:拥有者
g:拥有者同组用户
o:其他用户
a:所有用户
<2>三位8进制数字
r:4 w:2 x:1
例:#chmod 664 /home/ac.txt
<3>示例赋权方式
格式: #chmod --reference= reference terget
b)chown
功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名
c)chgrp
功能:修改文件或目录的所属组
格式:chagrp [参数] 用户组名 文件名
参数:-R 递归修改文件或目录的所属组
d)umast
功能:查看或修改文件掩码
新建文件夹默认权限=0666-权限掩码
新建目录默认权限=0777-权限掩码
格式: umast 权限值
说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限
超级用户默认验码址为0022,普通用户默认为0002
e)使用sudo分配权限
(1)修改/etc/sudoers文件分配文件
#chmod 740 /etc/sudoers
#vi /etc/sudoers
格式:接受权限的用户登录的主机 =(执行命令的用户)命令
(2)使用sudo调用授权的命令
$ sudo -u 用户名 命令
三、常用指令
touch指令:
Linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件
1.命令格式:touch [选项]...文件...
2.命令参数:
-a:或--time=atime或--time=access或--time=use只更改存取时间
-c:或--no-create 不建立任何文档
-d:使用指定的日期时间,而非现在的时间
-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题
-m:或--time=mtime或--time=modify 只更改变动时间
-r:把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同
-t:使用指定的日期时间,而非日现在的时间
3.命令功能:
touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间
mkdir指令:
Linux mkdir命令用来创建指定的名称的目录,要求创建目录的用股在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录
1.命令格式:
mkdir [选项] 目录...
2.命令功能:
通过mkdir命令可以实现在指定位置创建以DirName(制定的文件名)命名的文件夹或目录。要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限。并且,所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名,即同一个目录不能有同名的(区分大小写)。
3.命令参数:
-m, --mode=模式,设定权限<模式> (类似 chmod),
而不是 rwxrwxrwx 减 umask
-p, --parents 可以是⼀一个路径名称。此时若路径中
的某些⺫⽬目录尚不存在,加上此选项后,系统将⾃自动建⽴立好那些尚
不存在的⺫⽬目录,即⼀一次可以建⽴立多个⺫⽬目录;
-v, --verbose 每次创建新⺫⽬目录都显⽰示信息
--help 显⽰示此帮助信息并退出
rmdir指令 && rm 指令:
rmdir是一个与mkdir相对应的命令。mkdir是建⽴目录,⽽rmdir是删除命令。rm命令可以同时删除文件或目录
1.名称:rmdir
2.适⽤用对象:具有当前目录操作权限的所有使用者
3.命令格式:rmdir [-p -v] [dirName]
4.作⽤用:删除空目录version 输出版本信息并退出
cp指令:
功能: 复制⽂文件或目录
说明: cp指令⽤用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前⾯指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并⾮一个已存在的目录,则会出现错误信息。示例:
复制文件,只有源文件较目的文件的修改时间新时,才复制文件
cp -u -v file1 file2
将文件file1复制成文件file2
cp file1 file2
采用交互方式将文件file1复制成文件file2
cp -i file1 file2
将文件file1复制成file2,因为目的文件已经存在,所以指定使用强制复制的模式
cp -f file1 file2
将目录dir1复制成目录dir2
cp -R file1 file2
同时将文件file1、file2、file3与目录dir1复制到dir2
cp -R file1 file2 file3 dir1 dir2
复制时保留文件属性
cp -p a.txt tmp/
复制时保留文件的目录结构
cp -P /var/tmp/a.txt ./temp/
复制时产生备份文件
cp -b a.txt tmp/
复制时产生备份文件,尾标 ~1~格式
cp -b -V t a.txt /tmp
指定备份文件尾标
cp -b -S _bak a.txt /tmp
mv指令:
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份⽂文件或者目录。
1.命令格式:
mv [选项] 源⽂件或目录 目标文件或目录
2.命令功能:
mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源⽂件只能有⼀一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移⾄目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,⽽链⾄该文件的链接也将丢失。
3.命令参数:
-b :若需覆盖文件,则覆盖前先行备份。
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标⽂件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
-t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。