1. 用户管理
1.1 普通用户
添加用户:
sudo useradd -m test1
其中sudo表示以管理员身份执行,普通用户没有权限,-m表示创建一个用户目录。
sudo passwd test1 #修改用户密码
sudo userdel test1 #删除用户
userdel test1时并没有删除文件夹。
1.2 超级用户
sudo passwd root #首次使用时,需要给root设置密码
su root #切换到root用户,su表示switch user
exit #退出
1.3 用户和组
可以创建多个用户,用组来管理,组并不是实际存在的文件夹。
groupadd boys #创建组
useradd -m -g boys ming #创建用户,-g表示在添加用户时将用户加入boys组
usermod -g boys shaofa #修改用户到新的组,usermod表示修改用户信息
组的管理和查看:
cat /etc/group #每一行表示一个group的信息,名称+ID
cat /etc/passwd #查看用户列表
通常情况下,管理的时候不用使用到组(用户不多)。
useradd a1 #默认地,会给a1用户建立一个同名的组a1,这个组里只有a1一个用户
2. 文件
2.1 文件的权限
ls -l simple.txt #查看文件权限
-rw-r-r-- l shaofa shaofa 13 4月 21 03:48 simple.txt
#从前往后代表的意义是:
#-自己的权限-同组的权限-别人的权限 类型 属主 组名 修改时间 文件名
#这里的类型为l,代表链接
2.2 修改文件的权限
chmod o+w simple.txt #chmod代表修改文件的访问权限,o表示别人,+w表示增写write权限
chmod a+w simple.txt #所有人all添加w权限
chmod a-w simple.txt
chmod u+w simple.txt #仅用户user自己的权限+w
chmod +w simple.txt #默认是修改自己和本组的权限
只有超级用户和属主可以修改权限
2.3 修改文件属主
chown -R shaofa /opt/software #-R表示将子文件的属主也修改
3. 脚本
3.1 可执行脚本
脚本script是一种解释执行的程序,linux下常见的三种脚本程序有以下三种:
-Shell 脚本 *.sh
-Perl 脚本 *.pl
-Python 脚本 *.py
对应的脚本解释器:(脚本程序都是由解释器来执行的)
shell /bin/sh
perl /bin/perl
python /bin/python3
执行一个脚本时,以下两种方式等效:
./hello.py
/bin/python3 hello.py
3.2 shell脚本
是linux自带的脚本语言,相当于windows下的DOS批处理脚本。
编辑一个文本文件,将以下内容写入,并保存为hello.sh。
# !/bin/sh
echo "hello,world"
保存后是没有执行权限的,要添加可执行权限:
chmod +x hello.sh
3.3 python
创建过程和shell脚本基本相同,文本文件开头加:# !/bin/python3
4. 环境变量
4.1 shell中的变量
OUTDIR=/opt #定义变量,等号两侧不要多加空格
#使用变量
echo "output to : ${OUTDIR}"
ls ${OUTDIR}
4.2 环境变量
环境变量可以在终端使用也可以在脚本中调用,即定义了环境变量后,可以直接在脚本中调用访问,在该终端下执行这个脚本。在命令行中定义的环境变量,只对当前SHELL终端有效,当关闭终端后,重启后就消失了。
shell脚本中的命令:
export OUTDIR=/opt/ #export将环境变量导出
echo ${OUTDIR}
printenv
4.3 用户环境变量
用户环境变量定义在~/.profile中(主目录中),在linux下,以.开头的文件为隐藏文件。
在profile中定义一个环境变量:
1.在终端输入gedit .profile打开.profile文件
2.在文件最下方添加,eg: export JAVA_HOME=/opt/jdk1.8
3.保存,重启后环境变量生效。
原理:当用户打开终端时,会自动运行.profile,将变量注入到当前环境中。
4.4 系统换环境变量
系统环境变量定义在/etc/profile中,此中的环境变量对所有用户有效。
要打开profile文件要以root的身份打开,但是,一般不直接修改/etc/profile,而是在/etc/profile.d/中创建一个自定义的脚本。原理是/etc/profile的最后会遍历profile.d下的脚本。
添加系统环境变量:
1. 在终端输入以下代码来创建脚本。
gedit /etc/profile.d/myprofile.sh
2. 在文件中定义环境变量。
export TOMCAT=/opt/tomcat
3. 注销并重新登录后环境变量生效。
4.5 PATH环境变量
是系统环境变量中的一种,用于描述可执行程序的搜索路径。
echo $PATH #查看path环境变量
#执行结果,多个路径之间用:分隔
usr/local/bin:/usr/sbin:
默认地,系统从以下目录中搜索可执行程序。
- /usr/bin 比如/usr/bin/tar
- /usr/sbin 比如/usr/sbin/useradd
- /usr/local/bin
- /usr/local/sbin
其中,sbin为超级用户才能执行的程序,/usr/下是系统自带的程序,/usr/local是用户安装的程序。
修改path环境变量:
1. 编辑/etc/profile.d/myprofile.sh
export PATH=$PATH:/opt/tomcat/bin
2. 注销重新登录后生效