Linux安装、配置、使用

目录

 

1. Linux介绍

2. VM和Linux的安装

2.1 VMware安装

2.2 安装Linux(centos)

2.3 Vmware Workstation新建虚拟机

3. Linux文件与目录结构

4. VI/VIM编辑器

4.1 VI/VIM编辑器是什么

4.2 三种模式

4.3 一般模式

4.4 编辑模式

 4.5 指令模式

5. 虚拟机克隆、网络配置、系统管理

5.1 虚拟机克隆

5.2 网络配置

 5.3 主机名修改

5.4 关闭防火墙

service 后台服务管理

chkconfig 设置后台服务的自启配置

关闭防火墙

5.5 关机重启命令

6 远程登录

使用

7. 常用命令

7.1 帮助命令

7.1.1 help 获得shell内置命令的帮助信息

7.1.2 常用快捷键

7.2 文件目录类

7.2.1 pwd 显示当前工作目录的绝对路径

7.2.2 ls 列出目录的内容

7.2.3 cd 切换目录

7.2.4 mkdir 创建一个新的目录

7.2.5 rmdir 删除一个空的目录

7.2.6 touch 创建空文件

7.2.7 cp 复制文件或目录

7.2.8 rm 移除文件或目录

7.2.9 mv 移动文件与目录或重命名

7.2.10 cat 查看文件内容

7.2.11 more 文件内容分屏查看器

7.2.12 less 分屏显示文件内容

7.2.13 echo 输出内容到控制台

7.2.14 head 显示文件头部内容

7.2.15 tail 输出文件尾部内容

7.2.16 > 输出重定向和 >> 追加

7.2.17 ln 软链接

7.2.18 history 查看已经执行过历史命令

7.3 时间日期类

7.3.1 date 显示当前时间

7.3.2 date 显示非当前时间

7.3.3 date 设置系统时间

7.3.4 cal 查看日历

7.4 用户管理命令

7.4.1 useradd 添加新用户

7.4.2 passwd 设置用户密码

7.4.3 id 查看用户是否存在

7.4.4 cat  /etc/passwd 查看创建了哪些用户

7.4.5 su 切换用户

7.4.6 userdel 删除用户

7.4.7 who 查看登录用户信息

7.4.8 sudo 设置普通用户具有root权限

7.4.9 usermod 修改用户

7.5 用户组管理命令

7.5.1 groupadd 新增组

7.5.2 groupdel 删除组

7.5.3 groupmod 修改组

7.5.4 cat  /etc/group 查看创建了哪些组

7.6 文件权限类

7.6.1 文件属性

7.6.2 chmod 改变权限

7.6.3 chown 改变所有者

7.6.4 chgrp 改变所属组

7.7 搜索查找类

7.7.1 find 查找文件或者目录

7.7.2 locate快速定位文件路径

7.7.3 grep 过滤查找及“|”管道符

7.8 压缩和解压类

7.8.2 zip/unzip 压缩

7.8.3 tar 打包

7.9 磁盘分区类

7.9.1 df(disk free) 查看磁盘空间使用情况

7.9.2 fdisk 查看分区

7.10 进程线程类

7.10.1 ps 查看当前系统进程状态

7.10.2 kill 终止进程

7.10.3 pstree 查看进程树

7.10.4 top 查看系统健康状态

7.10.5 netstat 显示网络统计信息和端口占用情况

7.11 crond 系统定时任务

7.11.1 crond 服务管理

7.11.2 crontab 定时任务设置

8. 软件包管理

8.1 RPM

8.1.1 RPM概述

8.1.2 RPM查询命令(rpm -qa)

8.1.3 RPM卸载命令(rpm -e)

8.1.4 RPM安装命令(rpm -ivh)

8.2 YUM仓库配置

8.2.1 YUM概述

8.2.2 YUM的常用命令


1. Linux介绍

Linux的创始人是Linus Torvalds

linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,很多企业级的项目都会部署到Linux/unix系统上

Linux主要的发行版:

Ubuntu(乌班图)RedHat(红帽)CentOSDebain[蝶变]FedoraSuSE、OpenSUSE

2. VM和Linux的安装

2.1 VMware安装

VMware官网地址

选择要下载的版本安装即可

安装比较简单这里不再赘述,不过是需要激活的(可自行查找激活码)

2.2 安装Linux(centos)

下载地址

选择需要的版本iso文件即可

2.3 Vmware Workstation新建虚拟机

具体步骤:

新建虚拟机

新建虚拟机向导

创建虚拟空白硬盘

选择iso文件对应的操作系统和版本

虚拟机命名及选择安装目录

处理器配置

内存大小设置

网络类型选择NAT模式

I/O控制器类型选择

磁盘类型选择

新建虚拟磁盘

设置磁盘容量

指定磁盘文件

新建虚拟机向导配置完成

在vm中对虚拟机进行设置

开启虚拟机进行安装

上下键选择第一项回车开始安装配置,Ctrl+Alt可以实现Windows主机和VM之间窗口的切换

输入账号密码即可登录

3. Linux文件与目录结构

Linux系统中一切皆文件。

目录结构:

  • /lib

系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库

  • /etc 

所有的系统管理所需要的配置文件和子目录 my.conf 

  • /usr 

用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录

  • /boot

存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件

  • /proc

这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息

  • /srv

service缩写,该目录存放一些服务启动之后需要提取的数据

  • /sys

这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 

  • /tmp

这个目录是用来存放一些临时文件的

  • /dev 

类似于windows的设备管理器,把所有的硬件用文件的形式存储

  • /media

linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下

  • /mnt 

系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了

  • /opt     

这是给主机额外安装软件所摆放的目录。如安装ORACLE数据库就可放到该目录下。默认为空

  • /usr/local

这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序

  • /var

这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件

4. VI/VIM编辑器

4.1 VI/VIM编辑器是什么

VI是Unix操作系统和类Unix操作系统中最通用的文本编辑器。

VIM编辑器是从VI发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM与VI编辑器完全兼容。

4.2 三种模式

①一般模式    ②编辑模式    ③命令模式

三种模式之间的转换

4.3 一般模式

以vi打开一个文件就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。

常用快捷键:

语法

功能描述

yy

复制光标当前一行

y数字y  

复制一段(从第几行到第几行)

p

箭头移动到目的行粘贴

u

撤销上一步

dd

删除光标当前行

d数字d

删除光标(含)后多少行

x

删除一个字母,相当于del

X

删除一个字母,相当于Backspace

yw

复制一个词

dw

删除一个词

shift+^

移动到行头

shift+$

移动到行尾

1+shift+g

移动到页头,数字

shift+g

移动到页尾

数字N+shift+g

移动到目标行

4.4 编辑模式

在一般模式中可以进行删除、复制、粘贴等的动作,但是却无法编辑文件内容的!要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。

注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现『INSERT或 REPLACE』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。

进入编辑模式说明:

按键

功能

i

当前光标前

a

当前光标后

o

当前光标行的下一行

I

光标所在行最前

A

光标所在行最后

O

当前光标行的上一行

 4.5 指令模式

在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。

在这个模式当中, 可以读取、存盘、大量取代字符、离开 vi 、显示行号等动作!

基本语法:

命令

功能

:w

保存

:q

退出

:!

强制执行

/要查找的词

n 查找下一个,N 往上查找

? 要查找的词

n是查找上一个,shift+n是往下查找

:set nu

显示行号

:set nonu

关闭行号

 命令组合:

:qw 保存退出

:q!   强制退出不保存

5. 虚拟机克隆、网络配置、系统管理

5.1 虚拟机克隆

克隆之前要先关机

5.2 网络配置

查看网关IP

 虚拟机的ip地址配置要保证和这个网关ip在同一网段

原理:

 

克隆出来的机器网卡eth0也被克隆,那么,网卡、mac地址、随机id就和被克隆的那台机器都是一样的,所以需要修改

修改网卡设备文件

vi /etc/udev/rules.d/70-persistent-net.rules

 

 修改完成保存退出,然后重启

 修改ip地址同时删除克隆机的HWADDR和UUID

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

被克隆的机器:

修改前

修改后

克隆机:

修改前

修改后

改完后,要重启网络服务,才能生效 : service network restart

检查地址 :ifconfig

 修改windows环境的中VMnet8网络配置

修改完成可以各机器互相ping一下、ping一下windows的ip、ping一下外网地址,如果都能ping通说明没什么问题

 

 5.3 主机名修改

查看主机名

 修改主机名

vi /etc/sysconfig/network

域名映射配置

vi  /etc/hosts

修改完成需要重启设备才能生效

修改window10的主机映射文件(hosts文件)

拷贝hosts文件到桌面并在末尾添加如下内容:

192.168.207.201    spark01
192.168.207.202    spark02
192.168.207.203    spark03

将桌面hosts文件覆盖C:\Windows\System32\drivers\etc路径hosts文件

5.4 关闭防火墙

service 后台服务管理

 基本语法:

service  服务名 start                     (功能描述:开启服务)

service  服务名 stop                      (功能描述:关闭服务)

service  服务名 restart                  (功能描述:重新启动服务)

service  服务名 status                   (功能描述:查看服务状态)

使用:

查看网络服务的状态  service network status

停止网络服务  service network stop

启动网络服务  service network start

重启网络服务  service network restart

查看系统中所有的后台服务  service --status-all

chkconfig 设置后台服务的自启配置

 基本语法:

chkconfig                        (功能描述:查看所有服务器自启配置)

chkconfig 服务名 off       (功能描述:关掉指定服务的自动启动)

chkconfig 服务名 on       (功能描述:开启指定服务的自动启动)

chkconfig 服务名 --list    (功能描述:查看服务开机启动状态)

使用:

关闭iptables服务的自动启动  chkconfig iptables off

开启iptables服务的自动启动  chkconfig iptables on

关闭防火墙

临时关闭防火墙:

查看防火墙状态  service iptables status

临时关闭防火墙  service iptables stop

开机启动时关闭防火墙:

查看防火墙开机启动状态  chkconfig iptables --list  

设置开机时关闭防火墙  chkconfig iptables off

5.5 关机重启命令

sync                       (功能描述:将数据由内存同步到硬盘中)

halt                         (功能描述:关闭系统,等同于shutdown -h now poweroff

reboot                    (功能描述:就是重启,等同于 shutdown -r now

shutdown [选项] 参数

选项功能
-h-h=halt关机
-r-r=reboot重启

 

 

 

 

参数功能
now立刻关机
时间等待多久后关机(时间单位是分钟)

 

 

 

 

使用:

将数据由内存同步到硬盘中  sync  

重启 reboot

关机  halt

计算机将在1分钟后关机,并且会显示在登录用户的当前屏幕中  shutdown -h 1 ‘This server will shutdown after 1 mins

立马关机(等同于 halt)shutdown -h now

系统立马重启(等同于 reboot)shutdown -r now

6 远程登录

推荐使用SecureCRT

官网下载地址

使用

创建链接

填写主机名、用户名、端口号

填写密码

连接成功

7. 常用命令

7.1 帮助命令

7.1.1 help 获得shell内置命令的帮助信息

语法:help 命令

实操:

查看cd命令的帮助信息

[root@spark01 ~]# help cd

7.1.2 常用快捷键

常用快捷键

功能

ctrl + c

停止进程

ctrl + l

清屏;彻底清屏是:reset

ctrl + q

退出

善于用tab键

提示(更重要的是可以防止敲错)

上下键

查找执行过的命令

ctrl +alt

linux和Windows之间切换

7.2 文件目录类

7.2.1 pwd 显示当前工作目录的绝对路径

[root@spark01 ~]# pwd
/root

7.2.2 ls 列出目录的内容

[root@spark01 ~]# ls -al
总用量 52
dr-xr-x---.  2 root root  4096 5月  24 06:17 .
dr-xr-xr-x. 22 root root  4096 5月  24 23:09 ..
-rw-------.  1 root root  1145 5月  24 06:17 anaconda-ks.cfg
-rw-r--r--.  1 root root    18 5月  20 2009 .bash_logout
-rw-r--r--.  1 root root   176 5月  20 2009 .bash_profile
-rw-r--r--.  1 root root   176 9月  23 2004 .bashrc
-rw-r--r--.  1 root root   100 9月  23 2004 .cshrc
-rw-r--r--.  1 root root 13642 5月  24 06:17 install.log
-rw-r--r--.  1 root root  3482 5月  24 06:16 install.log.syslog
-rw-r--r--.  1 root root   129 12月  4 2004 .tcshrc

-a 显示隐藏文件

-l 显示详细信息

7.2.3 cd 切换目录

参数

功能

cd 绝对路径

切换路径

cd 相对路径

切换路径

cd ~或者cd

回到自己的家目录

cd -

回到上一次所在目录

cd ..

回到当前目录的上一级目录

cd -P

跳转到实际物理路径,而非快捷方式路径

7.2.4 mkdir 创建一个新的目录

(1)创建一个目录

[root@spark01 ~]# mkdir china

(2)创建一个多级目录

[root@spark01 ~]# mkdir -p china/beijing/chaoyangqu

7.2.5 rmdir 删除一个空的目录

删除/root/china/beijing/的chaoyangqu这个空文件夹

[root@spark01 ~]# rmdir china/beijing/chaoyangqu

7.2.6 touch 创建空文件

[root@spark01 ~]# touch china/beijing/test.txt

7.2.7 cp 复制文件或目录

(1)复制文件

 [root@spark01 ~]# cp xiyou/dssz/suwukong.txt xiyou/mingjie/

(2)递归复制整个文件夹

 [root@spark01 ~]# cp -r xiyou/dssz/ ./

7.2.8 rm 移除文件或目录

选项

功能

-r

递归删除目录中所有内容

-f

强制执行删除操作,而不提示用于进行确认。

-v

显示指令的详细执行过程

(1)删除目录中的内容

[root@spark01 ~]# rm xiyou/mingjie/sunwukong.txt

(2)递归删除目录中所有内容

[root@spark01 ~]# rm -rf dssz/

7.2.9 mv 移动文件与目录或重命名

(1)重命名(同一文件夹下)

[root@spark01 ~]# mv xiyou/dssz/suwukong.txt xiyou/dssz/houge.txt

(2)移动文件(不同的文件夹)

[root@spark01 ~]# mv xiyou/dssz/houge.txt ./

7.2.10 cat 查看文件内容

[root @spark01 ~]$ cat -n houge.txt 

选项

功能描述

-n

显示所有行的行号,包括空行。

7.2.11 more 文件内容分屏查看器

[root@spark01 ~]# more smartd.conf

操作

功能说明

空白键 (space)

代表向下翻一页;

Enter

代表向下翻『一行』;

q

代表立刻离开 more ,不再显示该文件内容。

Ctrl+F

向下滚动一屏

Ctrl+B

返回上一屏

=

输出当前行的行号

:f

输出文件名和当前行的行号

7.2.12 less 分屏显示文件内容

[root@spark01 ~]# less smartd.conf

操作

功能说明

空白键

向下翻动一页;

[pagedown]

向下翻动一页

[pageup]

向上翻动一页;

/字串

向下搜寻『字串』的功能;n:向下查找;N:向上查找;

?字串

向上搜寻『字串』的功能;n:向上查找;N:向下查找;

q  

离开 less 这个程序;

7.2.13 echo 输出内容到控制台

[root@spark01 ~]$ echo "hello\tworld"
hello\tworld
[root@spark01 ~]$ echo -e "hello\tworld"
hello		world

 -e:  支持反斜线控制的字符转换

7.2.14 head 显示文件头部内容

查看文件的头2行

[root@spark01 ~]# head -n 2 smartd.conf

选项

功能

-n<行数>

指定显示头部内容的行数

默认情况下head指令显示文件的前10行内容

7.2.15 tail 输出文件尾部内容

(1)查看文件头1行内容

[root@spark01 ~]# tail -n 1 smartd.conf

(2)实时追踪该档的所有更新

[root@spark01 ~]# tail -f houge.txt

选项

功能

-n<行数>

输出文件尾部n行内容

-f

显示文件最新追加的内容,监视文件变化

默认情况下tail指令显示文件的前10行内容

7.2.16 > 输出重定向和 >> 追加

(1)将ls查看信息写入到文件中

[root@spark01 ~]# ls -l>houge.txt

(2)将ls查看信息追加到文件中

[root@spark01 ~]# ls -l>>houge.txt

(3)采用echo将hello单词追加到文件中

[root@spark01 ~]# echo hello>>houge.txt

7.2.17 ln 软链接

(1)创建软连接

[root@spark01 ~]# mv houge.txt xiyou/dssz/

[root@spark01 ~]# ln -s xiyou/dssz/houge.txt ./houzi

[root@spark01 ~]# ll

lrwxrwxrwx. 1 root    root      20 6月  17 12:56 houzi -> xiyou/dssz/houge.txt

(2)删除软连接

[root@spark01 ~]# rm -rf houzi

(3)进入软连接实际物理路径

[root@spark01 ~]# ln -s xiyou/dssz/ ./dssz

[root@spark01 ~]# cd -P dssz/

7.2.18 history 查看已经执行过历史命令

[root@spark01 test1]# history

7.3 时间日期类

基本语法

date [OPTION]... [+FORMAT]

选项说明

选项

功能

-d<时间字符串>

显示指定的“时间字符串”表示的时间,而非当前时间

-s<日期时间>

设置系统日期时间

参数说明

参数

功能

<+日期时间格式>

指定显示时使用的日期时间格式

7.3.1 date 显示当前时间

基本语法

(1)date                                                                     (功能描述:显示当前时间)

(2)date +%Y                                                            (功能描述:显示当前年份)

(3)date +%m                                                           (功能描述:显示当前月份)

(4)date +%d                                                            (功能描述:显示当前是哪一天)

(5)date "+%Y-%m-%d %H:%M:%S"                       (功能描述:显示年月日时分秒)

案例

(1)显示当前时间信息

[root@spark01 ~]# date
2020年 05月 24日 星期日 23:55:54 CST

(2)显示当前时间年月日

[root@spark01 ~]# date +%Y%m%d
20200524

(3)显示当前时间年月日时分秒

[root@spark01 ~]# date "+%Y-%m-%d %H:%M:%S"
2020-05-24 23:56:25

7.3.2 date 显示非当前时间

基本语法

(1)date -d '1 days ago'                         (功能描述:显示前一天时间)

(2)date -d '-1 days ago'                        (功能描述:显示明天时间)

案例

(1)显示前一天

[root@spark01 ~]# date -d '1 days ago'
2020年 05月 23日 星期六 23:56:38 CST

(2)显示明天时间

[root@spark01 ~]# date -d '-1 days ago'
2020年 05月 25日 星期一 23:56:49 CST

7.3.3 date 设置系统时间

设置系统当前时间

[root@spark01 ~]# date -s "2020-05-24 15:57:30"

7.3.4 cal 查看日历

(1)查看当前月的日历

[root@spark01 ~]# cal

(2)查看2020年的日历

[root@spark01 ~]# cal 2020

7.4 用户管理命令

7.4.1 useradd 添加新用户

添加一个用户

[root@spark01 ~]# useradd tangseng
[root@spark01 ~]#ll /home/

7.4.2 passwd 设置用户密码

[root@spark01 ~]# passwd tangseng

7.4.3 id 查看用户是否存在

[root@spark01 ~]#id tangseng

7.4.4 cat  /etc/passwd 查看创建了哪些用户

[root@spark01 ~]# cat  /etc/passwd

7.4.5 su 切换用户

su 用户名称           (功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)

su - 用户名称         (功能描述:切换到用户并获得该用户的环境变量及执行权限)

[root@spark01 ~]#su tangseng
[root@spark01 ~]#echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@spark01 ~]#exit
[root@spark01 ~]#su - tangseng
[root@spark01 ~]#echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/tangseng/bin

7.4.6 userdel 删除用户

userdel  用户名            (功能描述:删除用户但保存用户主目录)

userdel -r 用户名          (功能描述:用户和用户主目录,都删除)

选项

功能

-r

删除用户的同时,删除与用户相关的所有文件。

(1)删除用户但保存用户主目录

[root@spark01 ~]#userdel tangseng
[root@spark01 ~]#ll /home/

(2)删除用户和用户主目录,都删除

[root@spark01 ~]#useradd zhubajie
[root@spark01 ~]#ll /home/
[root@spark01 ~]#userdel -r zhubajie
[root@spark01 ~]#ll /home/

7.4.7 who 查看登录用户信息

(1)显示自身用户名称

[root@spark01 opt]# whoami

(2)显示登录用户的用户名

[root@spark01 opt]# who am i

7.4.8 sudo 设置普通用户具有root权限

1.添加shenyang用户,并对其设置密码。

[root@spark01 ~]#useradd shenyang
[root@spark01 ~]#passwd shenyang

2.修改配置文件

[root@spark01 ~]#vi /etc/sudoers

修改 /etc/sudoers 文件,找到下面一行(91),在root下面添加一行,如下所示:

## Allow root to run any commands anywhere
root    ALL=(ALL)     ALL
shenyang   ALL=(ALL)     ALL

或者配置成采用sudo命令时,不需要输入密码

## Allow root to run any commands anywhere
root      ALL=(ALL)     ALL
shenyang   ALL=(ALL)     NOPASSWD:ALL

修改完毕,现在可以用shenyang帐号登录,然后用命令 sudo ,即可获得root权限进行操作。

3.案例

用普通用户在/opt目录下创建一个文件夹

[shenyang@spark01 opt]$ sudo mkdir module
[shenyang@spark01 opt]# chown shenyang:shenyang module/

7.4.9 usermod 修改用户

将用户加入到用户组

[root@spark01 opt]#usermod -g root zhubajie

选项

功能

-g

修改用户的初始登录组,给定的组必须存在。默认组id是1。

7.5 用户组管理命令

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,

如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。

用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

7.5.1 groupadd 新增组

添加一个xitianqujing组

[root@spark01 opt]#groupadd xitianqujing

7.5.2 groupdel 删除组

删除xitianqujing组

[root@spark01 opt]# groupdel xitianqujing

7.5.3 groupmod 修改组

修改shenyang组名称为shenyang1

[root@spark01 ~]#groupadd shenyang1
[root@spark01 ~]# groupmod -n shenyangshenyang1

7.5.4 cat  /etc/group 查看创建了哪些组

[root@spark01 shenyang]# cat  /etc/group

7.6 文件权限类

7.6.1 文件属性

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。

1.从左到右的10个字符表示,如图所示:

如果没有权限,就会出现减号[ - ]而已。从左至右用0-9这些数字来表示:

(1)0首位表示类型

在Linux中第一个字符代表这个文件是目录、文件或链接文件等等

- 代表文件

 d 代表目录

 l 链接文档(link file)

(2)第1-3位确定属主(该文件的所有者)拥有该文件的权限。---User

(3)第4-6位确定属组(所有者的同组用户)拥有该文件的权限,---Group

(4)第7-9位确定其他用户拥有该文件的权限 ---Other

2.rxw作用文件和目录的不同解释

(1)作用到文件:

[ r ]代表可读(read): 可以读取,查看

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

[ x ]代表可执行(execute):可以被系统执行

(2)作用到目录:

[ r ]代表可读(read): 可以读取,ls查看目录内容

[ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录

[ x ]代表可执行(execute):可以进入该目录

3. 案例

[root@spark01 ~]# ll
总用量 104
-rw-------. 1 root root  1248 1月   8 17:36 anaconda-ks.cfg
drwxr-xr-x. 2 root root  4096 1月  12 14:02 dssz
lrwxrwxrwx. 1 root root    20 1月  12 14:32 houzi -> xiyou/dssz/houge.tx

文件基本属性介绍,如图所示:

(1)如果查看到是文件:链接数指的是硬链接个数。创建硬链接方法

ln [原文件] [目标文件] 

[root@spark01 ~]# ln xiyou/dssz/houge.txt ./hg.txt

(2)如果查看的是文件夹:链接数指的是子文件夹个数。

[root@spark01 ~]# ls -al xiyou/
总用量 16
drwxr-xr-x.  4 root root 4096 1月  12 14:00 .
dr-xr-x---. 29 root root 4096 1月  12 14:32 ..
drwxr-xr-x.  2 root root 4096 1月  12 14:30 dssz
drwxr-xr-x.  2 root root 4096 1月  12 14:04 mingjie

7.6.2 chmod 改变权限

(1)修改文件使其所属主用户具有执行权限

[root@spark01 ~]# cp xiyou/dssz/houge.txt ./
[root@spark01 ~]# chmod u+x houge.txt

(2)修改文件使其所属组用户具有执行权限

[root@spark01 ~]# chmod g+x houge.txt

(3)修改文件所属主用户执行权限,并使其他用户具有执行权限

[root@spark01 ~]# chmod u-x,o+x houge.txt

(4)采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权限。

[root@spark01 ~]# chmod 777 houge.txt

5)修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可执行权限。

[root@spark01 ~]# chmod -R 777 xiyou/

7.6.3 chown 改变所有者

(1)修改文件所有者

[root@spark01 ~]# chown shenyang houge.txt
[root@spark01 ~]# ls -al
-rwxrwxrwx. 1 shenyang root 551 5月  23 13:02 houge.txt

2)递归改变文件所有者和所有组

[root@spark01 xiyou]# ll
drwxrwxrwx. 2 root root 4096 9月   3 21:20 xiyou
[root@spark01 xiyou]# chown -R shenyang:shenyang xiyou/
[root@spark01 xiyou]# ll
drwxrwxrwx. 2 shenyang shenyang 4096 9月   3 21:20 xiyou

7.6.4 chgrp 改变所属组

[root@spark01 ~]# chgrp root houge.txt
[root@spark01 ~]# ls -al
-rwxrwxrwx. 1 shenyang root 551 5月  23 13:02 houge.txt

7.7 搜索查找类

7.7.1 find 查找文件或者目录

(1)按文件名:根据名称查找/目录下的filename.txt文件。

[root@spark01 ~]# find xiyou/ -name *.txt

(2)按拥有者:查找/opt目录下,用户名称为-user的文件

[root@spark01 ~]# find xiyou/ -user shenyang

3)按文件大小:在/home目录下查找大于200m的文件(+n 大于  -n小于   n等于)

[root@spark01 ~]find /home -size +204800

选项

功能

-name<查询方式>

按照指定的文件名查找模式查找文件

-user<用户名>

查找属于指定用户名所有文件

-size<文件大小>

按照指定的文件大小查找文件。

7.7.2 locate快速定位文件路径

由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。

查询文件夹

[root@spark01 ~]# updatedb
[root@spark01 ~]#locate tmp

7.7.3 grep 过滤查找及“|”管道符

查找某文件在第几行

[root@spark01 ~]# ls | grep -n test

选项

功能

-n

显示匹配行及行号。

7.8 压缩和解压类

(1)gzip压缩

[root@spark01 ~]# ls
test.java
[root@spark01 ~]# gzip houge.txt
[root@spark01 ~]# ls
houge.txt.gz

(2)gunzip解压缩文件

[root@spark01 ~]# gunzip houge.txt.gz
[root@spark01 ~]# ls
houge.txt

7.8.2 zip/unzip 压缩

zip选项

功能

-r

压缩目录

unzip选项

功能

-d<目录>

指定解压后文件的存放目录

(1)压缩 1.txt 和2.txt,压缩后的名称为mypackage.zip

[root@spark01 opt]# touch bailongma.txt
[root@spark01 ~]# zip houma.zip houge.txt bailongma.txt
  adding: houge.txt (stored 0%)
  adding: bailongma.txt (stored 0%)
[root@spark01 opt]# ls
houge.txt   bailongma.txt houma.zip

(2)解压 mypackage.zip

[root@spark01 ~]# unzip houma.zip
Archive:  houma.zip
 extracting: houge.txt              
 extracting: bailongma.txt      
[root@spark01 ~]# ls
houge.txt   bailongma.txt houma.zip

(3)解压mypackage.zip到指定目录-d

[root@spark01 ~]# unzip houma.zip -d /opt
[root@spark01 ~]# ls /opt/

7.8.3 tar 打包

选项

功能

-c

产生.tar打包文件

-v

显示详细信息

-f

指定压缩后的文件名

-z

打包同时压缩

-x

解包.tar文件

(1)压缩多个文件

[root@spark01 opt]# tar -zcvf houma.tar.gz houge.txt bailongma.txt
houge.txt
bailongma.txt
[root@spark01 opt]# ls
houma.tar.gz houge.txt bailongma.txt

(2)压缩目录

[root@spark01 ~]# tar -zcvf xiyou.tar.gz xiyou/
xiyou/
xiyou/mingjie/
xiyou/dssz/
xiyou/dssz/houge.txt

(3)解压到当前目录

[root@spark01 ~]# tar -zxvf houma.tar.gz

(4)解压到指定目录

[root@spark01 ~]# tar -zxvf xiyou.tar.gz -C /opt
[root@spark01 ~]# ll /opt/

7.9 磁盘分区类

7.9.1 df(disk free) 查看磁盘空间使用情况

选项

功能

-h

以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;

查看磁盘使用情况

[root@spark01 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        15G  3.5G   11G  26% /
tmpfs           939M  224K  939M   1% /dev/shm
/dev/sda1       190M   39M  142M  22% /boot

7.9.2 fdisk 查看分区

该命令必须在root用户下才能使用

选项

功能

-l

显示所有硬盘的分区列表

查看系统分区情况

[root@spark01 /]# fdisk -l
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005e654

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              26        1332    10485760   83  Linux
/dev/sda3            1332        1593     2097152   82  Linux swap / Solaris

7.10 进程线程类

进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。

7.10.1 ps 查看当前系统进程状态

ps:process status  进程状态

基本语法

         ps aux | grep xxx              (功能描述:查看系统中所有进程)

         ps -ef | grep xxx              (功能描述:可以查看子父进程之间的关系)

选项说明

选项

功能

-a

选择所有进程

-u

显示所有用户的所有进程

-x

显示没有终端的进程

案例

①查看进程的CPU占用率和内存占用率

USER:该进程是由哪个用户产生的

PID:进程的ID号

%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;

%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;

VSZ:该进程占用虚拟内存的大小,单位KB;

RSS:该进程占用实际物理内存的大小,单位KB;

TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。

STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台

START:该进程的启动时间

TIME:该进程占用CPU的运算时间,注意不是系统时间

COMMAND:产生此进程的命令名

②查看进程的父进程ID

UID:用户ID

PID:进程ID

PPID:父进程ID

C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高

STIME:进程启动的时间

TTY:完整的终端名称

TIME:CPU时间

CMD:启动进程所用的命令和参数

7.10.2 kill 终止进程

选项

功能

-9

表示强迫进程立即停止

(1)杀死浏览器进程

[root@spark01 桌面]# kill -9 5102

(2)通过进程名称杀死进程

[root@spark01 桌面]# killall firefox

7.10.3 pstree 查看进程树

选项

功能

-p

显示进程的PID

-u

显示进程的所属用户

(1)显示进程pid

[root@spark01 datas]# pstree -p

(2)显示进程所属用户

[root@spark01 datas]# pstree -u

7.10.4 top 查看系统健康状态

选项

功能

-d 秒数

指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令:

-i

使top不显示任何闲置或者僵死进程。

-p

通过指定监控进程ID来仅仅监控某个进程的状态。

[root@spark01 shenyang]# top -d 1
[root@spark01 shenyang]# top -i
[root@spark01 shenyang]# top -p 2575

查询结果字段解释:

第一行信息为任务队列信息

内容

说明

12:26:46

系统当前时间

up 1 day, 13:32

系统的运行时间,本机已经运行1天

13小时32分钟

2 users

当前登录了两个用户

load  average:  0.00, 0.00, 0.00

系统在之前1分钟,5分钟,15分钟的平均负载。一般认为小于1时,负载较小。如果大于1,系统已经超出负荷。

第二行为进程信息

Tasks:  95 total

系统中的进程总数

1 running

正在运行的进程数

94 sleeping

睡眠的进程

0 stopped

正在停止的进程

0 zombie

僵尸进程。如果不是0,需要手工检查僵尸进程

第三行为CPU信息

Cpu(s):  0.1%us

用户模式占用的CPU百分比

0.1%sy

系统模式占用的CPU百分比

0.0%ni

改变过优先级的用户进程占用的CPU百分比

99.7%id

空闲CPU的CPU百分比

0.1%wa

等待输入/输出的进程的占用CPU百分比

0.0%hi

硬中断请求服务占用的CPU百分比

0.1%si

软中断请求服务占用的CPU百分比

0.0%st

st(Steal  time)虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比。

第四行为物理内存信息

Mem:    625344k total

物理内存的总量,单位KB

571504k used

已经使用的物理内存数量

53840k free

空闲的物理内存数量,我们使用的是虚拟机,总共只分配了628MB内存,所以只有53MB的空闲内存了

65800k buffers

作为缓冲的内存数量

第五行为交换分区(swap)信息

Swap:   524280k total

交换分区(虚拟内存)的总大小

0k used

已经使用的交互分区的大小

524280k free

空闲交换分区的大小

409280k cached

作为缓存的交互分区的大小

尖叫提示:

执行上述命令后,可以按P、M、N对查询出的进程结果进行排序。

操作

功能

P

以CPU使用率排序,默认就是此项

M

以内存的使用率排序

N

以PID排序

q

退出top

7.10.5 netstat 显示网络统计信息和端口占用情况

netstat -anp |grep 进程号       (功能描述:查看该进程网络信息)

 netstat -nlp      | grep 端口号  (功能描述:查看网络端口号占用情况)

选项

功能

-n

拒绝显示别名,能显示数字的全部转化成数字

-l

仅列出有在listen(监听)的服务状态

-p

表示显示哪个进程在调用

 

(1)通过进程号查看该进程的网络信息

[root@spark01 hadoop-2.7.2]# netstat -anp | grep 火狐浏览器进程号
unix  2      [ ACC ]     STREAM     LISTENING     20670  3115/firefox        /tmp/orbit-root/linc-c2b-0-5734667cbe29
unix  3      [ ]         STREAM     CONNECTED     20673  3115/firefox        /tmp/orbit-root/linc-c2b-0-5734667cbe29
unix  3      [ ]         STREAM     CONNECTED     20668  3115/firefox       
unix  3      [ ]         STREAM     CONNECTED     20666  3115/firefox     

(2)查看某端口号是否被占用

[root@spark01 桌面]# netstat -nlp | grep 20670
unix  2      [ ACC ]     STREAM     LISTENING     20670  3115/firefox        /tmp/orbit-root/linc-c2b-0-5734667cbe29

7.11 crond 系统定时任务

7.11.1 crond 服务管理

重新启动crond服务

[root@spark01 ~]# service crond restart

7.11.2 crontab 定时任务设置

选项

功能

-e

编辑crontab定时任务

-l

查询crontab任务

-r

删除当前用户所有的crontab任务

需求:

每隔1分钟,向/root/bailongma.txt文件中添加一个11的数字

[root@spark01 ~]# crontab -e 

进入crontab编辑界面,添加内容

*/1 * * * * /bin/echo ”11” >> /root/bailongma.txt

说明

①星号的含义

项目 

含义 

范围

第一个“*”

一小时当中的第几分钟

0-59

第二个“*”

一天当中的第几小时

0-23

第三个“*”

一个月当中的第几天

1-31

第四个“*”

一年当中的第几月

1-12

第五个“*”

一周当中的星期几

0-7(0和7都代表星期日)

②特殊符号

特殊符号

含义

*

代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。

代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令

-

代表连续的时间范围。比如“0 5  *  *  1-6命令”,代表在周一到周六的凌晨5点0分执行命令

*/n

代表每隔多久执行一次。比如“*/10  *  *  *  *  命令”,代表每隔10分钟就执行一遍命令

③特定时间执行命令

时间 

含义

45 22 * * * 命令

在22点45分执行命令

0 17 * * 1 命令

每周1 的17点0分执行命令

0 5 1,15 * * 命令

每月1号和15号的凌晨5点0分执行命令

40 4 * * 1-5 命令

每周一到周五的凌晨4点40分执行命令

*/10 4 * * * 命令

每天的凌晨4点,每隔10分钟执行一次命令

0 0 1,15 * 1 命令

每月1号和15号,每周1的0点0分都会执行命令。注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。

8. 软件包管理

8.1 RPM

8.1.1 RPM概述

RPM(RedHat Package Manager),RedHat软件包管理工具,类似windows里面的setup.exe

 是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的。

RPM包的名称格式

Apache-1.3.23-11.i386.rpm

  • “apache” 软件名称
  • “1.3.23-11”软件的版本号,主版本和此版本
  • “i386”是软件所运行的硬件平台,Intel 32位微处理器的统称
  • “rpm”文件扩展名,代表RPM包

8.1.2 RPM查询命令(rpm -qa)

查询firefox软件安装情况

[root@spark01 Packages]# rpm -qa |grep firefox
firefox-45.0.1-1.el6.centos.x86_64

尖叫提示:由于软件包比较多,一般都会采取过滤。rpm -qa | grep rpm软件包

8.1.3 RPM卸载命令(rpm -e)

选项

功能

-e

卸载软件包

--nodeps

卸载软件时,不检查依赖。这样的话,那些使用该软件包的软件在此之后可能就不能正常工作了。

卸载firefox软件

[root@spark01 Packages]# rpm -e firefox

8.1.4 RPM安装命令(rpm -ivh)

选项

功能

-i

-i=install,安装

-v

-v=verbose,显示详细信息

-h

-h=hash,进度条

--nodeps

--nodeps,不检测依赖进度

安装firefox软件

[root@spark01 Packages]# pwd
/media/CentOS_6.8_Final/Packages
[root@spark01 Packages]# rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm
warning: firefox-45.0.1-1.el6.centos.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing...                ########################################### [100%]
   1:firefox                ########################################### [100%]

8.2 YUM仓库配置

8.2.1 YUM概述

YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装

8.2.2 YUM的常用命令

选项

选项

功能

-y

对所有提问都回答“yes”

参数

参数

功能

install

安装rpm软件包

update

更新rpm软件包

check-update

检查是否有可用的更新rpm软件包

remove

删除指定的rpm软件包

list

显示软件包信息

clean

清理yum过期的缓存

deplist

显示yum软件包的所有依赖关系

采用yum方式安装firefox

[root@spark01 ~]#yum -y install firefox.x86_64

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值