linux

257 阅读35分钟

常用命令

cp  拷贝(cp /etc/profile  /root 拷贝/etc/profile 数据到/root 目录下)
vim 文件名  打开文件

linux常用命令

命令功能描述命令功能描述
pwd显示当前目录的绝对路径cd切换目录
su 账户名切换账户(exit退出)ls列出目录的内容
mkdir创建文件夹rmdir删除一个空的目录
touch 文件名创建一个文件cp复制文件或目录
rm删除文件或目录mv移动文件目录或重命名
cat查看文件内容more文件内容分屏查看器
less分屏显示文件内容echo输出内容到控制台
'>'输出重定向>>追加
head显示文件头部内容tail输出文件尾部内容
ln软连接(链接)history查看已经执行过历史命令
date时间信息cal查看日历
ll列出目录详细的内容wc统计频率次数
tree 目录以树状显示文件目录
man 外部命令  查看命令信息
man -f 内部命令 查看内部命令信息
help 命令  查看命令信息只能看内部命令
外部命令 --help  查看外部命令信息
type  判断是内嵌命令还是外部命令
useradd  添加一个用户
history  之前用过的命令
reset  相当于重新启动终端

wc

wc info
16(行数)  12(12个单词以空格结束)  42(字节)

ll

- 表示文本文件
d 表示目录
c 字符类型的文件
b 快设备文件
l 链接

date

date显示当前时间 输出 20230329日 星期三 20:18:13 CST
date +%Y 显示当前年份  2023
date +%y 显示当前年份  23
date +%m 显示当前月份
date +%d 显示当前是哪一天
date +%S 显示当前秒数
date +%s 显示当前时间戳
date "+%Y-%m-%d %H:%M:%S" 显示年月日时分秒
date -d '1 days ago'显示前一天时间
date -d '-1 days ago'功能描述:显示明天时间
date -d '1 hours ago'
date -s "2017-06-19 20:52:18" 设置系统当前时间
nptdate同步服务器时间

cal 查看日历


cal  查看当月的日历
cal 2017 查看2017年的日历
cal  -m 周一在最前面
cal -3 显示最近三个月

pwd

-P显示实际路径

tail(可以实时追踪该文档的所有更新)

tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文件的后 10 行内容。

  1. tail 文件功能描述:查看文件尾部10行内容
  2. tail -n 5 文件功能描述:查看文件尾部5行内容,5可以是任意行数)
  3. tail -f 文件(功能描述:实时追踪该文档的所有更新)
-n<行数>输出文件尾部 n 行内容
-f显示文件最新追加的内容,监视文件变化

history

history 10显示最近十条 !1156重新执行第1156条命令 history -c清空执行过的命令

head

head 文件(功能描述:查看文件头10行内容)

head -n 5 文件(功能描述:查看文件头5行内容,5可以是任意行数)

-n<行数>指定显示头部内容的行数
查看文件的头2行
head -n 2 smartd.conf

cd

cd 绝对路径切换路径
     cd /root/
cd 相对路径切换路径
    cd 公共的/
cd ~或者 cd回到自己的家目录
    cd ~
cd -回到上一次所在目录
    cd -
cd ..回到当前目录的上一级目录
    cd ..
cd ~P跳转到实际物理路径,而非快捷方式路径

ls

选项功能
-a全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
-l长数据串列出,包含文件的属性与权限等等数据;(常用)等价于“ll”

mkdir创建文件夹

选项功能
-p创建多层目录
创建一个多级目录
mkdir -p xiyou/dssz/meihouwang

删除(文件夹|文件)rmdir |rm

rmdir只能删除空文件夹所以一层一层的删除
rmdir -p b/c/d 这样也可以删掉
​

-r递归删除目录中所有内容

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

-v显示指令的详细执行过程

rm xiyou/mingjie/sunwukong.txt 删除目录中的内容
rm -rf dssz/ 递归删除目录中所有内容

cp 复制文件或目录

-r 递归复制整个文件夹

cp  a z 把a文件复制到z里面
cp -r  a z 把a文件夹复制到z里面

mv 移动

mv oldNameFile newNameFile(功能描述:重命名)

mv /temp/movefile /targetFolder(功能描述:移动文件)

重命名
mv xiyou/dssz/suwukong.txt xiyou/dssz/houge.txt
​
移动文件
mv xiyou/dssz/houge.txt ./

查看文件内容(cat|more|less)

cat一般查看比较小的文件,一屏幕能显示全的。

-n 显示所有行的行号,包括空行

more

more 指令是一个基于 VI 编辑器的文本过滤器,它以全屏幕的方式按页显
示文本文件的内容。more 指令中内置了若干快捷键,详见操作说明。
操作功能说明
空白键 (space)代表向下翻一页;
Enter代表向下翻『一行』;
q代表立刻离开 more ,不再显示该文件内容。
Ctrl+F向下滚动一屏
Ctrl+B(b)返回上一屏
=输出当前行的行号
:f输出文件名和当前行的行号

less

less 指令用来分屏查看文件内容,它的功能与 more 指令类似,但是more
指令更加强大,支持各种显示终端。less 指令在显示文件内容时,并不是
一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大
型文件具有较高的效率。
操作功能说明
空白键向下翻动一页;
[pagedown]向下翻动一页
[pageup]向上翻动一页;
/字串向下搜寻『字串』的功能;n:向下查找;N:向上查找;
?字串向上搜寻『字串』的功能;n:向上查找;N:向下查找;
q离开 less 这个程序;
G底部
g开头
=输出当前行的行号

echo

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

控制字符作用
\输出\本身
\n换行符
\t制表符,也就是 Tab 键
echo -e “hello \n tworld”
hello
word

> 输出重定向和 >> 追加

  1. ls -l > 文件(功能描述:列表的内容写入文件 a.txt 中(覆盖写))
  2. ls -al >> 文件(功能描述:列表的内容追加到文件 aa.txt 的末尾)
  3. cat 文件 1 > 文件 2(功能描述:将文件 1 的内容覆盖到文件 2) 4.echo “内容” >> 文件
ls 查看信息写入到文件中
ls -l>houge.txt
将 ls 查看信息追加到文件中
ls -l>>houge.txt
采用 echo 将 hello 单词追加到文件中
echo hello>>houge.txt

ln链接

软链接也称为符号链接,类似于 windows 里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径。

ln -s 软连接

ln 硬链接

直接通过vim修改软连接其实是修改的源文件

ln -s [原文件或目录] [软链接名](功能描述:给原文件创建一个软链接)
删除软链接: rm -rf 软链接名,而不是 rm -rf 软链接名/
如果使用 rm -rf 软链接名/ 删除,会把软链接对应的真实目录下内容删掉  rm -rf 软链接名只删除软连接名
查询:通过 ll 就可以查看,列表属性第 1 位是 l,尾部会有位置指向。
创建软连接
ln -s /root/info myInfo
​
删除软连接
rm -rf  myInfo

vim 常用命令

/boot  引导分区
swap 交换分区(虚拟内存)
/  根分区
​
[root@liunxs]#  root账户  linuxs主机名  #超级管理员($普通管理员)
exit 退出当前终端
i  编辑模式(插入)
esc  退出当前模式
:w   保存
:q    退出文本编辑器
:set nu   列出行号
:set nonu 不要行号
ifconfig  linuxip地址
service  network restart(start|stop|status) 重启服务(打开,停止,查看) centos6
systemctl start | stop | restart | status    network   centos7
hostname  查看主机名
hostnamectl set-hostname 名字 直接修改主机名
ssh  账户@密码
exit  远程登陆后退出
ls /usr/sbin/ \ grep 条件  查看符合条件的
setup  配置开机自启动
语法功能描述语法功能描述
yy复制光标当前一行p箭头移动到目的行粘贴(5p粘贴5次)
dd删除光标当前行x剪切一个字母,相当于 del->
yw复制一个词shift+6(^)移动到行头
1+shift+g移动到页头,数字数字+shift+g移动到目标行
w移动到下一个单词词头位置gg(数字+G)移动到页头,数字
H移动当前页页头:w保存
esc退出当前模式r替换当前字母
s向前面插入数字 N+G移动到目标行
:!(:q! :w!)强制执行:wq保存并退出
/要查找的词n 查找下一个,N 往上查找:noh取消高亮显示
:set nu显示行号:set nonu关闭行号
:s/old/new替换当前行匹配到的第一个 old 为 new:s/old/new/g替换当前行匹配到的所有 old 为 new
:%s/old/new替换文档中每一行匹配到的第一个 old 为 new:%s/old/new/g替换文档中匹配到的所有 old 为 new
b移动到上一个词的词头

进入编辑模式

按键功能
i当前光标前
a当前光标后
o当前光标行的下一行
I光标所在行最前
A光标所在行最后
O当前光标行的上一行

image.png

linux目录结构

image.png

  1. /bin 存放经常使用的命令
  2. /sbin 存放系统管理员使用的系统管理程序
  3. /home 存放普通用户的主目录,在linux中每个用户都有一个自己的目录,一般该目录名是以用户的账户命名的
  4. /root 超级管理员的用户的主目录
  5. /lib 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库
  6. /lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件
  7. /etc 所有的系统管理所需要的配置文件和子目录
  8. /usr 是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
  9. /boot 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里
  10. /proc 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
  11. /srv service缩写,该目录存放一些服务启动之后需要提取的数据
  12. /sys 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs。
  13. /tmp 这个目录是用来存放一些临时文件的
  14. /dev 类似于windows的设备管理器把所有的硬件用文件的形式存储
  15. /media(contOS6) linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后linux会把识别的设备挂载到这个目录下CentOS7迁移到 /run/media
  16. /mnt 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了
  17. /opt 这是给主机额外安装软件所摆放的目录。比如你安装一个mysql数据库则就可以放到这个目录下。默认是空的。
  18. /var 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件

VMware三中网络连接方式

  1. 桥接模式 虚拟机直接连接外部物理网络的模式,主机起到了网桥的作用。这种模式下,虚拟机可直接访问外部网络,并且对外部网络是可见的。占用ip私密性不好
  2. NAT模式 虚拟机和主机构建一个专用网络,并通过虚拟网络地址转换 (NAT) 设备对 IP 进行转虚拟机通过共享主机P可以访问外部网络,但外部网络无法访问虚拟机。
  3. 仅主机模式 虚拟机只与主机共享一个专用网络,与外部网络无法通信。

修改linux ip

系统工具网络

指令 vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE="Ethernet"#网络类型(通常是 Ethemet)PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="static"#IP 的配置方法[none|static|bootp|dhcp](引导
​
时不 使用协议|静态分配 IP|BOOTP 协议|DHCP 协议)
​
DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="ens33"UUID="e83804c1-3257-4584-81bb-660665ac22f6"#随机 id

DEVICE="ens33"#接口名(设备,网卡)ONBOOT="yes"#系统启动的时候网络接口是否有效(yes/no)#IP 地址IPADDR=192.168.1.100#网关GATEWAY=192.168.1.2#域名解析器DNS1=192.168.1.2

修改主机名

vim /etc/hostname

hostnamectl set-hostname 名字 直接修改主机名

系统管理

  1. 计算机中,一个正在执行的程序或命令,被叫做“进程”(process)。
  2. 启动之后一直存在、常驻内存的进程,一般被称作“服务”(service)。(上网)
network   centos6
NetworkManager  centos7
centos6查看服务的方法:ls /etc/init.d/
#service network status  查看网络服务的状态
service network stop   停止网络服务
service network start  启动网络服务
service network restart 重启网络服务
centos7查看服务的方法: ls /usr/lib/systemd/system
systemctl status firewalld  查看防火墙服务的状态
 systemctl stop firewalld  停止防火墙服务
systemctl start firewalld  启动防火墙服务
 systemctl restart firewalld  重启防火墙服务

linux运行级别

systemctl get-default  查看当前运行级别
systemctl set-default TARGET.target (这里 TARGET 取 multi-user 或者 graphical)  修改当前运行级别

centos6

运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS),不支持网络
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

CentOS7

multi-user.target 等价于原运行级别 3(多用户有网,无图形界面)
graphical.target 等价于原运行级别 5(多用户有网,有图形界面)

linux自启动

centos6

chkconfig(功能描述:查看所有服务器自启配置)
chkconfig 服务名 off (功能描述:关掉指定服务的自动启动)
chkconfig 服务名 on (功能描述:开启指定服务的自动启动)
chkconfig 服务名 --list(功能描述:查看服务开机启动状态)

开启/关闭 network(网络)服务的自动启动
chkconfig network on
chkconfig network off

开启/关闭 network 服务指定级别的自动启动
chkconfig --level 指定级别 network on
chkconfig --level 指定级别 network off

centos7

systemctl list-unit-files(功能描述:查看服务开机启动状态)
systemctl disable service_name (功能描述:关掉指定服务的自动启动)
systemctl enable service_name (功能描述:开启指定服务的自动启动)
​
开启/关闭 iptables(防火墙)服务的自动启动
systemctl enable firewalld.service
systemctl disable firewalld.service

linux关机

sync(功能描述:将数据由内存同步到硬盘中)
halt(功能描述:停机,关闭系统,但不断电)
poweroff(功能描述:关机,断电)
reboot(功能描述:就是重启,等同于 shutdown -r now)
shutdown [选项] 时间

shutdown

选项功能
-H相当于--halt,停机
-r-r=reboot 重启
now立刻关机
时间等待多久后关机(时间单位是分钟)

用户

用户管理命令

useradd添加新用户

useradd 用户名 添加新用户

useradd -g 组名 用户名 添加新用户到某个组

在home下添加新用户
useradd tony
useradd -d /home/dave 
创建david用户单数david的文件夹名加dave
useradd -d /home/dave david

paswd 设置密码

passwd tony 给tony设置密码

id查看用户是否存在

id tony
uid=1001(tony)用户的uid
gid=1001(tony)组的uid
组=1001(tony)

查看创建了哪些用户

cat /etc/passwd

su 切换用户

su 用户名 切换用户,只能获得用户的执行权限,不能获得环境变量
su - 用户名 切换到用户并获得该用户的环境变量及执行权限

userdel删除用户

userdel 用户名删除用户但保存用户主目录

userdel -r 用户名 用户和用户主目录,都删除

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

who 查看登录信息

whoami 显示自身用户名称

who am i 显示登录用户的用户名以及登陆时间who

who -T +号查看消息功能是否开启 mesg n 关闭消息功能 mesg y 开启消息功能

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

修改配置文件
vim /etc/sudoores
root     ALL=(ALL)    ALL
atguigu  ALL=(ALL)    ALL  添加(需要输入密码)
atguigu  ALL=(ALL)   NOPASSWD:ALL添加(不需要输入密码)
退出 :wq!强制退出

usermod修改用户信息

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

将用户加入到用户组 usermod -g root zhubajie

用户组管理命令

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

Linux 系统对用户组的规定有所不同,

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

用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对

/etc/group文件的更新。

groupadd新增组

groupadd xitianqujing

把用户添加到组里面 usermod -g root zhubajie

groupmod 修改组

groupmod -n 新组名 老组名

groupmod -n haircut meifa

groupdel 删除组

删除xitianqujing组

groupdel xitianqujing

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

cat /etc/group

文件权限

文件属性

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

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

  • 0 首位表示类型
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等
​
- 代表文件
d 代表目录
l 链接文档(link file);
  • 第1-3位确定属主(该文件的所有者)拥有该文件的权限。
  • 第4-6位确定属组(所有者的同组用户)拥有该文件的权限,---Group
  • 第7-9位确定其他用户拥有该文件的权限 ---Other

rwx 作用文件和目录的不同解释

  • 作用到文件:
[ r ]代表可读(read): 可以读取,查看
[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条
件是对该文件所在的目录有写权限,才能删除该文件.
[ x ]代表可执行(execute):可以被系统执行
  • 作用到目录:
[ r ]代表可读(read): 可以读取,ls查看目录内容
​
[ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
​
[ x ]代表可执行(execute):可以进入该目录

b5ed08e0b1f84338428c62b9690eefb.png

  • 如果查看到是文件:链接数指的是硬链接个数。
  • 如果查看的是文件夹:链接数指的是子文件夹个数。

chmod改编权限

8b295ed5946272971d542025943a3a5.png

  • 第一种方式变更权限 chmod [{ugoa}{+-=}{rwx}] 文件或目录
  • 第二种方式变更权限 chmod [mode=421 ] [文件或目录]

u:所有者 g:所有组 o:其他人 a:所有人(u、g、o 的总和)

r=4 w=2 x=1 rwx=4+2+1=7

修改文件使其所属主用户具有执行权限
chmod u+x houge.txt
修改文件使其所属组用户具有执行权限
chmod g+x houge.txt
修改文件所属主用户执行权限,并使其他用户具有执行权限
chmod u-x,o+x houge.txt
采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权限。
chmod 777 houge.txt
修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可执行权限
chmod -R 777 xiyou/

chown 改变所有者

把文件所属用户改为tony
chown tony initial-setup-ks.cfg
文件夹的话可能需要进行递归更改
chown -R tony initial-setup-ks

chgrp 改变所属组

chgrp fiarcut initial-setup-ks.cfg

搜索查找类

find查找文件或目录

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

find [搜索范围] [选项]

选项功能
-name<查询方式>按照指定的文件名查找模式查找文件
-user<用户名>查找属于指定用户名所有文件
-size<文件大小>按照指定的文件大小查找文件,单位为:
b —— 块(512 字节)
c —— 字节
w —— 字(2 字节)
k —— 千字节
M —— 兆字节
G —— 吉字节
按文件名:根据名称查找/目录下的filename.txt文件。
[root@hadoop101 ~]# find xiyou/ -name "*.txt"

按拥有者:查找/opt目录下,用户名称为-user的文件
[root@hadoop101 ~]# find xiyou/ -user atguigu

按文件大小:在/home目录下查找大于200m的文件(+n 大于 -n小于 n等于)
[root@hadoop101 ~]find /home -size +204800
[root@hadoop101 ~]find /home -size +200M

locate|whereis|which 快速定位文件路径

locate 指令利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位给定的文件。Locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate 时刻。

经验技巧

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

updatedb  创建更新
locate tmp 查找包含tmp的文件或目录

whereis|which ls 查找ls命令的位置

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

管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理

基本语法

grep 选项 查找内容 源文件

-n显示匹配行及行号。

-i:不区分大小 --color****颜色标记 -c****显示的次数 选项 说明 –color=auto 对匹配到的文本着色显示,grep默认匹配到的文字是着色的 -m # 匹配#次后停止 -v 显示不被匹配到的行 -i 忽略字符大小写 -n 显示匹配到的行号 -c 统计匹配到的行号 -o 仅显示匹配到的字符串 -q 静默模式,不输出任何信息 -A # after,后#行 -B # before,前#后 -C # context,前后各#行 -e 实现多个选项间的逻辑or关系 -w 匹配到整个单词 -E 使用ERE(支持扩展正则表达式) -F 相当于fgrep,不支持正则表达式 -f file根据模式文件处理

查找某文件在第几行
ls | grep -n test

压缩解压

gzip/gunzip

基本语法

功能描述
gzip 文件压缩文件,只能将文件压缩为*.gz 文件
gunzip 文件.gz解压缩文件命令

经验技巧

  • 只能压缩文件不能压缩目录
  • 不保留原来的文件
  • 同时多个文件会产生多个压缩包
gzip   文件
gunzip  压缩文件名

zip/unzip压缩

基本语法

功能描述
zip [选项] XXX.zip 将要压缩的内容压缩文件和目录的命令
unzip [选项] XXX.zip解压缩文件

选项说明

zip 选项功能
-r压缩目录
unzip 选项功能
-d<目录>指定解压后文件的存放目录

经验技巧

zip 压缩命令在windows/linux都通用,可以压缩目录且保留源文件。

把root文件夹压缩称为myroot
zip -r myroot.zip /root

把myroot.zip解压到tmp下面
unzip -d /tmp myroot.zip

tar

基本语法

tar [选项] XXX.tar.gz 将要打包进去的内容(功能描述:打包目录,压缩后的 文件格式.tar.gz)

选项说明

选项功能
-c产生.tar 打包文件
-v显示详细信息
-f指定压缩后的文件名
-z打包同时压缩gzip
-x解包.tar 文件
-C解压到指定目录

压缩多个文件

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

压缩多个文件

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

解压

解压到当前目录
tar -zxvf houma.tar.gz
解压到指定目录
tar -zxvf xiyou.tar.gz -C /opt

磁盘查看和分区类

du 查看文件和目录占用的磁盘空间

du: disk usage 磁盘占用情况

基本语法

du 目录/文件 (功能描述:显示目录下每个子目录的磁盘使用情况)

选项说明

选项功能
-h以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
-a不仅查看子目录大小,还要包括文件
-c显示所有的文件和子目录大小后,显示总和
-s只显示总和
--max-depth=n指定统计子目录的深度为第 n 层

实操

du -sh
du --max-depth=1

df 查看磁盘空间使用情况

基本语法

df 选项 (功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占

选项说明

选项功能
-h以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;

实操

[root@hadoop101 ~]# df -h

Filesystem  Size  Used  Avail Use%  Mounted on
/dev/sda2   15G   3.5G  11G   26%   /
tmpfs       939M  224K  939M  1%    /dev/shm
/dev/sda    190M  39M   142M  22%   /boot

free查看当前物理内存和虚拟内存使用

free -h

lsblk 查看设备挂载情况

-f 查看详细的设备挂载情况,显示文件系统信

ide  硬盘  hda  hdb
SATA 硬盘  sda(1,2,3)  sdb
SCSI 硬盘  sda  sdb

mount/umount 挂载/卸载

对于Linux用户来讲,不论有几个分区,分别分给哪一个目录使用,它总归就是一个根

目录、一个独立且唯一的文件结构。

Linux中每个分区都是用来组成整个文件系统的一部分,它在用一种叫做“挂载”的处理

方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来,

要载入的那个分区将使它的存储空间在这个目录下获得。

基本语法

mount [-t vfstype] [-o options] device dir(功能描述:挂载设备)

umount 设备文件名或挂载点 功能描述:卸载设备

image.png

实操

1)挂载光盘镜像文件
[root@hadoop101 ~]# mkdir /mnt/cdrom/      建立挂载点

[root@hadoop101 ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom/      设备/dev/cdrom
挂载到 挂载点 : /mnt/cdrom 中

[root@hadoop101 ~]# ll /mnt/cdrom/
卸载光盘镜像文件
[root@hadoop101 ~]# umount /mnt/cdrom
设置开机自动挂载
vi /etc/fstab
添加红框中内容,保存退出

1e6fde79d207c11abf5054ed43049d5.png

fdisk分区

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

基本语法

选项功能
fdisk -l查看磁盘分区详情)
fdisk 硬盘设备名对新增硬盘进行分区操作
-l显示所有硬盘的分区列表

功能说明

Linux 分区
Device:分区序列
Boot:引导
Start:从X磁柱开始
End:到Y磁柱结束
Blocks:容量
Id:分区类型ID
分区操作按键说明
m:显示命令列表
p:显示当前磁盘分区
n:新增分区
w:写入分区信息并退出
q:不保存分区信息直接退出
fdisk -l

xitongguanli

ps查看当前系统进程状态

选项功能
a列出带有终端的所有用户的进程
x列出当前用户的所有进程,包括没有终端的进程
u面向用户友好的显示风格
-e列出所有进程
-u列出某个用户关联的所有进程
-f显示完整格式的进程列表
ps aux 显示信息说明

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

PID:进程的 ID 号

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

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

VSZ:该进程占用虚拟内存的大小,单位 KBRSS:该进程占用实际物理内存的大小,单位 KBTTY:该进程是在哪个终端中运行的。对于 CentOS 来说,tty1 是图形化终端,tty2-  
tty6 是本地的字符界面终端。pts/0-255 代表虚拟终端。

STAT:进程状态。常见的状态有:R:运行状态、S:睡眠状态、T:暂停状态、Z:僵尸状  态、s:包含子进程、l:多线程、+:前台显示

START:该进程的启动时间

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

COMMAND:产生此进程的命令名
ps -ef 显示信息说明

UID:用户 ID

PID:进程 ID

PPID:父进程 ID

C:CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算,

执行优先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高

STIME:进程启动的时间

TTY:完整的终端名称

TIMECPU 时间

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

基本语法

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

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

经验技巧

如果想查看进程的 CPU 占用率和内存占用率,可以使用 aux;

如果想查看进程的父进程 ID 可以使用 ef;

kill 终止进程

基本语法

kill [选项] 进程号 功能描述:通过进程号杀死进程

killall 进程名称 功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)

-9 表示强迫进程立即停止

pstree查看进程树

pstree -p/-u

选项说明

-p显示进程的 PID

-u显示进程的所属用户

top 实时监控系统进程状态

选项说明

选项功能
-d秒数指定 top 命令每隔几秒更新。默认是 3 秒在 top 命令的交互模式当中可以执行的命令:
-i使 top 不显示任何闲置或者僵死进程。
-p通过指定监控进程 ID 来仅仅监控某个进程的状态

操作说明

选项功能
P以 CPU 使用率排序,默认就是此项
M以内存的使用率排序
N以 PID 排序
q退出 top

查询字段解释

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

内容说明
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僵尸进程。如果不是o,需要手工检查僵尸进程

第三行为 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%stst(Steal time)虚拟时间百分比。就是当有虚拟机时,虚拟 CPU 等待实际 CPU 的时间百分比

第四行为物理内存信息

内容说明
Mem:625344k total物理内存的总量,单位KB
571504k used己经使用的物理内存数量
53840k free空闲的物理内存数量,我们使用的是虚拟机,总共只分配了628MB内存,所以只有53MB的空 闲内存了
65800k buffers作为缓冲的内存数量

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

内容说明
Swap:524280k total交换分区(虚拟内存)的总大小
Ok used已经使用的交互分区的大小
524280k free空闲交换分区的大小
409280k cached作为缓存的交互分区的大小

具体信息

内容说明
USER用户
PR进程优先级
NI用户指定的优先级
VIRT虚拟内存占用大小
RES物理内存占用大小
SHR共享内存占用大小
S状态
%CPUcpu时间占比
%MEM内存占比
TIME+cpu事件总占比
COMMAND生成当前进程的命令

实操

[root@hadoop101 atguigu]# top -d 1

[root@hadoop101 atguigu]# top -i

[root@hadoop101 atguigu]# top -p 2575

netstat显示网络状态和端口占用信息

基本语法

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

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

选项说明

选项功能
-a显示所有正在监听(listen)和未监听的套接字(socket)
-n拒绝显示别名,能显示数字的全部转化成数字
-l仅列出在监听的服务状态
-p表示显示哪个进程在调用

实操

通过进程号查看sshd进程的网络信息

    
Proto 协议
Pecv-Q 已经接受到了还没有拷贝的字节数
Send-Q 还没有传过去的字节数还没有确定收到(可能丢失的)
local  Address  本地地址
GFreign Address  远程地址
State   网络连接状态
PID/Program name  pid以及进程名字
[root@hadoop101 hadoop-2.7.2]# netstat -anp | grep sshd

Proto   Pecv-Q Send-Q local  Address     GFreign Address         State   PID/Program name
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1438/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1181/sshd           
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1177/cupsd          
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1407/master         
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      2559/sshd: root@pts 
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      680/rpcbind         
tcp        0     36 192.168.47.128:22       192.168.47.1:62852      ESTABLISHED 2559/sshd: root@pts 
tcp6       0      0 :::22                   :::*                    LISTEN      1181/sshd           
tcp6       0      0 ::1:631                 :::*                    LISTEN      1177/cupsd          
tcp6       0      0 ::1:25                  :::*                    LISTEN      1407/master         
tcp6       0      0 ::1:6010                :::*                    LISTEN      2559/sshd: root@pts 
tcp6       0      0 :::111                  :::*                    LISTEN      680/rpcbind        

查看某端口号是否被占用

[root@hadoop101 桌面]# netstat -nltp | grep 22

crontab系统定时任务

crontab服务管理

重新启动crond服务 systemctl restart crond

crontab 定时任务设置

选项功能
-e编辑crontab定时任务
-l查询crontab任务
-r删除当前用户所有的crontab任务

参数说明

crontab -e

进入 crontab 编辑界面。会打开 vim 编辑你的工作

* * * * * 执行的任务

项目含义范围
第一个“*”一小时当中的第几分钟0-59
第二个“*”一天当中的第几小时0-23
第三个“*”一个月当中的第几天1-31
第四个“*”一年当中的第几月1-12
第五个“*”一周当中的星期几0-7 0和7都代表星期日

特殊符号

特殊符号含义
*代表任何时间。比如第一个“*”就代表一小时中每分钟 都执行一次的意思。
,代表不连续的时间。比如08,12,16'***'命令,就代表 在每天的8点0分,12点0分,16点0分都执行一次命令
-代表连续的时间范围。比如“05 * * 1-6命令”,代表在 周一到周六的凌晨5点О分执行命令
*/n代表每隔多久执行一次。比如“*/10 * ***命令”,代 表每隔10分钟就执行一遍命令

特定时间执行命令

时间含义
4522***命令每天22点45分执行命令
0 17**Ⅰ命令每周1的17点0分执行命令
05 1,15**命令每月1号和15号的凌晨5点О分执行命令
404**1-5命令每周一到周五的凌晨4点40分执行命令
/10 4**命令每天的凌晨4点,每隔10分钟执行一次命令
00 1,15*1命令每月1号和15号,每周1的О点0分都会执行命令。注 意:星期几和几号最好不要同时出现,因为他们定义的都 是天。非常容易让管理员混乱。

实操

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

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

软件包管理

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包

RPM 查询命令

基本语法

-q查询 a所有 i 查询展示详细信息

rpm -qa 功能描述:查询所安装的所有rpm软件包

经验技巧

由于软件包比较多,一般都会采取过滤。rpm -qa | grep rpm软件包案例实操

查询firefox软件安装情况
rpm -qa |grep firefox
rpm -qi firefox  详细信息

rpm 卸载命令 rpm -e

基本语法

rpm -e RPM软件包 rpm -e --nodeps 软件包

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

卸载firefox软件

rpm -e firefox

RPM 安装命令(rpm -ivh)

基本语法

rpm -ivh RPM 包全名

选项说明

选项功能
-iinstall,安装
-v--verbose,显示详细信息
-h--hash,进度条
--nodeps安装前不检查依赖

安装firefox软件

安装firefox软件
/run/media/root/CentOS 7 x86_64/Packages 下面查看firefox版本
rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm

yum概述

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

image.png

yum 常用命令

基本语法

yum [选项] [参数]

选项说明

选项功能
-y对所有提问都回答“yes”

参数说明

参数功能
install安装rpm软件包
update更新rpm软件包
check-update检查是否有可用的更新rpm软件包
remove删除指定的rpm软件包
list显示软件包信息
clean清理yum过期的缓存
deplist显示yum软件包的所有依赖关系

实操

采用 yum 方式安装 firefox
yum -y install firefox

修改网络 YUM 源

默认的系统 YUM 源,需要连接国外 apache 网站,网速比较慢,可以修改关联的网络YUM 源为国内镜像的网站,比如网易 163,aliyun 等

  • 1.安装 wget, wget 用来从指定的 URL 下载文件
yum install wget
  • 2.在/etc/yum.repos.d/目录下,备份默认的 repos 文件
[root@hadoop101 yum.repos.d] pwd  
/etc/yum.repos.d
[root@hadoop101 yum.repos.d] cp CentOS-Base.repo  CentOS-Base
.repo.backup
  • 3.下载网易 163 或者是 aliyun 的 repos 文件,任选其一,
[root@hadoop101 yum.repos.d] wget

http://mirrors.aliyun.com/repo/Centos-7.repo //阿里云

[root@hadoop101 yum.repos.d] wget

http://mirrors.163.com/.help/CentOS7-Base-163.repo //网易 163

image.png

  • 4.使用下载好的 repos 文件替换默认的 repos 文件
  • 例如:用 CentOS7-Base-163.repo 替换 CentOS-Base.repo
[root@hadoop101 yum.repos.d]# mv CentOS7-Base-163.repo  CentOS-Base.repo
  • 5.清理旧缓存数据,缓存新数据
[root@hadoop101 yum.repos.d]#yum clean all

[root@hadoop101 yum.repos.d]#yum makecache
yum makecache 就是把服务器的包信息下载到本地电脑缓存起来
  • 6.测试
[root@hadoop101 yum.repos.d]# yum list | grep firefox

[root@hadoop101 ~]#yum -y install firefox