linux:基本指令

Posted Pam

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux:基本指令相关的知识,希望对你有一定的参考价值。

指令标准格式

指令主体 【选项】【操作对象】

文件操作

ls

1、ls

列出当前工作目录下的所有文件/文件夹的名称

2、ls  路径

列出指定路径下的所有文件/文件夹的名称

路径:

1、相对路径

会用到 ./ 【表示当前目录】 和 ../【表示上一级目录】

2、绝对路径 :不需要参照物,直接从根寻址

3、ls  【选项】 路径

列出指定路径下的文件/文件夹的名称,并以指定的格式显示

例如:

ls -l 路径     ls  -la  路径

-l :表示list,表示以详细表的形式展示

-a:显示所有文件/文件夹(包含隐藏文件/文件夹)

-t:按创建时间进行排序

-R:列出当前目录以及其子目录

注释:“-”表示对应的文档类型为文件,“d”表示文档类型是文件夹

注释:在linux中隐藏文档一般是以 “.”开头

4、ls -lh 路径

列出指定路径下的文件/文件夹的名称,并以列表的格式显示文档大小的时候以可读性较高的形式显示

pwd 

print working direction,打印当前工作目录

cd

change directory 改变路径

注释:cd ~:切换到当前用户的家目录

mkdir

mkdir 路径【可以是文件夹名/包含文件夹名的完整路径】:make directory ,创建目录

注释:

mkdir -p 路径强行创建没有的文件夹

mkdir 路径1  路径2  路径3 :也同时创建多个文件夹

touch

touch 文件路径 :创建文件

cp

cp 被复制的文档路径   文档要复制到的路径  :复制文件/文件夹到指定位置

  -p:复制时,文件的信息(创建时间、所属组、所有者等不变)

注释:

cp  -r 被复制的文档路径   文档要复制到的路径:复制文件夹 【目录】

mv

mv 被移动文件/文件夹的位置   移动的位置 :移动、重命名  【不会更改信息(创建时间、所属组、所有者等不变)】

mv   -r  目录   目录    :移动目录

rm

rm  选项  需要移除的文档路径

选项:

-f :force,强制删除,不提示

-r:递归,删除文件夹 

注释:

删除文件夹下相同特征的文件 :使用通配符 “ * ” 

vim

vim 文件路径:打开一个文件(可以不存在)

注释:

退出打开文件:shift+英文冒号,输入 q 回车

echo

输出重定向

将输出结果保存在指定文件中(可以不存在)

> :覆盖输出

>>:追加输出

ln

软硬链接

ln 文件  链接名  :软链接,相当于快捷键

ln   -s 文件  链接名  :硬链接   ,相当于复制文件

cat

cat  文件位置 :查看文件

cat 文件1位置  文件2位置 ...  > 合并后的文件位置:合并文件

head

head -n 文件路径   :查看一个文件的前n行,如果n不定,则默认前10行

tail

tail -n 文件路径  :查看一个文件的后n行,如果n不定,则默认前10行

tail -f  文件路径  :查看一个文件的动态变化内容【不能是人工修改】

less

less 需要查看文件的路径  :查看文件,以较少的内容输出,按辅助键(数字+回车、空格+上下)

more

more 需要查看文件的路径  :查看文件,以较多的内容输出,按辅助键(数字+回车、空格+上下)

wc

wc   -l    需要统计的文件路径:统计文件中的内容信息,行数

  -w  :单词数

  -c  :字节数

date

date  :输出形式:2020年 05月 27日 星期三 19:42:40 CST

date +%F   相当于:date "+%Y-%m-%d"  输出形式:2020-05-27.

date "+%F %T" 相当于:date "+%Y-%m-%d %H:%M:%S"  ,引号表示使 “年月日时分秒”成为一个不可分割的整体  输出形式:2020-05-27 19:46:38

date -d "+1 day" "+%Y-%m-%d %H:%M:%S"  :输出之前或之后的某个时间    输出形式:2020-05-28 19:51:34

注释:

符号可选值:+(之后)、-(之前)

单位可选值:day(天)、month(月)、year(年)

ntpdate

需要先安装 :yum install -y ntpdate

ntpdate -u 时间服务器地址      :为本地服务器同步时间地址

cal

cal  相当于:cal -l :直接输出当前月的日历

cal -3  :输出上一个月 、本月、下一个月的日历

cal -y 年份 :输出某一年的日历

clear

clear 或者 Ctrl+L  :清除终端中存在的命令和结果(不是真实清除)

注释:

windows下清除:cls

管道符

一般用于“过滤”,不能单独使用、辅助使用

ls / | grep s  :输出根目录下包含s字母的文档名

注释:

1、以管道为分界线,前面的命令有输出,后面需要先输入,然后在过滤,最后输出

2、grep:用于过滤

ls | wc -l  :统计该目录下文档的个数

查看资源

df

df -h  :表示以可读性较高的形式展示磁盘空间大小

free

free -m : 以M为单位查看内存使用情况

注释:swap:用于临时内存,当系统真是内存不够时,可以临时使用磁盘空间使用 

hostname 

hostname  :输出完整主机名

hostname -f :输出当前主机名中的FQDN(全限定域名)

说明:永久修改:/etc/sysconfig/network

id

查询一个用户的基本信息(用户id、用户组id、附加组id)

id :显示当前用户的基本信息

id 用户名 :显示指定用户的基本信息

验证信息正误?

/etc/passwd  :验证用户信息  

/etc/group   :验证用户组信息

history

查看已经执行过的历史命令,也可以执行历史命令

!数字    :执行history中的命令

whoami

whoami  :显示当前用户名  一般用于shell脚本,用于记录当前操作的用户名方便记录日志

w

w -f :查看当前登录系统的用户,以及使用时间

uptime

du

du -sh 目录路径  :查看目录的真实大小

-s :只显示汇总大小

-h:以较高可读性的形式显示

du -sh /bin   :查询/bin 目录的真实大小

find

find 路径范围 选项 选项值   :查找文件

-name :按文档名称进行搜索 (支持模糊查询) 

-type: 按文档类型进行搜索 【“-”表示文件(使用find时用f代替) 、“d”:表示文件夹】

find / -name httpd.conf  :查找 / 目录下的 httpd.conf文件

find /etc -type d | wc -l   :统计 目录/etc下文件夹的数量

curl

利用URL规则在命令行下工作的文件传输工具,它支持文件的上传和下载。

参考:链接

uptime

uptime :输出计算机的持续运行时间(开机到现在的时间)

uname 

uname :获取操作系统的类型

uname -a :获取系统的全部信息(类型、全部主机名、内核版本等)

关机

reboot

reboot :重启

reboot -w :模拟重启,但不重启(只写入关机命令道日志中)

shutdown

shutdow -h now :立刻关机

shutdown -h  指定时间 :定时关机

注释:

1、 centos7之前的,使用ctrl+C取消关机

2、centos7(包含)之后的,使用 shutdown -c 取消关机

日志

服务

1、systemd-journald 日志收集系统

2、rsyslog:归类日志,写入/var/log目录中

/var/log/messages :系统日志
/var/log/secure :身份验证及相关安全类日志
/var/log/maillog :邮件日志
/var/log/cron :计划任务日志
/var/log/boot.log :开机日志

日志优先级

日志配置文件

系统配置文件:/etc/rsyslog.conf
自定义配置文件:将带有.conf后缀的文件放入/etc/rsyslog.d目录

日志文件轮转

使用logrotate工具,防止将含有/var/log中的文件系统填满
轮转大致四次,丢弃原日志文件

分析日志条目

tail  /var/log/messages

tail

实时监控事件的一个或多个日志文件

logger

发送消息到rsyslog服务,默认严重性为notice

网络

ifconfig

ifconfig :获取网卡信息

netstat

netstat -tnlp :查看网络状态

netstat -tulpn : 查看所有的端口信息, 包括 PID 和进程名称

解压缩

tar

  -c:create 打包成一个文件

  -t:查看压缩文档里的所有内容

  -C:切换成指定目录

tar  -zcvf 文件    :将文件打包压缩成  .tar.gz 文件

tar  -zxvf 文件    :将 .tar.gz 打包压缩文件解压缩

tar  -jcvf  文件    :将文件打包压缩成 .tar.bz2 文件    , 压缩比更高!

tar  -jxvf 文件    :将 .tar.bz2 打包压缩文件解压缩

unzip 

用于解压缩由zip命令压缩的“.zip”压缩包

参考:链接

服务管理

service

Centos7.0以上:

开启Apache服务:/bin/systemctl start  httpd.service

重启:/bin/systemctl restart  httpd.service

停止:/bin/systemctl stop httpd.service

service 服务名 start / stop / restart :服务的启动/停止/重启

service httpd start :启动本机的Apache(网站服务器软件),服务器名为httpd

systemctl

红帽7之后,系统启动和服务器进程由 systemd 系统和服务器进行管理

使用 systemctl 来管理各种类型的 systemd 对象

查看可以管理的单元(被管理的对象叫做单元):systemctl -t help

 

servicel:系统服务

socket:进程通信的套接字

targe:系统启动后达到的目标

systemctl  status 服务名 :查看服务的状态

systemctl  is-enabled 服务名 :查看服务是否已开机启动
systemctl  stop 服务名 :停止服务
systemctl  restart 服务名 :重启服务   【启进程时,进程ID会发生改变】
systemctl  reload 服务名 :重新加载服务 【重新加载时,不完全停止和启动服务器,进程ID不变】
systemctl  enable 服务名 :设置服务开机启动
systemctl  list-dependencies 服务名 :查看服务的依赖关系
systemctl  mask 服务名 :隐藏服务

systemctl  unmask 服务名 :解除隐藏服务

进程管理

ps

ps -ef :查看服务器的进程信息

说明:

-e:等价于“-A”,列出全部的进程

-f:显示全部的列

ps -ef | grep 进程命令 :从ps结果中过滤成需要的进程信息

ps  j :显示与作业相关的信息

PDID :进程组首进程的PID
SID:会话首进程得PID

top

动态 的查看服务器的进程占的资源

注释:

进入:top

退出:按 q 键

 

快捷键:

1、M:结果按内存从高到低排序

2、P:结果按CPU使用率从高到低排序

3、1:当服务器有多核CPU时,显示全部CPU信息

pstree

列出所有父子进程的关系

kill

kill 进程ID :杀死进程  【需要和ps一起使用】

killall

killall 进程名称 :杀死进程

pkill

使用进程名杀死进程,杀死一组同名的进程,类似 killall

获取帮助信息

man

man 命令 :退出按q键

n:使用/ 或? 来搜索字符串,可以用n来继续下一个搜索
N:继续下一个搜索
g:转到man page的开头
G:转到man page的结尾
q:退出man

获取在线帮助

1、sosreport :生成报告
2、md5sum :检查生成是否正确
3、tar -xvjf 解压报告
4、查看生成的报告

性能分析

vmstat

vmstat(VirtualMeomoryStatistics,虚拟内存统计) 是Linux中监控内存的常用工具,可对操作系统的虚拟内存、进程、CPU等的整体情况进行监视。

vmstat的常规用法:

vmstat interval times

即每隔interval秒采样一次,共采样times次,如果省略times,则一直采集数据,直到用户手动停止为止。简单举个例子:

可以使用ctrl+c停止vmstat采集数据

第一行显示了系统自启动以来的平均值,第二行开始显示现在正在发生的情况,接下来的行会显示每5秒间隔发生了什么,每一列的含义在头部,如下所示:

  • procs:r这一列显示了多少进程在等待cpu,b列显示多少进程正在不可中断的休眠(等待IO)。
  • memory:swapd列显示了多少块被换出了磁盘(页面交换),free列显示了多少块是空闲的(未被使用),buff块显示正在被用作缓冲区,以及cache显示正在被用作操作系统的缓存
  • swap:显示交换活动:每秒有多少块正在被换入(从磁盘)和换出(到磁盘)。
  • io:显示了多少块从块设备读取(bi)和写出(bo),通常反映了硬盘I/O。
  • system:显示每秒中断(in)和上下文切换(cs)的数量。
  • cpu:显示所有的cpu时间花费在各类操作的百分比,包括执行用户代码(非内核),执行系统代码(内核),空闲以及等待IO。

内存不足的表现:

  • free  memory急剧减少
  • 回收buffer和cacher也无济于事
  • 大量使用交换分区(swpd)
  • 页面交换(swap)频繁
  • 读写磁盘数量(io)增多
  • 缺页中断(in)增多
  • 上下文切换(cs)次数增多
  • 等待IO的进程数(b)增多
  • 大量CPU时间用于等待IO(wa)

uptime

能够打印系统总共运行了多长时间和系统的平均负载,uptime命令最后输出的三个数字的含义分别是1分钟,5分钟,15分钟内系统的平均负荷。

ps

ps参数太多,具体使用方法可以参考man ps

ps  aux  #hsserver
ps –ef |grep #hundsun

#杀掉某一程序的方法
ps  aux | grep mysqld | grep –v grep | awk ‘{print $2 }’ xargs kill -9

#杀掉僵尸进程
ps –eal | awk ‘{if ($2 == “Z”){print $4}}’ | xargs kill -9

htop

htop 是Linux系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中),需要ncurses

安装:

yum install htop

Htop可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。

与top相比,htop有以下优点:

  • 可以横向或者纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行。
  • 在启动上,比top更快。
  • 杀进程时不需要输入进程号。
  • htop支持鼠标操作。

 

练习题

参考

1、Linux 性能分析工具汇总

以上是关于linux:基本指令的主要内容,如果未能解决你的问题,请参考以下文章

《Linux内核 核心知识全解析(完)》

Linux的进程管理基本指令

linux-vivim基本操作-常见指令

Linux下基本指令

Linux基础基本命令

Linux基本指令os概念及定位 | 基本指令 | 热键