Linux(1)

  1. 学习方向:Linux运维工程师、Linux嵌入式工程师、Linux下开发项目
    Java、大数据、Python
  2. 应用领域:个人桌面领域、服务器领域、嵌入式领域(机顶盒,数字电视,网络电话,Android,物联网等等)
  3. 学习阶段和方法
    第一阶段:Linux环境下的基本操作命令,包括文件操作命令(rm mkdir chmod chown),编辑工具使用(vi vim),Linux用户管理(useradd userdel usermod)等;
    第二阶段:Linux的各种配置(环境变量配置,网络配置,服务配置);
    第三阶段:Linux下如何搭建对应语言的开发环境(大数据,JavaEE,Python等);
    第四阶段:能编写shell脚本,对Linux服务器进行维护;

第五阶段:能进行安全设置,防止攻击,保障服务器正常运行,能对系统调优;
第六阶段:深入理解Linux系统(对内核有研究),熟练掌握大型网站应用架构组成、并熟悉各个环节的部署和维护方法。

特点:免费、开源、安全、高效、稳定、处理高并发非常强悍
Linux的主要发行版:(CentOS,Redhat),Ubuntu,Suse(欧洲),红旗Linux,(deepin)
贝尔实验室,Ken tompson,Dennis richres,Richard Stallman

Linux和Windows:

  1. Linux免费开源,Windows收费昂贵;
  2. 软件与支持;
  3. 安全性(Linux全球程序猿都能看到源代码,并且发现漏洞);
  4. 使用习惯(图形-命令行);
  5. 可定制性,Windows封闭的,Linux开源都可以定制;
  6. 应用场景,Windows桌面操作系统,Linux服务器。

VM安装
BIOS设置-开启虚拟化设备支持;

CentOS网络适配器设置的三种模式:

  1. 桥连接:Linux可以和其它的系统通信。但是可能造成ip冲突;
  2. NAT:网络地址转换,Linux可以访问外网,不会造成ip冲突;
  3. 主机模式:Linux是一个独立的主机,不能访问外网。

查看cpu核心数:
Win+R/运行 -> wmic

cpu get numberofcores
cpu get numberoflogicalprocessors

Linux查看cpu

lscpu

Linux目录结构

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

文件传输
终端:setup 系统服务 查看是否启用sshd 端口22
Xftp5(新建连接,协议选择sftp,端口22),Xshell5

vim
三种常见模式:正常模式、编辑模式、命令行模式
设置行号:set nu/set nonu

关机/重启/注销

shutdown
shut down -h now	立即关机
shut down -h 1		1分钟后关机
shut down -r now	立即重启
halt	关机
reboot   重启
syn   把内存的数据同步到磁盘
logout   注销 图形运行级别无效

用户管理

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

1.添加用户
useradd [选项] 用户名
2.指定密码
passwd 用户名
3.删除用户
userdel 用户名 /*保留家目录,项目中一般保留家目录,因为家目录中有用户的相关代码等*/
userdel -r 用户名 /*全部删除*/
4.查询用户信息
id 用户名 /*uid-用户id,gid-组id,组-组名*/
5.切换用户
在操作Linux中,如果当前用户的权限不够,可以通过 su - 指令,切换到高权限用户。
su - 切换用户名
高用户切换到低用户不用输入密码,反之需要密码,exit返回到原来的用户。
6.查看当前用户
whoami

在root下,输入exit,然后无法再次登录root用户,其他用户正常。打开虚拟机切换到root时出现鉴定故障。按照下面的方法重置root密码后,成功通过ssh登录。
su - root出现鉴定故障错误,解决办法:(必须要知道原始密码,先输入原密码,再输入新密码)
sudo passwd root

用户组

groupadd 组名		/*增加组*/
groupdel 组名		/*删除组*/
useradd -g 用户组 用户名		/*增加用户时添加分组*/
usermod -g 用户组 用户名		/*修改用户组*/

用户和组的相关文件

  1. 用户配置文件:/etc/passwd
  2. 组配置文件:/etc/group
  3. 口令配置文件,密码和登录信息(加密的):/etc/shadow

指定运行级别
划分为七个运行级别:0-关机;1-单用户(找回丢失密码);2-多用户无网络服务;3-多用户有网络服务;4-保留;5-图形界面;6-重启
系统的运行级别配置文件:/etc/inittab
init [0123456] /*切换到指定运行级别*/
如何找回root密码?
进入到单用户模式,然后修改root密码。因为进入单用户模式,root不需要密码就可以登录。

帮助指令

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

文件目录类

pwd指令
pwd /*显示当前工作目录的绝对路径*/
ls指令
ls [选项] [目录或是文件]
-a:显示当前目录所有的文件和目录,包括隐藏的;
-l:以列表的方式显示信息,例如:ls -al
cd指令
cd - change directory,切换目录
mkdir指令
mkdir [选项] 要创建的目录 /*-p 创建多级目录*/
rmdir指令
rmdir [选项] 要删除的空目录 /*删除空目录*/
rm -rf 要删除的目录 /*删除非空目录*/
touch指令
ouch 文件名称 /*创建空文件,可一次创建多个*/
vim 也可以创建文件
cp指令
cp [选项] source dest /*-r 递归复制整个文件夹*/
一定要注意你当前的目录位置,然后要准确的定位源目录和目标目录
\cp 强制覆盖,不会提示
rm指令
rm [选项] 要删除的文件或目录
常用选项:
-r:递归删除整个文件夹
-f:强制删除不提示
例如:rm -rf java.txt
mv指令
移动或者重命名
mv oldNameFile newNameFile /*重命名*/
mv /temp/movefile path /*移动,【移动指令 移动谁 到哪儿去】*/
cat指令
查看文件,浏览,不能修改
cat [选项] 要查看的文件
常用选项:
-n:显示行号
cat -n /etc/profile | more /结合管道符 | 和 more 使用,分页查看/
more指令
more /etc/profile
space - 向下翻一页
Enter - 向下翻一行
q - 离开
Ctrl+F - 向下滚动一屏
Ctrl+B - 返回上一屏
less指令
分屏查看文件内容,功能与more类似,比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
less 要查看的文件
PageUp PageDown
>指令和>>指令

>输出重定向,覆盖原来的内容;>>追加,追加到文件末尾
ls -l>文件		/*功能描述:列表的内容写入文件a.txt中(覆盖写)*/
ls -al>>文件	/*功能描述:列表的内容追加到文件a.txt的末尾*/
cat 文件1>文件2	/*功能描述:将cat 文件1的显示内容覆盖到文件2*/
echo “内容”>>文件
例如:ls -l /home/ > /home/info.txt

cal 日历
cal >> /home/mycal
echo指令head指令tail指令
echo输出内容到控制台
head显示文件的开头部分内容,默认显示文件的前10行
tail用于输出文件中尾部的内容,默认情况下显示后10行

1.echo [选项] [输出内容]
例如:echo $PATH    /*输出当前环境变量*/
2.head 文件 / head -n 5 文件
3.tail 文件 / tail -n 5 文件 / tail -f 文件(工作经常使用)

ln指令
软链接也叫符号链接,类似windows的快捷方式。pwd查看仍在当前目录。
ln -s [原文件或目录] [软链接名] /*给原文件创建一个软链接*/
例如:
ln -s /root linkToRoot
rm -rf linkToRoot
history指令
查看已经执行过的历史命令,也可以执行历史命令。

history
例如:
    history		/*查看所有历史命令*/
    history 10	/*查看最后10行命令*/
    !178		/*执行历史编号为178的指令*/

时间日期类

date指令
显示当前日期
1.date
2.date +%Y
3.date +%m
4.date +%d
5.date "+%Y-%m-%d %H:%M:%S
设置日期

date -s 字符串时间
例如:date -s "2020-01-22 11:28:28"

cal指令

cal [选项]    /*不加选项,显示本月日历*/
例如:cal 2020    /*显示2020一年的日历*/

搜索查找类

find指令
从指定目录向下递归地遍历各个子目录,将满足条件的文件或目录显示在终端。

find [搜索范围] [选项]
选项说明:
    -name<查询方式>	/*按照指定的文件名查找文件*/
    -user<用户名>	/*查找属于指定用户的所有文件*/
    -size<文件大小>	/*按照指定的文件大小查找文件*/
例如:
    1.根据名称查找/home目录下的hello.txt文件
       $find /home -name jack.txt
    2.查找/opt目录下,用户名称为nobody的文件
       $find /ope -user nobody
    3.查找整个linux系统下大于20M的文件(+n 大于;-n小于;n等于)
       $find / -size +20M

locate指令
locate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。
locate 搜索文件
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。
grep指令 和 管道符号 |
grep过滤查找,管道符表示将前一个命令的处理结果输出传递给后面的命令处理。

grep [选项] 查找内容 源文件
常用选项:
    -n 显示匹配行及行号
    -i 忽略字母大小写

压缩解压缩

gzip/gunzip指令

gzip 文件		/*只能把文件压缩为*.gz文件,且不保留源文件。*/
gunzip 文件.gz	/*解压缩文件*/

zip/unzip指令

zip [选项] xx.zip 压缩内容	/*压缩文件和目录*/
unzip [选项] xx.zip
==========================================================================
常用选项:
 -r    递归压缩,即压缩目录
 -d<目录>    指定解压后文件的存放目录,例如:unzip -d /opt/tmp/ mypakage.zip

tar指令
tar是打包指令,打包后的文件是xx.tar.gz文件。

tar [选项] xx.tar.gz 打包的内容
可用选项:
 -c    产生.tar打包文件;
 -v    显示详细信息;
 -f    指定压缩后的文件名;
 -z    打包同时压缩;
 -x    解包.tar文件;
例如:
压缩
tar -zcvf xx.tar.gz 1.txt 2.txt	/*打包1.txt和2.txt*/
tar -zcvf myhome.tar.gz /home/	/*打包home目录下的所有文件*/
解压
tar -zxvf myhome.tar.gz		/*解压到当前文件夹*/
tar -zxvf myhome.tar.gz -C /opt/	/*解压到指定目录,指定的目录必须要存在*/

组管理和权限管理

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

ls -ahl				/*查看文件或者目录所有者*/
chown 用户名 文件名	/*修改文件所有者*/
chgrp 组名 文件名	/*修改文件所在的组*/

改变用户所在组
usermod -g 组名 用户名
usermod -d 目录名 用户名	/*改变该用户登录的初始目录*/

a-all
h-human
l-list
例如:
1.新增组
groupadd police
2.新增一个用户tom并添加到police组:
useradd -g police tom
3.查看用户所在组
id jack
4.修改用户所在组
usermod -g police jack

-rw-r-----. 1 jack jack 177 1月  29 14:34 jack.txt
第0位表示【文件类型】
- 普通文件
d 目录
1 软链接
c 字符设备,例如:键盘、鼠标
b 块文件,例如:硬盘

第一个三位【属主权限】:表示所有者权限;
第二个三位【属组权限】:表示所在组的用户权限;
第三个三位【其他用户权限】:表示其它组的用户权限;

第十位的数字代表:如果是文件,表示硬链接的数量;如果是目录,表示该目录的子目录数量。

所有者,所在组,文件大小【如果是目录显示:4096】,最后修改时间,文件名。

rwx作用于文件:
r - read读权限,可查看;
w - write写权限,可修改,但不表示可以删除,删除的前提条件是对该文件所在目录有写权限;
x - execute执行权限,可以被执行。

rwx作用于目录:
r - 可读,可以读取,ls查看目录内容;
w - 可写,可以修改,目录内创建+删除+重命名目录;
x - 可执行,可以进入该目录。

可用数字代表权限:r-4;w-2;x-1
例如:rwx的数字为:4+2+1=7,rw-的数字为:4+2+0=6

chmod指令
通过chmod指令可以修改文件或者目录的权限。

第一种方式:用+,-,=变更权限
u所有者;g所在组;o其它人;a所有人(u,g,o总和)。
例如:
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 如果是目录,则使其所有子文件或目录递归生效,例如:chown -R jack:police /jack/

chgrp指令
修改文件/目录所在组。

chgrp newgroup file	/*修改文件所在组*/

最佳实践-警察和土匪
组:police,bandit
警察:jack,jerry
土匪:xh,xq
1)创建组和用户;
2)jack创建一个文件自己可以读写,本组人可以读,其他人没有任何权限;
3)jack修改该文件,让其他人可以读,本组人可以读写;
4)xh投靠警察,看看是否可以读写jack创建的文件;

综合练习
1)用root登录,建立用户mycentos,自己设定密码;
$useradd mycentos
$passwd mycentos
2)用mycentos登录,在主目录下建立目录test/t11/t1;
$mkdir -p test/t11/t1
3)在t1中建立一个文本文件aa,用vi编辑其内容为ls -al;
$vi aa
4)改变aa的权限为可执行文件【可将当前日期追加到一个文件】,运行该文件./aa;
$date >>aa
$chmod 764 aa
$./aa
5)删除新建里的目录test/t11/t1;
$rm -rf test/
6)删除用户mycentos及其主目录中的内容;
$userdel -r mycentos

可到home目录中查看是否还存在mycentos用户:
$cd home/
$ll
如果是:$userdel mycentos删除的呢???
$userdel xq
提示:userdel:组“xq”没有移除,因为它不是用户 xq 的主组
$groupdel xq
查看删除结果:
$cat /etc/passwd	/*查看用户*/
$cat /etc/group		/*查看组*/
还可以$id xq检查是否删除成功。

$cat /etc/passwd显示内容解读:
xh:x:1003:1001::/home/xh:/bin/bash
username:password:user id:group id:comment:home directory:shell directory

$cat /etc/passwd显示内容太多,所以:
$cat /etc/passwd|grep xq	/*查找某个用户*/
对应的查找组:$cat /etc/group|grep xq

用户和组常用命令:
groups /*查看当前登录用户的组内成员*/
groups xh /*查看xh所在组的组内成员*/

7)将linux设置成进入到图形界面的;
$init 5 /*failure*/
8)重新启动linux或关机。
$reboot / $shut down -r now 立即重启
$shut down -h now 立即关机

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值