Linux学习笔记

2.磁盘分区:逻辑分区,主存区,---
3.inode号,---
4.格式化主要目的是写入文件系统,写入文件系统:把硬盘分为一个一个数据块,同时建立一个inode列表。
5.在linux下,所有硬件都是文件。硬件在/dev目录下。(linux必须设置设备文件名,才能分配盘符)。
6.主流:SATA硬盘接口,/dev/sdal---
7.给分区分配盘符的过程称为-挂载。必须分区的目录(/根分区,swap分区)
8./boot  开机启动分区。
9.桥接:虚拟机使用真实网卡,跟真实计算机通信(但要有IP可以分配,否则就会冲突)可以与同局域网内主机通信。桥接相当于局域网内多一台真实主机。NAT:通过假网卡跟真实机通信,且只能和真实机通信,不能和同网段局域网内其他主机通信,不占用IP地址。 
10.ifconfig可以分配IP,ifconfig eth0 192.168.0.101【临时生效】(桥接要和主机同网段,不然无法通信)
11.Linux严格区分大小写。Linux不靠扩展名区分文件类型,但有的话方便。
12.   .config配置文件,.sh脚本文件,.rpm二进制软件包
13.Linux所有储存设备必须挂载之后才能使用,包括U盘。。
14. /etc保存配置文件,/bin存放系统命令(所有用户可执行),/sbin存放系统命令只有root可以执行,/dev设备文件,/lib系统调用的函数库保存位置,/media挂载目录(媒体设备),/mnt挂载目录(额外设备),/misc挂载目录(挂载NFS服务),/lost+found系统崩溃意外挂机文件碎片存放在此目录,/opt第三方软件保存位置,/proc虚拟文件系统该目录数据保存到内存中记录内核进程等,/sys虚拟文件系统和/proc类似保存内核信息,/src服务数据目录(一些服务启动后保存需要的数据),/tmp临时目录存放临时文件(该目录所有用户都可以访问写入),/usr系统软件资源目录【unix software resourse】(系统中安装的软件),/var动态数据保存位置(保存缓存,日志,软件运行产生的文件,一会写一遍不断变化)。【proc,sys不要写入信息,内存只读,且随机】
15.给用户分配的权限越少越好。
16.定期备份重要数据,否则一个意外,一个网站就可能直接没了。
================文件命令================
1.命令格式:命令 【-选项】 【参数】
2.简化选项一般一个-(-a),完整选项一般两个-(--all)
3.隐藏文件:大部分是系统文件,不要乱动它,并非是藏起来看不见
4.ls
-l 多出来相关属性
-a 显示隐藏文件
-h 人性化显示(K,M大小)
-d 查看某个目录详细信息,而不看目录下的信息
-i 显示inode
5.:u所有者,g所属组,o其他人  所有者和所属组只能有一个
6.-rwxr-xr-x
第一个字符:-文件,d目录,l软连接
第二到四个字符:所有者权限
第五到七个字符:所属组权限
第八到第十个字符:其他人权限
r,w,x:4,2,1
7.mkdir
-p 递归创建,在本身不存在的目录下面创建新目录
8.cd
. 当前目录
.. 当前目录的上一级目录
9.rmdir(删除空目录)
10.cp 
cp 【原来的目录的文件】 【目标目录】
-r 复制目录
-p 保留文件属性
11.mv (剪切加改名)
mv 【原来的目录】 【目标目录】
12.rm 删除文件目录
-r 删除目录
-f 强制执行(不-f删目录会一直问你是否要删除子目录)
13.touch(创建空文件)【不建议创建带空格的,如果非要则加上双引号】
14.cat(查看文件)
-n显示行号
15.tac(反向查看文件)
16.more(查看长文件,分页显示)
空格或f 翻页
enter 换行
q  退出
17.less(分页查看长文件,但可以向上翻页,可以搜索)
pageup 向上翻
/关键词   搜索关键词(按n向下查看下一个关键词)
其余和more差不多
18.head(只看前几行)
-n 指定行数   head -n 5
默认显示前10行
19.tail(只看后几行)
-n  指定行数
-f  动态显示文件末尾内容
默认显示10行
20.ln(生成链接文件)
ln -s 【源文件】 【目标文件】
-s 创建软连接(软连接-windows快捷方式)
不加-s创建硬链接(硬链接相当于拷贝,但是修改一个两个文件会同步更新,硬链接不能跨分区,不能针对目录使用)
================权限命令================
1.chmod(root和文件所有者可以修改权限)
chmod 【{ugoa}{+-=}{rwx}】 【文件】
chmod 【mode=421】 【文件】
-R 递归修改(该目录下的所有目录文件都修改权限)
chmod g+w,o-r 1.txt
2.chown(改变文件所有者)
chown 【用户】【文件或目录】
3. chgrp(改变文件所属组)
4.umask
-S 非常直观,显示新建文件的缺省权限(缺省权限,最重要的那个)
(缺省创建的文件没有可执行权限)
5.
================文件搜索命令================
1.find
find [搜索范围][匹配条件]
-name(-iname 不区分大小写) 根据文件名搜索  find /etc -name 123.txt(精准搜索,名字完全匹配)【模糊搜索需要*,通配符】
-size 根据文件大小查找 (+n大于,-n小于,n等于)find / -size +20480(单位是数据块,一个数据块是0.5K)
-user(-group 查找所有组)根据所有者查找 find /home -user abc在根目录下查找所有者为abc的文件
-amin 访问时间 
-cmin 文件属性(文件属性被修改)  find /etc -cmin -5 查找5min内修改过的
-mmin 文件内容(文件内容被修改)
-a 两个条件同时满足
-o 两个条件满足一个即可
-type 根据文件类型查找(d目录,f文件,l软连接)
-inum 根据inode节点查找 (可以删除一些奇怪的文件名)
-exec(-ok会一个一个询问) 对查找结果做什么操作  find /etc -name init -exec ls -l{}\;(;表示结束,后面是固定的)
2.*匹配任意字符,?匹配单个字符
3.locate(快速搜索)
locate 文件名(建立了一个文件资料库/var/lib/mlocate,不会收录tmp目录下的)(updatedb 更新资料库)
-i 不区分大小写
eg:locate init
4.which 搜索命令所在的目录及别名信息
which ls
5.whereis 搜索命令所在的目录及帮助文档目录
6.grep 在文件内容中搜索
grep 关键词 文件
-i 不区分大小写
-v 排除指定字符串
grep mysql /root/init
================帮助命令================
1.man
man 【命令或配置文件】
man ls,man service(查看配置文件不需要加绝对路径)
/搜所关键词
whereis查询:1 命令的帮助,5 配置文件的帮助
2.whatis 、apropos
只读取到命令是干什么用的信息 whatis ls
apropos只能查看配置文件的关键信息
3.--help附加选项,显示命令的参数,而不会像man全列出来
4.help
查看shell内置命令的帮助(内置命令找不到路径)
================用户管理命令================
1.useradd  添加用户
useradd 用户名  
2.passwd 更改用户密码
passwd 用户名
3.who 查看登录用户信息
tty本地终端,pts远程终端
w命令,详细用户信息
================压缩解压命令================
1.压缩格式 .gz
gzip 【文件】 将文件压缩(gzip只能压缩文件)
gzip -d 【压缩文件】将文件解压缩
gunzip 【压缩文件】 将文件解压缩
2. 格式.tar,tar命令
tar -zcf 【压缩后的文件名】【目录】
-c 打包
-v显示详细信息
-f指定文件名
-z打包同时压缩
-x 解包  tar -zxvf 123.tar.gz
3.压缩格式 .zip(zip压缩会保留原文件)
zip 【压缩后的文件名】【文件或目录】
-r 压缩目录
unzip 解压缩
4.压缩格式bzip2  .bz2(压缩比比较大)
格式:bzip2 文件
-k 产生压缩文件并保留源文件
bunzip2 解压
================网络命令================
1.write 给用户发信息(要都登录这个服务器)
2.wall 发送广播信息,给所有用户
3.ping
-c 发送次数
4.ifconfig 查看和设置网卡信息
lo回环网卡,用来本机测试
eth0 本地网卡
5.mail 查看发送电子邮件,发用户
6.last 列出目前与过去登陆过的用户信息(日志查询命令)
lastlog只显示最后一次登录
7.traceroute 显示数据包到主机的路径
traceroute www.baidu.com
检测网络信息
8.netstat 显示网络状态
-t TCP
-u UDP
-l 监听
-r 路由
-n 显示IP地址和端口
netstat -tlun查看本机监听端口
9.setup 配置文件--redhat才有,永久生效
10.mount 挂载
mount 【-t 文件系统】 设备文件名 挂载点
mount -t iso9660 /dev/sr0 /mnt/cdrom
umount 卸载(不能在挂载点卸载)
================关机重启命令================
1.shutdown
-c 取消上一个关机
-h  关机 shutdown -h now  
-r 重启
2.其他关机
halt
poweroff 相当于直接断电
init 0
3.其他重启
reboot
init 6
4.init+级别
系统运行级别(在配置文件中有默认,如果改成6会一直重启)
0 关机
1 单用户(类似安全模式,只启动最核心的程序)
2 不完全多用户(不包含NFS,网络文件系统)
3 完全多用户
4 未分配,没有
5 图形界面
6 重启
runlevel查看当前运行级别
5.logout 退出登录
================vim================
1.三种模式:命令模式(敲vi)、插入模式、编辑模式(命令模式按:)
2. 显示行号,:set nu,set nonu(取消行号)
3.命令模式-》插入模式:输入i(a,o也可,只是插入位置不一样)
4.
gg到第一行
G到最后一行
$到行尾
0到行首
nG或:n到第n行
5.删除
x 删除光标处的字符
nx 删除光标及光标后的n个字符
dd 删除光标所在行
dG 删除光标所在行到文件末尾
D 删除光标所在处到行尾
:n1,n2d 删除指定范围行
6.复制和剪切
yy复制当前行
nyy复制当前以下n行
dd剪切当前行
ndd剪切当前以下n行
p,P粘贴
7.替换和取消
r取代光标处字符
R 从光标所在处开始替换字符
u取消上一步操作
8.搜索和替换
/string 搜索指定字符串(:set ic搜索忽略大小写)
n搜索指定字符串的下一个位置
:%s/old/new/g 全文替换
9.:w保存
:wq 保存并退出
ZZ保存并退出(快捷键)
:q!(不保存退出)
:wq!(保存并退出,root强行保存只读文件)

常用:
gg
G
:n
dd
yy
p
u
================软件包管理================
1.rpm包是编译过的,无法看见源代码
2.源码包和二进制包区别
3.rpm命令
rpm包命名规则:软件包名-软件版本-软件发布次数-适合的linux平台-适合的硬件平台-rpm包扩展名
依赖性:树形依赖,环形依赖,模块依赖(yum解决依赖性)
4.包全名(没有安装的包使用包全名),包名(操作已经安装的软件包)
5.rpm安装
rpm -ivh 包全名
-i 安装
-v 显示详细信息
-h 显示进度
--nodeps不检测依赖性
-U 升级
-e卸载
-q 查询是否安装
-aq 查询已经安装的所有包
-qi 查询包的信息
-pi 查询没有安装的包的信息
-ql 已安装位置
-qf 查询文件属于哪个包
-qR 查询依赖性
-V 校验指定RPM包文件是否更改
rpm2cpio 提权包中某个特定文件
6.yum(自动安装)
配置yum源:/etc/yum.repos.d
yum list 查询可用软件包列表
yum search 关键字 搜索软件包
yum -y update 包名 升级(如果不加包名,默认升级所有软件包,但是内核需要在本地配置才能使用,所以远程链接不要升级内核)
yum -y remove 包名 卸载(如果依赖系统包,卸了就完了)
yum grouplist 列出可用软件组列表
yum groupinstall 软件组名 安装指定软件组
yum groupremove 软件组名 卸载指定软件组
7.光盘yum源搭建
8.源码包管理
不要乱改安装路径,否则(相对路径)命令找不到
绝对路径启动服务
源码包下载,rm,直接把文件删除即可,不会有垃圾文件
9.脚本安装包(人把安装步骤写成了脚本,执行脚本即可安装)
删不了(出箭头)用ctrl+删除
================用户管理================
1./etc/passwd,冒号分隔,总共七个字段
用户名:
密码标志:x表示用户有密码
UID:(0:超级用户,1-499系统用户(启动服务用的),500-65535普通用户)
GID:用户初始组ID(用户一创建就会有一个初始组)(附加组)
用户说明 :备注
家目录: /home/name /root 
登录之后的shell:(用户写成/bin/bash才能正常登录)
2./etc/shadow 总共九个字段
用户名:
经过加密后的密码(centos sha512):!!或*代表没有密码,不能登录
密码最后一次修改日期:
两次密码修改间隔:(10天内不能修改)
密码有效期:
密码到期前警告时间:
密码过期后的宽限天数:
账号失效时间:
保留:
3./etc/gshadow   /etc/group
组名
组密码标志
GID
组中附加用户
4.普通用户更改uid为0,变成root
5.用户模板目录 /etc/skel  添加用户后默认生成的文件
6.常用命令
useradd  添加用户
-u 指定UID
-d 指定家目录
-c 用户说明
-g 指定初始组
-G 指定附加组
-s 指定登录shell
passwd  设置密码
-S 查询用户密码状态
-l 暂时锁定用户
-u 解锁用户
usermod   修改用户信息
-u 修改UID 
-c  修改说明信息
-G  修改附加组
-L 锁定用户
chage  修改用户密码状态
-l查询密码状态
-d、-m,-M,-W,-I,-E
userdel  删除用户
-r 同时删除家目录
su 用户切换
- 连带用户的环境变量一起切换
-c 仅执行一次命令(可以以root执行命令),而不切换用户身份
su - root -c “useradd”以root执行添加用户命令
7.id 用户名
查看信息
env查看信息
6.
groupadd  添加组
groupmod 修改组名
-n 修改组名
-g 修改组GID
groupdel 组名  删除组名
gpasswd 选项 组名 
-a 把用户加入组
-d 把用户从组中删除
================权限管理================
1ACL权限:.给某个特殊的用户特殊的权限
2.文件分区是否支持ACL权限,(要先查看是哪个分区)dumpe2fs -h /dev/sda3【默认支持,开启ACLmount -o remount,acl/】
【永久生效,修改/etc/fstab文件】
3.
getfacl 文件名 查看ACL
setfacl设定ACL
-m 设定
setfacl -m u:st:rx /project
setfacl -m m:rx /project 修改mask
-x删除指定acl(删除用户或组)
-b 删除文件下所有acl权限
-d 设定默认ACL
setfacl -m d:u:用户名:权限 文件名 
-k 删除默认ACL
-R 递归设定ACL(递归和默认只能赋予目录)
4.mask最大有效权限(给用户设定的acl并不是真实的,是与mask相与之后的)
5.SetUID(在文件所有者权限内有s)
只有可执行的二进制程序才可设置suid
执行这个带SUID程序时,执行者会获得程序所属组的权限(SUID只在程序执行过程中生效,程序终止就会回到普通用户权限)
设置SUID
chmod 4755 文件名(4代表suid)
chmod u+s 文件名
chmod 755 文件名 删除suid
chmod u-s 文件名 删除suid

6.SetGID(在文件所属组权限内有s)
针对文件和目录      
chmod 2755  文件名
chmod g+s 文件名
7.Sticky BIT
黏着位chmod 1777 
chmod o+t 目录名
chmod o-t 目录名
不能删除其他用户的文件
tmp目录有
8.文件系统属性权限chattr
chattr 【+-=】 【选项】【文件】
i 设置i属性、给文件设了i属性,就不能修改文件了,其他人只能看(可以限制root)。如果给目录设置i属性,不能建立和删除文件
a  文件只能增加数据,不能修改。目录只能增加文件,不能删除文件。
lsattr 选项 文件名
-a 显示所有文件和属性
-d  若目标是目录,仅列出目录本身的属性
9.sudo权限,操作命令
把本来只能root执行的命令赋予普通用户执行
visudo 实际修改/etc/sudoers
================文件系统管理================
1.主分区:最多只能分4个
主分区1:/dev/sda1
主分区2:/dev/sda2
主分区3:/dev/sda3
扩展分区:/dev/sda4
扩展分区1:/dev/sda5
但可以有扩展分区
2.文件系统:ext2,ext3...
3.df 统计文件系统占用情况(加上了系统和进程所占的资源,真正的剩余空间)
-h 人性化显示
-a 显示特殊分区
4.du 目录名     统计目录大小
-h人性化显示
-sh 查看目录总大小(不加是列出子目录)
5.fsck 文件系统修复命令(不用使用,开机就会自动来做)
-y 自动修复
6.dumpe2fs  /dev/sda1  显示磁盘状态
7.mount(挂载,把光盘作为文件保存起来,访问文件名,就等于访问光盘)
mount 查询已经挂载的
mount -t 文件系统 -L 卷标名(给分区起一个别名) \ -o 特殊选项 设备文件名 挂载点【把设备文件名和挂载点连接起来】
8.让home分区(先要把home单独分出来)无法执行文件
mount -o remount,noexec /home   【特殊选项】
复原成可执行:mount -o remount,exec /home    
9.挂载U盘光盘
挂光盘
建立挂载点 mkdir /mnt/cdrom/
挂载光盘  mount -t iso9660 /dev/cdrom  /mnt/cdrom
通过挂载点访问光盘下的数据
umount 设备文件或挂载点   卸载命令

挂U盘
fdisk -l 
查看U盘设备文件名
mount -t vfat /dev/sdb1  /mnt/usb/
(linux默认不支持NTFS)
10.如何支持NTFS文件系统(NTFS移动硬盘)
11.fdisk分区
12.partprobe 重新读取分区表信息
13.分区的自动挂载,每次启动不用重新挂载
================shell基础================
1.shell--命令解释器,把asc吗命令翻译成内核可识别的命令
2.支持的shell  /etc/shell
3.echo命令
-e 支持反斜线控制的字符转义
4.dos2unix  把dos的shell转换为unix格式
5.history历史命令
-c 清除历史命令
-w 保存到文件中
使用上下箭头执行以前的命令
利用!n重复执行之前的命令(n代表命令id号)
6.TAB键自动补全
7.alias 定义命令的别名(永久生效修改文件)
unalias
8.命令执行顺序
第一顺位执行用绝对路径或相对路径执行的命令
第二顺位执行别名
第三顺位执行bash的内部命令
第四顺位按环境变量查找到的第一个命令
9.ctrl+A光标移到命令行开头
ctrl+E光标移到命令行末尾
ctrl+U 清除当前的命令
ctrl+K删除或剪切
ctrl+Y 粘贴
10.输入输出重定向(比如把文字输出到文件中,不是输出到显示器)
命令>文件,把命令覆盖写入到文件中
命令>>文件,把命令追加到文件中
命令 &>文件,命令执行成功或错误都写入文件
11.多命令顺序执行
;多个命令按顺序执行  
|| 命令1不正确执行命令2,命令1正确不执行命令2
&&   命令1正确才会执行命令2,命令1不正确不执行命令2
12.dd
复制分区或硬盘
13.管道符  |  一个竖杠
命令1的正确输出作为命令2的操作对象(命令1必须正常输出才能执行命令2)
14.通配符
? 匹配任意一个字符
*   匹配0个或多个字符
[]  匹配括号中的任意一个字符,[abc]比配a或b或c
[-]   匹配括号中的任意一个字符,-代表一个范围
[^]  逻辑非,匹配不是括号中的一个字符
15.特殊符号
#注释
$调用变量
$()引用系统命令
``反引号括起来是系统命令
\转义符
16.Bash变量
用户自定义变量
环境变量
位置参数
预定义变量
================shell编程================
================系统管理================
1.ps  查看所有进程
ps -le  使用linux标准格式
USER:该进程是哪个用户产生的
PID:进程ID号
%CPU:占用CPU的百分比
%MEM:进程占用物理内存的百分比
VSZ:占用虚拟内存的大小
RSS:进程占用实际物理内存的大小
TTY:进程在那个终端运行
STAT:进程状态(S休眠,R运行,T停止,+位于后台)
START:进程启动时间
TIME:进程占用CPU的运算时间
COMMAND:产生此进程的命令名
2.top 查看系统健康状态(默认以CPU占比排序)
-d  指定更新秒数
q  退出
第一行:当前系统时间,运行了多少时间,有几个用户登录,负载压力情况
第二行:系统进程总数,正在运行的进程,睡眠的进程,停止的进程,僵尸进程(进程正在终止,但没完全终止)
第三行(CPU信息):
3.kill 终止进程
-l  查看可用的进程信号(1-重启,9-强制终止,15-正常终止)
kill -1 22354(进程ID号)
4.pkill
按进程id终止进程
-t 终端号  按终端号踢出用户
5.工作管理
把进程放入后台
ctrl+z把进程放入后台,命令会暂停
在命令后加入&,命令会继续执行
jobs -l  查看后台工作
fg  %工作号  把前台恢复到后台
bg %工作号  把后台恢复到前台
6.系统资源查看
vmstat 刷新延时 刷新次数  监控系统资源  vmstat  2 3
dmesg  显示开机时内核的检测信息  非常多
free  查看内存使用状态
uptime 启动时间和平均负载
uname 查看系统和内核信息
-a 查看内核所有信息
-r  查看内核版本
file /bin/ls查看系统的位数
lsb_release -a  查看linux发行版本
lsof  列出进程调用的文件、
cat /proc/version  查看内核版本
7.定时任务(启动crond服务才能定时任务)
crontab
-e 编辑定时任务(按照标准格式写入)
-l  查询
-e 删除 
================日志管理================
1.日志服务rsyslogd
/var/log  日志目录
/var/log/cron 系统定时任务
/var/log/cups 打印信息日志
/var/log/btmp 登陆错误信息日志  使用lastb查看,因为是二进制文件
/var/log/lastlog  记录系统所有用户最后一次登录时间的日志
/var/log/message  记录系统重要信息的日志,出现问题首先要查
/var/log/secure  记录验证和授权方面的信息,登录、切换用户、修改密码
/var/log/wtmp 永久记录所有用户登录注销信息
/var/run/utmp  记录当前已经登陆的用户信息
2.
/etc/rsyslog.conf 日志配置文件
3.日志轮替
解决日志过多,占用过多内存的问题。
每天写一个日志
================备份与恢复================
1.系统中需要备份的
/root
/home
/var/spool/mail
/etc 
2.
apache
配置文件
网页主目录
日志文件
mysql的数据
源码包安装的/var/local/mysql/data
rpm包/var/lib/mysql
3. dump备份命令
dump 【选项】 备份之后的文件名  源文件名
-level 备份级别
-f 指定备份之后的文件名
-u 备份成功后记录备份时间 到/etc/dumpdates
-v 显示详细信息
-j  yasuobeifenwenjian
4.restore恢复命令
restore 【备份模式】 【选项】

service network restart重启网络服务

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值