程序员必须耳熟能详的Linux命令
目录
- free
- df
- top
- wc
- tail
- uname
- cat
- grep
- find
- locate
- which
- whereis
- scp
- du
- stat
- telnet
- kill
- ps
- shutdown
- export
- tar
- 区别
- 参考
free 显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区
free [选项]
-h
:以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值-s
:周期性的查询内存使用信息,持续观察内存使用状况-t
:显示内存总和列
free -th -s 5
文章图片
df 查看磁盘使用情况
df [选项] [文件]
-h
:使用人类可读的格式,使输出容易阅读和理解,从而使显示可读的
df -h
第一列
Filesystem
是指定文件系统的名称,最后一栏Mounted on
是"安装在"指定的文件系统的挂载点文章图片
top 实时显示cpu占用率,进程信息
top [选项]
-d
: 指定显示的更新速度,或是在交谈式指令列( interactive command)按 s-q
: 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行-c
: 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 (
dead child process ) 的 CPU time 累积起来-s
: 安全模式,将交谈式指令取消, 避免潜在的危机-i
:不显示任何闲置 (idle) 或无用 (zombie) 的行程-n
: 更新的次数,完成后将会退出 top-b
:批次档模式,搭配 “n” 参数一起使用,可以用来将 top 的结果输出到档案内-p
:显示指定的进程信息
top -n 2
如下例:更新周期为3秒,即每3秒更新一次进程信息
top -d 3
如下例:显示进程号为163的进程信息,CPU、内存占用率等
top -p 163
wc 统计文件的字符、文字和行的数量
wc [选项] 文件...
-c
:只显示Bytes数-l
:只显示行数-w
:只显示字数
wc runtimelog.log
文章图片
tail 读取文件并输出文件的最后部分,并且不断刷新
tail [选项] 目标文件
-f
:循环读取,作用是文件处于打开状态,不断显示新添加的行。通过这个选项我们可以用来监视某些文件-n
:显示文件的尾部 n 行内容-s
:常与-f合用,表示在每次循环读取反复的间隔休眠S秒
uname 查看操作系统的相关信息
uname [选项]
-a
:显示系统全部的信息-m
:显示计算机类型-n
:显示主机名称-r
:显示操作系统的发行编号-s
:显示操作系统的名称-v
:显示操作系统的系统时间
cat 读取文件的内容
cat [选项] 目标文件
-n
:显示行号
cat -n test.go
文章图片
命令常用场景
cat 目标文件1 > 目标文件2
输入重定向,将显示结果输出重定向到另一个文件
cat test.go > a.txt
文章图片
cat > 新文件
新建文件
cat > a.txt
文章图片
cat 始文件 >> 目标文件
向文件中追加内容, 会将第一个文件中的内容追加到第二个文件的末尾
cat test.go >> a.txt
文章图片
cat /dev/null > 目标文件
清空目标文件的内容,/dev/null 在类 Unix 系统中,/dev/null 称“空设备”,是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个 EOF
cat /dev/null > test.go
文章图片
grep 指定特定搜索条件来搜索文件及其内容以获取有用的信息(grep)
grep [选项] "查询条件" 目标文件
-i
:查找内容忽略大小写-h
:查询多文件时不显示文件名-l
:查询多文件时只输出包含匹配字符的文件名-n
:显示匹配行及行号-c
:统计匹配文本的次数-v
:显示不包含匹配文本的所有行-r
:递归查找子目录,查找当前目录极其子目录下面包含匹配字符的文件-A
:很多时候,我们并非关心匹配行而是关心匹配行的上下文,显示匹配文本的后n行(记忆为After)-B
:很多时候,我们并非关心匹配行而是关心匹配行的上下文,显示匹配文本的前n行(记忆为Before)-C
:很多时候,我们并非关心匹配行而是关心匹配行的上下文,显示匹配文本的前n行及后n行(记忆为Center)--color=auto
:可以将找到的关键词部分加上颜色的显示
grep -i "=" test.go
文章图片
文章图片
命令常用场景
ls -l | grep -i ""
如果要搜索包含特定关键字的文件名,可以通过grep命令过滤文件列表
ls -l | grep -i go
文章图片
ps aux | grep ""
结合ps查找进程
ps aux | grep redis
文章图片
find 快速查找文件或目录
find path [选项] ""
-empty
:查找文件是空文件或者空目录-name
:查找匹配名称的文件-size
:根据文件大小查找文件-type
:根据文件类型文件,d: 目录、f: 普通文件、l: 软链接、s: socket-ctime
:查找过去n天内被修改过的文件-ipath
:根据路径名称查找符合的文件
find / -size +50M -ctime -20
文章图片
locate 用于查找符合条件的文件
locate [选项] 文件
-d
:配置locate指令使用的数据库。locate指令预设的数据库位于/var/lib/slocate目录里,文档名为slocate.db,可使用 这个参数另行指定
locate main.go
文章图片
which 会在环境变量$PATH设置的目录里查找符合条件的文件
which 文件
如下例:想要查找redis相关的文件,但是通过环境变量却没有找到
which reids
文章图片
whereis 该指令只能用于在特定目录中查找二进制文件、源代码文件和man手册页
whereis [选项] 二进制文件
-b
:只查找二进制文件-B
:只在设置的目录下查找二进制文件-f
:不显示文件名前的路径名称-m
:只查找说明文件-M
:只在设置的目录下查找说明文件-s
:只查找原始代码文件-S
:只在设置的目录下查找原始代码文件-u
:查找不包含指定类型的文件
scp 是 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 -P 8592 -r /home/workspace/src/ root@192.168.110.1:/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 显示指定的目录或文件所占用的磁盘空间大小
du [选项] 文件或目录
-a
:显示目录中个别文件的大小-c
:除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和-h
:提高信息的可读性-s
:仅显示总计-S
:显示个别目录的大小时,并不含其子目录的大小
du -hc hello
文章图片
stat 显示文件的状态信息和属性
stat [选项] 文件或目录
-f
:显示文件系统的信息
stat hello
文章图片
telnet 登入远程主机
telnet IP地址
kill 用于删除执行中的程序或工作
kill 进程编号
-KILL
:强制杀死进程
kill -KILL 123456
ps 用于显示当前进程的状态
-A
:列出所有的进程-au
:显示较详细的资讯-aux
:显示所有包含其他使用者的进程
ps -u root
文章图片
如下例:显示所有命令,连带命令行
ps -ef
文章图片
shutdown 用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序
shutdown [选项] time [message]
-t
:设定在几秒钟之后进行关机程序-r
:关机后重新开机-c
:取消目前已经进行中的关机动作
shutdown -h now
如下例:指定5分钟后关机
shutdown +5 "System will shutdown after 5 minutes" //5分钟后关机并显示警告信息
export 用于设置或显示环境变量,可新增,修改或删除环境变量,供后续执行的程序使用,export 的效力仅限于该次登陆操作
export [选项] [变量名称]=[变量设置值]
如下例:列出当前的环境变量值
export -p
文章图片
tar 用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件
-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
要广参考 【程序员必须耳熟能详的Linux命令】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
推荐阅读
- 【挑战日更】Day6.《终身学习.10个你必须掌握的未来生存法则》摘录之三
- Day10_要想看起来毫不费力,必须付出超乎常人的努力
- Java程序员阅读源码的小技巧,原来大牛都是这样读的,赶紧看看!
- vue组件中为何data必须是一个函数()
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- 公司注册好后,每月每季度每年必须要干的一些事
- 程序员客栈TOP收入的萌系开发者心得|程序员客栈TOP收入的萌系开发者心得 - 雨晴
- 程序员需要知道的缩写和专业名词【转】
- 程序员如何“忽悠”老板
- 独自一人