Linux系统基础
基础知识
为普通用户配置sudo认证
/就是整个Linux系统的根目录。
尝试普通用户在根目录创建文件夹,cd /.mkdir test,发现权限不足。
普通用户在HOME目录中一般是不受限的,但是一旦出了HOME目录仅有只读和执行权限,没有修改权限。
su - root切换到root用户su - username切换到username用户su -命令用于切换账户,源于switch userexit命令用于退出当前用户sudo命令用于临时以root权限执行命令- 在root用户下使用
visudo,会自动用vi编辑器打开/etc/sudoers文件,在末尾加上username ALL=(ALL) NOPASSWD:ALL,保存退出,即可为username用户配置sudo认证。这样username用户就可以临时免密使用sudo命令了。
用户与用户组
linux的权限管控有两个层次:针对用户和用户组
用户组
创建用户组
在root用户下用groupadd groupname 创建用户组
删除用户组
在root用户下用groupdel groupname 删除用户组
用户
创建用户
在root用户下用groupadd [-g -d] username 创建用户-g: 指定用户组。如果不指定,则默认创建与用户名同名的用户组-d: 指定用户的家目录,如果不指定,则默认创建在 /home/username 目录下
可以使用
pwd查看当前用户所在的目录删除用户
在root用户下用
userdel [-r] username删除用户-r: 删除用户的同时删除用户的家目录rm -rf命令用于删除文件夹,rm命令用于删除文件查看用户所属组
id username查看用户所属组。
如果不提供username,则默认查看当前用户所属组
修改用户
usermod -aG groupname username 将username用户添加到groupname用户组中
查看所有用户
gatent passwd 查看所有用户
查看所有用户组
gatent group 查看所有用户组
权限信息查看
ls -l能够以列表形式查看内容并且显示权限细节。
例如其中有某一行为:drwxr-xr-x 2 root root 4096 4月 10 10:36 bin,第一部分表示文件或者文件夹的权限控制信息,一共有十个字符,也就是十个槽位。其中第一个字符为文件类型,后面三个字符为文件所有者的权限,中间三个字符为文件所属组的权限,最后三个字符为其他用户的权限:
第一个字符:d/l/-,d表示文件夹,-表示文件,l表示软链接文件。
后面三个字符:r/w/x,r表示读权限,w表示写权限,x表示执行权限。如果出现-则表示没有对应的权限。
第二部分表示所属用户,第三部分表示所属的用户组。
chmod命令-修改权限信息
chmod命令用于修改权限信息(只有所属用户和root用户可修改),chmod命令的格式为chmod[-R][ugoa][+-=][rwx] filename,其中-R表示将文件夹内部所有文件执行相同的权限修改操作;[ugoa]表示用户类型,[+-=]表示操作类型,[rwx]表示权限类型。
例如:
chmod u+x filename,表示将filename文件的所属用户的执行权限添加上x权限。chomd -R u=rwx,g=rx,o=x test表示将test文件夹内部所有文件的所属用户的权限设置为rwx,所属组的权限设置为rx,其他用户的权限设置为x。
权限数字表示法
chmod命令还可以使用3位数字来修改权限信息:
- 0:无任何权限,即—-
- 1:仅有执行权限,即—x
- 2:仅有写权限,即-w-
- 3:仅有写和执行权限,即-wx
- 4:仅有读权限,即r—
- 5:仅有读和执行权限,即r-x
- 6:仅有读和写权限,即rw-
- 7:拥有所有权限,即rwx
例如751表示所属用户拥有所有权限(u=rwx),所属组拥有读和执行权限(g=r-x),其他用户拥有执行权限(o=--x)。
tips:其实这是3位二进制对应的十进制数。
chown命令-修改文件所属用户和用户组
chown命令用于修改文件的所属用户和用户组,chown命令的格式为chown [-R] username:groupname filename,其中-R表示将文件夹内部所有文件执行相同的权限修改操作;username:groupname表示所属用户和用户组,冒号用于分隔用户和用户组。
此命令只能由root用户执行。
例如:
chown root:root filename,表示将filename文件的所属用户和用户组都修改为root。chown -R root:root test表示将test文件夹内部所有文件的所属用户和用户组都修改为root。chown root: test表示将文件夹text的所属用户修改为root,用户组不变。chown :root test表示将文件夹text的所属用户组修改为root,用户不变。chown root test表示将文件夹text的所属用户修改为root,用户组不变。
快捷键
ctrl + a:光标移动到行首ctrl + e:光标移动到行尾ctrl + u:删除光标前的所有内容ctrl + k:删除光标后的所有内容ctrl + w:删除光标前的一个单词ctrl + y:粘贴刚刚删除的内容ctrl + l:清屏ctrl + c:终止当前程序ctrl + d:退出当前终端ctrl + z:将当前程序放到后台运行ctrl + r:搜索历史命令ctrl + s:暂停屏幕输出ctrl + q:恢复屏幕输出ctrl + p:上一条命令ctrl + n:下一条命令ctrl + t:交换光标前两个字符ctrl + h:删除光标前一个字符ctrl + d:删除光标后一个字符ctrl + f:光标前移一个字符ctrl + b:光标后移一个字符ctrl + v:输入特殊字符ctrl + x:输入控制字符ctrl + o:执行当前命令,并在下一行显示新的提示符ctrl + i:同tabctrl + m:同回车ctrl + [a-z]:光标前移一个单词ctrl + [A-Z]:光标后移一个单词ctrl + [0-9]:切换到指定标签页ctrl + shift + [0-9]:将当前标签页移动到指定位置ctrl + shift + t:打开新的标签页ctrl + shift + w:关闭当前标签页ctrl + shift + c:复制ctrl + shift + v:粘贴ctrl + shift + n:新建文件夹ctrl + shift + r:重命名
软件安装
yum in centos
yum是一个软件包管理器,可以用来安装、更新、卸载软件包,yum的配置文件为/etc/yum.conf,yum的软件包存放在/etc/yum.repos.d目录下。
语法:
yum [-y] install wget-y表示自动回答yes,不需要手动输入yesyum [-y] remove wgetyum [-y] search wget
apt in ubantu
apt是一个软件包管理器,可以用来安装、更新、卸载软件包,apt的配置文件为/etc/apt/sources.list,apt的软件包存放在/etc/apt/sources.list.d目录下。
apt语法和yum完全一样
systemctl
systemctl是一个系统服务管理器,可以用来管理系统服务,systemctl的配置文件为/etc/systemd/system,systemctl的服务存放在/etc/systemd/system目录下。
语法:systemctl start|stop|enabel|disable|restart|status service_name
例如:systemctl enabel ntpd实现ntpd服务开机自启动
ln命令-创建软链接(快捷方式)
ln命令用于创建软链接,ln命令的格式为ln -s source_file target_file,其中-s表示创建软链接,source_file表示源文件(被链接的文件或文件夹),target_file表示目标文件(要链接去的目的地)。
例子:
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx,表示将/usr/local/nginx/sbin/nginx软链接到/usr/bin/nginx。ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx,表示将/usr/local/nginx/sbin/nginx软链接到/usr/bin/nginx。
date命令-查看时间
date命令用于查看时间,date命令的格式为`date [-d] [+格式化字符串]’
例如:
date +"%Y-%M-%D %H-%M-%S",返回:2023-08-09/04/23 12-08-32date +%Y-%M-%D,返回:2023-07-09/04/23
root用户设置
还没有设置root用户的密码,所以不能直接使用root用户,需要先设置root用户的密码。
sudo passwd root,设置root用户的密码su - root,切换到root用户



