logout
logout注销指令在图形运行级别无效
在运行级别3一下有效
切换用户:
登录时尽量少用root帐号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,登录后再用su - 用户名
命令来切换成系统管理员身份。 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
su – 切换用户名
返回到原来用户:
exit
查看当前登录用户:
whoami
样例:
用户组
用户组类似于角色,系统可以对有共性的多个用户进行统一的管理。
新增组:
groupadd 组名
删除组:
groupdel 组名
增加用户时直接加上组:
useradd –g 用户组 用户名
修改用户的组:
usermod –g 用户组 用户名
案例:
组管理和权限管理
在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念。
文件/目录 所有者:
一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。
查看文件的所有者: 创建一个组police(groupadd police
),再创建一个用户tom(useradd -g police tom
),将tom放入police组,登录用户tom并创建一个文件。
ls –ahl
样例:
修改文件所有者:
chown 用户名 文件名
样例:
文件/目录 所在组:
当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。
修改文件所在的组:
chgrp 组名 文件名
chgrp -R 组名 目录名 (递归修改目录下所有文件组名)
案例:
其它组: 除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。
改变用户所在组:
在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组。
usermod –g 组名 用户名
usermod –d 目录名 用户名 改变该用户登陆的初始目录。
样例:
用户和组的相关文件:
/etc/passwd 文件:用户(user)的配置文件,记录用户的各种信息
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
/etc/shadow 文件:口令的配置文件
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
/etc/group 文件:组(group)的配置文件,记录Linux包含的组的信息
每行含义:组名:口令:组标识号:组内用户列表
指定运行级别
六个运行级别:
-
0 :关机
-
1 :单用户【找回丢失密码】
-
2:多用户状态没有网络服务
-
3:多用户状态有网络服务
-
4:系统未使用保留给用户
-
5:图形界面
-
6:系统重启
vi和vim编译器: https://blog.youkuaiyun.com/Lzy410992/article/details/113789294
修改默认的运行级别可改文件:/etc/inittab的id:5:initdefault
这一行中的数字
命令:init [012356]
帮助指令
当我们对某个指令不熟悉时,我们可以使用linux提供的帮助指令来了解这个指令的使用方法
man 获得帮助信息:
man [命令或配置文件](功能描述:获得帮助信息)
help指令:
help 命令 (功能描述:获得shell内置命令的帮助信息)
文件目录类
pwd 指令:
pwd (功能描述:显示当前工作目录的绝对路径)
ls指令:
ls [选项] [目录或是文件]
-a :显示当前目录所有的文件和目录,包括隐藏的
-l :以列表的方式显示信息
cd 指令:
cd [参数] (功能描述:切换到指定目录)
绝对路径和相对路径:
cd ~ 或者cd :回到自己的家目录
cd .. 回到当前目录的上一级目录
案例:
mkdir指令:
mkdir指令用于创建目录
mkdir [选项] 要创建的目录
-p :创建多级目录
rmdir指令:
rmdir指令删除空目录
rmdir [选项] 要删除的空目录
rmdir 删除的是空目录,如果目录下有内容时无法删除的。如果需要删除非空目录,需要使用 rm -rf 要删除的目录
样例:
touch指令:
touch指令创建空文件
touch 文件名称
touch 文件名称1 文件名称2
cp指令:
cp 指令拷贝文件到指定目录
cp [选项] source dest
-r :递归复制整个文件夹
强制覆盖不提示的方法:\cp
rm指令:
rm 指令移除文件或目录
rm [选项] 要删除的文件或目录
-rf :递归删除整个文件夹
-f : 强制删除不提示
mv指令:
mv 移动文件与目录或重命名
mv oldNameFile newNameFile (功能描述:重命名)
mv /temp/movefile /targetFolder (功能描述:移动文件)
样例:
cat指令:
cat 查看文件内容,cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上管道命令 | more
cat [选项] 要查看的文件
-n :显示行号
样例:
more指令:
more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。
more 要查看的文件
more指令中内置了若干快捷键:
less指令:
less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
less 要查看的文件
echo指令:
echo输出内容到控制台
echo [选项] [输出内容]
head指令
head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
head 文件
head -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
tail指令:
tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容。
tail 文件
tail -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
tail -f 文件 (功能描述:实时追踪该文档的所有更新)
案例1:
案例2: 实时监控 mydate.txt , 看看到文件有变化时,是否看到, 实时的追加日期
> 指令 和 >> 指令:
> 输出重定向:将原来的文件内容覆盖
>> 追加:不会覆盖原来的文件内容
ln 指令:
软链接也成为符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)
样例:
细节说明:当我们使用pwd指令查看目录时,仍然看到的是软链接所在目录。
history指令:
查看已经执行过历史命令,也可以执行历史指令
history (功能描述:查看已经执行过历史命令)
时间日期类
date指令-显示当前日期:
date (功能描述:显示当前时间)
date +%Y(功能描述:显示当前年份)
date +%m(功能描述:显示当前月份)
date +%d(功能描述:显示当前是哪一天)
date “+%Y-%m-%d %H:%M:%S”(功能描述:显示年月日时分秒)
date指令-设置日期:
date -s 字符串时间
cal指令:
查看日历指令
cal [选项] (功能描述:不加选项,显示本月日历)
案例:
搜索查找类
find指令:
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终
端。
find [搜索范围] [选项]
locate指令:
locaate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。
locate 搜索文件
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。
grep指令和 管道符号 | :
grep 过滤查找 , 管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
grep [选项] 查找内容 源文件
案例:
压缩和解压类
gzip/gunzip 指令:
gzip 用于压缩文件, gunzip 用于解压的
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz (功能描述:解压缩文件命令)
zip/unzip 指令:
zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的
zip [选项] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压缩文件)
-r:递归压缩,即压缩目录
-d<目录> :指定解压后文件的存放目录
案例:
tar 指令:
tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件。
tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
案例:
权限管理
0-9位说明:
-
第0位确定文件类型(
d:目录、 - :普通文件 、l :链接文件、 c:字符设备 、 b:块文件
) -
第1-3位确定所有者(该文件的所有者)拥有该文件的权限。—所有者权限
-
第4-6位确定所属组(同用户组的)拥有该文件的权限,—所在组的用户权限
-
第7-9位确定其他用户拥有该文件的权限 —其他组用户权限
修改权限-chmod:
通过chmod指令,可以修改文件或者目录的权限。
第一种方式:+ 、-、= 变更权限,u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
第二种方式:通过数字变更权限:用数字表示rwx: r=4,w=2,x=1,rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件目录名
chmod o+w 文件目录名
chmod a-x 文件目录名
chmod u=rwx,g=rx,o=x 文件目录名
||
chmod 751 文件目录名
样例:
修改文件所有者-chown:
chown newowner file #改变文件的所有者
chown newowner:newgroup file #改变用户的所有者和所有组
-R #如果是目录 则使其下所有子文件或目录递归生效
案例:
定时任务调度
任务调度crand:系统在某个时间执行的特定的命令或程序
任务调度分类:
1.系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等
2.个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。
crontab 进行定时任务的设置:
crontab [选项]
crontab –e:编辑定时任务。
crontab –r:终止任务调度。
crontab –l:列出当前有那些任务调度
service crond restart [重启任务调度]
样例:
定时调度我们的脚本或这代码,如果只是简单的任务可以不用写脚本,直接再crontab中加入任务即可。
样例:每小时的每分钟执行ls –l /etc/ >> /tmp/to.txt
命令
5个占位符的说明:
特殊符号的说明:
案例:每隔1分钟,就将当前的日期信息,追加到 /tmp/mydate 文件中
实现文件的定时更新:
Linux磁盘分区与挂载
查看所有设备挂载情况:
lsblk
lsblk -f
案例:
磁盘情况查询:
df -h (查询系统整体磁盘使用情况)
du -h /目录 (查询指定目录的磁盘占用情况,默认为当前目录)
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
–max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值
样例:
磁盘情况-工作实用指令
1. 统计/home文件夹下文件的个数
2. 统计/home文件夹下目录的个数
3. 统计/home文件夹下文件的个数,包括子文件夹里的
4. 以树状显示目录结构
网络配置
Linux网络配置原理图
查看网络IP和网关:
查看虚拟网络编辑器
查看ip地址、网关
查看windows环境的中VMnet8网络配置 (ipconfig指令)
ping 测试主机之间网络连通性
ping 目的主机 (功能描述:测试当前服务器是否可以连接目的主机)
应用实例
测试当前服务器是否可以连接百度
linux网络环境配置
第一种方法(自动获取):
说明:登陆后,通过界面的来设置自动获取ip
特点:linux启动后会自动获取IP,缺点是每次自动获取的ip地址可能不一样。
第二种方法(指定固定的ip)
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
uZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0x6eTQxMDk5Mg==,size_16,color_FFFFFF,t_70)
linux网络环境配置
第一种方法(自动获取):
说明:登陆后,通过界面的来设置自动获取ip
特点:linux启动后会自动获取IP,缺点是每次自动获取的ip地址可能不一样。
第二种方法(指定固定的ip)
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-ufp9DMxx-1715800381785)]
[外链图片转存中…(img-R9Z5EIyx-1715800381785)]
[外链图片转存中…(img-CeNNZZsH-1715800381786)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!