linux之常用操作、基本命令

六月ゝ 毕业季﹏ 提交于 2019-12-03 21:07:37

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 获得帮助信息
命令格式: man [命令或配置文件]
  • 显示说明
信息 功能
NAME 命令的名称和单行描述
SYNOPSIS 怎样使用命令
DESCRIPTION 命令功能的深入讨论
EXAMPLES 怎样使用命令的例子
SEE ALSO 相关主题(通常是手册页)
  • 例子

查看ping命令的帮助信息: man ping

help

  • help 获得shell内置命令的帮助信息
命令格式: 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 [选项] [目录或是文件]
  • ls选项说明
选项 功能
-a 全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
-l 长数据串列出,包含文件的属性与权限等等数据;(常用)

另: 每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小用byte来表示 建立或最近修改的时间 名字

cd

cd 切换目录
cd:Change Directory切换路径
命令格式: cd  [参数]
  • cd命令参数说明
参数 功能
cd 绝对路径 切换路径
cd 相对路径 切换路径
cd ~或者cd 回到自己的家目录
cd - 回到上一次所在目录
cd .. 回到当前目录的上一级目录
cd -P 跳转到实际物理路径,而非快捷方式路径

mkdir

mkdir 创建一个新的目录
mkdir:Make directory 建立目录
命令格式: mkdir [选项] 要创建的目录
  • mkdir选项说明
选项 功能
-p 创建多层目录

rmdir

rmdir 删除一个空的目录
rmdir:Remove directory 移动目录
命令格式: rmdir 要删除的空目录

touch

touch 创建空文件
命令格式: touch 文件名称

cp

cp 复制文件或目录
命令格式: cp [选项] source dest  说明:  复制source文件到dest
  • cp选项说明
选项 功能
-r 递归复制整个文件夹
  • cp参数说明
参数 功能
source 源文件
dest 目标文件

另: 强制覆盖不提示的方法:\cp

rm

rm 移除文件或目录
命令格式: rm [选项] deleteFile  
  • rm选项说明
选项 功能
-r 递归删除目录中所有内容
-f 强制执行删除操作,而不提示用于进行确认。
-v 显示指令的详细执行过程

cat

cat 查看文件内容,查看文件内容,从第一行开始显示
命令格式: cat  [选项] 要查看的文件路径
  • cat选项说明
选项 功能描述
-n 显示所有行的行号,包括空行

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

more

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

less

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

echo

echo输出内容到控制台
命令格式: echo [选项] [输出内容]
  • 选项说明

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

控制字符 作用
\ 输出\本身
\n 换行符
\t 制表符,也就是Tab键
head 显示文件头部内容
head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容。
命令格式:
head 文件      查看文件头10行内容
head -n 5 文件     查看文件头5行内容,5可以是任意行数
  • head选项说明
选项 功能
-n 指定显示头部内容的行数

tail

tail 输出文件尾部内容
tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的后10行内容。
命令格式:
tail  文件  -> 查看文件后10行内容
tail  -n 5 文件  -> 查看文件后5行内容,5可以是任意行数
tail  -f  文件    -> 实时追踪该文档的所有更新
  • tail选项说明
选项 功能
-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]
  • date选项说明
选项 功能
-d 显示指定的“时间字符串”表示的时间,而非当前时间
-s 设置系统日期时间
  • date参数说明
参数 功能
<+日期时间格式> 指定显示时使用的日期时间格式
  • date 显示当前时间
命令 描述
date 显示当前时间
date +%Y 显示当前年份
date +%m 显示当前月份
date +%d 显示当前是哪一天
date "+%Y-%m-%d %H:%M:%S" 显示年月日时分秒
  • date 显示非当前时间
命令 描述
date -d '1 days ago' 显示前一天时间
date -d '-1 days ago' 显示明天时间
  • date 设置系统时间

date -s 字符串时间
设置系统当前时间: date -s "2017-06-19 20:52:18"

cal

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 用户名     -> 用户和用户主目录,都删除
  • 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 用户组 用户名
  • usermod选项说明
选项 功能
-g 修改用户的初始登录组,给定的组必须存在

groupadd

groupadd 新增组
命令格式: groupadd 组名

groupdel

groupdel 删除组
命令格式: groupdel 组名

groupmod

groupmod 修改组
命令格式: groupmod -n 新组名 老组名
  • 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选项说明
选项 功能
-R 递归操作
  • 例子

修改文件所有者 chown test test.txt
递归改变文件所有者和所有组 chown -R test:test test/

chgrp

chgrp 改变所属组
命令格式: chgrp [最终用户组] [文件或目录] ->改变文件或者目录的所属组

find

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 选项 查找内容 源文件
  • grep选项
选项 功能
-n 显示匹配行及行号

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都通用,可以压缩目录且保留源文件
  • 选项说明
zip选项 功能
-r 压缩目录
unzip选项 功能
-d 指定解压后文件的存放目录
  • 例子

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
  • tar选项
选项 功能
-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  选项   -> 列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况
  • df选项
选项 功能
-h 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示
  • 例子

查看磁盘使用情况: df -h

fdisk

fdisk 查看分区
命令格式: fdisk -l  -> 查看磁盘分区详情
  • fdisk选项说明
选项 功能
-l 显示所有硬盘的分区列表

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

  • linux分区说明
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 设备文件名或挂载点        -> 卸载设备
  • mount参数说明
参数 功能
-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  可以查看子父进程之间的关系 
  • ps选项说明
选项 选择所有进程
-a 选择所有进程
-u 显示所有用户的所有进程
-x 显示没有终端的进程
  • ps功能说明
(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 进程名称       通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用
  • ps选项说明
选项 功能
-9 表示强迫进程立即停止
  • 例子

杀死浏览器进程
kill -9 5102
killall firefox

ptree

pstree 查看进程树
命令格式:
pstree [选项]
  • ptree选项说明
选项 功能
-p 显示进程的PID
-u 显示进程的所属用户
  • 例子

显示进程pid: ptree -p
显示进程所属用户: ptree -u

top

 top 查看系统健康状态
命令格式:
top [选项]
  • top选项说明
选项 功能
-d 秒数 指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令:
-i 使top不显示任何闲置或者僵死进程。
-p 通过指定监控进程ID来仅仅监控某个进程的状态。
  • top操作说明
操作 功能
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 端口号     查看网络端口号占用情况
  • netstat选项说明
选项 功能
-n 拒绝显示别名,能显示数字的全部转化成数字
-l 仅列出有在listen(监听)的服务状态
-p 表示显示哪个进程在调用
  • 例子
通过进程号查看该进程的网络信息: netstat -anp | grep 进程号
查看某端口号是否被占用: netstat -nlp | grep 端口号

crond

 crond 系统定时任务
命令格式:
crontab [选项]

另:
重新启动crond服务: service crond restart
  • crond选项说明
选项 功能
-e 编辑crontab定时任务
-l 查询crontab任务
-r 删除当前用户所有的crontab任务
  • crontab -e 编辑定时任务说明
(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 软件包  
  • rpm卸载选项说明
选项 功能
-e 卸载软件包
--nodeps 卸载软件时,不检查依赖。这样的话,那些使用该软件包的软件在此之后可能就不能正常工作了
  • 例子

卸载mysql
rpm -e mysql

RPM安装命令(rpm -ivh)

命令格式: rpm -ivh RPM包全名
  • 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 [选项] [参数]

  • yum命令选项说明
选项 功能
-y 对所有提问都回答“yes”
  • yum参数说明
参数 功能
install 安装rpm软件包
update 更新rpm软件包
check-update 检查是否有可用的更新rpm软件包
remove 删除指定的rpm软件包
list 显示软件包信息
clean 清理yum过期的缓存
deplist 显示yum软件包的所有依赖关系
  • 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』这个按键即可退出编辑模式。
  • 1.进入编辑模式
按键 功能
i 当前光标前
a 当前光标后
o 当前光标行的下一行
I 光标所在行最前
A 光标所在行最后
O 当前光标行的上一行
  • 2.退出编辑模式

按『Esc』键

5.指令模式

在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。
在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等动作是在此模式中达成的!
命令 功能
:w 保存
:q 退出
:! 强制执行
/ 要查找的词 n 查找下一个,N 往上查找
? 要查找的词 n是查找上一个,N是往下查找
:set nu 显示行号
:set nonu 关闭行号
ZZ(shift+zz) 没有修改文件直接退出,如果修改了文件保存后退出

另:
强制保存退出 :wq!

6.模式间转换

备注:学习“尚硅谷大数据技术之Linux.docx” 随笔记录

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!