一、Linux介绍
1.Linux文件结构
目录名称 | 目录内容 |
---|---|
/bin | 基本程序 |
/boot | Linux启动中加载的文件 |
/dev | 硬件 |
/etc | 系统配置文件 |
/home | 用户家目录 |
/initrd | 初始化启动文件 |
/lib | 库文件 |
/lost+found | 文件丢失目录 |
/misc | 杂项目录 |
/mnt | 标准挂载点 |
/net | 默认远程系统挂载点 |
/opt | 第三方软件 |
/proc | 进程 |
/root | 根目录/ |
/sbin | 系统管理员使用的命令 |
/tmp | 临时目录 |
/usr | 用户程序、库 |
/var | 日志、程序数据等 |
Linux系统的文件也是具有不同类型的
符号 | 文件类型 |
---|---|
- | 普通文件 |
d | 目录文件 |
l | 链接文件 |
c | 特殊文件 |
s | socket套接字文件 |
p | pipe管道文件 |
b | 块文件 |
2.Linux文件权限
不同用户对于同一文件具有不同的权限,错误的权限设置导致安全威胁
权限划分:
权限标识 | 权限内容 |
---|---|
r | read读权限,查看权限 |
w | write写权限,文件修改内容和新建文件权限 |
x | execute执行权限,是否可以直接运行 |
用户划分:
用户标识 | 用户内容 |
---|---|
u | user拥有者 |
g | group组与所有者同组的用户 |
o | other其他 除了user和group组中用户的其他用户 |
权限查看 ls -l 或者 ll
权限修改chmod
chmod u|g|o +|- r|w|x 文件名称
当前用户增加执行权限
chmod u+x 文件名称
当前用户删除执行权限
chmod u-x 文件名称
特殊案例:如果需要同时对u g o 进行修改,那么此时需要u+x g+x o+x繁琐,直接
chmod +x 文件名称
但是如果u g o修改的权限不相同,那么此时使用以上权限修改操作不便捷。可以使用r-4、w-2、x-1,采用求和的方式做权限修改。
chmod 774 文件名称 7-u-rwx 4-g-r 4-o-r
二、Linux常用命令
Linux shell命令在终端的使用过程中,可以使用tab键自动补齐。使用man 命令名称 查看帮助文档。
1. ls显示指定目录下的内容,列出文件与子目录(不指定目录,列出当前工作目录)。
ls -alh [路径]
-a:显示所有文件和目录(包括隐藏文件和目录)
-h:显示文件或目录的大小
-l:显示为long format(长格式),列出文件类型、权限、链接数、owner、group、大 小,时间,名字
2. 文件内容查看
cat 文件 显示文件具体文本内容
file 文件 显示文本类型
3. pwd显示当前工作路径的绝对路径,由根目录开始的绝对路径
pwd
4. cd 切换工作路径
cd [目录]:切换到指定目录
cd ~ :切换到当前用户home家目录
cd / :切换到根目录 /root
cd .. :切换到上一级目录
5.新建与删除
mkdir 目录名称
rmdir 目录名称
touch 文件名称
rm 文件名称
rm -rf * 删除当前目录下的所有文件与目录 -r 递归删除 -f 强制删除
6.文件移动复制
cp [选项] 源文件或目录 目标文件或目录 将指定文件或目录复制到新的文件或目录中(复制)
-r选项:如果给定的源为目录,此时需要指定-r参数,以此来复制目录
mv [选项] 源文件或目录 目标文件或目录 将指定的文件或目录移动到新的文件和目录中(截切)
7.文件压缩
tar
压缩并打包:
tar -czvf 名称.tar.gz 目录或文件
解压:
tar-xzvf 名称.tar.gz
8. 文件内容编辑
vim
编写hello.py为例
1.vim 文件名
2.输入i,进行代码插入
3.esc后,shift+:,输入wq,保存并退出
cat 文件名或文件路径,查看文本文件的内容
9.网络命令
ifconfig 获取ip地址信息
netstat 获取端口连接状态信息 netstat pantu
10.系统监控
w 输出当前登录系统的用户
如果具有远程登录,此时可以使用w输出登录的主机ip地址。
kill -9 PID 终止进程
三、Linux用户管理
Linux系统中用户:1.超级用户(root) 2.普通用户 3.虚拟用户(服务用户 nologin)
1.用户操作
新建用户
useradd 用户名
passwd 用户名 设置登录密码
修改用户属性
usermod 属性 值 用户名
删除用户
userdel [-r] 用户名 -r参数会删除用户的家目录
2.查看用户权限
在shell的符号中,如果在提示符中,#代表root最高权限,$代表普通用户权限。
查看当前登录系统的用户名称
whoami
id
3.Linux密码破解
Linux中,用户信息都存储在文件中,分别是/etc/passwd(可读)和/etc/shadow文件。
如果具有Linux中的/etc/passwd和/etc/shadow两个文件即可利用John进行破解
john /etc/passwd /etc/shadow --wordlist /usr/share/wordlists/fern-wifi/common.txt
四、Linux权限切换
Linux系统中的用户根据权限大小分为两类:root权限用户和普通权限用户
root权限用户:对Linux操作没有限制
普通权限用户:具有限制权限
Linux登录为普通权限用户后,可以使用su - root 切换为最高权限用户
某些情况下,需要用root用户权限,但是又不能或不想切换root用户,此时就可以用sudo执行root权限。
sudo 执行shell命令
五、Linux服务管理
在Linux系统中,默认情况下服务没有自动启动(需要配置)
1.启动或关闭服务
启动服务:service 服务名称 start
查看服务状态:service 服务名称 status
关闭服务:service 服务名称 stop
六、Linux软件安装与卸载
1.软件源修改
vim /etc/apt/source.list
2.软件更新
更新软件索引版本:apt update
更新已安装的软件:aot upgrade
更新已安装的软件,并且更新软件依赖:apt dist-upgrade
3.软件安装与卸载
安装:apt install 软件名称
卸载:apt remove 软件名称
4.github代码仓库克隆
apt install git
git clone 仓库地址
七、Linux计划任务(定时)
在Linux下可以通过crontab进行计划任务的编写和浏览
crontab -l 查看当前用户的定时任务
1.crontab定时任务设定
crontab -e 编辑当前用户的定时任务 本质编辑/var/spool/cron/crontabs下用户名的文件
2.定时任务执行记录日志
默认不记录日志信息,编辑/etc/rsyslog,conf,将cron之前的注释符#去掉即可,同时使用service rsyslog restart重启服务。