一般来说,终端命令行是linux系统的通用方式,常用命令是linux学习必不可少的一环。
帮助命令
linux系统命令多,碰到一个不会的命令是常有的情况。这时,可以使用自带的帮助信息指令来帮助自己理解命令的使用方式。
该指令为man
如
man ls
即为查看ls命令的使用方式
常用系统工作命令
1.echo命令
echo命令用于在终端输出字符串或变量提取后的值
echo $JAVA_HOME
echo JAVA_HOME
第一行输出为JAVA_HOME设置的值
第二行输出为字符串JAVA_HOME
2.date命令
date [选项] [+指定格式]
按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间
date "+%Y-%m-%d %H:%M:%S"
将系统当前时间设置为2020不按11月15日17时10分
date -s "20201115 17:13:00"
查看今天是当年中的第几天
date "+%j"
3.关机命令
reboot
reboot命令用于重启系统
poweroff
halt
poweroff halt用于关机
shutdown -r now # 立刻重启
shutdown -H 09:05 # 09:05关机
shutdown -c #取消之前制定的shutdown计划
init 0 # 关机
init 1 # 重启
常用的安全关机指令
sync && shutdhown -h now
4.下载命令
wget是linux系统下载常用的一个工具
wget
-b 后台下载模式
-P 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等
-r 递归下载
系统状态监测命令
1.进程
监控进程主要有以下几个需求,监控特定进程进程号,监控进程及系统负载,查询特定服务的进程号码,杀死进程
ps aux | grep ss
查询进程名包含ss的进程的详细信息
-a 显示所有进程(包括其他用户的进程)
-u 用户以及其他详细信息
-x 显示没有控制终端的进程
其显示的详细参数意义如下:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
进程的所有者 进程ID号 CPU占用率 内存占用率 虚拟内存使用量(单位:KB) 占用的固定内存量(单位:KB) 所在终端 进程状态 被启动的时间 实际使用CPU的时间 执行的完整命令
关于进程状态具体参数的含义:
< 高优先级的进程
N 低优先级
- 属于某个前台组的进程
s 某一个会话的leader进程
l 线程加锁
D 不可中断休眠,一般由IO引起
R 正在运行或可运行(在运行队列排队中)
S 可中断睡眠
T 已停止的 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行
W 正在换页(2.6.内核之前有效)
X 死进程 (未开启)
Z 僵尸进程 进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放BSD风格的
I 空闲状态
B 进程正在等待更多的内存页
监控进程及系统负载
top
htop
其中htop功能比top更丰富,允许交互
查询特定服务的进程号码
pidof nodemanger
杀死进程
kill -9 999
有的服务可能包含多个进程,这时就要用到killall命令
killall nodemanager
2.网络
ifconfig
用于获取网卡配置及网络状态等信息
netstat
用于显示各种网络信息
常见参数如下
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
3.磁盘
linux磁盘管理的几个常用命令如下
df # 列出文件系统的整体磁盘使用量,默认磁盘总体情况文件系统
du # 检查磁盘空间使用量,默认当前文件目录磁盘
fdisk # 用于磁盘分区, Linux 的磁盘分区表操作工具,需要管理员权限
mkfs # 磁盘格式化
fsck # 磁盘检验,无法检查挂载磁盘
工作目录切换命令
cd
打开某一目录
pwd
当前目录的绝对路径
ll
列出当前文件或目录的文件信息,同ls -al
文本文件编辑命令
cat # 将文件在终端打印
more # 查看纯文本文件,回车或空格换行(以百分比形式表示已阅读部分比例),不支持后退
less # 查看纯文本文件,支持前后翻滚,q退出
most # 加入了分屏等功能
head # 查看文件的前N行
tail # 查看文件的后N行
tail -f # 监控文件后N行的变化
tr [原始字符] [目标字符] # 用目标字符替换原始字符
wc # 统计指定文本的行数(-l),字数(-w),字节数(-c)
stat # 用于查看文件的具体存储信息和时间等
cut # 命令用于按“列”提取文本字符,不同于前述按行提取的命令
diff # 比较两个文件的不同
文件目录管理命令
touch
用于创建文件,也可以用于修改文件的读取时间和修改时间(touch -m #指定文件的修改时间)
mkdir
用于创建目录,参数-p用于递归创建具有嵌套关系的目录
cp
用于复制文件
mv
用于移动文件,剪切操作,不保留源文件
rm
删除命令
dd
用于按照指定大小和个数的数据块来复制文件或转换文件,也可以直接用来制作iso光盘文件
file
用于查看文件的类型
mount
磁盘挂载
打包压缩命令
tar命令是常用的打包压缩命令
-c 创建压缩文件
-x 解开压缩文件
-t 查看压缩包内有哪些文件
-z 用Gzip 压缩或解压
-j 用bzip2 压缩或解压
-v 显示压缩或解压的过程
-f 目标文件名
-p 保留原始的权限与属性
-P 使用绝对路径来压缩
-C 指定解压到的目录
tar -zcvf 结果文件.tar.gz 原目录
压缩原目录
tar -zxvf a.tar.gz -C /file/path
将a.tar.gz解压到/file/path目录下
搜索命令
grep
grep [选项] [文件]
-n 显示过滤信息的行号
-v 反选
find
find / -user linuxprobe -exec cp -a {} /root/findresults/ ;
在整个文件系统中找出所有归属于 linuxprobe 用户的文件并复制到/root/findresults 目录,其中的{}表示find 命令搜索出的每一个文件,并且命令的结尾必须是“;”。
最后
文中涉及到的命令较多,部分重要的命令有详细介绍,其他命令可以使用man查看使用详情。