显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区
free [选项]
-h
:以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值-s
:周期性的查询内存使用信息,持续观察内存使用状况-t
:显示内存总和列如下例:以合适的单位显示内存使用情况,每5秒观察一次内存
free -th -s 5
查看磁盘使用情况
df [选项] [文件]
-h
:使用人类可读的格式,使输出容易阅读和理解,从而使显示可读的如下例:可友好的可读格式查看系统磁盘的使用状况
df -h
第一列Filesystem
是指定文件系统的名称,最后一栏Mounted on
是"安装在"指定的文件系统的挂载点
实时显示cpu占用率,进程信息
top [选项]
-d
: 指定显示的更新速度,或是在交谈式指令列( interactive command)按 s-q
: 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行-c
: 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 (-s
: 安全模式,将交谈式指令取消, 避免潜在的危机-i
:不显示任何闲置 (idle) 或无用 (zombie) 的行程-n
: 更新的次数,完成后将会退出 top-b
:批次档模式,搭配 “n” 参数一起使用,可以用来将 top 的结果输出到档案内-p
:显示指定的进程信息如下例:更新两次后终止显示进程信息
top -n 2
如下例:更新周期为3秒,即每3秒更新一次进程信息
top -d 3
如下例:显示进程号为163的进程信息,CPU、内存占用率等
top -p 163
统计文件的字符、文字和行的数量
wc [选项] 文件...
-c
:只显示Bytes数-l
:只显示行数-w
:只显示字数如下例:统计runtimelog.log的行数,字节数,字数
wc runtimelog.log
读取文件并输出文件的最后部分,并且不断刷新
tail [选项] 目标文件
-f
:循环读取,作用是文件处于打开状态,不断显示新添加的行。通过这个选项我们可以用来监视某些文件-n
:显示文件的尾部 n 行内容-s
:常与-f合用,表示在每次循环读取反复的间隔休眠S秒查看操作系统的相关信息
uname [选项]
-a
:显示系统全部的信息-m
:显示计算机类型-n
:显示主机名称-r
:显示操作系统的发行编号-s
:显示操作系统的名称-v
:显示操作系统的系统时间读取文件的内容
cat [选项] 目标文件
-n
:显示行号如下例:
cat -n test.go
命令常用场景
cat 目标文件1 > 目标文件2
如下例:将test.go的内容覆盖掉a.txt里的内容
cat test.go > a.txt
cat > 新文件
如下例:在当前目录下新建一个叫a.txt的文件
cat > a.txt
cat 始文件 >> 目标文件
如下例:将test.go的内容追加到a.txt的末尾
cat test.go >> a.txt
cat /dev/null > 目标文件
如下例:清空test.go里的内容
cat /dev/null > test.go
指定特定搜索条件来搜索文件及其内容以获取有用的信息(grep)
grep [选项] "查询条件" 目标文件
-i
:查找内容忽略大小写-h
:查询多文件时不显示文件名-l
:查询多文件时只输出包含匹配字符的文件名-n
:显示匹配行及行号-c
:统计匹配文本的次数-v
:显示不包含匹配文本的所有行-r
:递归查找子目录,查找当前目录极其子目录下面包含匹配字符的文件-A
:很多时候,我们并非关心匹配行而是关心匹配行的上下文,显示匹配文本的后n行(记忆为After)-B
:很多时候,我们并非关心匹配行而是关心匹配行的上下文,显示匹配文本的前n行(记忆为Before)-C
:很多时候,我们并非关心匹配行而是关心匹配行的上下文,显示匹配文本的前n行及后n行(记忆为Center)--color=auto
:可以将找到的关键词部分加上颜色的显示如下例:显示test.go文件中包含 “=” 的行
grep -i "=" test.go
命令常用场景
ls -l | grep -i ""
如下例:查找当前目录下包含"go"的文件或文件夹
ls -l | grep -i go
ps aux | grep ""
如下例:查找redis相关进程
ps aux | grep redis
快速查找文件或目录
find path [选项] ""
-empty
:查找文件是空文件或者空目录-name
:查找匹配名称的文件-size
:根据文件大小查找文件-type
:根据文件类型文件,d: 目录、f: 普通文件、l: 软链接、s: socket-ctime
:查找过去n天内被修改过的文件-ipath
:根据路径名称查找符合的文件如下例:在根目录下查找大小大于50M且最近20天修改过的文件
find / -size +50M -ctime -20
用于查找符合条件的文件
locate [选项] 文件
-d
:配置locate指令使用的数据库。locate指令预设的数据库位于/var/lib/slocate目录里,文档名为slocate.db,可使用 这个参数另行指定如下例:查找main.go文件的所在路径
locate main.go
会在环境变量$PATH设置的目录里查找符合条件的文件
which 文件
如下例:想要查找redis相关的文件,但是通过环境变量却没有找到
which reids
该指令只能用于在特定目录中查找二进制文件、源代码文件和man手册页
whereis [选项] 二进制文件
-b
:只查找二进制文件-B
:只在设置的目录下查找二进制文件-f
:不显示文件名前的路径名称-m
:只查找说明文件-M
:只在设置的目录下查找说明文件-s
:只查找原始代码文件-S
:只在设置的目录下查找原始代码文件-u
:查找不包含指定类型的文件是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令,用于 Linux 之间复制文件和目录
scp [选项] 源文件 目标文件
-B
: 使用批处理模式(传输过程中不询问传输口令或短语)-C
: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)-p
:保留原文件的修改时间,访问时间和访问权限-q
: 不显示传输进度条-r
: 递归复制整个目录,递归是指包含所有的子文件和子目录-v
:详细方式显示输出,显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题-c
: 以cipher将数据传输进行加密,这个选项将直接传递给ssh-F
: 指定一个替代的ssh配置文件,此参数直接传递给ssh-i
: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh-l
: 限定用户所能使用的带宽,以Kbit/s为单位-P
:指定数据传输用到的端口号如下例:从本地将某个目录发送(上传)到远程,如果远程服务器防火墙有为scp命令设置了指定的端口,就要使用端口号,指定了用远程用户名root登录,将整个文件夹发送到远程的/usr/local/code/ ,命令执行后需要再输入密码
scp -P 8592 -r /home/workspace/src/ [email protected]:/usr/local/code/
如下例:将远程的某个文件下载到本地,将远程的/usr/local/code的main.go文件下载到本地的/home/workspace/src/下,命令执行后需要再输入用户名和密码
scp 192.168.110.1:/usr/local/code/main.go /home/workspace/src/
显示指定的目录或文件所占用的磁盘空间大小
du [选项] 文件或目录
-a
:显示目录中个别文件的大小-c
:除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和-h
:提高信息的可读性-s
:仅显示总计-S
:显示个别目录的大小时,并不含其子目录的大小如下例:用可读的方式查看hello目录的所占大小
du -hc hello
显示文件的状态信息和属性
stat [选项] 文件或目录
-f
:显示文件系统的信息如下例:查看hello目录的状态信息和属性
stat hello
登入远程主机
telnet IP地址
用于删除执行中的程序或工作
kill 进程编号
-KILL
:强制杀死进程如下例:
kill -KILL 123456
用于显示当前进程的状态
-A
:列出所有的进程-au
:显示较详细的资讯-aux
:显示所有包含其他使用者的进程如下例:显示root进程用户信息
ps -u root
如下例:显示所有命令,连带命令行
ps -ef
用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序
shutdown [选项] time [message]
-t
:设定在几秒钟之后进行关机程序-r
:关机后重新开机-c
:取消目前已经进行中的关机动作如下例:立即关机
shutdown -h now
如下例:指定5分钟后关机
shutdown +5 "System will shutdown after 5 minutes" //5分钟后关机并显示警告信息
用于设置或显示环境变量,可新增,修改或删除环境变量,供后续执行的程序使用,export 的效力仅限于该次登陆操作
export [选项] [变量名称]=[变量设置值]
如下例:列出当前的环境变量值
export -p
用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件
-c
:建立新的备份文件-t
:列出备份文件的内容-v
:显示指令执行过程-z
:通过gzip指令处理备份文件-f
:指定备份文件如下例:解压文件
tar -xzvf abc.tar.gz
grep
与find
的区别find
通过文件属性查找文件
grep
通过内容查找相关文件行
locate
与find
的区别find
是去硬盘找
locate
只在/var/lib/slocate资料库中找,locate
的速度比find快,它并不是真的查找,而是查数据库,一般文件数据库在/var/lib/slocate/slocate.db中,所以locate
的查找并不是实时的,而是以数据库的更新为准
which
与whereis
的区别which
是用来查找系统$PATH目录下的执行文件
whereis
是用来查找二进制(命令)、源文件、man文件,是通过文件索引数据库而非$PATH来查找的,所以查找的面比which
要广
https://mp.weixin.qq.com/s/uA_ClNmyu6HPOm8VBCrytg
https://blog.csdn.net/Hello_Hwc/article/details/40017833
https://www.runoob.com/linux/linux-command-manual.html