简介
Linux是一套使用自和自由传播的类Unix,是一个多用户,多任务,支持多线程和多cpu的操作系统
linux是一个诞生于网络、成长于网络成熟于网络的奇特的操作系统。
linux的主要特点
完全免费 安全性 多用户 多任务 独立性 可移植性
常见的操作系统
windows unix Mac os
linux目录结构
名称 | 说明 |
---|---|
root | 存放root用户的相关文件 |
home | 存放普通用户的相关文件 |
bin | 存放常用命令的目录 如vi su |
sbin | 要忽悠一定的权限才可以使用的命令 |
mnt | 默认挂载光驱和和软驱的目录 |
etc | 存放配置的相关文件 |
var | 存放经常变化的文件 如网络连接 的sock文件 日志 |
boot | 存放引导系统启动的相关文件 |
usr | 安装一个软件的默认目录 相当于windows下的program files |
proc | 这个目录是一个虚拟的目录 它是系统的映射 访问这个目录来获取系统信息 |
srv | service缩写 该目录存放一些服务启动之后需要提取的数据 |
sys | 这是linux2.6内核的一个很大的变化 改目录下安装了2.6内核中新出现的文件系统 |
tmp | 这个目录是用来存放一些临时文件的 |
del | 类似于windows的设备管理器 把所有的硬件用文件的形式储存 |
medla | 系统提供目录是为了让用户临时挂载别的文件系统 我们可以将外部的存储挂载 在/mnt/上 然后进入目录就可以查看里面的内容 |
opt | 这是系统给主机额外安装软件所摆放 如果安装oracle数据库就可以放到该目录下 默认为空 |
selinux | selinux是一种安全子系统 它的控制程序只能访问特定文件 |
总结:
1.linux的目录中只有一个根目录
2.linux的各个目录存放的内容是规划好的
3.linux是以文件的形式管理我们的设备,就一句话 linux系统,一切都是文件
4.linux的各个文件目录下存放什么内容,有一个简单的规划
5.对于上面文件夹有一个简单的认知,形成一个规划树
6.在linux里绝对路径比相对路径使用的多
linux命令
linux操作方式就是 桌面图形化操作 和 终端输入命令
终端输入命令其实就是进行文件操作等等
目录命令
目录可以对文件进行分类管理
命令 | 语法 | 说明 | 选项 |
---|---|---|---|
pwd | pwd | 显示当前工作目录的绝对路径 | |
ls | ls[选项] [目录或文件] | 列出目录下的文件 | -a 显示全部文件包括隐藏文件 -l long长数据串列出 包含文件的属性和权限等。每行列出的信息依次为: 文件类型与权限、链接数、文件属性、文件属组、文件大小(byte)、创建或最近修改时间、名字 |
cd | cd [选项] [目录] | 切换到指定目录 | cd 绝对路径或相对路径 (跳转到指定目录) cd 或 cd~ (返回当前用户家目录) cd - 返回上一次目录所在 cd … 返回当前目录的上一级目录的所在 …/上一级目录 ./当前目录 ~ 用户home家目录 |
mkdir | mikdir [选项] [目录] | 创建指定目录 | -p:创建多层目录 |
rmdir | rmdir[选项] [目录] | 删除多级目录 | -p: 删除多级目录 |
cp | cp 源目录或文件 目标目录或文件 | 复制目录或文件 | -r: 递归复制整个文件 |
mv | mv [选项] 源 目标 | 移动文件或重命名文件 | |
rm | rm [选项] 文件 | 删除文件及目录 | -f:强制执行 -r:递归执行 通配符 * rm -f * |
文件相关命令
命令 | 语法 | 描述 | 选项 |
---|---|---|---|
touch | touch [选项] 文件名 | 创建空文件 | |
echo | echo 字符串或变量 | 输出字符串或变量值,还可以搭配从定向 符将内容储存到文件 | |
cat | cat[选项] 文件名 | 查看文件内容,从第一行开始显示 | -A:列出特殊字符而非空白 -b: 列出行号,空白行不算行号 -n:列出行号,空白行也会有行号 -v:列出一些看不出的特殊符号 |
more | more[选项] 文件 | 查看文件内容,一页一页的显示 | 空格键向下翻一页 enter:向下翻一行 q:退出more,不在显示文件内容 ctrl+f:向下滚动一屏 ctrl+b:返回上一屏 =输出当前行的行号 :f 输出文件名和当前行号 |
head | head[选项] 文件 | 查看文件内容,只看头几行 | -n:查看头n行 |
fail | tail[选项] 文件 | 查看文件内容 ,只查看文件末尾几行 | -n:查看末尾几行 -f:follow输出文件修改的内容,用于追踪文件修改 |
wc | wc[选项] 文本 | 统计指定文本的行数,字数,字节数 | -l:显示行数 -w:显示单词数 -c:显示字节数 |
stat | stat[选项] 文件 | 查看文件的具体储存信息和时间等信息 | |
file | file 文件名 | 查看文件类型 | |
wget | wget [参数] [url地址] | 下载网络文件 | -b:后台下载 -P:下载到指定目录 -t:最大尝试次数 -c:断点续传 -p:下载页面所有内容,包括图片、视频 -r:递归下载 |
查找命令
命令 | 语法 | 描述 | 选项 |
---|---|---|---|
find | find[搜索范围] [匹配条件] | 查看文件或目录 | -name:按文件名称查找 -user:按文件拥有者查找 -size:根据文件大小查找文件(+n大于 -n小于 n等于) |
grep | grep[参数] 查找内容 源文件 | 在文件内搜索字符串匹配的行并输出 | -c:只输出匹配行数的计数 -n:显示匹配及行号 |
which | which [选项] 命令 | 搜索命令所在目录及别名信息 |
压缩解压
命令 | 语法 | 描述 | 选项 |
---|---|---|---|
tar | tar [参数] 包名.tar.gz 待打包的内容 | 打包目录,压缩后的文件格式为tar.gz | -c:生成tar打包文件 -x:解包.tar文件 -v:显示详细信息 -f:指定压缩后的文件名 -z:打包同时压缩 -C:解压到指定目录 |
日期命令
日期相关命令用于设置或获取系统日期
命令 | 语法 | 描述 | 选项 |
---|---|---|---|
date | date[选项] [格式] | 显示或设置时间 | 参数 -s:以字符串形式设置时间 +%Y:显示当前年份 +%m:显示该月的月份 +%d:显示当前是哪一天 +%H:显示显示当前小时 +%M:显示当前分钟 +%S:显示当前秒数 +%Y%m%d:显示当前年月日 +%Y-%m-%d %H:%M:%S:显示当前年月日(时分秒) |
进程线程命令
命令 | 语法 | 描述 | 选项 |
---|---|---|---|
ps | ps [选项] | 查看系统中所有进程 | -a:显示终端下的所有程序,包括阔其他的用户的程序 -u:以用户为主的格式来显示程序状况 -x:显示所有程序,不以终端机来区分 |
top | top[选项] | 查看系统健康状态 | -d:秒数 指定top命令每个几秒更新 默认是三秒 -i:使top命令不显示任何闲置或者僵死进程 -p:通过指定监控进程ID来仅仅监控某个进程的状态 -s:使top在安全模式运行,去除交互命令所带来的潜在危险 |
pidof | pidof[参数] 服务名称 | 查询某个指定服务进程的pid值 | |
pstree | pstree[选项] | 查看进程树 | -p:显示进程的PID |
kill | kill[选项] 进程id | 终止某个指定的pid的服务进程 | -9:强迫进程立即终止 |
killall | killall[选项] 服务名 | 终止某个指定名称的服务对应的所有进程 |
进程解释
项 | 含义 |
---|---|
USER | 进程是由哪个用户产生 |
PID | 进程ID |
%CPU | 该进程占用CPU的百分比,占用越高,进程就越耗费资源 |
%MEM | 该进程占用CPU的百分比,占用越高,进程就越耗费资源 |
VSZ | 占用虚拟内存的大小 单位KB |
RSS | 占用实际物理内存大小 单位KB |
TTY | 表示该进程在哪个终端中运行,tty1-tty7代表本地控制台终端(tty1-tty6是本地的字符界面终端,tty7是图形终端),pts/0-255代表虚拟机终端 |
STAT | 进程状态,常用状态:R运行 S睡眠 T停止状态 s包含子进程 +位于后台 |
START | 进程启动时间 |
TIME | 进程执行时间 及占用cpu的运算时间,不是系统时间 |
COMMANO | 产生此进程的命令名 |
系统状态检测命令
命令 | 语法 | 描述 | 选项 |
---|---|---|---|
ifconfig | ifconfig [网络设备] [参数] | 获取网卡配置和网络状态信息 | |
netstat | netstat[参数] | 显示整个系统目前的网络情况,比如目前的链接 数据包传递数据 路由表内容 | |
uname | uname[选项] | 查看系统内核和系统版本等信息 | -a:显示系统完整信息 -s:系统内核名称 -n:节点名称 -r:内核发行版 -v:内核版本 -m:硬件名称 -i:硬件平台 -p:处理器类型 -o:操作系统名称 |
uptime | uptime[选项] | 查看系统的负载信息,可以显示当前系统时间 系统以运行时间,启用终端数量以及平均负载值等信息 | |
free | free[选项] | 显示当前系统中内存的使用信息 | -m:以兆字节显示 -h:带单位输出 |
who | who[参数] | 查看当前登入主机的用户终端信息 | |
last | last[参数] | 查看所有的系统登录记录,但是要注意,这些信息以日志文件保存的因此黑客很容易进行修改,所以不能以该命令来判断是否有黑客入侵 | |
history | history[参数] | 显示历史执行过的命令 | -c:清楚所有的历史记录,但是.bash_history文件内容不会删除 |
关机命令
命令 | 语法 | 描述 | 选项 |
---|---|---|---|
reboot | reboot[选项] | 重启系统,等同于命令shurdown -r now | |
poweroff | poweroff[选项] | 关闭系统 | |
halt | halt[选项] | 关闭系统 等同于shutdown -h now 和poweroff | |
shutdown | shutdownp[选项] [关机时间] [提示内容] | 关机 | -h:关机 -r:重启 关机时间:hh:mm:指定24小时制的小时和分钟后关机 +m:m分钟后关机(+1:默认值,1分钟后关机;+0:now,立刻关机) |
权限管理
权限说明
linux系统对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有相对应的权限方可执行成功
文件的权限类型一般包括读 写 执行 对应字母 为r w x
权限的身份有拥有者、群组、其他组。每个文件都可以针对这三种,设置不同读写执行权限。通常情况下,一个文件只能属于一个用户和组,如果其他的用户组想有这个文件的权限,则可以可以将该用户加入具备权限的群组,一个用户可以同时归属于多个组
linux通常使用chmod命令对文件的权限 进行设置和修改
创建用户和组
- 添加用户,光盘没有任何交互动作!创建用户完毕后,必须修改密码否则无法登录
useradd zn 创建用户
passwd zn 修改密码
切换用户命令
su - zn
建工作组
groupadd test
新建用户同时增加工作组
useradd -g test phpq 新建phpq用户增加到test工作量
-g 所属组 -d家目录 -s 所用的shell
usermod
Linux usermod命令用于修改用户账号
usermod用来修改用户账号的各项设定
语法
usermod [-LU][-c <备注>][-d <登入目录>][-e<有效期限>][-f<缓冲天数>][-g<群组>][-G<群组>][-I<账号名称>][-s<shell>][-u<uid>][用户账号]
参数说明
- -c <备注> 修改用户账号的备注文字
- -d <登入目录> 修改用户登入时 的目录
- -e<有效期限> 修改账号的有效期限
- -f<缓冲天数> 修改在密码过期后多少天及关闭账号
- -g<群组> 修改用户所属的群组
- -G<群组> 修改用户所属的附加群组
- -I<账号名称> 修改用户账号名称
- -L : 锁定用户密码,使密码无效
- -s 修改用户登入后使用的shell
- -u 修改用户ID
- -U 解除密码锁定
更改登录目录
usermod -d /home.hnlinux root
改变用户的uid
usermod -u 777 root
永久性删除用户账号
userdel testuser groupdel testgroup usermod -G testgroup testuser(强制删除该用户的主目录和主目录下的所有文件和子目录)
显示用户信息
id user cat /etc/passwd
基础权限
linux文件的三种身份:u 文件的拥有者 g 文件所需的群组group o 其他用户
每个身份的四种权限 r读取文件的权限 w写入文件的权限 x执行的权限 s特殊权限
查询文件权限属性
通过ls -al 文件名 指令来查询文件的属性
ls -al 路径 文件名