linux学习笔记(二)常用命令

一般来说,终端命令行是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查看使用详情。

原文地址:https://www.cnblogs.com/sidens/p/13985799.html