初学Linux----笔记
Linux学习
一、Linux的目录结构
"Linux中,一切皆文件"
具体的目录结构介绍
/bin :存放经常使用的命令
/sbin:存放系统管理员使用的系统管理程序
/home:存放普通用户的主目录(家目录),创建用户时会在这个目录中自动创建一个和用户同名的用户的家目录
/root:系统管理员的主目录
/boot:存放启动Linux时使用的核心文件如一些连接文件及镜像文件
/tmp:存放一些临时文件
/media:Linux识别一些媒体设备,如U盘、光驱等,linux将这些识别后的设备挂载到此目录
/mnt:让用户临时挂载别的文件系统
/var:存放日志文件
二、XShell的配置
三、vim编辑器
vim的三种模式:
1.正常模式
用vim打开一个文档就进入的模式,在这模式中可以使用上下左右来移动光标,在这个模式中可以进行vim文档的粘贴、复制、删除
2.编辑/插入模式
按下i后进入的模式,在此模式中可以进行文档的编辑,在此模式中按esc键即可进入正常模式
3.命令行模式
在正常模式下输入:即可进入,在此模式中可以完成读取、存盘、替换、离开vim、显示行号等
4.三种模式转化图
5.快捷键使用
1.复制当前行,光标移到当前行,按yy即可,复制从本行以下3行,3yy; 粘贴按p,复制当前行三遍为yy3
2.删除当前行,光标移到当前行,按dd即可,删除从本行以下3行,3dd;
3.在文件中查找某个单词,正常模式下(或命令行模式) /关键字,回车 查找,输入n查找下一个
4.设置/取消 行号,在命令行下 :set nu / set nonu
5.正常模式下,输入G到最后一行,gg到第一行
6.在编辑模式中输入数据,想要撤销此数据,可在正常模式下输入u
7.移动到指定行数 在正常模式下输入 指定行数,再shift+g即可
四、开机、重启和用户登录注销
1.关机、重启命令
shutdown -h now : 立即关机
shutdown -h 1 : 1分钟后关机
shutdown -r now : 立即重启
halt : 关机
reboot :重启
sync :内存数据同步到磁盘(关机或重启应该先执行sync防止数据丢失)
2.普通用户登录后使用 su 用户名 切换成系统管理员 需要输入密码;系统管理员同样使用su转换成普通用户,不需要密码
3.logout注销用户,logout在图形运行级别无效(graphical.target)在运行级别3(multi-user.target)下有效
五、用户管理
Linux的用户至少需要属于一个组
1.添加用户 useradd [选项] 用户名
用户添加时没有指定目录,会自动创建和用户同名的家目录;
useradd -d 指定目录 用户名 ---- 给新创建的用户指定家目录
useradd -g 用户组 用户名 ----给新创建的用户指定所属组
2.密码修改 passwd 用户名
过于短暂的密码再次输入即可
3.删除用户 userdel 用户名
加 -r 可删除对应的家目录
4.查询用户 id 用户名
5.增加组 groupadd 组名
(组的增加、删除与用户的类似)
6.删除组 groupdel 组名
7.修改组 usermd -g 用户组 用户名
8./etc/passwd文件 :用户配置文件,记录用户信息
用户名 : 密码 :用户id :组id :家目录 :登录shell
9.etc/shadow文件 口令的配置文件
10. etc/group 文件 组信息
组名 :密码 :组id
CentosOs6运行级别
如何找回root密码
开机->在引导时输入 回车键-> 看到一个界面输入 e -> 看到一个新的界面,选中第二行(编辑
内核)在输入 e-> 在这行最后输入 1 ,再输入 回车键->再次输入 b ,这时就会进入到单用户模式。
这时,我们就进入到单用户模式,使用 passwd 指令来修改 root 密码。
CentosOs7运行级别
CentosOs7单用户更改密码
重启计算机并为整个文件系统重新创建安全标签(touch /.autorelabel && reboot)。
先输入exit退出后再reboot
六、实操指令
1.帮助指令类
(1). man [命令或配置文件] (帮助手册 比help 的内容多) q退出
(2). help 命令 (获得shell的内置命令的帮助信息)
2.文件目录类
(1).pwd --显示当前工作目录的绝对路径
(2). ls [选项] [目录或文件] --查看当前目录的所有内容信息
常用选项
-a:显示当前目录所有的文件和目录,包含隐藏的
-l : 以列表的方式显示信息
(3).cd [参数] (切换到指定的目录)
cd 或 cd~ 回到自己的家目录
cd .. 回到上一级目录
(4).mkdir --目录创建
mkdir [选项] 目录名
mkdir -p 目录名 创建多级目录
(5).rmdir 删除空目录
rmdir [选项] 要删除的空目录
rmdir 只能删除空目录,有内容的目录可用rm-rf 删除,但慎用
(6). touch 创建文件
touch 文件名称
(7).cp 复制文件
cp [选项] 来源处 目的处
cp -p 来源处 目的处 递归复制整个文件夹
\cp 可以强制覆盖不提示
(8) rm 删除文件或目录
rm [选项] 要删除的命令或目录
rm -r 递归进入文件夹中删除文件,然后逐层删除文件夹退出
rm -f 删除是不提示
(9).mv 移动或重命名 文件或目录
有的重命名,没有的移动
mv oldNameFile neNameFile (重命名)
mv /文件/文件 (移动)
(10).cat 查看文件 以只读的方式打开
cat [选项] 查看的问件
cat -n 查看的文件 查看显示行号的文件
cat 文件名 | more (对文件内容分页查询)
(11).more 以全屏的方式按页显示内容 会加载全部文件内容
语法:more 文件
快捷键
(12).less 分屏查看文件内容 不会一次性加载整个文件,对于显示大型文件效率比more高
语法:less 文件
快捷键
(13) > & >>
>:输出重定向,会覆盖原有文件里的内容
>>:追加,不会覆盖原有文件里的内容
ls-l>a.txt :将ls-l显示的内容添加到a.txt中,若a.txt不存在则创建
(14).echo 输出内容到控制台
echo [选项] 文件
(15) head 显示文件开头部分内容 默认显示10行
head 文件
head -n 5 查看文件开头5行内容
(16)。tail 显示文件结尾部分内容 默认显示10行
tail 文件
tail -n 5 查看文件结尾倒数5行
tail -f 文件 实时追踪该文档的所有更新
(17).软连接 In 类似window中的桌面的快捷方式
语法:ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)
给root目录设置软连接,访问linkRoot相当于访问root
pwd查看目录时仍是软连接的目录
(18). history 查看已经执行过的历史指令
语法:history 查看已经执行过的历史指令
history 10 显示最近使用过的 10 个指令
!461 执行历史指令中第461个指令
3 时间日期类
(1) date 显示当前日期
语法:
1) date (功能描述:显示当前时间)
2) date +%Y (功能描述:显示当前年份)
3) date +%m (功能描述:显示当前月份)
4) date +%d (功能描述:显示当前是哪一天)
5) date "+%Y-%m-%d %H:%M:%S"(功能描述:显示年月日时分秒)
(2) 设置日期
语法:date -s 字符串日期
设置系统时间
(3) 日历 cal
语法:cal [选项] (功能描述:不加选项,显示本月日历)
4.搜索查找类
(1).find
语法:find [搜索范围] [选项]
实例:
按文件名查找 /home下的hello.txt
按用户查找 find /home/ -user a.txt
查找整个linux系统中大于20M的文件(+n:大于n,-n小于n,n等于)
(2) locate 可以快速定位文件路径,无需遍历整个文件系统,由于 locate 指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创建 locate 数据库
(3) grep 指令和 管道符号 |
grep 过滤查找 , 管道符,“|”,表示将前一个命令的处理结果传递给后面的命令处理
语法:grep [选项] 查找内容 源文件
在hello.txt中,查找java所在行
5.压缩和解压类
(1)gzip & gunzip
语法: gzip 文件 (压缩文件,源文件删除)
gunzip 文件.gz (解压文件)
(2) zip & unzip
语法 zip [选项] 文件/目录.zip 文件/目录(功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压缩文件)
zip 常用选项 -r :递归压缩,压缩目录
unzip 常用选项 -d:指定解压后的目录
压缩/home下的soft目录
将soft.zip解压到test文件下
(3) tar 打包
语法 tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
选项
将home下的a.txt 和 hello.txt打包成txt.tar.gz
解压txt.tar.gz
七.组管理和权限管理
1.linux组基本介绍
(1) 所有者:文件的创建者
查看文件的所有者
语法:ls -ahl
修改文件所有者
语法:chown(change ownner) 用户名 文件名
(2) 所在组 用户创建文件后文件的组默认为用户所在的组
修改文件所在组
语法:chgrp 组名 文件名
(3)其他组 除了文件的所有者和所在组的用户外,系统的其他组
(4) 改变用户所在组
在添加用户时,可以指定将该用户添加到哪个组中,同样的用 root 的管理权限可以改变某个用户
所在的组
语法 :usermod -g 组名 用户名
2.权限
第0位的文件类型:d:目录,- :普通文件,l:软连接,c:字符设备(键盘),b:块文件(硬盘)
(1) rwx详解
r:可读 数字代表为 4
w:可写 数字代表为2
x:可执行 数字代表为1
(2) 修改文件权限
语法:chmod 数字 文件
(3) 改变文件的所有者和所有组
修改所有者语法: chown newowner:newgroup file
-R 如果是目录 则使其下所有子文件或目录递归生效
修改所有组语法:chgrp newgroup file
八.crond 任务调度
1.概述:任务调度--像闹钟一样,在某一时刻执行特定的功能
2.分类:(1) 系统工作:如时刻杀毒 (2)用户工作:在某时刻让系统执行某一功能
3.语法 :crontab [选项]
常用选项
-e 编辑crontab定时任务
-l 查询crontab任务
-r 删除当前用户的所有crontab任务
实例: 每小时的每分钟执行 hello > /tmp/to.txt 命令
步骤:
简单:
1)crontab -e 设置任务调度文件
2) 在文件中编写任务 */1 * * * * /home >> /tmp/to.txt (*之间有空格)
3) 保存退出后cron自动生效
4) 每隔一分钟系统自动调用 /home >> /tmp/to.txt
复杂:
1)先编写一个file.sh文件
2) 在文件中编写任务 /home >> /tmp/to.txt (*之间有空格)
3) 修改文件权限,给他一个可执行权限
4) crontab -e
5) */1 * * * * file.sh
6) 保存退出生效
4.占位符说明
5.特殊符号说明
6.实例:
1)30 21 * * * :在21点30分执行命令
2)0 13 * * 1 :每周一在13点整执行命令
3)0 5 8,12 * * : 每月8号、12号的凌晨5点整执行命令
4)40 4 * * 1-5 :周一到周五凌晨4点40分执行命令
5)*/10 4 * * * :每天凌晨4点每隔10分钟执行命令
6)0 0 1,15 * 1 : 每月1号、15号,周一的0点0分执行命令
九.Linux 磁盘分区、挂载
1.分区的方式
(1)mbr分区:最多四个主分区,系统只能安装在主分区,最大支持2TB
(2)gtp分区:支持无线多个主分区,最大支持18EB
2.Linux分区
(1)示意图
(2)linux硬盘分为IDE和SCSI,SCSI的表示为sdx~ ,sd代表硬盘类型为SCSI,x(a,b,c,d)代表第几块硬盘,~(1,2,3,4)代表第几个主分区或扩展区
(3)使用lsblk -f 查看当前系统的分区情况和挂载情况
(4)添加一块硬盘
1)虚拟机添加硬盘
2)分区 fdisk /dev/sdb
3)格式化 mkfs -t ext4 /dev/sdb1
4)挂载 先创建一个 /home/newdisk , 挂载 mount /dev/sdb1 /home/newdisk
卸载:umount 设备名称 or 挂载目录
5)设置可以自动挂载(永久挂载,当你重启系统,仍然可以挂载到 /home/newdisk) 。
vim /etc/fstab
(5)磁盘情况查询
1)查询系统整体磁盘使用情况
语法:df -h
2)查看指定目录磁盘使用情况
语法:du -h 目录
查询指定目录的磁盘占用情况,默认为当前目录
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
--max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值
(6)实用指令
1)统计/home文件夹下的文件个数
2)统计/home文件夹下目录的个数
3)统计/home 文件夹下文件的个数,包括子文件夹里的
4)统计文件夹下目录的个数,包括子文件夹里的
5)树状显示目录结构
tree
使用前先安装 yum install tree