文件夹
/bin  目录里保存的是一些二进制文件,都是普通用户可以直接运行的
/sbin  一般是root用户或者给授予权限的用户可以运行
/boot  引导程序,内核等存放的目录。
/dev  设备文件
/etc  存放配置文件 
/lib  存放程序运行所需要的共享库及内核模块
/home  普通用户的家目录
/root  超级用户的根目录
/mnt	临时设备的挂载目录
/media  光驱的挂载目录
/tmp    临时文件的目录
/usr	软件默认安装目录
/var    此目录下文件的大小可能会改变,如缓冲文件,日志文件,缓存文件等一般都放在这里。
/run	临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
 
命令
1.pwd命令
pwd:当前目录绝对路径 
2.cd命令
cd命令:改变当前工作目录
cd ~    //进入主目录
cd /    //回到根目录
cd ..   //回到上一级目录
cd -    //返回到前一个工作目录 
3.ls命令
ls命令:显示指定工作目录下的内容,如果不提供参数,ls将在当前目录上运行。
	-a:列出指定目录下的所有文件和子目录(包括以“.”开头的隐含文件)。
	-d:如果是目录,则显示目录的属性而不是目录下的内容。
	-l:使用长格式显示文件或目录的详细属性信息。
	-R:列出所有子目录下的文件
    -s:文件从大到小的排列出来
    -h:以人可读形式读出,例如:k,kb,mb
    -f:列举文件显示的文件类型 
4.cat命令
cat:查看文件的内容,将文件的内容输出到标准输出
格式:cat [选项] 文件名
	-b:列出行号,仅针对非空白行号显示,空白行不标行号;
	-n:打印出行号,连同空白行也会有行号,与-b的选项不同 
5.more命令
more:分页查看文件的内容
格式:more [选项] 文件名
	空格键:代表向下翻一页
	回车键:代表向下翻一行
	b 键:往前查看一页;
	q 键:退出。 
6.tail命令
tail:用于查看文件的开头部分的内容,默认显示 10 行的内容
格式:tail [选项] 文件名
	-n:指定显示的行数
	-f:实时查看被添加到一个文件中的内容 
7.grep命令
grep:在指定文本文件中匹配字符串,输出匹配字符串所在行的全部内容。
格式:grep [选项] 要查找的内容 目标文件名
	-n:在文件中查找指定内容并显示匹配行的行号
	-E:用来扩展选项为正则表达式 
8.find命令
find:在指定目录下查找文件
格式:find 路径 选项 要查找的文件
	-name	通过文件名查找文件
	-user	通过用户名查找文件 
9.cp命令
cp:用于复制文件或目录
格式:cp [选项] 源文件 目标文件
	-b:若需覆盖文件,则覆盖前先行备份
	-r:复制目录,实现将源目录下的文件和子目录一起复制到目标目录中
	-f:如果目标文件或目录已经存在,则将其覆盖,并不作提示 
10 . mv命令
mv:用于移动或重命名目录与文件
	-b:若需覆盖文件,则覆盖前先行备份
	-f:如果目标文件已经存在,不会询问而直接覆盖;
    -i:如果覆盖,这会有提示 
11. rm命令
rm:用于删除一个文件或者目录
	-f:强制删除文件
	-r:递归删除目录 
12. mkdir命令
mkdir:创建一个新目录
格式:mkidr [选项] 要创建的目录
	-p:递归创建,如果目录不存在则创建目录,如果目录已存在也不会被覆盖 
13. touch命令
touch命令:创建一个新的空文本文件
格式:touch [选项] 要创建的文件名 
14. tree命令
-d	只显示目录 
15.echo命令
echo 会在终端中显示参数指定的文字,通常会和 重定向 联合使用
> 表示输出,会覆盖文件原有的内容
>> 表示追加,会将内容追加到已有文件的末尾
 
16.tar
tar:此命令可以 把一系列文件 打包到 一个大文件中,也可以把一个 打 包的大文件恢复成一系列文件
格式:rar [参数] 文件
-c	生成档案文件,创建打包文件
-x	解开档案文件
-v	列出归档解档的详细过程,显示进度
-f	指定档案文件名称,f 后面一定是 .tar 文件,所以必须放选项最后 
17,apt命令
apt:是 Linux 下的一款安装包管理工具。可以在终端中方便的 安装/卸载/更新软件包
# 1. 安装软件
 apt install 软件包
# 2. 卸载软件
 apt remove 软件名
# 3. 更新已安装的包
 apt upgrade 
18.ping命令
ping:检测网络连通性
格式:ping [选项] host
	-c:指定ping的次数
	-s:设置ping包长度
	-i:设置发送包间隔时间
	-f:快速的连续ping一台主机,ping的速度达到100次每秒
 
19. netstat命令
netstat:显示网络相关信息
格式:netstat [选项]
	-a:显示所有连接
	-t:仅显示tcp相关选项
	-u:仅显示udp相关选项
	-n:拒绝显示别名,能显示数字的全部转化成数字。
	-l:仅列出有在 Listen (监听) 的服務状态
	-p:显示建立相关链接的程序名
经典组合:netstat ntlp 
20. ps命令
ps:查看当前系统进程
格式:ps [选项]
	-a:显示所有用户的进程
	-u:显示用户名和启动时间
	-x:显示没有控制终端地进程
	-e:显示没有控制终端地进程,相较于x选项更为简略
	-f:全格式显示
常用组合:ps -ef   ps -aux 
21.kill命令
kill命令:终止指定进程的运行,kill命令是通过向进程发送指定的信号来结束相应进程的。在默认情况下,采用kill命令编号为15的信号。该信号将终止所有不能捕获该信号的进程。对于那些可以捕获该信号的进程就要用编号为9的kill信号,强行“杀掉”该进程。 
格式:kill [选项] 进程号
kill -9 进程号    #强制杀掉进程 
22. systemctl命令
systemctl:管理系统中的服务
	systemctl start 服务名   #启动服务
	systemctl restart 服务名 #重启服务
	systemctl stop 服务名    #停止服务
	systemctl status 服务名  #查看服务
	systemctl enable 服务名  #添加开机自启
	systemctl disable 服务名 #取消开机自启
	systemctl is-enabled 服务名 #查看服务是否开机启动 
23. firewall防火墙
放行某个端口
firewall-cmd --add-port=端口/通讯协议 --permanent
	--add-port=端口/通讯协议   指定添加的端口号和协议
	--permanent    永久生效
firewall-cmd --reload
	重新加载防火墙使配置生效
删除放行的某个端口
firewall-cmd --remove-port=端口/通讯协议 --permanent
--remove-port=端口/通讯协议	指定移除的端口号和协议
批量放行端口
firewall-cmd --add-port=开始端口-结束端口/通讯协议 --permanent
查看开放的端口
firewall-cmd --list-ports 
通过服务放行端口
firewall-cmd --add-service=http --permanent
查看开放的服务端口
firewall-cmd --list-services
rich rules:富规则,即更细致、更详细的防火墙规则策略 
24.vim编辑器
    yy             复制光标所在行
	2yy            复制光标所在行开始的2行
	p              粘贴
	dd             删除光标所在行(实际是剪切)
	3dd            删除光标所在行开始的3行(剪切)
	x              删除当前光标所在的字符
	X(大写)       删除当前光标前一个字符
光标移动:
	h 左移   j 下移 k 上移  l 右(四个箭头也可以上下左右移动)
	ctrl+f  往下翻页
	ctrl+b  向上翻页
	G       定位到最后一行(整个文档最后一行)
	5G      定位到第5行
	gg      定位到第一行(整个文档第一行)
	w       跳到下一个单词
	b       跳到上一个单词
其他命令: 
	ZZ     保存并退出
	u            撤销
	ctrl+r       反撤销(撤销u操作)
	/            搜索,先输入/,再输入搜索内容+回车。n、N表示上(下)一个搜索结果 
25.whoami : 查看当前登录的用户
26. 用户和组
sudo 以管理员身份执行命令,普通用户默认无法使用sudo命令,需要将用户添加到wheel组当中
su - 用户名   改变当前用户,比如用了su - root之后,下面所有的命令就可以不用打sudo了,因为当前用户已经是管理员root了。注意:从 root用户切换到普通用户时不需要输入密码,而从普通用户切换成 root用户需要进行验证
useradd:创建新的用户
格式:useradd [选项] 用户名
	-u	指定该用户的默认 UID
	-g  指定一个初始的用户基本组
passwd:修改用户密码、过期时间、认证信息等
格式:passwd [选项] [用户名]
	-l  锁定用户,禁止其登录
	-u  解除锁定,允许用户登录
	-e  强制用户在下次登录时修改密码
userdel:删除用户
userdel [选项] 用户名
	-r  同时删除用户及用户家目录
usermod:修改用户的属性
格式:usermod [选项] 用户名
	-g	修改用户的基本组
	-G	修改用户的附加组
	-u	修改用户的 UID
chage:修改帐号和密码的有效期限
格式:chage [选项] 用户名
	-M:密码保持有效的最大天数
	-W:用户密码到期前多少天开始提醒
groupadd:创建一个组
格式:groupadd [选项] 组名
	-g  指定该组的默认 GID
groupmod:修改用户组的属性
格式:groupmod [选项] 组名
	-g  为用户组指定新的GID
	-n	为用户组改名
groupdel:删除用户组
格式:groupdel 用户组
groups:查看某个用户属于哪些组
格式:groups 用户名 
27.权限管理
r     4    读    可以查看
w     2    写    可以修改
x     1    执行  可以执行
chmod    更改文件的权限
格式:chmod [选项] 要分配的权限 文件或目录名
	-R:改变目录及目录下的文件和目录的访问权限
chown    更改文件和目录的所有者
格式:chown 选项 用户名 文件或目录名
	-R:改变目录及目录下的文件和目录的所有者
chgrp    更改文件和目录的所属组
格式:chgrp 选项 组名 文件或目录名
	-R:改变目录及目录下的文件和目录的所属组 
27.1 特殊权限
粘滞位针对目录赋权,为目录添加粘滞位后该目录中创建的文件和目录只有创建者和超级管理员可以删除  (数字权限1)
	粘滞位赋予方法:chmod o+t 目录名称
sgid针对目录赋权,为目录添加sgid后在该目录中建立的文件属组继承父目录的属组 (数字权限2)
	sgid赋予方法:chmod g+s 目录名称
SUID针对可执行文件赋权, 如作用在普通文件中没有任何意义 。在默认情况下,用户发起一个进程,该进程的属主是发起者,而并非是文件的属主,但是如果给二进制程序文件添加了SUID权限后,用户发起一个进程,该进程的属主为程序文件所属的属主,而并非是发起者。 (数字权限4)
	suid赋予方法:chmod u+s 可执行文件名称 










