系列文章目录
(1)Linux的基本指令
(2)Linux的进阶指令
(3)Linux的高级指令
文章目录
前言
相比于基础篇和进阶篇,本文的使用频率会稍低一些,但是也是很重要的指令。后续还会继续补充。
1、hostname 指令
含义: 操作服务器的主机名的读取和设置(设置是临时的,在此不介绍)。
用法: #hostname -f
含义:表示输出当前主机名中的FQDN (全限定域名)
例:hostname -f
2、id 指令
含义: 查看用户基本信息(用户id,用户组id,附加组id…),该指令如果不指定用户则默认当前用户。
用法: #id 用户名
含义:显示指定用户的基本信息
例:id root
验证方法:
使用cat /etc/passwd 和 cat /etc/group 查看id。
3、whoami 指令
含义:“我是谁?”,显示当前登录的用户名,一般用于shell脚本。
用法: #whoami
4、ps 指令
含义: 主要是查看服务器的进程信息。
4.1、查看与本次登录有关的进程信息
用法1:#ps -l
含义:列出与本次登录有关的进程信息
例:ps -l
4.2、查看全部进程信息
用法2:# ps -ef / ps -aux
含义:-e:等价于“-A”, 表示列出全部的进程,-f:显示全部的列(显示全字段)
例:ps -ef
表头含义:
UID:进程是哪个UID用户调用运行的。
PID:进程的ID号。
PPID:父进程的ID号。
C:该进程的CPU使用率,单位是百分比。
STIME:进程的开始时间。
TTY:该进程由哪个终端产生的。
TIME:该进程占用CPU的运算时间,注意不是系统时间。
CMD:产生此进程的命令名(缩写)。
例:ps -aux
表头含义:
USER:该进程是由哪个用户产生的。
PID:进程的ID号。
%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源。
%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源。
VSZ:该进程占用虚拟内存的大小,单位KB。
RSS:该进程占用实际物理内存的大小,单位KB。
TTY:该进程是在哪个终端中运行的。
其中tty1-tty7代表本地控制台终端(可以通过alt+F1-F7键切换不同的终端),tty1-tty6是本地的字符界面终端,tty7是图形终端。
pts/0-255代表虚拟终端,一般是远程连接的终端,第一个远程连接占用的是pts/0终端,第二个远程连接占用pts/1,依次增长。
STAT:进程状态。(点击链接,可查看文章中的进程状态介绍。https://www.cnblogs.com/liuyuelinfighting/p/15692465.html)
START:该进程的启动时间。
TIME:该进程占用CPU的运算时间,注意不是系统时间,时间越长证明该进程越耗资源。
COMMAND:产生此进程的命令名。
ps -ef 和ps -aux的异同
相同点:功能上看都是查看系统中所有进程。
不同点:
(1)使用-aux是用BSD操作系统格式。-ef是用Linux标准命令格式。
(2)-ef拥有父进程。
4.3、查询指定进程
用法3:# ps -ef / ps -aux |grep 进程id
含义:与管道结合实现过滤。
例:ps -ef | grep 1272
5、top指令
含义: 查看服务器的进程占的资源
用法:#top
退出命令:按下q键
例:top
表头含义:
PID:进程id;
USER:该进程对应的用户;
PR:优先级;
VIRT:虚拟内存;
RES:常驻内存;
SHR:共享内存;
计算一个进程实际使用的内存=常驻内存(RES) -共享内存(SHR)
S :表示进行的状态(sleeping, 其中S表示睡眠,R表示运行) ;
%CPU:表示CPU的占用百分比;
%MEM:表示内存的占用百分比;
TIME+:执行的时间;
COMMAND:进程的名称或者路径;
在运行top的时候,可以按下方便的快捷键:
- M:表示将结果按照内存(MEM)从高到低进行降序排列;
- P:表示将结果按照CPU使用率从高到低进行降序排列;
- 1:当服务器拥有多个cpu的时候可以使用“1”快捷键来切换是否展示显示各个cpu的详细信息。
6、du -sh指令
含义: 查看目录的真实大小。
用法: #du-sh 目录路径
选项含义:
-s: summaries,只显示汇总的大小
-h:表示以高可读性的形式进行显示
例:du -sh linuxTest
7、find指令
含义: 用于查找文件(其参数有55个之多)。
用法: #find 路径范围选项选项的值
选项含义:
-name:按照文档名称进行搜索(支持模糊搜索)
-type:按照文档的类型进行搜索
文档的类型:“.”示文件(在使用find的时候需要用f来替换),“d”表示文件夹
例:find /etc -name *.conf
例: find /etc/fonts -type f
8、service指令
含义: 用于控制一些软件的服务启动/停止/重启。
用法: #service 服务名 start/stop/restart
例:有两种写法
(1)service httpd start
(2)centnos7中: systemctl start httpd
含义:开启Apache的服务。
9、kill指令
含义: 杀死进程(当遇到僵尸题程或者出于某些原因需要关闭进程的时候)。
用法1: #kill 进程 PID
(语法需要配合ps.一起使用)
例:
ps -ef | grep httpd
kill pid(pid为查询过滤后的进程id);
用法2:killall 进程名称
例:killall httpd
10、ifconfig指令
含义: 用于操作网卡相关的指令。
用法: #ifconfig
含义:获取网卡信息
例:ifconfig
11、netstat指令
含义: 查看网络连接状态。
用法: #netstat -tnlp
例: netstat -tnlp
含义:
-t: 表示只列出tcp.协议的连接;
-n: 表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示;
-l: 表示过滤出“state (状态)”列中其值为LISTEN (监听)的连接;
-p: 表示显示发起连接的进程pid和进程名称。
12、nohup指令
含义: 用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行
用法: #nohup Command
例: nohup java-jar XXX [ &]
含义:
Command:要执行的命令。
xxx:表示要在后台运行java的jar包,当终端退出了也不会停止。
最后的" &":表示后台运行,不霸占交互命令行
注:在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
13、tar 指令
含义: 用于文件的安装和解压。
用法1(解压): #tar -xzvf 文件名 -C 目的目录
例: tar -xzvf apache-zookeeper-3.5.7-bin.tar.gz -C ../install/
含义:
-x:解压
-z:gzip属性
-v:显示所有过程
-f: 后面跟档案名字
-C<目的目录>或--directory=<目的目录> 切换到指定的目录。
用法2(压缩): #tar -不同参数 文件名
例如:
tar -cvf test.tar *.c //将目录里所有.c文件压缩成test.tar
tar -czf test.tar *.c //将目录里所有.c文件打包成test.tar后,再用gzip压缩,生成test.tar.gz
tar -cjf test.tar *.c//将目录里所有.c文件打包成test.tar后,再用bzip2压缩,生成test.tar.bz2
tar -cZf test.tar *.c //将目录里所有.c文件打包成jpg.tar后,再用compress压缩,生成test.tar.Z
rar a test.tar *.c // rar格式压缩
zip test.tar *.c //zip格式压缩
用法3(改变解压目录的层级) #tar --strip-components
如果想要解压缩文件a到指定位置时,只包含文件名而不包含路径,可以使用 --strip-components 选项来去除路径。可以使用以下命令:
tar -xf a.tar --strip-components=1 -C /path/to/destination/
这个命令中的 --strip-components=1 选项告诉tar命令去除压缩文件中的第一个路径组件(即根目录之前的路径)。这样,解压缩后的文件将直接放置在指定位置,而不会包含原始路径。
注意,根据压缩文件的结构和内容,可能需要调整 --strip-components 选项的值。如果压缩文件中的路径层级较深,可能需要适当增加该值,以确保只保留文件名。
14、source 指令
含义: 命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。
用法: #source 文件地址
例: source /etc/profile
含义:
/etc/profile:为系统的环境变量存放地址,当改变了该文件,往往需要使用source更新配置。