前言:在《软件工程设计》课程中,我们将自己开发的web系统打包发布到阿里云服务器ECS中,云服务器ECS选用的操作系统为CentOs7.*+的版本,因此用到一些Linux为内核的CentOs操作系统的常规命令。
个人理解和建议:
我们认为Linux难的原因:
①没有可视化界面,只能依靠命令来运行程序等,看上去难。
②我们不熟悉它,所以难。
我的建议:
①对比windows操作系统进行学习和理解。
②大量的反复敲这些命令。
③结合您实际的需求来练习命令。
如:我真的需要创建一个叫test.java的文件,因此我要理解和掌握mkdir这个命令及其参数的含义。
过程中软工三班的毛孝华同学将用到的命令进行了整理,非常感谢!
现将他整理的内容放到下面,祝各位食用愉快,欢迎各位同学、朋友、同仁补充。
目录
Linux基本命令
要使用Linux命令就必须学会Linux命令怎么输入,怎么使用,它有自己的格式。
命令参数是可选项,比如: ls -l 是查看当前目录下有哪些文件或文件夹同时显示出文件操作权限,ls是命令,-l 是参数。
1、Linux命令提示符
[root@javadevel ~]#
[]:分隔符
@:分隔符
root:代表root用户
javadevel:代表系统主机名
~:代表当前用户的家目录,root用户的家目录是/root 普通用户的家目录是 /home/用户名
#:代表当前用户是管理员用户即root
$:代表当前用户是普用户 即 其它用户
2、ls-查看文件信息
ls 是具体要执行的命令,-l 是具体要通过ls命令执行具体的功能体现,单独执行ls 是显示当前目录下的文件信息,加上 -l 代表 ls显示当前目录下的文件详细信息。
具体用法如下:
ls -l # 查看当前目录下有哪些文件并显示文件权限,等同于ll
ll # 同上,等同于ls -l
ls # 仅查看当前目录下的文件或文件夹不显示权限
3、uname-查看系统内核和版本
[root@javadevel ~]# uname -a
Linux javadevel 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
4、date-查看日期
[root@javadevel ~]# date
Mon Apr 24 14:15:02 CST 2023
5、history-查看历史命令
6、hostname-设置主机名
[root@javadevel ~]# hostname huaweicloud
[root@javadevel ~]# su #通过su 命令切换
[root@huaweicloud ~]#
7、cd-进入目录
cd命令用来进入目录,只有在相应的目录下操作,才能准确完成操作:
例1:进入/etc目录
[root@hack118 ~]# cd /etc/
[root@hack118 etc]#
例2:返回家目录,用 – 符号
[root@hack118 etc]# cd ~
[root@hack118 ~]#
例3:返回家目录,用 – 符号
[root@hack118 ~]# cd /etc/
[root@hack118 etc]# cd -
[root@hack118 ~]#
例4:返回家目录,直接用 cd 目录
[root@hack118 ~]# cd /etc/
[root@hack118 etc]# cd #任何情况下直接 cd 都可以回到家目录下
[root@hack118 ~]#
例5:进入/etc/rc.d/目录,并返回到/etc目录下
[root@hack118 ~]# cd /etc/rc.d/
[root@hack118 rc.d]#
返回到/etc目录下,第一种
[root@hack118 rc.d]# cd /etc/
[root@hack118 etc]#
返回到/etc目录下,第二种
[root@hack118 rc.d]# cd ..
[root@hack118 etc]#
注:..(两个点) 代表上一级目录 .(一个点)代表当前目录
比如cd /etc/rc.d/,rc.d/这个的上级目录是 /etc/,而/etc/这个的上级目录是/root
[root@hack118 ~]# cd /etc/
[root@hack118 etc]# cd . #当前目录是etc
[root@hack118 etc]#
8、pwd-查看目录
pwd查看当前所在目录,方便快速定位所在的工作目录。
[root@hack118 ~]# pwd
/root# 当前目录在/root目录下
9、mkdir-创建目录
参数 | 作用 |
-p | 递归创建目录 |
-m | 建立目录的同时也设置目录的权限 |
例1:创建一个叫test的目录
[root@hack118 ~]# mkdir test
例2:在/software目录下创建一个test2目录,这个/software本身不存在。
[root@hack118 ~]# mkdir -p /software/test2
[root@hack118 ~]# ll -d /software/test2/
例3:在/software目录下创建一个test3目录,并设置它的权限为755
[root@hack118 ~]# mkdir -m 755 /software/test3
[root@hack118 ~]# ll -d /software/test3
drwxr-xr-x. 2 root root 6 Aug 5 14:27 /software/test3
10、touch-创建空文件
touch命令可以创建空文件,并且可以结合通配符同时创建多个文件。
作用 | |
-a | 改变文件的读取的时间,比如之前是x年x月x日x点读取,改成其它时间 |
-m | 改变文件的修改的时间,比如之前是x年x月x日x点修改,改成其它时间 |
例1:在/soft目录下创建一个file文件
[root@hack118 ~]# mkdir /soft #先创建一个/soft目录
[root@hack118 ~]# touch /soft/file
[root@hack118 ~]# ll /soft
例2:在/soft目录下创建以文件名file1至file9的文件
[root@hack118 ~]# touch /soft/file{1..9}
[root@hack118 ~]# ll -l /soft
11、echo-写入文件内容
echo "hello java" > test.txt
> :代表重定向
>> :代表追加内容
12、more-查看文件内容
more 文件名
[root@huaweicloud ~]# touch t.txt
[root@huaweicloud ~]# echo 123 > t.txt
[root@huaweicloud ~]# more t.txt
123
13、less-查看文件内容
[root@huaweicloud ~]# less t.txt #q键退出
14、tail-查看文件尾部
tail命令查看文件里内容的后几行,默认前10行。
参数 | 作用 |
-n | 查看文件时,指定需要查看该文件的多少行,比如需要查看第X行 |
例1:查看/root/anaconda-ks.cfg文件,默认只显示 后10行,包括空行也算一行。
[root@hack118 ~]# tail anaconda-ks.cfg
例2:查看/root/anaconda-ks.cfg文件,但需要查看前15行。
[root@hack118 ~]# tail -n 15 anaconda-ks.cfg
15、head-查看文件开头
tail命令查看文件里内容的前几行,默认后10行。
参数 | 作用 |
-n | 查看文件时,指定需要查看该文件的多少行,比如需要查看第X行 |
例1:查看/root/anaconda-ks.cfg文件,默认只显示 前10行,包括空行也算一行。
[root@hack118 ~]# tail anaconda-ks.cfg
例2:查看/root/anaconda-ks.cfg文件,但需要查看后15行。
[root@hack118 ~]# tail -n 15 anaconda-ks.cfg
16、tar-解压缩1
tar命令用于解压和压缩文件。
参数 | 作用 |
-c | 压缩文件 |
-x | 解压文件 |
-z | 使用gzip命令解压或压缩文件,文件结尾一般为 *.tar.gz |
-v | 显示解压或压缩文件时的详细过程 |
-f | 指定需要解压或压缩的文件,一般该参数放在最后一个位置 |
-C | 解压文件的时候 指定解压的路径,默认解压在当前路径 tar -xvf xxx.tar.gz -C /usr/local/java |
17、unzip-解压缩2
unzip命令用来解压文件。
参数 | 作用 |
-r | 递归压缩文件 |
-v | 显示压缩文件时的详细过程 |
-d | 解压文件到指定目录 |
-t | 检查压缩包是否完整 |
还有rar、zip、gzip等解压缩命令。
18、ip-查看IP地址
-s 输出更详细的信息
-f 强制使用指定的协议族
-4 指定使用的网络层协议是IPv4协议
-6 指定使用的网络层协议是IPv6协议
-r 显示主机时,不使用IP地址,而使用主机的域名
[root@hack118 ~]# ip addr
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:11:fc:c8 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.118/24 brd 192.168.1.255 scope global noprefixroute ens160
查看当前网卡详细运行状态
[root@hack118 ~]# ip -s link
显示路由信息
[root@hack118 ~]# ip route list
default via 192.168.1.2 dev ens160 proto static metric 100
192.168.1.0/24 dev ens160 proto kernel scope link src 192.168.1.118 metric 100
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown
19、ifconfig-查看IP地址
20、netstat-查看网络端口
[root@huaweicloud ~]# netstat -tlnp | grep 8086
tcp 0 0 0.0.0.0:8086 0.0.0.0:* LISTEN 1452/java
1109和1452是服务进程号
21、top-查看进程
类似于windows里面的任务管理器,top命令用于动态查看进程,可以显示CPU负载等信息。
top命令 3s钟刷新一次,load average: 0.08, 0.09, 0.05 分别代表1分钟内、5分钟内、15分钟内CPU平均负载。
1分钟内的平均负载目前是0.08,这个值一般不能超过 1 否则可能有黑客正在攻击服务器或者某软件(病毒软件、挖矿木马程序)正在消耗CPU资源,最终引起服务器Dwon掉,或者异常卡顿。
PID:进程id
USER :进程所有者
PR:进程优先级
NI : nice值。负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES :进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR: 共享内存大小,单位kb
S:进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU:上次更新到现在的CPU时间占用百分比
%MEM:进程使用的物理内存百分比
TIME+: 进程使用的CPU时间总计,单位1/100秒
COMMAND :进程名称(服务名称/命令)
Linux进程状态:
22、uptime-显示CPU负载和启动时间
[root@huaweicloud ~]# uptime
23、who-查看当前登录用户
who a i命令也可以查询。
命令太多了 ,这里就不写了,Linux命令大概有几千条,但是常用的200来条,每个命令还有很多参数。
此篇完结!