Linux入门
1.Linux和Unix的关系
2.Linux目录结构
- /bin:是Binary的缩写,这个目录存放着最经常使用的命令。
- /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
- /home:存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
- /root:该目录为系统管理员,也称作超级权限者的用户主目录。
- /lib:系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
- /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
- /etc:所有的系统管理所需要的配置文件和子目录my.conf。
- /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
- /boot:存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
- /proc:这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息。
- /srv:service的缩写,该目录存放一些服务启动之后需要提供的数据。
- /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs。
- /tmp:这个目录是用来存放一些临时文件的。
- /dev:类似windows的设备管理器,把所有的硬件用文件的形式存储。
- /media:linux系统会自动识别一些设备,例如U盘光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
- /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里面的内容了。
- /opt:这是给主机额外安装软件所摆放的目录,如安装ORACLE数据库就可放到该目录下。默认为空。
- /usr/local:这是另一个给主机额外安装软件所安装的目录,一般是通过编译源码的方式安装的程序。
- /var:这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下,包括各种日志文件。
- /selinux:SELinux是一种安全子系统,它能控制程序只能访问特定文件。
3.vi和vim快捷键
4.关机&重启
首先要运行sync命令,把内存的数据写到磁盘中
5.用户登录和注销
su - 用户名
6.用户管理
(1)添加用户:useradd 用户名
(2)修改密码:passwd 用户名
(3)删除用户:1.删除用户保留家目录:userdel 用户名;2.删除用户以及用户主目录:userdel -r 用户名
(4)查询用户信息:id 用户名
(5)查看登录用户:whoami / who am I
(6)用户组:类似于角色,系统可以对有共性/权限的多个用户进行统一管理。
新增组:groupadd 组名
删除组:groupdel 组名
增加用户时加上组:useradd -g 用户组 用户名
修改用户的组:usermod -g 用户组 用户名
7.运行级别
8.帮助指令
9.文件目录类
(1)显示当前工作目录的绝对路径:pwd
(2)目录或者文件显示,显示所有包括隐藏的:ls -a ,以列表的形似显示 ls -l
(3)切换到指定目录,回到家目录(若是root,cd ~到/root):cd ~,回到上一级:cd …。
(4)创建目录:mkdir,创建多级目录:mkdir -p。
(5)删除空目录:rmdir,若删除非空目录:rm -rf 。
(6)创建空文件:touch 文件名称,例如touch /home/hello.txt。
(7)拷贝文件:cp source dest,递归复制整个文件夹:cp -r source dest。强制复制用**/cp**。
(8)移除文件或目录:rm。
(9)移动文件与目录或重命名:mv。
(10)查看文件内容:cat,查看内容并显示行号cat -n。
(11)以全屏方式显示文本文件的内容:more。
(12)分屏方式显示文件内容,并不是一次将整个文件进行加载:less。
(13)输出到控制台:echo,文件头部内容:head。
(14)输出文件尾部内容:tail。
(15)重定向和追加:>和>>。
(16)软链接:ln -s。
(17)历史指令:hsitory。
10.时间日期指令
(1)显示时间:date “+%Y”。
(2)修改时间:date -s 字符串时间,例:date -s “2021-7-8 10:10:10”。
(3)查看日历:cal。
11.查找指令
12.压缩和解压
(1)gzip/gunzip指令,只能将文件压缩为*.gz文件,是在原文件上进行操作。
(2)zip/unzip指令,压缩文件和目录。压缩例子:zip -r myhome.zip /home/;解压例子:unzip -d /opt/tmp /home/myhome.zip。
(3)压缩:tar -zcvf xxx.tar.gz 打包的内容;解压:tar -zxvf 解压的内容 -C 解压的位置
13.Linux组
(1)查看文件所有者:ls -ahl
(2)修改文件所有者:chown 用户名 文件名
(3)修改文件所在组:chgrp 组名 文件名
(4)改变用户所在组:usermod -g 新组名 用户名
(5)改变用户登录目录:usermod -d 目录名 用户名,特别说明:用户有进入新目录的权限。
14.权限
对普通文件rwx,即读写执行。
对文件夹rwx的讨论,x:表示可以进入该目录,比如cd;r:表示可以ls,将目录的内容显示;w:表示可以在该目录,删除或者创建文件。
14.1 修改权限-chmod
第一种方式:+、-、=变更权限。
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
(1)chmod u=rwx,g=rx,o=x 文件/目录名
(2)chmod o+w 文件/目录名
(3)chomd a-x 文件/目录名
#######################################################
第二种方式:通过数字变更权限。
r=4 w=2 x=1 rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件/目录名相当于chmod 751 文件/目录名
14.2 修改文件所有者-chown
chown newowner 文件/目录 改变所有者
chown newowner:newgroup 文件/目录 改变所有者和所在组
-R 如果是目录 则使其下所有子文件或目录递归生效
例子:chown -R tom /home/test
14.3 修改文件所在组-chgrp
chgrp newgroup 文件/目录 【改变所在组】
例子:chgrp -R shaolin /home/test
15.任务调度
15.1执行步骤
步骤一:设置任务调度:crontab -e
步骤二:接着输入任务到调度文件,例如:*/1 * * * * ls -l /etc/ > /tmp/to.txt
五个占位符说明:分别是分 时 日 月 星期,斜杠代表每隔多久。
例子:每隔一分钟,将当前日期和日历都追加到/home/mycal文件中
(1)vim /home/my.sh 写入内容date >> /home/mycal 和 cal >> /home/mycal
(2)给my.sh增加执行权限,chmod u+x /home/my.sh
(3)crontab -e 增加 */1 * * * * /home/my.sh
15.2 crond相关指令
crontab -r 终止任务调度
crontab -l 列出当前有哪些任务调度
service crond restart 【重启任务调度】
15.3 at任务调度机制
基本介绍:
at的守护进程atd会以后台模式运行,检查作业队列来运行。守护进程每60秒检查作业队列。使用ps -ef | grep atd检查atd是否在运行。
设置任务命令:at 【选项】 【时间】,Ctrl + D结束at命令的输入
查看队列任务命令:atq
例子:2天后的下午5点执行/bin/ls /home
at 5pm + 2 days 再输入 /bin/ls /home
例子:删除已经布置的任务,atrm 编号
atrm 5
16.Linux分区
16.1 磁盘分区机制
(1)查看设备挂载情况:lsblk或者lsblk -f
(2)增加磁盘:步骤一:分配磁盘大小;步骤二:分区,fdisk /dev/sdb;步骤三:格式化磁盘,mkfs -t ext4 /dev/sdb1,其中ext4是分区类型,步骤四:将一个分区与一个目录连接起来,mount /dev/sdb1 /newdisk,用命令行挂载重启后会失效,步骤五:永久挂载,通过修改/etc/fstab实现挂载,添加完成后执行mount -a即刻生效。
16.2 增加磁盘应用实例
16.3 磁盘情况查询
(1)查询系统整体磁盘使用情况:df -h
(2)查询指定目录磁盘占用情况:du -h
(3)统计/opt目录下文件个数:ls -l /opt | grep "^- | wc -l"
16.4磁盘实用指令
17.NAT网络原理图
18.主机名和hosts映射
18.1 域名解析流程
19.进程
(1)进程的介绍:每个执行的程序都称为一个进程,程序是静态的,进程是动态的。每一个进程分配一个ID号;
(2)ps指令,1.查看有没有sshd服务ps -aux | grep sshd;2.查看sshd的父进程ps -ef | grep sshd;
(3)终止进程kill和killall,1.kill 进程号;2.killall 进程名称;3.强迫进程立即停止kill -9 进程号;
(4)查看进程树,1.显示进程PID:pstree -p;2.显示进程的所属用户:pstree -u
19.1 进程基本介绍
19.2 ps指令详解
19.3 父子进程
19.4 终止进程
19.5 查看进程树pstree
20. 服务
(1)基本介绍:服务本质就是进程,但是运行在后台,通常都会监听某个端口,等待其他程序的请求,比如(mysqld,sshd 防火墙等),因此我们又称为守护进程。
(2)service管理命令,1. service 服务名 [start | stop | restart | reload |status] ;2. service指令管理的服务在/etc/init.d查看
(3)chkconfig管理指令,1.查看服务:chkconfig --list | grep xxx;2.chkconfig --level 3 network off; 3. 需重启reboot设置才能生效;4. chkconfig指令管理的服务在/etc/init.d。
(4)systemctl管理指令,1. systemctl [start | stop | restart | status] 服务名 2. systemctl指令管理的服务在/usr/lib/systemd/system查看 3.查看服务器开机启动状态systemctl list-unit-files | grep 服务名 4. 设置服务开机启动systemctl enable 服务名 5.关闭服务开机启动systemctl disable 服务名 6.查询某个服务是否是自启动的systemctl is-enable 服务名
(5)firewall指令,1. 打开端口 firewall-cmd --permanent --add-port=端口号/协议 2.重新载入才能生效firewall-cmd --reload 3.查看端口是否开放firewall-cmd --query-port=端口/协议
查看网络状态:netstat -anp
systemctl应用案例:systemctl stop firewalld
查看网络状态:netstat -anp
21.动态监控系统
21.1 top指令