Linux知识点整理
一、目录结构
- home:存放普通用户的主目录,在linux中每个用户都有一个自己的目录,一般目录释义用户的账号命令的
- etc:所有的系统管理多需要的配置文件和子目录
- usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似window下的program file目录
- opt:这是给主机额外安装软件所摆放的目录,如安装数据库,默认空,安装包
- usr/local:这是另一个给主机额外安装软件的目录,一般是通过编译源码方式安装的程序
- var:这个目录存放着在不断扩充的东西,习惯将经常被修改的目录放在这个目录,包括各种日志文件
二、帮助指令
文件目录类
- pwd: 显示当前工作目录的绝对路径
- ls: ls [选项] [目录或文件] 常用:-a 显示隐藏文件 -l 列表显示
- cd:切换到指定目录
- mkdir:创建目录 -p创建多级目录
- rmdir:删除空目录 rm -rf 删除非空目录
- touch:创建空文件
- cp:拷贝文件到指定目录 \cp:强制覆盖之前的文件
- mv:重命名或移动文件
- cat:查看文件 -n 显示行数 使用细节: 为了浏览方便,一般会带上管道命令 |more
- more:全屏幕的方式按页显示文件内容
空格:下一页, enter:下一行, ctrl+b:上一页, q:退出 - tail:用于输出文件尾部的内容 tail -f :实时追踪文件的所有跟新
- history:查看已执行的历史命令
搜索查找类
-
. find:将从指定目录下递归遍历,将满足条件的文件显示; find [搜索范围] [选项]
- -name: find /home -name root.txt 按名字查找
- -user: find /opt -user root 文件所有者查找
- -size: find / -size +20M 文件大小
-
locate:可以快速定位文件路径,第一次要 updatedb
-
grep 和 | 管道符
- grep [选项] 查找内容 文件; -n: 显示行号; -i:忽略大小写
压缩和解压类
- gzip和gunzip:用于.gz文件
- zip和unzip:用于.zip文件
- tar:打包指令,用于tar.gz文件
- -c 产生.tar打包文件
- -v 显示详细信息
- -f 指定压缩后的文件名
- -z 打包同时压缩
- -x 解压.tar文件
- tar -zcvf xxx.tar.gz 压缩文件
- tar -zxvf xxx.tar.gz 解压文件
三、组管理和权限管理
linux组基本介绍:每个用户必须属于一个组,不能独立于组外,在Linux中每个文件有所有者、所在组、其他组的概念
1、文件/目录 所有者
- 创建一个组police,在创建一个用户tom,将tom放在police组
1.groupadd police
2.useradd -g police tom
3.passwd tom(设置密码) - 修改文件所有者 chown
1.指令: chown 用户名 文件名
2.chown newowner file 改变文件所有者
3.chown newowner:newgroup file 改变文件的所有者及所在组 - 修改用户所在组
1.usermod -g 组名 用户名
2、权限文件
- 文件的类型: - 普通文件,d 目录,l 软连接。。。
- 表示文件所有者的权限 rwx
- 文件所在组的用户的权限 - - -
- 表示文件其他组的权限 - - -
- 如果是文件,表示硬链接的数,如果是目录则表示该目录的子目录个数
- 文件的大小,如果是目录则是 4096
- 最后修改时间
rwx权限详解
- 文件
[r] 代表可读(read):可以读取、查看
[w] 代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权利,才能删
[x] 代表可执行(execute):可以被执行 - 目录
[r] 可读 ls查看
[w] 可以修改,目录内创建+删除+重命名改目录
[x] 可以进入该目录
3、修改权限 chmod
- 第一种方式:+、-、= 变更权限
u:所有者,g:所有组,o:其他人,a:所有人(u,g,o的总和)
1、chmod u=rwx,g=rw,o=x 文件目录名 (直接设置)
2、chmod o+w 文件目录名 (添加读权限)
3、chmod a-w 文件目录名 (去掉读权限) - 第二种方式 r=4 w=2 x=1 r+w+x=7
chmod a=rwx,g=rx,o=rx 文件名---- 相当于----chmod 755 文件名
四、定时任务调度
-
基本语法:crontab [选项]
常用选项: -e 编辑crontab定时任务;-l 查询crontab 任务 ;-r 删除当前用户所有任务 -
五个占位符说明
依次从 分[0-59]、时[0-23]、天[1-31]、月[1-12]、星期[0-7(0和7都是星期日)] -
特殊符号说明
*:代表任何时间,每分、每时…
,:代表不连续时间, “0 8,12,16 * * * ” 每天8点0分,12点0分,16点0分
-:代表连续时间范围,“0 5 * * 1-6 ” 每周一到周六的5点0分
/:代表每隔多久 “*/10 * * * * ” 每隔十分钟
## 每分钟将 etc目录下次 ls -l查询出来的数据 追加到 tmp目录下的to.txt文件中
*/1 * * * * ls -l /etc/ > /tmp/to.txt
# 查看定时任务日志
tail -f /var/log/cron
五、Linux 磁盘情况
1、linux分区
原理介绍 mount载入 、umount卸载
- linux来说无论有几个分区,分给哪一目录使用,他归根结底就只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分
- Linux采用了一种叫‘载入’的处理方法,他的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来,这时要载入的一个分区将是它的存储空间在一个目录下获得
硬盘说明 lsplk -f 查看系统的分区和挂载情况
- Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘
- 对于IDE硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指IDE硬盘。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“-”代表分区,前四个分区用数字1到4表示,他们是主分区获扩展分区,从5开始就是逻辑分区。例:hda3表示为第一个IDE硬盘上的第三个主分区获扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区
- 对于SCSI硬盘则标识为“sdx~”,SCSI硬盘是用“sd”来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样
挂载的经典案例
- 添加硬盘
- 分区 fidk /dev/sdb
- 格式化 mkfs -t ext4 /dev/sdb1
- 挂载 mount /dev/sdb1 /home/newdisk
- 设置可以自动挂载(永久挂载,当你重启系统,任然可以挂载到 /home/newdisk)
vim /etc/fstab
/de/sdb1 /home/newdisk ext4 defaults 0 0
mount -a
磁盘情况查询
- df -h 查询系统整体磁盘使用情况
- du -h /目录
查询指定目录的磁盘占用情况,默认为当前目录
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
-max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值
示例:查询 /opt 目录的磁盘占用情况,深度为1
du -ach --max-depth=1 /opt
六、进程管理
- 在linux中,每隔执行的程序(代码)都称为一个进程,每隔进程分配一个ID号
- 每个进程,都会对应一个父进程,二这个父进程可以复制多个子进程
基本介绍:ps 显示执行进程
pid 进程识别号,TTY 终端机号,time 此进程所消cpu时间,cmd 正在执行的命令或进程名
- ps -a 显示当前终端的所有进程信息
- ps -u 以用户的格式显示进程信息
- ps -x 显示后台进程的个数
例:ps -aux | grep tomcat - 查看父进程 ps -ef
-e 显示所有进程,-f 全格式
终止进程:kill 和 killall
- 选项:-9 表示强制进程立即停止
- 查看登录信息: ps -aux | grep sshd
- 踢出登录 kill pid
动态监控进程:top
- top跟ps 相似,可以在执行一段时间更新正在运行的进程
七、服务(service)管理
- service 服务名 [stop | start | restart | reload | status]
也可以 systemctl [stop | start | restart | reload | status] 服务名 - 防火墙(firewalld)
window通过telnet 检查linux的某个端口是否在监听,并可以访问
dos 下 telnet ip 端口 (telnet 需要在服务中开启)
八、其他
1、修改端口:
# vim 登录文件
vim /etc/ssh/sshd_config
#修改 Port 端口 去掉 注释 #
# Port 22
Port 21
# 重启sshd
systemctl restart sshd
2、修改密码
passwd 或者修改特定人 passwd xxx
# 提示
Changing password for user root..
New password: ##输入新密码
Retype new password: ##再次确认新密码
passwd: all authentication tokens updated successfully.