1、linux系统介绍
是一种类unix系统,继承了 Unix 以网络为核心的设计思想,受minix思想启发,基于POSIX和 UNIX 的多用户、多任务、多线程、多CPU的一个操作系统。
扩展:POSIX是一种标准。
2、linux的目录结构(有重点)
- /:系统根目录。
- /bin:用于存放一些指令,比如touch、mkdir、ls 等,如下示例。
# 使用find验证指令是否存在该目录
find /usr/bin -name touch
# 输入结果
/usr/bin/touch
- boot:存放linux系统启动的核心文件。
- /dev:存放的是外部设备,但并不是指物理设备,而是逻辑设备。这些设备包括光驱、网卡、声卡等
- /etc:存放的系统的配置文件,如下示例。
# 使用cat查看用户的配置信息
cat /etc/passwd
# 输出结果显示出所有的用户信息
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
- /home:存放的是用户信息,每个用户都有一个 专属文件夹,比如user用户的目录为:/home/user。
- /root:存放的是超级管理员的信息,区别于/home是因为安全考虑。
- /run:系统启动起来记录的信息,系统重启则会被删除。
- /sbin:存放的是超级管理员使用的系统管理程序,这些程序包括系统的配置、故障排查等。
- /tmp:存放的是系统的临时文件。
- /usr:存放的是用户使用的程序和文件,我们开发的程序往往放到该文件/usr/local/www下。
- var:存放的是经常被修改的文件,所以该目录下经常存放我们配置的日志,常用的三种查看日志的命令如下示例。
# 使用cat查看整个文档
cat /usr/www/ test.txt
# 返回文档内容
111111111111
22222222222
# 使用head命令查询文档头部几行
head -n 1 test.txt
# 输入结果
111111111111
# 使用tail命令查看文档的倒数几行
tail -n 1 test.txt
# 输出结果
6666666666
3、用户及其用户组
由于linux是一个多用户的操作系统,所以我们可以对用户进行创建。
# 使用useradd命令进行创建用户
useradd user
创建完成之后可以使用cat /etc/passwd命令查阅是否存在user用户存在。同时也可以使用groupadd 单独创建用户组。
# 使用groupadd usergroup
groupadd usergroup
使用cat /etc/group命令查看linux系统下所有的用户组。
# /etc 文件存放的是系统的配置文件
cat /etc/group
使用getent group 组名命令可以用于查询系统中名为"root"的组的所有信息。
getent group root
Linux系统中用户的所属组,您可以使用usermod -g 组名 用户名命令。
# 把user的组改为root组, -a是选项表示将用户添加到组而不是创建新组,-G选项指定要添加到的组的名称或ID
usermod -a -G root user
使用groups root命令用于查询指定用户(在此处为"root")所属的用户组。它会直接列出"root"用户所属的所有用户组。
# 查看root用户全部的组
groups root
修改用户的密码。
password 用户名
删除用户和组。
# 删除user用户
userdel user
# 删除user用户组
groupdel user
用户及其所属组非常重要,公司开发人员对其进行服务器操作,经常涉及到权限,每个用户组的权限不同。建议反复练习这几个命令之间的联合。
4、文件属性及其所有者和所属组
使用 ll 或者 ls -l 显示文件的属性以及文件所属用户和组。
# ll 或者 ls -l查看根目录
drwxr-xr-x 2 root root 4096 Nov 7 08:42 www
第一个字符代表这个文件是目录、文件或链接文件:d代表的是一个目录;-代表的是一个文件;l代表的是一个链接‘;c代表的是一个设备(键盘);b接口设备;rwxrwxrwx是一个文件权限的表示,它表示文件的所有者、所属用户组和其他用户的权限。
在这个例子中,文件所有者(root)具有 rwx 权限,即可读、可写、可执行;所属用户组(root)具有 r-x 权限,即可读、可执行,不可写;其他用户也具有 r-x 权限,即可读、可执行,不可写。
另外,2 root root 4096 Nov 7 08:42 www 表示该文件的拥有者是 root,属于 root 用户组,文件的创建时间是 Nov 7 08:42,文件名为 www,文件大小为 4096 字节。
可以使用chowd命令修改目录或文件的所属者及其所属组。
# 改变www目录所属人为user,所属组为usergroup
chown user /www
chown :usergroup /www
chown user:usergroup /www
可以使用命令chmod对文件或目录进行赋权。
# rwx代表的权限数字 r:4 ; w:2;x:1
# chmod 所有者权限 所属组权限 其他用户权限 文件或者目录
# 修改www目录其他用户的权限为可读不可写可执行
chmod 775 /www
5、必须掌握常用的命令
- ls: 列出目录及文件名。
- cd:切换目录。
- pwd:显示目前的目录。
- mkdir:创建一个新的目录。
- rmdir:删除一个空的目录。
- rm: 删除文件。
- rm -r: 删除文件或目录。
- cp 旧文件 文件夹: 复制文件。
- cp -r 旧文件夹 新文件: 复制目录。
- mv : 移动文件与目录,或修改文件与目录的名称。
- find 目录 -name 文件名 可以用 * 匹配。
- whereis cat 查看指令位置。
6、磁盘管理
# 磁盘分区的总大小、已用空间
df -h
# du命令用于显示指定目录及其子目录中所有文件和文件夹的大小
du -sh /*
du -h /*
-h是指以可读的方式展示;-s是指检索子文件。
7、vi 、vim编辑器
vi、vim编辑器有三种模式,分别是命令模式,输入模式、底线命令模式。
使用vi 文件命令打开文件进入命令模式,按下i切换到输入模式,在输入模式下按下Esc键进行命令模式,按下shift +: 进入底线命令模式,按下wq保存退出,按下q退出编辑。
8、防火墙
# 开启防火墙第一种方式
service firewall start
# 关闭防火墙
service firewall stop
# 重启防火墙
firewall-cmd --reload
# 开启防火墙第二种方式
systemctl start firewalld
# 关闭防火墙
systemctl stop firewalld
#重启防火墙
systemctl reload firewalld
# 查看防火墙状态
firewall-cmd --state
防火墙和端口号开放以及安全有关,比如我们需要使用端口号8080,则需要在防火墙中加入放行端口号。
firewall-cmd --add-port=8080/tcp --permanent
查看防火墙
firewall-cmd --list-all
# 返回的信息包含放行的端口号
ports: 80/tcp 8080/tcp
9、linux系统常用的快捷键
- 清屏控制台 clear 或者ctrl + l。
- ctrl+a 调到命令开头。
- ctrl+e 跳到命令结尾。
- ctrl+键盘左键,向左跳一个单词。
- ctrl+键盘右键,向右跳一个单词。
- 使用Ctrl + Insert组合键:将当前选中的文本复制到剪贴板。
- 使用Shift + Insert组合键:将剪贴板中的文本复制到当前位置。