linux centOS7常用命令总结
1、如何使用telnet测试端口?
(1)telnet IP 端口。 例如: telnet 127.0.0.1 8080
(2)telnet 域名 端口。
2、退出
[Ctrl] + d 相当于输入 exit 表示退出
3、清屏 (三种方法)
clear
ctrl+l
shift+ctrl+l
4、 远程连接
ssh 用户名@ip 例如: ssh pes@172.168.200.135 【连接到主机为172.168.200.135,pes用户权限】
5、卸载
yum remove XXX 例如: yum remove jdk
6、安装ifconfig
yum search ifconfig 【搜索】
yum -y install net-tools.x86_64 【-y(当安装过程提示选择全部为"yes"】 【安装ifconfig】
7、安装vim
yum -y install vim
8、启动服务
service XXX start 例如: service iptables start 【启动防火墙】
9、关闭服务
service XXX stop 例如: service iptables stop 【关闭防火墙】
10、查看服务状态
service XXX status 例如: service iptables status 【查看防火墙状态】
11、开机禁用
chkconfig XXX off 例如: chkconfig iptables off 【设置防火墙开机禁用】
12、开机启用
chkconfig XXX on 例如: chkconfig iptables on 【设置防火墙开机自动启用】
13、查询服务开机状态
chkconfig --list XXX 例如: chkconfig --list sendmail 【查看sendmail服务开机状态】
上图中数字0,1,2,3,4,5,6表示的是等级
1表示:单用户模式
2表示:无网络连接的多用户命令行模式
3表示:有网络连接的多用户命令行模式
4表示:不可用
5表示:带图形界面的多用户模式
6表示:重新启动
14、查看文本内容
cat XXX 例如: cat /etc/sysconfig/iptables 【查看防火墙配置规则】
nl /etc/sysconfig/iptables 【显示的时候,顺道输出行号】
cat 由第一行开始显示文件内容
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒著写!
nl 显示的时候,顺道输出行号!
more 一页一页的显示文件内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行
more的用法:
more命令类似与cat命令,却比cat命令强大,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作(/关键词)
快捷键
space 或 z 向下翻页
b,ctrl+b 向上翻页
Enter 向下滚动 1 行
= 显示当前行号
v 用vi编辑器打开当前内容
:f 显示当前文档文件名与当前行号
d,ctrl+D 向下翻 K 行,默认k=11
q,Q 退出more
ctrl+L 类似于清屏
h 显示快捷键帮助
用法:
more [选项] 文件..
选项:
-d 显示帮助,而不是响铃
-f 统计逻辑行数而不是屏幕行数
-l 抑制换页(form feed)后的暂停
-p 不滚屏,清屏并显示文本
-c 不滚屏,显示文本并清理行尾
-u 抑制下划线
-s 将多个空行压缩为一行
-NUM 指定每屏显示的行数为 NUM
+NUM 从文件第 NUM 行开始显示
+/STRING 从匹配搜索字符串 STRING 的文件位置开始显示
-V 输出版本信息并退出
15、编辑 vi 或者 vim
vi XXX 例如: vi /etc/sysconfig/iptables 【编辑防火墙配置规则】
16、进入编辑状态
a 或者 i 【进入编辑状态,文本可编辑】
17、退出编辑状态
ctrl+c 或者 Esc 【退出可编辑状态】
18、写入并退出
:wq 【英文输入状态下 ,表示写入并退出,也就是保存退出】
19、退出
:q 【直接退出】
20、强制退出
:q!
21、查看服务器负载和cpu利用率 作用:查看服务器的进程占的资源 (重点)
top
top额外命令
在运行top的时候,可以按下方便的快捷键:
M:表示将结果按照内存(MEM)从高到低进行降序排列;
P:表示将结果按照CPU使用率从高到低进行降序排列;
1:当服务器拥有多个cpu的时候可以使用“1”快捷键来切换是否展示显示各个cpu的详细信息;
表头含义:
PID:进程id;
USER:该进程对应的用户;
PR:优先级;
VIRT:虚拟内存;
RES:常驻内存;
SHR:共享内存;
计算一个进程实际使用的内存 = 常驻内存(RES)- 共享内存(SHR)
S:表示进程的状态status(sleeping,其中S表示睡眠,R表示运行);
%CPU:表示CPU的占用百分比;
%MEM:表示内存的占用百分比;
TIME+:执行的时间;
COMMAND:进程的名称或者路径;
22、解压.tar.gz文件
tar -xvzf XXX 例如: tar -xvzf pip-10.0.1.tar.gz
tar -zxvf hao.tar.gz -C /root/mytest #解压到指定目录
22.1打包压缩
tar -czvf ar_test.tar.gz ar_test #将ar_test文件打包并且压缩为ar_test.tar.gz
23、查看根目录
ls /
或者
cd /
ll
【注:ls -l 等价 ll 】
24、查看家目录
cd ~
25、获取页面内容,同时检测网络是否可用
curl XXX 例如: curl www.baidu.com
26、检测网络
ping XXX 例如:ping www.baidu.com
27、表示重启虚拟机
reboot
28、查看当前工作目录
pwd
29、创建目录
注意:vi + 新的文件或者新文件夹 也表示创建了一个文件或文件夹
mkdir XXX 【XXX 可以是文件夹名称也可以是包含名称的一个完整路径】
例如:mkdir yanghao 【在当前路劲下创建一个名称叫 yanghao 的目录(文件夹)】
mkdir /usr/local/tomcat 【表示在 usr/local的路劲下面新建一个文件夹tomcat】
29.1 删除一个空目录
rmdir:删除一个空的目录
30、一次性创建多层不存在的目录(层层包含的关系:父—子)
mkdir -p XXX
例如:mkdir -p /root/yanghao/news/tomcat 【在root下面一次性创建了三个新的文件夹,分别是 yanghao、news、tomcat,】
31、一次性创建多个目录(同级关系)
mkdir 路径1 路径2 路径3 …
例如:mkdir yanghao news tomcat 【在当前目录下又新增了三个同级的文件夹】
32、在当前目录创建单个文件
touch XXX 【XXX可以是直接的文件名也可以是路径】
例如: touch linux.txt 【使用touch在当前路径下创建一个文件,命名为Linux.txt】
33、在当前目录下创建多个同级文件
touch XXX1 XXX2 XXX3
例如: touch linux1.txt linux2.txt 【使用touch来同时创建多个文件,分别是:linux1.txt 和 linux2.txt】
34、在指定的目录下面创建文件
touch /home/linux123/linux.txt 【使用touch在“Linux123”用户的家目录中创建文件:Linux.txt;注:Linux123文件夹一定要存在,否则无法新建该目录下面的文件】
35、复制文件/文件夹到指定的位置
cp 被复制的文档路径 文档被复制到的路径
例如: cp mysql /home/ 【将mysql复制到/home目录下】
注意:Linux在复制过程中是可以重新对新位置的文件进行重命名的,但是如果不是必须的需要,则建议保持前后名称一致
cp linux1.txt /home/linux123/linux1.txt 【将linux1.txt复制到/home/linux123/下,不重命名】
cp linux1.txt /home/linux123/linux10.txt 【将linux1.txt复制到/home/linux123/下,并且将linux1.txt重命名为linux10.txt】
案例:使用cp命令来复制一个文件夹
注意:当使用cp命令进行文件夹复制操作的时候需要添加选项“-r”【-r表示递归复制】,否则目录将被忽略
cp -r ./yanghao/ /home/linex123/yanghao 【将文件夹yanghao复制到home/linex123下(文件夹以及文件夹中的所有文件都被复制到home/linex123目录下)】
36、移动文档到新的位置
mv 需要移动的文档路径 需要保存的位置路径
案例1:使用mv命令移动一个文件
mv linux1.txt /linux1.txt
案例2:使用mv命令移动一个文件夹
mv /home/linux123/yanghao / 【将/home/linux123下的yanghao文件夹移动到根目录下 即 / 下面】
37、移除/删除文档
选项:
-f:force,强制删除,不提示是否删除
-r:表示递归
rm 选项 需要移除的文档路径
案例1:删除一个文件
rm /linux.txt
rm -f /linux.txt 【强制删除linux.txt文件】
案例2:删除一个文件夹
注意:删除一个目录的时候需要做递归删除,并且一般也不需要进行删除确认询问,所以移除目录的时候一般需要使用-rf选项。
rm -rf /yanghao/
案例3:删除多个文档
rm -rf linux1.txt linux2.txt 【同时删除linux1.txt 和 linux2.txt】
案例4:要删除一个目录下有公共特性的文档,例如都以Linux开头
rm -f linux* 【其中 * 称之为通配符,意思表示任意的字符,Linux*,则表示只要文件以Linux开头,后续字符则不管】
rm * 【删除所有】
38、回退到上一层
cd ..
39、进入根目录/
cd /
40、执行
./ 【例如: ./startup.sh 表示启动tomcat】
41、查看进程
ps -ef|grep XXX 【例如: ps -ef|grep zg 查看zg进程】
执行命令:ps -ef|grep httpd 查看所有的apache进程
42、杀死进程
kill -9 进程号 【表示杀死进程】
kill -9 端口号 【表示杀死端口号为** 的进程】
43、查看日志
tail -500f 名称 【例如: tail -f clbim-control.out】
44、编辑防火墙配置规则
vi /etc/sysconfig/iptables
45、上传
rz
46、下载
sz
47、设置文件权限的命令
chmod 755 XXX 【例如: chmod 755 democ-0.0.1-SNAPSHOT.jar】
例如:
[root@bogon jar]# ./democ-0.0.1-SNAPSHOT.jar
-bash: ./democ-0.0.1-SNAPSHOT.jar: 权限不够
[root@bogon jar]# chmod 755 democ-0.0.1-SNAPSHOT.jar
[root@bogon jar]# ll
总用量 16416
-rwxr-xr-x. 1 root root 16806499 8月 8 11:08 democ-0.0.1-SNAPSHOT.jar
48、init.d目录包含许多系统各种服务的启动和停止脚本 cd /etc/init.d
49、sudo
50、查看磁盘的空间
df -h 【-h 表示以可读性较高的形式展示大小】
51、查看内存使用情况
free -m 【-m表示以mb为单位查看】
free -h
52、查看一个文件的前n行,如果不指定n,则默认显示前10行
head -n 文件路径 【n表示数字】
例如:head -5 install.log
53、tail指令
作用1:查看一个文件的未n行,如果n不指定默认显示后10行
tail -n 文件的路径 【n同样表示数字】
例如: tail -2 install.log
作用2:可以通过tail指令来查看一个文件的动态变化内容【变化的内容不能是用户手动增加的】
tail -f 文件路径 【该命令一般用于查看系统的日志比较多】
tail -nf 文件路径 【n表示数字 tail -500f 文件路径】
54、less指令
less 需要查看的文件路径 【例如: less /usr/local/ 退出: q 】
需要退出时只需要按下 q 键即可
55、date指令 :作用:表示操作时间日期(读取、设置)
56、cal指令 作用:用来操作日历的
语法1:#cal 等价于 #cal -1 直接输出当前月份的日历
cal 等价 cal -1
**语法2:#**cal -3 表示输出上一个月+本月+下个月的日历
cal -3
语法3:#cal -y 表示输出某一个年份的日历
cal -y 【当前年份的日历】
57、管道 作用:管道一般可以用于“过滤”,“特殊”,“扩展处理”
管道符:|
语法:管道不能单独使用,必须需要配合前面所讲的一些指令来一起使用,其作用主要是辅助作用。
①过滤案例(100%使用):需要通过管道查询出根目录下包含“y”字母的文档名称。
#ls / |grep y 【查找根目录下带 y 的文件】【意思就是将管道后面查询的内容在管道前面进行打印显示】
针对上面这个命令说明:
以管道作为分界线,前面的命令有个输出,后面需要先输入,然后再过滤,最后再输出,通俗的讲就是管道前面的输出就是后面指令的输入;
grep指令:主要用于过滤
执行:ls / |grep s 效果: (将根目录下所有带s的文件名称全部打印)
特殊用法案例:通过管道的操作方法来实现less的等价效果(了解)
之前通过less查看一个文件,可以#less 路径
现在通过管道还可以这么:#cat 路径|less
扩展处理:请使用学过的命令,来统计某个目录下的文档的总个数?
ls / | wc -l
58、hostname指令 作用:操作服务器的主机名(读取、设置)
语法1:#hostname 含义:表示输出完整的主机名
hostname
语法2:#hostname -f 含义:表示输出当前主机名中的FQDN(全限定域名)
hostname -f
59、id指令
作用:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id…),该指令如果不指定用户则默认当前用户。
语法1:#id 默认显示当前执行该命令的用户的基本信息
id
语法2:#id 用户名 显示指定用户的基本信息
id 用户名 【例如: id root 】
60、whoami指令
作用:“我是谁?”显示当前登录的用户名,一般用于shell脚本,用于获取当前操作的用户名方便记录日志。
whoami
61、ps -ef指令
指令:ps 作用:主要是查看服务器的进程信息
选项含义:
-e:等价于“-A”,表示列出全部的进程
-f:显示全部的列(显示全字段)
ps -ef
列的含义:
UID:该进程执行的用户id;
PID:进程id;
PPID:该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程(parent process ID);
C:Cpu的占用率,其形式是百分数;
STIME:进行的启动时间;
TTY:终端设备,发起该进程的设备识别符号,如果显示“?”则表示该进程并不是由终端设备发起;
TIME:进程的执行时间;
CMD:该进程的名称或者对应的路径;
案例:(100%使用的命令)在ps的结果中过滤出想要查看的进程状态
ps -ef|grep “进程名称” 【例如: ps -ef|grep java】
ps -ef|grep tomcat 【查看tomcat服务器进程】
62、du -sh指令 作用:查看目录的真实大小
语法:#du -sh 目录路径
选项含义:
-s:summaries,只显示汇总的大小
-h:表示以高可读性的形式进行显示
案例:统计“/root/yunweihenniux”目录的实际大小
du -sh /usr/local/
63、find指令 作用:用于查找文件(其参数有55个之多)
语法:#find 路径范围 选项 选项的值
选项:
-name:按照文档名称进行搜索(支持模糊搜索)
-type:按照文档的类型进行搜索 【文档类型:“-”表示文件(在使用find的时候需要用f来替换),“d”表示文件夹】
案例1:使用find来搜索httpd.conf
find / -name httpd.conf
案例2:搜索etc目录下所有的conf后缀文件
find /etc -name *.conf
案例3:使用find来搜索/etc/sane.d/目录下所有的文件
find /etc/sane.d/ -type f 【f 表示文件】
案例4:使用find来搜索/etc/目录下所有的文件夹
find /etc -type d 【d 表示文件夹】
案例5:使用find来搜索当前目录下的文件
find . -name *.gz 【表示上搜索当前目录下所有以 .gz结尾的文件】
64、kill指令(重点) 作用:表示杀死进程 (当遇到僵尸进程或者出于某些原因需要关闭进程的时候)
语法:#kill 进程 PID (语法需要配合ps一起使用)
与kill命令作用相似但是比kill更加好用的杀死进程的命令:killall
语法:#killall 进程名称
kill httpd 【杀死名字叫:httpd 的进程】
65、uptime指令
作用:输出计算机的持续在线时间(计算机从开机到现在运行的时间
uptime
66、uname指令 作用:获取计算机操作系统相关信息
语法1:#uname 获取操作系统的类型
uname
语法2:#uname -a all,表示获取全部的系统信息(类型、全部主机名、内核版本、发布时间、开源计划
uname -a
67、netstat -tnlp指令 作用:查看网络连接状态
语法:#netstat -tnlp
选项说明:
-t:表示只列出tcp协议的连接;
-n:表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示;
-l:表示过滤出“state(状态)”列中其值为LISTEN(监听)的连接;
-p:表示显示发起连接的进程pid和进程名称;
netstat -tnlp
68、man指令 作用:manual,手册(包含了Linux中全部命令手册,英文)
语法:#man 命令 (退出按下q键)
案例:通过man命令查询cp指令的用法
man cp q 退出
69、Linux 磁盘管理
Linux磁盘管理常用三个命令为df、du和fdisk。
- df:列出文件系统的整体磁盘使用量
- du:检查磁盘空间使用量
- fdisk:用于磁盘分区
详情见:https://www.runoob.com/linux/linux-filesystem.html
70、telinit命令
telinit [-t<描述>] [012345abcqQsS]
参数 作用
0~5 切换到指定的执行等级
a,b或c 切换到指定的a、b或c执行等级
q 或 Q 重新检查 /etc/inittab 设定文件
s 或 S 进入单人用户模式
-t<描述> 在等待指定的描述之后,即切换执行等级。默认值为5秒
runlevel命令用于打印当前Linux系统的运行等级:
在大多数的linux发行版本中,通常有8个runlevel:
0 停机
1 单用户模式
2 多用户,没有 NFS
3 完全多用户模式
4 没有用到
5 图形界面
6 重新启动
71、hdparm命令
hdparm可检测,显示与设定IDE或SCSI硬盘的参数。
hdparm [-CfghiIqtTvyYZ][-a <快取分区>][-A <0或1>][-c <I/O模式>][-d <0或1>][-k <0或1>][-K <0或1>][-m <分区数>][-n <0或1>][-p <PIO模式>][-P <分区数>][-r <0或1>][-S <时间>][-u <0或1>][-W <0或1>][-X <传输模式>][设备]
参数说明:
-a<快取分区> 设定读取文件时,预先存入块区的分区数,若不加上<快取分区>选项,则显示目前的设定。
-A<0或1> 启动或关闭读取文件时的快取功能。
-c<I/O模式> 设定IDE32位I/O模式。
-C 检测IDE硬盘的电源管理模式。
-d<0或1> 设定磁盘的DMA模式。
-f 将内存缓冲区的数据写入硬盘,并清楚缓冲区。
-g 显示硬盘的磁轨,磁头,磁区等参数。
-h 显示帮助。
-i 显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供。
-I 直接读取硬盘所提供的硬件规格信息。
-k<0或1> 重设硬盘时,保留-dmu参数的设定。
-K<0或1> 重设硬盘时,保留-APSWXZ参数的设定。
-m<磁区数> 设定硬盘多重分区存取的分区数。
-n<0或1> 忽略硬盘写入时所发生的错误。
-p<PIO模式> 设定硬盘的PIO模式。
-P<磁区数> 设定硬盘内部快取的分区数。
-q 在执行后续的参数时,不在屏幕上显示任何信息。
-r<0或1> 设定硬盘的读写模式。
-S<时间> 设定硬盘进入省电模式前的等待时间。
-t 评估硬盘的读取效率。
-T 评估硬盘快取的读取效率。
-u<0或1> 在硬盘存取时,允许其他中断要求同时执行。
-v 显示硬盘的相关设定。
-W<0或1> 设定硬盘的写入快取。
-X<传输模式> 设定硬盘的传输模式。
-y 使IDE硬盘进入省电模式。
-Y 使IDE硬盘进入睡眠模式。
-Z 关闭某些Seagate硬盘的自动省电功能。