linux准备
centos下载地址
网易镜像:
http://mirrors.163.com/centos/6/isos/
http://mirrors.163.com/centos/7/isos/
搜狐镜像:
http://mirrors.sohu.com/centos/6/isos/
http://mirrors.sohu.com/centos/7/isos/
window下安装VMWare
WMWare中安装centos
检查BIOS虚拟化支持
或者直接查看 任务管理器(Ctrl+Shift+ESC)
VMWare虚拟机网络配置 https://www.cnblogs.com/aeolian/p/8882790.html
按下列图片中显示选择,保证基本功能使用
基本系统
应用程序
桌面 除了KDE,其他都选就可以了
语言支持
centos系统准备
linux相关说明
最小操作系统安装:CentOS-7-x86_64-Minimal-1908.iso 占用资源少,方便学习各种命令安装 不适合新手
Linux系统中一切皆文件
linux常用目录结构
/bin |
经常使用的命令目录 |
/home |
存放用户目录,每个用户有一个自己的同名目录 |
/root |
系统管理员root的主目录,相当于普通用户的/home目录 |
/etc |
配置文件目录 |
/usr |
应用程序安装目录,相当于window下的program files目录 |
/media |
自动识别设备目录 如 U盘 |
/mnt |
系统临时挂载外部存储 |
/opt |
系统额外安装软件目录,如用户自己安装 mysql jdk放到这个目录下 |
/var |
经常变化,不断扩张内容放到此目录下;如日志文件 |
网络配置
参考:
VMWare虚拟机网络配置 https://www.cnblogs.com/aeolian/p/8882790.html
VMWare中NAT模式linux网络配置 https://www.cnblogs.com/mylk0606/p/11804982.html
cd /etc/sysconfig/network-scripts/ //进入到网络适配器文件夹中
vi ifcfg-xxx //编辑文件 使用命令"ip addr"查看活动网络即可知道编辑哪个文件
ONBOOT=yes #开启自动启用网络连接,这个一定要改
IPADDR=192.168.100.100 #设置IP地址
NETMASK=255.255.225.0 #设置子网掩码
GATEWAY=192.168.100.2 #设置网关 与VMWare中设置NAT服务设置保持一致
DNS1=61.147.37.1 #设置主DNS 或者 114.114.114.114
DNS2=8.8.8.8 #设置备DNS
BOOTPROTO=static #启用静态IP地址 ,默认为dhcp
:wq! #保存退出
service network restart #重启网络
ping www.baidu.com #测试网络是否正常
ip addr #查看IP地址
yum仓库配置
参考: http://mirrors.163.com/.help/centos.html
常用操作/命令
安装命令方式
yum provides ifconfig #查看哪个包提供了ifconfig命令,显示net-tools
yum install net-tools #安装提供ifconfig的包
yum list | grep firefox #根据查找仓库中安装包名称 进行安装
yum -y install firefox.x86_64
lrzsz
lrzsz服务说明
lrzsz只适合传输小文件,不适合传输大型文件,大文件使用SFTP(SSH)
在xshell中可以直接拖拽上传文件到linux
安装lrzsz服务
yum install lrzsz
sudo apt-get install lrzsz
lrzsz服务使用
rz,sz便是Linux/Unix同Windows进行ZModem文件传输的命令行工具
windows端需要支持ZModem的telnet/ssh客户端(比如Xshell(支持直接把window的文件拉进linux))
运行命令rz,即是接收文件,Xshell就会弹出文件选择对话框,选好文件之后关闭对话框,文件就会上传到当前目
sz 将选定的文件发送(send)到本地机器
rz 运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器(receive)
ifconfig
ifconfig说明
ifconfig :network interfaces configuring网络接口配置
安装ifconfig
yum install net-tools
ifconfig使用
查看当前网络ip,直接输入ifconfig 显示所有网络接口的配置信息 没有安装此命令 使用 ip addr
ping
ping 目的主机 (功能描述:测试当前服务器是否可以连接目的主机)
测试当前服务器是否可以连接百度 ping www.baidu.com
hostname
hostname 查看或临时设置主机名
修改主机名
方式一: vim /etc/sysconfig/network
文件中内容
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=centos7
注意:主机名称不要有“_”下划线
方式二: vim /etc/hostname
文件中内容
centos7
另: ip与主机名对应关系修改
linux下: vim /etc/hosts
window下: C:\Windows\System32\drivers\etc\hosts
service
service命令格式
开启服务: service 服务名 start
关闭服务: service 服务名 stop
重新启动服务: service 服务名 restart
查看服务状态: service 服务名 status
查看系统中所有的后台服务: service --status-all
另:
查看服务的方法:/etc/init.d/服务名 即: ls -al /etc/init.d/
例子:
查看网络服务的状态: service network status
停止网络服务: service network stop
启动网络服务: service network start
重启网络服务: service network restart
chkconfig
语法基本格式:
查看所有服务器自启配置: chkconfig
关掉指定服务的自动启动: chkconfig 服务名 off
开启指定服务的自动启动: chkconfig 服务名 on
查看服务开机启动状态: chkconfig 服务名 --list
例子:
关闭iptables服务的自动启动: chkconfig iptables off
开启iptables服务的自动启动: chkconfig iptables on
Linux进程运行级别
关闭防火墙
查看防火墙状态 service iptables status
临时关闭防火墙 service iptables stop
查看防火墙开机启动状态 chkconfig iptables --list
设置开机时关闭防火墙 chkconfig iptables off
关机重启命令
正确的关机流程为:sync > shutdown > reboot > halt
sync 将数据由内存同步到硬盘中
halt 关闭系统,等同于shutdown -h now 和 poweroff
reboot 重启,等同于 shutdown -r now
shutdown [选项] 时间
-h |
-h=halt关机 |
-r |
-r=reboot重启 |
now |
立刻关机 |
时间 |
等待多久后关机(时间单位是分钟) |
将数据由内存同步到硬盘中: sync
重启: reboot
关机: halt
计算机将在10分钟后关机,并且会显示在登录用户的当前屏幕中:
shutdown -h 10 '计算机将在1分钟后关机'
立马关机(等同于 halt) : shutdown -h now
系统立马重启(等同于 reboot): shutdown -r now
远程登录linux
Linux 远程登录客户端有SecureCRT, Putty, SSH Secure Shell,XShell等
man
命令格式: man [命令或配置文件]
NAME |
命令的名称和单行描述 |
SYNOPSIS |
怎样使用命令 |
DESCRIPTION |
命令功能的深入讨论 |
EXAMPLES |
怎样使用命令的例子 |
SEE ALSO |
相关主题(通常是手册页) |
查看ping命令的帮助信息: man ping
help
命令格式: help 命令
查看cd命令的帮助信息: help cd
linux命令终端常用快捷键
ctrl+c |
停止进程 |
ctrl+l |
清屏;彻底清屏是:reset |
ctrl+q |
退出 |
善于用tab键 |
提示(更重要的是可以防止敲错) |
上下键 |
查找执行过的命令 |
pwd
pwd 显示当前工作目录的绝对路径
pwd:print working directory 打印工作目录
命令格式: pwd
ls
ls 列出目录的内容
ls:list 列出目录内容
命令格式: ls [选项] [目录或是文件]
-a |
全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用) |
-l |
长数据串列出,包含文件的属性与权限等等数据;(常用) |
另: 每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小用byte来表示 建立或最近修改的时间 名字
cd
cd 切换目录
cd:Change Directory切换路径
命令格式: cd [参数]
cd 绝对路径 |
切换路径 |
cd 相对路径 |
切换路径 |
cd ~或者cd |
回到自己的家目录 |
cd - |
回到上一次所在目录 |
cd .. |
回到当前目录的上一级目录 |
cd -P |
跳转到实际物理路径,而非快捷方式路径 |
mkdir
mkdir 创建一个新的目录
mkdir:Make directory 建立目录
命令格式: mkdir [选项] 要创建的目录
rmdir
rmdir 删除一个空的目录
rmdir:Remove directory 移动目录
命令格式: rmdir 要删除的空目录
touch
touch 创建空文件
命令格式: touch 文件名称
cp
cp 复制文件或目录
命令格式: cp [选项] source dest 说明: 复制source文件到dest
另: 强制覆盖不提示的方法:\cp
rm
rm 移除文件或目录
命令格式: rm [选项] deleteFile
-r |
递归删除目录中所有内容 |
-f |
强制执行删除操作,而不提示用于进行确认。 |
-v |
显示指令的详细执行过程 |
cat
cat 查看文件内容,查看文件内容,从第一行开始显示
命令格式: cat [选项] 要查看的文件路径
另: 一般查看比较小的文件,一屏幕能显示全的。
more
more 文件内容分屏查看器
more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键,详见操作说明。
命令格式: more 要查看的文件
空白键 (space) |
代表向下翻一页 |
Enter |
代表向下翻『一行』 |
q |
代表立刻离开 more ,不再显示该文件内容 |
Ctrl+F |
向下滚动一屏 |
Ctrl+B |
返回上一屏 |
= |
输出当前行的行号 |
:f |
输出文件名和当前行的行号 |
less
less 分屏显示文件内容
less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
命令格式: less 要查看的文件
空白键 |
向下翻动一页 |
[pagedown] |
向下翻动一页 |
[pageup] |
向上翻动一页 |
/字串 |
向下搜寻『字串』的功能;n:向下查找;N:向上查找 |
?字串 |
向上搜寻『字串』的功能;n:向上查找;N:向下查找 |
q |
离开 less 这个程序 |
echo
echo输出内容到控制台
命令格式: echo [选项] [输出内容]
-e: 支持反斜线控制的字符转换
\ |
输出\本身 |
\n |
换行符 |
\t |
制表符,也就是Tab键 |
head
head 显示文件头部内容
head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容。
命令格式:
head 文件 查看文件头10行内容
head -n 5 文件 查看文件头5行内容,5可以是任意行数
tail
tail 输出文件尾部内容
tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的后10行内容。
命令格式:
tail 文件 -> 查看文件后10行内容
tail -n 5 文件 -> 查看文件后5行内容,5可以是任意行数
tail -f 文件 -> 实时追踪该文档的所有更新
-n |
输出文件尾部n行内容 |
-f |
显示文件最新追加的内容,监视文件变化 |
> 覆盖 和 >> 追加
命令格式:
ll >文件 ->列表的内容写入文件a.txt中(覆盖写)
ll >>文件 ->列表的内容追加到文件aa.txt的末尾
cat 文件1 > 文件2 ->将文件1的内容覆盖到文件2
echo “内容” >> 文件
将ls查看信息写入到文件中 ls -l > ls.txt
将ls查看信息追加到文件中 ls -l>>ls.txt
采用echo将hello单词追加到文件中 echo hello>>hello.txt
ln
ln 软链接
软链接也成为符号链接,类似于windows里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径。
命令格式: ln -s [原文件或目录] [软链接名] -> 给原文件创建一个软链接
另:
删除软链接: rm -rf 软链接名,而不是rm -rf 软链接名/
查询:通过ll就可以查看,列表属性第1位是l,尾部会有位置指向。
创建硬链接方法
ln [原文件] [目标文件]
history
history 查看已经执行过历史命令
date
命令格式: date [OPTION]... [+FORMAT]
-d |
显示指定的“时间字符串”表示的时间,而非当前时间 |
-s |
设置系统日期时间 |
date |
显示当前时间 |
date +%Y |
显示当前年份 |
date +%m |
显示当前月份 |
date +%d |
显示当前是哪一天 |
date "+%Y-%m-%d %H:%M:%S" |
显示年月日时分秒 |
date -d '1 days ago' |
显示前一天时间 |
date -d '-1 days ago' |
显示明天时间 |
date -s 字符串时间
设置系统当前时间: date -s "2017-06-19 20:52:18"
cal
cal 查看日历
命令格式: cal [选项] -> 不加选项,显示本月日历
查看当前月的日历: cal
查看2019年的日历: cal 2019
mv
mv 移动文件与目录或重命名
命令格式:
mv oldNameFile newNameFile -> 重命名
mv /temp/movefile /targetFolder -> 移动文件
useradd
useradd 添加新用户
命令格式:
useradd 用户名 -> 添加新用户
useradd -g 组名 用户名 -> 添加新用户到某个组
passwd
passwd 设置用户密码
命令格式:
passwd 用户名 -> 设置用户密码
id
id 查看用户是否存在
命令格式: id 用户名
cat /etc/passwd -> 查看创建了哪些用户
su
su 切换用户
su: swith user 切换用户
命令格式:
su 用户名称 -> 切换用户,只能获得用户的执行权限,不能获得环境变量
su - 用户名称 -> 切换到用户并获得该用户的环境变量及执行权限
userdel
userdel 删除用户
命令格式:
userdel 用户名 -> 删除用户但保存用户主目录
userdel -r 用户名 -> 用户和用户主目录,都删除
who
who 查看登录用户信息
命令格式:
whoami 显示自身用户名称
who am i 显示登录用户的用户名
sudo设置普通用户具有root权限
1.添加test用户,并对其设置密码。
useradd test
passwd test
2.修改配置文件
vi /etc/sudoers
修改 /etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
test ALL=(ALL) ALL
或者配置成采用sudo命令时,不需要输入密码
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
test ALL=(ALL) NOPASSWD:ALL
修改完毕,现在可以用test帐号登录,然后用命令 sudo ,即可获得root权限进行操作。
usermod
usermod 修改用户
命令格式: usermod -g 用户组 用户名
groupadd
groupadd 新增组
命令格式: groupadd 组名
groupdel
groupdel 删除组
命令格式: groupdel 组名
groupmod
groupmod 修改组
命令格式: groupmod -n 新组名 老组名
cat /etc/group 查看创建了哪些组
文件权限说明
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。
1.从左到右的10个字符表示
![](https://img2018.cnblogs.com/blog/1858014/201911/1858014-20191106184906120-1964310081.png)
如果没有权限,就会出现减号[-]而已。从左至右用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):可以进入该目录
chmod
chmod 改变权限
第一种方式变更权限
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例子
(1)修改文件使其所属主用户具有执行权限
chmod u+x test.txt
(2)修改文件使其所属组用户具有执行权限
chmod g+x test.txt
(3)修改文件所属主用户执行权限,并使其他用户具有执行权限
chmod u-x,o+x test.txt
(4)采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权限。
chmod 777 test.txt
(5)修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可执行权限。
chmod -R 777 test/
chown
chown 改变所有者
命令格式:
chown [选项] [最终用户] [文件或目录] -> 改变文件或者目录的所有者
修改文件所有者 chown test test.txt
递归改变文件所有者和所有组 chown -R test:test test/
chgrp
chgrp 改变所属组
命令格式: chgrp [最终用户组] [文件或目录] ->改变文件或者目录的所属组
find
find 查找文件或者目录
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。
命令格式: find [搜索范围] [选项]
-name |
按照指定的文件名查找模式查找文件 |
-user |
查找属于指定用户名所有文件 |
-size |
按照指定的文件大小查找文件。 |
按文件名:根据名称查找/目录下的filename.txt文件 -> find xiyou/ -name “*.txt”
按拥有者:查找/opt目录下,用户名称为-user的文件 -> find xiyou/ -user atguigu
按文件大小:在/home目录下查找大于200m的文件(+n 大于 -n小于 n等于) -> find /home -size +204800
grep 过滤查找及“|”管道符
管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理
命令格式: grep 选项 查找内容 源文件
which
which 查找命令在那个目录下
命令格式: which 命令
例子:
which ll
which grep
gzip/gunzip
命令格式:
gzip 文件 -> 压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz -> 解压缩文件命令
另:
(1)只能压缩文件不能压缩目录
(2)不保留原来的文件
zip/unzip
命令格式:
zip [选项] XXX.zip 将要压缩的内容 -> 压缩文件和目录的命令)
unzip [选项] XXX.zip -> 解压缩文件
另:
zip 压缩命令在window/linux都通用,可以压缩目录且保留源文件
1.压缩 1.txt 和2.txt,压缩后的名称为mypackage.zip
zip mypackage.zip 1.txt 2.txt
2.解压 mypackage.zip
unzip mypackage.zip
3.解压mypackage.zip到指定目录-d
unzip mypackage.zip -d /data
tar
命令格式:
tar [选项] XXX.tar.gz 将要打包进去的内容 -> 打包目录,压缩后的文件格式.tar.gz
-z |
打包同时压缩 |
-c |
产生.tar打包文件 |
-v |
显示详细信息 |
-f |
指定压缩后的文件名 |
-x |
解包.tar文件 |
1.压缩 1.txt 和2.txt,压缩后的名称为mypackage.tar.gz
tar -zcvf mypackage.tar.gz 1.txt 2.txt
2.压缩目录
tar -zcvf data.tar.gz /data
3.解压 mypackage.tar.gz
tar -zxvf mypackage.tar.gz
4.解压mypackage.zip到指定目录-d
tar -zxvf mypackage.tar.gz -C /data
df
df 查看磁盘空间使用情况
df: disk free 空余硬盘
命令格式:
df 选项 -> 列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况
-h |
以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示 |
查看磁盘使用情况: df -h
fdisk
fdisk 查看分区
命令格式: fdisk -l -> 查看磁盘分区详情
另:
该命令必须在root用户下才能使用
Device:分区序列
Boot:引导
Start:从X磁柱开始
End:到Y磁柱结束
Blocks:容量
Id:分区类型ID
System:分区类型
查看系统分区情况: fdisk -l
mount/umount
mount/umount 挂载/卸载
对于Linux用户来讲,不论有几个分区,分别分给哪一个目录使用,它总归就是一个根目录、一个独立且唯一的文件结构。
Linux中每个分区都是用来组成整个文件系统的一部分,它在用一种叫做“挂载”的处理方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来,要载入的那个分区将使它的存储空间在这个目录下获得。
命令格式:
mount [-t vfstype] [-o options] device dir -> 挂载设备
umount 设备文件名或挂载点 -> 卸载设备
-t vfstype |
指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:光盘或光盘镜像:iso9660 DOS fat16文件系统:msdos Windows 9x fat32文件系统:vfat Windows NT ntfs文件系统:ntfs Mount Windows文件网络共享:smbfs UNIX(LINUX) 文件网络共享:nfs |
-o options |
主要用来描述设备或档案的挂接方式。常用的参数有:loop:用来把一个文件当成硬盘分区挂接上系统 ro:采用只读方式挂接设备 rw:采用读写方式挂接设备 iocharset:指定访问文件系统所用字符集 |
device |
要挂接(mount)的设备 |
dir |
设备在系统上的挂接点(mount point) |
挂载光盘镜像文件: mkdir /mnt/cdrom/ 建立挂载点
mount -t iso9660 /dev/cdrom /mnt/cdrom/ 设备/dev/cdrom挂载到 挂载点 : /mnt/cdrom中
卸载光盘镜像文件: umount /mnt/cdrom
vi /etc/fstab
ps
ps:process status 进程状态
命令格式:
ps aux | grep xxx 查看系统中所有进程
ps -ef | grep xxx 可以查看子父进程之间的关系
-a |
选择所有进程 |
-u |
显示所有用户的所有进程 |
-x |
显示没有终端的进程 |
(1)ps aux显示信息说明
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:产生此进程的命令名
(2)ps -ef显示信息说明
UID:用户ID
PID:进程ID
PPID:父进程ID
C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
STIME:进程启动的时间
TTY:完整的终端名称
TIME:CPU时间
CMD:启动进程所用的命令和参数
kill
命令格式:
kill [选项] 进程号 通过进程号杀死进程
killall 进程名称 通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用
杀死浏览器进程
kill -9 5102
killall firefox
ptree
pstree 查看进程树
命令格式:
pstree [选项]
显示进程pid: ptree -p
显示进程所属用户: ptree -u
top
top 查看系统健康状态
命令格式:
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 僵尸进程。如果不是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)信息
表1-44
Swap: 524280k total 交换分区(虚拟内存)的总大小
0k used 已经使用的交互分区的大小
524280k free 空闲交换分区的大小
409280k cached 作为缓存的交互分区的大小
top -d 3
top -i
top -p 13123
执行上述命令后,可以按P、M、N对查询出的进程结果进行排序
netstat
netstat 显示网络统计信息和端口占用情况
命令格式:
netstat -anp |grep 进程号 查看该进程网络信息
netstat -nlp | grep 端口号 查看网络端口号占用情况
-n |
拒绝显示别名,能显示数字的全部转化成数字 |
-l |
仅列出有在listen(监听)的服务状态 |
-p |
表示显示哪个进程在调用 |
通过进程号查看该进程的网络信息: netstat -anp | grep 进程号
查看某端口号是否被占用: netstat -nlp | grep 端口号
crond
crond 系统定时任务
命令格式:
crontab [选项]
另:
重新启动crond服务: service crond restart
-e |
编辑crontab定时任务 |
-l |
查询crontab任务 |
-r |
删除当前用户所有的crontab任务 |
(1)进入crontab编辑界面。会打开vim编辑你的工作。
* * * * * 执行的任务
表1-47
项目 含义 范围
第一个“*” 一小时当中的第几分钟 0-59
第二个“*” 一天当中的第几小时 0-23
第三个“*” 一个月当中的第几天 1-31
第四个“*” 一年当中的第几月 1-12
第五个“*” 一周当中的星期几 0-7(0和7都代表星期日)
(2)特殊符号
表1-48
特殊符号 含义
* 代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。
, 代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令
- 代表连续的时间范围。比如“0 5 * * 1-6命令”,代表在周一到周六的凌晨5点0分执行命令
*/n 代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔10分钟就执行一遍命令
(3)特定时间执行命令
表1-49
时间 含义
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分都会执行命令。注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。
每隔1分钟,向/root/test.txt文件中添加一个11的数字
/1 * * * /bin/echo ”11” >> /root/test.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查询命令(rpm -qa)
命令格式: rpm -qa 查询所安装的所有rpm软件包
说明:
由于软件包比较多,一般都会采取过滤。
rpm -qa | grep rpm软件包
- 例子
查找mysql软件包
rpm -qa |grep mysql
RPM卸载命令(rpm -e)
命令格式:
rpm -e RPM软件包
rpm -e --nodeps 软件包
-e |
卸载软件包 |
--nodeps |
卸载软件时,不检查依赖。这样的话,那些使用该软件包的软件在此之后可能就不能正常工作了 |
卸载mysql
rpm -e mysql
RPM安装命令(rpm -ivh)
命令格式: rpm -ivh RPM包全名
-i |
-i=install,安装 |
-v |
-v=verbose,显示详细信息 |
-h |
-h=hash,进度条 |
--nodeps |
--nodeps,不检测依赖进度 |
yum
YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装
yum的常用命令
yum [选项] [参数]
install |
安装rpm软件包 |
update |
更新rpm软件包 |
check-update |
检查是否有可用的更新rpm软件包 |
remove |
删除指定的rpm软件包 |
list |
显示软件包信息 |
clean |
清理yum过期的缓存 |
deplist |
显示yum软件包的所有依赖关系 |
采用yum方式安装firefox : yum -y install firefox.x86_64
yum仓库配置
http://mirrors.163.com/.help/centos.html
VI/VIM编辑器
1.是什么
VI是Unix操作系统和类Unix操作系统中最通用的文本编辑器。
VIM编辑器是从VI发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM与VI编辑器完全兼容。
2.一般模式
以vi打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。
yy |
复制光标当前一行 |
y数字y |
复制一段(从第几行到第几行) |
p |
箭头移动到目的行粘贴 |
u |
撤销上一步 |
dd |
删除光标当前行 |
d数字d |
删除光标(含)后多少行 |
x |
删除一个字母,相当于del,向后删 |
X |
删除一个字母,相当于Backspace,向前删 |
yw |
复制一个词 |
dw |
删除一个词 |
shift+^ |
移动到行头 |
shift+$ |
移动到行尾 |
gg或者1+G |
移动到页头 |
G |
移动到页尾 |
数字+G(先输入数字,在按G) |
移动到目标行 |
3.vi/vim键盘图
4.编辑模式
在一般模式中可以进行删除、复制、粘贴等的动作,但是无法编辑文件内容!要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。
注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现『INSERT或 REPLACE』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。
i |
当前光标前 |
a |
当前光标后 |
o |
当前光标行的下一行 |
I |
光标所在行最前 |
A |
光标所在行最后 |
O |
当前光标行的上一行 |
按『Esc』键
5.指令模式
在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。
在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等动作是在此模式中达成的!
:w |
保存 |
:q |
退出 |
:! |
强制执行 |
/ 要查找的词 |
n 查找下一个,N 往上查找 |
? 要查找的词 |
n是查找上一个,N是往下查找 |
:set nu |
显示行号 |
:set nonu |
关闭行号 |
ZZ(shift+zz) |
没有修改文件直接退出,如果修改了文件保存后退出 |
另:
强制保存退出 :wq!
6.模式间转换
备注:学习“尚硅谷大数据技术之Linux.docx” 随笔记录