写在前面

嗨。好久不见。过去一个月左右时间把Linux跟着视频教程走了一遍。哈哈哈。其实在大一的时候就开了这门课。只不过那时候啥都不知道,也没怎么好好学习。但到后面发现其实Linux还是很必要去学一下的,那几个常用的几个命令也应该略知一二。去很多招聘网站上应聘很多公司都要求需具备Linux底子。多说一句,最近发现学习一下Linux还是很有必要的它是基础,后面的很多像Jenkis和Docker都需要Linux知识加以辅助。所以。没办法。学呗。

还是老样子。我习惯找一个不错的教程,跟着老师系统的学习一下。老师在上面敲,我就对照老师也敲。每次学习之前,都会花费一些时间把上次学过的内容先复习一下,然后去学习新的东西。一来回顾+复习。二来看完上次的内容,容易把自己的思路带到下一节课有利于更好的把注意力放到新的知识学习上。

https://www.bilibili.com/video/av21303002?p=5。献上学习地址。顺带把课程中的资料教程软件放到我百度网盘上。https://pan.baidu.com/s/1rOGpRxLAcoPBDoZDZRY0bg 提取码4s3u。有需要的朋友欢迎点开下载。

废话不多说 开始吧。

上图是老师上课的课程大纲。后面还有一个对Java开发的定制篇。

本篇文章也按照上面的目录来进行回顾整理吧。

Ps:附上文章目录。

鉴于Linux入门相对来说偏理论,在这里就不展开描述了。需要的朋友可以去我的百度网盘里下载文档。里面很详细哦。


VM 和 Linux 系统(CentOS)安装

理解这张图很有必要。在VM12这个软件中开辟一个虚拟机空间,在这个空间中安装我们的Centos系统。Ps:安装VM12前需要确保你的电脑开启虚拟化设备支持(f2, f10)。

具体安装步骤可以参考上面老师教程视频,老师讲的很详细,一步步来即可。

考点:虚拟机网络连接的3种模式?

①桥连接:同一个网段中可以和其他系统进行通信,但容易IP冲突。

②NAT模式:可以访问外网,不会造成IP冲突。

③主机模式:无法访问外网。

vmtools工具安装

1)可以直接粘贴命令在windows  和 centos系统之间

2)可以设置 windows 和 centos 的共享文件夹

3)示意图

1.进入 centos

2.点击 vm 菜单的->install vmware tools

3.centos 会出现一个 vm 的安装包

4.点击右键解压, 得到一个安装

5.进入该 vm 解压的目录  ,该文件在  /root/桌面/vmware-tools-distrib/下

6.安装  ./vmware-install.pl

7.全部使用默认设置即可

8.需要 reboot 重新启动即可生效

设置共享文件夹。


Linux 的目录结构

在 Linux 世界里,一切皆文件。

列举几个常用的文件目录。以防面试。

/bin:存放用户经常使用的指令/命令

/root:系统管理员主目录

/dev:类似windows设备管理器硬件CPU DISK(用文件形式存储)

/mnt:挂载别的文件 共享文件

/media:识别一些设备 U盘光驱USB

远程登录(XShell XFTP)

特别说明:如果希望安装好 XShell 5 就可以远程访问 Linux 系统的话,需要有一个前提,就是Linux 启用了 SSHD 服务,该服务会监听 22  号端口。

解决XFTP5中文乱码问题。


vi和vim编辑器

vi和vim三种常见模式

1.正常模式

n dd删除n行

n yy再p复制n行

G最末端 gg最顶端

u撤销

2.编辑模式

输入i进行编辑

3.命令行模式

:wq :q :q!

set nu设置行号

set nonu取消行号

显示行号。输入要显示的行数。shift+G跳转。


开机、重启和用户登录注销

shutdown

shutdown -h now:表示立即关机

shutdown -h 1 : 表示 1 分钟后关机

shutdown -rnow:  立即重启

halt

直接关机

reboot

重启

sync

内存数据保存到磁盘

logout

注销Ps:图形界面无效 远程登陆xhsell中才行


用户管理

1)    Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

2)    Linux 的用户需要至少要属于一个组。

添加用户

当创建用户成功后,会自动的创建和用户同名的家目录。

useradd –d 指定目录 用户名

useradd –g 用户组      用户名

删除用户

userdel 用户名     --->删除用户保留家目录

userdel –r 用户名 --->删除用户且删除家目录

查询用户

id 用户名

whoami

设置用户密码

passwd 用户名

切换用户

su – 用户名

exit 切换回原用户

从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。

当需要返回到原来用户时,使用 exit 指令。

增加组

groupadd 组名

删除组

groupdel 组名

修改用户组

usermod –g 用户组 用户名

和用户、组相关的文件

/etc/passwd

用户配置文件。记录用户信息

/etc/group

组配置文件。组的信息

/etc/shadow

口令配置文件。用户密码


实用指令

7大运行级别

0:关机
1:单用户【找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形化
6:重启切换到指定运行级别的指令/etc/inittab配置文件中修改id:5:initdefault或者init [012356]面试题:
问:如何找回 root 密码,如果我们不小心,忘记 root  密码,怎么找回?
答:进入单用户模式(root无需密码)修改root密码

帮助指令

man [命令或配置文件]  man ls
help [命令或配置文件] help ls

文件目录类

pwd 显示当前工作目录
ls [-a –l -h] 查看当前目录所有内容信息
cd [~ ..]切换目录
绝对|相对路径 绝对:/ 相对:../home
mkdir [-p创建多级目录] 创建目录
rmdir 删除空目录
touch 创建空文件
[\ 强制覆盖] cp [-r 整个目录] 拷贝文件到指定目录
rm [-r -f] 删除文件或目录
mv 移动或重命名
cat 查看文件内容 cat –行号 /etc/passwd | more 分页显示
more 全屏按页显示
less 分屏查看 并不是将整个文件加载显示
ls –l > 文件 覆盖写入文件 (文件若不存在 则新建文件)
ls –l >> 文件 追加内容到文件
echo 输出内容到控制台
head [-n] 文件 显示文件开头部分
tail [-n -f] 文件 输出文件尾部内容。实时追踪该文件的变化。
ln –s[原文件或目录] [软链接名] cd 软链接名
history 查看已经执行过的指令 !历史编号 执行历史编号的指令

时间日期类

date [-s 设置日期]显示当前日期 date “+%Y年-%m月-%d %H:时%M:分%S:秒”
cal 查看日历

搜索文件类

find [搜索范围] [-name –user -size]
locate 文件名 快速定位文件路径。前提 必须先执行updatedb
grep [-n显示行号 –i忽略大小写] 过滤指令
|管道符号 将前一个命令结果传递给后面命令处理
cat home.txt | grep –n –I lth 查找home.txt文件中 lth忽略大小写并显示行号

压缩和解压缩类

gzip 文件 压缩文件
gunzip 文件.gz 解压缩文件
zip [-r] 文件 路径。zip –r a.zip /home/a.txt
unzip [-d] 解压到的目录 文件 unzip –d /home/lth a.zip
tar –zcvf 打包的文件 tar –zcvf a.tar.gz a.txt b.txt
tar –zxvf 待解压的文件 –C 指定目录 tar –zxvf a.tat.gz –C /home/a

组管理和权限管理

在 linux 中的每个用户必须属于一个组,不能独立于组外。在 linux 中每个文件有所有者、所在组、其它组的概念。

查看文件所有者

ls –ahl

改变文件所有者

-R   如果是目录则使其下所有子文件或目录递归生效

chown 用户名 文件名

改变文件所在组

-R  如果是目录则使其下所有子文件或目录递归生效

chgrp  用户组 文件名

权限的基本介绍

-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

rwx权限详解

作用到文件: w 代表可写(write)可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件

作用到目录: w代表可以修改,目录内创建+删除+重命名目录

修改权限-chmod

第一种方式:+ 、-、=  变更权限

    第二种方式:通过数字变更权限

规则:r=4 w=2x=1 ,rwx=4+2+1=7

chmod u=rwx,g=rx,o=x文件目录名

相当于chmod 751 文件目录名

crond 定时任务调度

基本语法

crontab[选项]

执行 crontab –e 命令。接着输入任务到调度文件。

*/1 * * * * ls –l >>/tmp/to.txt

分时日月天。

每一分钟都会自动的调用 ls -l /etc >> /tmp/to.txt

1)    crontab –r:终止任务调度。

2)    crontab –l:列出当前有那些任务调度

3)    service crond restart  [重启任务调度]

磁盘分区、挂载

分区基础知识

mbr分区:最大支持4个主分区,每个只支持2TB

gtp分区:无限多个主分区最大支持18EB容量

Linux硬盘分IDE 硬盘和 SCSI 硬盘,目前基本上是 SCSI 硬盘。

hda3 表示为第一个IDE 硬盘上的第三个主分区或扩展分区,

hdb2 表示为第二个IDE 硬盘上的第二个主分区或扩展分区。

使用 lsblk 指令查看当前系统的分区情况

给我们的 Linux 系统增加一个新的硬盘

详情步骤请参考百度网盘里的文档资料哈!

步骤:

  1. 分区 fdisk /dev/sdb

  2. 格式化硬盘 mkfs –t ext4(分区类型) /dev/sdb

  3. 挂载 mount /dev/sdb  /home/newdisk

  4. 永久挂载

vim/etc/fstab

/dev/sdb1  /home/newdisk ext4 defaults 0 0

mount –a 生效

磁盘情况查询

df –hl  查询系统整体使用情况

du –cha  --max-depth = 1 /目录 查询指定目录的磁盘占用情况

*查询目录/文件/文件夹个数

ls–l R/home/ | grep “^d” | wc -l


网络配置

本章节 主要是偏实操性,详情可以参照百度网盘里的详细文档哈。

查看网络IP和网关

  1. 虚拟网络编辑器

  2. NAT设置

ping 测试主机之间网络连通

[root@hadoop100桌面]# ping www.baidu.com

linux 网络环境配置

1.自动配置(获取)系统—首选项—网络连接

缺点:每次重启后ip都不一样

2.指定固定ip

/etc/sysconfig/network-scripts/ifcfg-eth0

service network restart 重启生效


进程管理

显示系统执行进程

ps –aux | grep sshd

查看进程的父进程

ps –ef | grep sshd

终止进程 kill 和 killall

kill [-9] 进程号

killall 进程名称

终止多个 gedit 编辑器【killall ,  通过进程名称来终止进程】

查看进程树

pstree [-p pid –u uid]

请你树状的形式显示进程的 pid

服务管理

在 CentOS7.0 后不再使用 service ,而是 systemctl

service 服务名 [start | stop |restart | reload | status]

例如 防火墙开启和关闭

service iptables status

service iptables start

查看系统开了哪些服务

  1. setup

  2. ls –l /etc/init.d

chkconfig 指令

通过 chkconfig 命令可以给每个服务的各个运行级别设置自启动/关闭

       1.查看服务

chkconfig --list | grep XXX

2.查看某个服务

chkconfig 服务名 --list

3.设置服务自启动

chkconfig --level 数字 服务名 off/on

chkconfig --level 5 sshd off

*chkconfig 重新设置服务后自启动或关闭,需要重启机器 reboot 才能生效

动态监控进程

top与 ps 命令很相似。它们都用来显示正在执行的进程。top 与 ps 最大的不同之处,在于 top 在执行一段时间可以更新正在运行的的进程。

  1. 输入u 再输入用户

  2. 输入k 再输入要删除的id号

  3. top –d 10 每隔10秒自动刷新

监控网络指令

netstat [-an按一定顺序排序 –p哪个进程在使用]

查看所有网络的网络服务

       netstat –anp

*telnet ip 端口    telnet 192.168.2.64 22 验证端口是否开启


RPM和YUM

rpm

-qa | grep XXX 包简单查询

-qi软件包名  查询安装的rpm包软件信息

-ql软件包名  查询rpm软件包的安装位置

-qf文件路径  查询某个文件属于哪个软件包

卸载rpm包

rpm [-e --nodeps强制删除] 软件名

安装rpm包

rpm –ivh XXXXXXX.rpm

yum

Yum是一个 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。使用 yum 的前提是可以联网。

查询yum 服务器是否有需要安装的软件

yum list | grep xx 软件列表

yum install tree 下载安装

接下来便是Linux之JAVAEE定制篇。详情请看网盘里的说明文档。Good Luck you~

Linux Get!相关推荐

  1. 过滤Linux下不同大小的文件,linux查找当前目录下 M/G 大小的文件,删除Linux下指定大小的文件

    过滤Linux下不同大小的文件,linux查找当前目录下 M/G 大小的文件,删除Linux下指定大小的文件 find ./ -type f -size +1G| xargs rm 在清理系统日志文件 ...

  2. linux环境下nacos的安装+启动,阿里云服务器安装nacos

    nacos安装+启动(linux环境): 基础:安装java环境 官网下载压缩包:如 nacos-server-1.2.1.tar.gz 放在自定义目录下 # 解压 tar -xvf nacos-se ...

  3. Alibaba Cloud Linux 2.1903 LTS 64位服务器yum源下载404,Alibaba Cloud Linux 2实例中使用docker-ce、epel等YUM源安装软件失败

    [Alibaba Cloud Linux 2.1903 LTS 64位]服务器yum源下载404 failure: repodata/repomd.xml from docker-ce-stable: ...

  4. Linux下创建硬链接,文件访问为空,提示:xxxx: 符号连接的层数过多

    Linux下创建软链接|硬链接,文件访问为空,提示:x x x: 符号连接的层数过多. 原因:创建符号链接的时候未使用绝对路径,无论是源文件路径还是目标路径,都需要使用绝对路径. 如: ln -s / ...

  5. 作为一个java程序员,常用的linux命令(越攒越多)

    本篇记录我在工作中不断遇到的常用的linux命令,并进行总结,时常更新! 1. 升级服务时先停止服务,然后进行替换 linux中杀进程时候,如果你是知道它所占用的端口号的话,可以通过 netstat ...

  6. 设置linux初始root密码

    简单一步设置linux第一个root密码 sudo passwd root #输入当前账户密码 #输入准备设置的root密码 #确认密码 如下所示:

  7. Linux/docker下oracle开启监听,开启自动启动

    写在前头: 之前呢,使用docker安装了oracle,但它默认是会关闭的.使用了几天以后突然连接异常了,报的问题是oracle监听有问题了,我知道了是oracle服务自动关闭了,监听也跟着关了.所以 ...

  8. Linux通过端口号杀死指定进程

    前言: 我们在服务器上升级项目的时候,需要将原来的项目停止,然后启动新的项目. 这时候我们只知道应用所占的端口号,如何将进程杀死呢? linux中杀进程时候,如果你是知道它所占用的端口号的话,可以通过 ...

  9. 设置腾讯云linux服务器中 MySQL 允许远程访问

    申请了一台linux腾讯云服务器,想要把数据库搭建在上面,本地的Windows直接可以访问 以下就是具体的操作流程,首先你需要安装好一个mysql,安装方法–>mysql安装(Linux) 接着 ...

  10. Linux下安装Java8

    Linux(ubuntu)下Java8安装 1.下载jdk8 这个看大家了,linux版本的就可以 2.创建jvm文件夹 在根目录下创建名为jvm的文件夹(在哪里创建看个人) $ sudo mkdir ...

最新文章

  1. Zookeeper【最新版V3.4.6】- 官方翻译系列:Watch 机制的理解
  2. 【Qt】 Qt中实时更新UI程序示例
  3. java io流 教程_Java基础教程:IO流与文件基础
  4. insert 多条数据 并且具有唯一标识符
  5. windowsphone7高级编程中提到的地址
  6. java 实现 常见排序算法(一) 冒泡排序
  7. 魔兽世界客户端数据研究(三)
  8. 【动态规划】魔法石矿
  9. Java核心篇之Java锁--day2
  10. 2089. 找出数组排序后的目标下标
  11. android用户头像保存,Android的登陆注册(sharedpreferences和SQLite保存以及头像上传显示...
  12. python基于混合多项式模型PCF实现数据曲线拟合
  13. python实现寻找最长回文子序列
  14. 计算机硬盘图标不见了,电脑硬盘图标不见了怎么办
  15. 使用Canvas合成多张图片和文字为一张图片
  16. 列举html5格式,前端HTML5基本格式【前端技术文章】
  17. (int*)、(int *)和(int **)的区别
  18. Pixhawk RPi CM4 Baseboard 树莓派CM4安装Ubuntu20.04 server 配置ros mavros mavsdk
  19. 第一次学习计划(含用pytorch跑通mnist例子)
  20. DAY5-URDF优化 简单小练习 工具

热门文章

  1. android 后台程序 设置 优先级,Android应用程序防止被LMK干掉
  2. 神仙导师!研究生疫情期间在导师家“蹭吃蹭住”43天,还考上了博士!
  3. 用户体验中心流的8个状态
  4. SOLIDWORKS PDM的智能报表自动生成工具
  5. 哪些因素影响着smt贴片打样的费用?
  6. 古井贡酒作为“老字号”走进故宫过大年
  7. 前端的简单基础知识(HTML,插入图片,链接)
  8. 产品软文推广方案应该怎么做?
  9. 试题 算法训练 奇异的虫群
  10. 高 德 纳 的 二 十 年 计 划