Linux学习基础

linux目录结构

linux的文件系统是采用级层式的树状目录结构,在此结构中最上层是根目录“/”,然后在此目录下再创建其它的目录。
在linux世界里。一切皆文件

命令解释
/binbin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。
/boot存放启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
/devdev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
/etcetc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。
/liblib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/medialinux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
/mnt系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。
/optopt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/procproc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
/root该目录为系统管理员,也称作超级权限者的用户主目录。
/sbins 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。
/tmptmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
/usrusr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录
/usr/src内核源代码默认的放置目录。
/varvar 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
/run是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

Linux实用指令

常用和实用的linux命令

关机重启

shutdown -h now # 立刻进行关机
shutdown -h 1 # 1分钟会关机
shutdown -r now # 现在重新启动计算机
halt # 关机
reboot # 重启
sync # 将内存数据写入磁盘
logout # 注销用户,在运行级别3以下有效
exit # 注销用户

用户管理

useradd 用户名 # 添加用户,-g 组名可以指定用户组
passwd 用户名 # 设置用户密码
groupadd 组名 # 添加组
userdel 用户名 # 删除用户,加上-r可以将目录一同删掉
groupdel 组名# 删除组
id 用户名 # 查询用户信息
su - 用户名 # 切换用户
logout # 注销用户,在运行级别3以下有效
exit # 注销用户

运行级别

// 运行级别
0:关机
1:单用户 [找回丢失密码]
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
// 常用运行级别是3和5,也可以指定默认的运行级别,后面演示
init 级别 // 切换级别命令
systemctl get-default //获取当前级别
systemctl set-default //设置默认级别

帮助指令

命令解释
man 需要查询的命令获得帮助指令
help 命令获得帮助指令(英文)

文件目录类的相关指令

命令解释
pwd获取当前目录的绝对路径
cd进入目录
mkdir新建目录,加上-p可以创建递归目录、文件
rmdir删除目录,加上-r可以删除非空的目录、文件
cp复制目录或者文件,\cp可以避免提示覆盖,两者加上-r可以复制整个目录
rm删除目录,-r递归删除,-rf递归删除非空目录
mv移动或者重命名
cat查看目录,加上-n可以显示行号,后面加上
more查看文件,分页显示
less查看文件,不会一次性加载完文件,根据查看位置加载,使用:字符串 可以查找所需字符串
echo输出
head查看文件头部,后面跟行数可以查看前n行,默认查看前10行
tail查看文件尾部,后面跟行数可以查看后n行,默认查看后10行,加上-f可以监控文件的变化
ln软链接,使用方法:ln -s 原文件名 链接名
history查看执行过的历史指令,可以使用!行号重新执行一次这一行的命令

时间日期类

命令解释
date显示时间日期,可以通过后面跟“+%Y-%M-%d”的格式来改变显示格式,加-s可以修改时间
cal显示当前本月日历

查找指令

命令解释
findfind 搜索范围 条件(+大于、-小于,-name按名字查找、-user按用户查找、-size按大小查找)
locate快速定位文件路径,使用之前必须先使用updatedb命令
which查看命令在哪个目录下
grep过滤,通常与管道符号 | 一起使用

解压与压缩指令

命令解释
gzip用于压缩文件,不能压缩文件夹,压缩成gz格式的文件
gunzip解压
zip压缩文件或者文件夹,压缩成zip的文件
unzip解压
tar打包指令,将文件打包成tar.gz后缀的文件。-c产生.tar打包文件,-v显示详细信息,-f指定压缩后的文件名,-z打包同时压缩,-x解包.tar文件

文件所有者/组

命令解释
chownchown 用户 文件,改变文件的所有者
chgrpchgro 组名 文件,改变文件的所有组,
usermod改变用户所在组,-g是改变组,-d是改变用户初始登录目录

权限的基本介绍

ls -l 命令显示的文件信息中,第一列

-rw-r--r--. 1 root     fls       0 520 15:39 a.txt

0到9位说明
1、第0位是确定文件类型(d、-、l、c、b)
l是链接,表示快捷方式
d是目录,相当于文件夹
c是字符设备文件,鼠标键盘
b是块设备,比如硬盘
-是文件

2、第1到3位是所有者对该文件所拥有的权限
3、第4到6位是所有组对该文件所拥有的权限
4、第7到9位是其他用户对该文件所拥有的权限

rwx权限作用到文件:
r表示可读
w表示可修改,但不表示可以删除
x表示可执行

rwx权限作用到目录:
r表示可以查看(ls)目录内容
w表示可以修改删除创建目录里的文件
x表示可以进入到该文件夹

5、1:文件的话表示的是连接数,目录则表示的是子目录数
6、root:用户
7、fls:组
8、0:文件大小
9、5月 20 15:39:最后修改日期
10、文件名

修改权限

通过chomd可以修改文件或者目录的权力

# 第一种方式:通过+-=变更权限
# u表示所有者,g表示所有组,o表示其他人,a表示所有人
使用示例:
(1)chomd u=rwx,g=rw,a=r 文件名
(2)chomd u+rw 文件名

# 第二种方式,通过数字变更权限
r=4,w=2,x=1	rwx=4+2+1=7
使用示例:
chomd 777 文件目录名 #所有者所有组和其他人添加上rwx权限

通过chown可以修改文件或者目录的所有者

使用示例:
(1)chown 用户名 文件/目录
(2)chown -R 用户名 文件/目录(递归更改)

通过chgrp可以修改文件或者目录的所在组

使用示例:
(1)chown 用户名 文件/目录
(2)chown -R 用户名 文件/目录(递归更改)

定时任务调度

crond定时任务

crontab 进行定时任务的设置
概述:指系统在某个时间执行特定的命令或程序
基本语法:
crontab [选项]

命令解释
-e编辑crontab的定时任务
-l查询crontab任务
-r删除当前用户所有的crontab任务
使用示例:
(1)crontab -e # 进入crontab任务调度编辑界面
(2)*/1 * * * *date > 文件 # 每隔一分钟将系统时间输入到文件内保存
(3)service crond restart # 重启任务调度
特殊符号解释
*表示任何时间,比如第一个*就代表一个小时内的每一分钟都执行一次,五个分别代表分、时、天、月、周几
表示不连续的时间,比如“0 7,8,9 * * *”表示每天的7、8、9点0分执行命令
-表示连续的时间,比如“0 8 * * 1-3”表示周一到周三的8点执行命令
*/n表示隔多久执行一次,比如“*/5 * * * *”表示每隔5分钟执行一次命令

at定时任务

ps -ef | grep asd # 查看进程中运行的asd指令
atd 查看at定时任务
使用示例:
at [选项] [时间]
命令 [设置完成后连续两次Ctrl+D]
选项解释
-m当指定的任务完成后将给用户发送邮件,即使没有标准输出
-latq的别名
-datrm的别名
-v显示任务将被执行的时间
-c打印任务内容到标准输出
-V显示版本信息
-q<队列>使用指定的队列
-f<文件>从指定的文件读入任务而不是从标准输入读入
-t<时间参数>以时间参数的形式提交要运行的任务

at指定时间的方法:
1.接受在当天的hh:mm(小时:分钟)的时间指定。假如时间已经过去,那么就放在第二天执行
2.使用midnight(深夜),noon(中午),teatime(下午茶)等词语来指定时间
3.采用12小时计时制,在时间后面加上am或pm来指定
4.使用命令执行具体的日期,指定格式为month day(月 日)或mm/dd/yy(月/日/年)或dd.mm.yy(日/月/年),指定的日期必须跟在指定的指定时间后面。
5.使用相对计时法,指定格式为:now+count time-units,now就是当时的时间,time-units就是minutes、hours、days等时间单位,count是时间数量。
6.直接使用today、tomorrow来指定完成命令时间

使用示例:
(1)at 5pm + 3days 
	/home/hello.java # 3天后的下午5点执行home目录下的hello.java文件
(2)at 22:05 22.05.2021
	/home/hello.java #2021年的22点05分执行home目录下的hello.java文件
(3)atrm 5 # 删除编号为5的at定时任务

linux挂载分区

linux分区

原理介绍:
1.linux无论有几个分区,挂载给哪一个目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,linux每一个分区都是用来组成文件系统的一部分
2.linux采用了一种叫“载入”的处理方法,他的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来,这时要载入的一个分区将使它的存储空间在一个目录下获得

硬盘说明:
1.linux分为IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘。
2.对于IDE硬盘,驱动器标识符为“hdx~”,其中hd表明分区所在的设备类型为IDE硬盘。x为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘)。最后一个符号表示分区,前面4个分区用数字1到4表示,是主分区或者拓展分区,从5开始就是逻辑分区。
3.对于SCSI硬盘的驱动器标识符为“sdx~”,sd标识SCSI硬盘,其余和IDE硬盘一样。
4.使用lsblk命令可以查看硬盘挂载信息,加上-f选项可以查看详细信息

linux硬盘挂载示例

如何添加一块硬盘
1.虚拟机添加硬盘。

设置里选择硬盘添加

2.设置分区

fsdis /dev/硬盘名称 # 进入硬盘设置
n # 对硬盘进行分区
p # p是主分区,e是拓展分区
1 # 分区号
w # 将刚刚设置的信息写入fsdisk并且保存

3.对硬盘进行格式化

mkfs -t ext4 /dev/硬盘名称 # 设置完成后会产生UUID号,使用lsblk -f可以查看

4.挂载到目录下

mount /dev/硬盘名称 目录 # 设置完成后将硬盘挂载到该目录下,使用lsblk -f可以查看
umount /dev/硬盘名称或者目录 # 切断挂载

5.设置可以自动挂载

vim /etc/fstab # 进入修改fstab文件
/dev/sdb1				  /newdisk ext4 defaults        0 0  # 添加挂载关系这里使用的是硬盘名称添加或者使用uuid添加也行
mount -a # 命令行执行,使挂载关系生效

磁盘情况查询

查询系统整体磁盘使用情况

df -h # 查询系统整体磁盘使用情况

查询指定目录的磁盘占用情况

du -h /目录 # 默认为当前目录
选项解释
-s指定目录占用大小汇总
-h带计量单位
-a含文件
–max-depth=n子目录深度n
-c列出子目录的同时增加汇总值

磁盘情况工作实用指令

ll /opt | grep "^-" | wc -l # 统计opt目录下文件个数
tree /home # 用树状图展示home目录结构
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值