Linux系统常用命令
- 一、Linux系统入门
- 1、man命令
- 2、date命令
- 3、查看系统版本命令
- 4、开关机命令
- 二、Linux文件与目录基础操作
- 1、cd命令
- 2、ls命令
- 3、touch命令
- 4、mkdir命令
- 5、rm命令
- 三、Linux文件与目录操作进阶
- 1、不同类型文件默认颜色
- 2、cp命令
- 3、mv命令
- 4、cat命令
- 5、less命令
- 6、vi/vim命令
- 四、Linux文件与目录操作高级
- 1、通配符
- 2、which命令
- 3、find命令
- 4、grep命令
- 5、wc 命令
- 6、du命令
- 7、df命令
- 8、ln命令
- 五、Linux文件权限管理
- 1、文件权限
- 2、文件的用户
- 3、chmod命令
- 4、chown命令
- 5、chgrp命令
- 六、Linux进程和管道符
- 1、后台运行进程
- 2、jobs命令
- 3、终止进程
- 4、标准输入、标准输出、标准错误
- 5、重定向
- 6、wc -l命令
- 7、管道符 |
- 七、Linux网络操作命令
- 1、usermod命令
- 2、ip命令
- 3、service命令
- 4、ping命令
- 5、netstat命令
- 6、lsof命令
- 7、top命令
- 8、free命令
- 八、Linux打包和压缩以及环境部署
- 1、tar命令
- 2、gzip命令
- 3、zip命令
- 4、rpm命令
- 5、yum命令
一、Linux系统入门
1、man命令
man 命令:查看有关命令的帮助信息
例子:man ps —查看ps命令
Name --命令的名称
SYNOPSIS --参数的大致使用方法
DESCRIPTION --介绍说明
EXAMPLES --演示(附带简单说明)
2、date命令
date命令:显示系统时间
如果想用某种格式显示系统时间
date +’%Y-%m-%d-%H-%M-%S’
设置系统时间:date -s
设定日期: date -s 20200803
设定时间: date -s 10:19:10
设定日期和时间 date -s “20200803 10:19:10”
3、查看系统版本命令
查看发行版本:
cat /etc/issue
查看内核版本:
uname -r
cat /proc/version
4、开关机命令
关机命令:
poweroff
halt
shutdown -h now
init 0
重启命令:
reboot
shutdown -r now
init6
注销命令:
exit
二、Linux文件与目录基础操作
1、cd命令
cd命令:用于目录之间的切换
例子:
cd /home 切换到home目录下
cd … 返回上一级目录
cd 进入个人主目录
cd - 返回上一次所在目录
pwd 显示当前的路径
文件名和特殊文件:Linux文件名大小写敏感(必须区分大小写)
绝对路径:从根目录开始 /home/test
相对路径: 从当前目录开始
2、ls命令
ls命令:查看文件和目录
ls -a 查看所有文件 包括隐藏文件
ls -l 以列表形式展示(也可以使用ll)
注意:ls -al = ls -a -l
使用ls -a可以看到一些比较特殊的文件
如:
. 表示当前目录
… 表示当前目录的父级目录
名称是.字符串形式的文件 表示隐藏文件
3、touch命令
touch命令:创建一个空文件
例子:touch test --创建一个叫test的空文件
touch /tmp/test
例子:在/tmp目录下创建一个文件test 前提是/tmp 目录存在
4、mkdir命令
mkdir命令:创建一个空目录(文件夹)
例子:mkdir test 创建一个叫test的空目录
mkdir -p 创建多层级的目录
例子:mkdir -p test/test1/test2 在当前目录下依层级创建test/test1/test2目录
mkdir /tmp/test
例子:在/tmp目录下创建一个子目录test 前提是/tmp 目录存在,如果不存在想要创建就要用到mkdir -p
5、rm命令
rm命令:删除文件或目录
rmdir 删除一个空目录
rm -f 强制删除一个文件,不会提示
rm -rf 强制删除一个目录以及目录中所有文件和子目录
rm -f /tmp/test 强制删除/tmp目录下的test文件
注意:其中-f 命令代表强制删除不会确认(不会提醒)
-r 命令代表递归,针对每个目录和子目录下每个文件
三、Linux文件与目录操作进阶
1、不同类型文件默认颜色
linux系统约定不同类型文件默认的颜色:
白色:表示普通文件
蓝色:表示目录
绿色:表示可执行文件
红色:表示压缩文件
浅蓝色:链接文件
红色闪烁:表示链接的文件有问题
黄色:表示设备文件
灰色:表示其它文件
2、cp命令
cp命令:用来复制文件和目录
格式:cp 原路径 目标路径
举例:
cp /var/f1 /tmp 复制/var路径下的f1文件到/tmp路径下,此时f1是文件
cp -r /var/f1 /tmp 复制/var路径下fi文件夹以及它所包含的所有子文件子文件夹到 /tmp路径下,此时f1是文件夹。
cp f1 f2 /tmp 复制f1 f2 文件到 /tmp路径下 此时f1 f2是文件
cp -r f1 f2 /tmp 复制f1 f2 文件夹以及包含的子文件到 /tmp路径下 此时f1 f2是文件夹
利用cp命令重命名:
cp test test1
把当前目录下的test文件改名为test1 如果此时已经存在了test1文件,会提示是否覆盖。
如果要针对文件夹进行重命名:
cp -r test test1
注意:如果此时test1文件夹已经存在,会直接复制到test1路径下,如果test1路径下已经复制了一个test文件夹,继续
复制,会提示是否覆盖
如果要取消文件夹每个层级的覆盖的提示要使用
\cp -rf命令
3、mv命令
mv命令:移动文件或者目录
mv /home/f1 /tmp 移动f1 文件到 /tmp路径下
mv /home/dir1 /tmp 移动dir1 文件夹 到/tmp路径下
mv f1 f2 d1 /tmp 同时移动f1 f2 d1 到/tmp路径下
mv同时进行重命名:
mv f1 f2 相当于把f1移动到当前路径,名字换成f2(就相当于重命名)
mv /home/f1 /tmp/f2 把home路径下的f1 移动到tmp路径下,名字改为f2
mv时遇到同名同样会出现覆盖提示
如果覆盖的目标不是一个空的目录,无法覆盖。
4、cat命令
cat命令:查看文件中的所有内容
格式:cat 文件名
5、less命令
less命令:更加随意的分页浏览文件
格式:less 文件名
k – 向上一行
j – 向下一行
Page up – 向上一页
Page down – 向下一页
q – 退出
tail -f 用来动态查询尾部行(查询日志定位问题最常用的)
6、vi/vim命令
vi/vim:以编辑的方式查看文件(三种模式:命令模式、底线模式、插入模式)
修改环境变量的配置文件:
vim /etc/profile
命令模式输入i/o/a 进入插入模式
命令模式输入:进入底线模式
底线模式和插入模式 用esc返回命令模式
命令模式:
G: 移动到文件最后一行行首
gg : 移动到文件的开头
按0或^ : 光标移动到所在行的行首
按$: 光标移动到所在行的行尾
按ctrl+f 往下翻一页
按ctrl+b 往上翻一页
dd 删除光标所在行
3dd 表示删除光标所在位置下3行,包括光标所在行
yy 复制光标所在行
p 粘贴
u 撤销操作
插入模式:
i–在当前位置编辑
a–从下一个字符编辑
o–新增一行开始编辑
底线模式:
:w 文件名(将文件另存为该名字的文件)
:q!强制退出(不保存修改内容)
:wq 保存后退出
:set number 显示行数
:set nonumber 不显示行数
/、?关键字的使用
底线模式或者命令模式中输入/或者?后面加关键字,回车,查找该关键字的记录,使用大小写N对查询结果进行上下切换
四、Linux文件与目录操作高级
1、通配符
通配符:一般用来匹配文件名
*代表任意字符
?代表一个字符
[] 匹配指定字符范围内的任意单个字符
[^] 匹配指定字符范围外的任意单个字符
举例:
g* 以g为开头的文件
b*.txt以b开头,.txt结尾的文件
data??? 以data开头,后面跟着3个字符的文件
[a,b,c]* 文件名以a或者b或者c开头的文件
[^a,b,c]* 文件名不是a或者b或者c开头的文件
2、which命令
which命令:查询某个命令的完整路径
例子:which rm 查看rm命令所在的路径
3、find命令
find命令:查找文件
格式: find 查找的路径 条件
参数说明:
-name 以名字为条件查找
-type 以文件类型为条件查找
-type f 一般文件
-type d 目录
举例:
find /temp –name “abc” 查找名字是abc
find /temp –name “abc*” 查找名字开头是abc
find /temp -name “abc*” –type f 查找名字开头是abc,且类型是文件的
4、grep命令
grep命令:文本内容搜索工具
注:一般在查文件内容中关键字使用,同时也可以针对查询结果使用。
grep “test” d* 查询所有以d为开头的文件中,包含字符串test的行
grep “test” aa bb cc 查询aa bb cc 文件中包含字符串test的行
grep “root” -r /var/log 在目录下所有子目录下的文件中搜索包含字符串root的行
grep “^test” /var/log/scp.log 在scp.log 中搜索以字符串“test”开头的行
grep参数说明:
-c:只输出匹配行的行数。
-i:不区分大小写。
-n:显示匹配行及行号。
-v:显示不包含匹配文本的所有行
-F:指明pattern非正则表达式 (等同于fgrep命令),指查找条件中的条件视作字符串,忽视正则表达式。
常用的正则:
^ 锚定行首
$ 锚定行尾
.* 匹配所有字符
例子:grep “^test.*end$” scp.log 在scp.log文件中搜索以字符串test为开头,end为结尾的行。
5、wc 命令
wc命令:统计文件内容
wc -l 统计文件的行数
wc -c 统计文件的字节数
6、du命令
du命令:查看文件和目录的磁盘使用空间
du -s:显示整个文件大小
du -h:显示分区使用情况
一般连用:du -sh
7、df命令
df命令:查看系统文件系统使用空间
8、ln命令
ln命令:文件链接
创建链接:
ln -s 源文件路径 链接路径
注意源文件路径要写全,最好写绝对路径,好让非同路径下的链接文件可以正确指向源文件。
五、Linux文件权限管理
1、文件权限
文件权限分3种,读取,写入,执行。
r,读取权限
针对文件:具有读取文件的权限
针对文件夹:能查看文件夹里面的内容,比如用ls查看目录
w,写入权限
针对文件: 具有写文件的权限
针对文件夹:可以删除和创建文件夹下面的文件
x,执行权限
针对文件: 具有执行的权限
针对目录: 能够进入该目录如cd命令,文件夹的读写权限依赖于执行权限,所以一般读写权限和执行权限绑定,
不单独管理。
2、文件的用户
文件的用户分3种拥有者,所属的组,其他用户
owner,文件的所有者
group, 文件所属的组
other,其他用户,非拥有者和组成员
all,所有用户
3、chmod命令
chmod命令:改变文件权限的命令
注意:只有文件拥有者和root用户可以使用
使用+来增加权限:
chmod u+x 文件名 给文件的拥有者增加执行权限
chmod g+wr 文件名 给文件的组成员增加读写权限
chmod o+x 文件名 给文件的其他成员增加执行权限
chmod a+wrx 文件名 给所有用户增加全部权限
chmod u+x,g+wr,o+x 文件名 同时针对不同的用户分配权限
使用-来取消权限
chmod u-wx 文件名 取消拥有者的写入和执行权限
使用=来变动权限,不管拥有者之前是什么权限,使用=相当于用目前的权限覆盖之前的权限
chmod u=rwx 文件名 给文件拥有者 读写执行的权限
使用数字来赋权
r =4
w =2
x =1
chmod 777 文件名 给文件所有用户赋予全部权限
4、chown命令
chown命令:改变文件的拥有者和组(只有root用户可以使用)
chown jack test1 把文件test1的拥有者变更为jack
chown jack:jack test1 把文件test1的拥有者变更为jack,所属组变更为jack组
5、chgrp命令
chgrp命令:改变文件的所属组
注意:root和拥有者可以使用,拥有者只能把文件改到自己所属的组
chgrp jack test1 把文件test1的所属组变更为jack
chgrp -R jack dirl 把目录dirl下的所有子目录和文件所属组变更为jack
六、Linux进程和管道符
1、后台运行进程
后台运行进程:使用&符号
ping 192.168.20.222& --在后台ping这个地址
2、jobs命令
jobs命令:列出后台的进程
ctrl + z 可以将一个正在前台运行的进程放到后台,暂停执行
fg %num 将后台的进程调到前台运行,num是jobs的编号
bg %num 将一个后台的暂停的进程变成继续执行
3、终止进程
kill命令:后台进程
后台进程我们需要用kill命令去杀死它来终止
kill pid
kill -9 pid
ctrl+c:前台进程
前台进程我们可以使用ctrl +c来终止
4、标准输入、标准输出、标准错误
stdin:标准输入
stdout:标准输出
stderr: 标准错误
比如你输入命令 ps -ef 这个就是你的标准输入
命令返回给你结果,这个就是标准输出
如果你输入的是sd,没有sd这个命令,系统会返回给你一个报错信息(sd: command not found),这个就是标准错误
通常标准输入对应的是键盘
标准输出和标准错误对应的是屏幕
5、重定向
重定向:通过重定向将标准输出和标准错误重定向到指定的文件中,而不是屏幕上
ps -ef>test 把ps -ef 的结果输出到test文件中,我们可以查看test文件,发现本该展示在屏幕上的进程信息都在test文件中
ps -ef>>test 2个>代表了把输出结果追加到文件中,如果一个>是覆盖,会把之前的记录覆盖掉。
注意:ps -ef > test = ps -ef 1> test
因为1代表了标准输出
2代表了标准错误
如果将报错信息输出到文件中:
sd 2> test 把sd执行的报错结果输出到test文件中
如果想要同时把标准输出和标准错误 输出到同一文件中: ps -ef > test 2>&1
如果想分别把标准输出和标准错误输出到不同文件中:ps -ef >test 2>test2
6、wc -l命令
wc -l:通过重定向从文件里读取内容
wc -l < test 统计test文件中有多少行
其实 和 wc -l test 差不多,只不过一个是根据文件来统计,一个是文本内容
wc -l << end 根据键盘输入的值进行统计,直到你输入end后结束统计,给出统计值
7、管道符 |
管道符:将管道符前的命令的输出作为管道符后面的命令的输入,连接2个命令
例子:
ps -ef|grep python
把线程中包含python字符串的筛选出来
ps -ef 2>&1|grep err
可以把错误输出和标准输出同时定向到管道符
连续使用管道:
ps -ef|grep python|grep -v grep
工作中最常用的管道符用法
tail -f test|grep ‘123456’ 动态查询日志时,根据关键字找到自己想要的那条日志
ps -ef | grep tomcat 找到进程号pid
netstat -nap | grep pid 根据进程号查找端口
七、Linux网络操作命令
1、usermod命令
usermod:修改用户
usermod -g 修改用户的所属群组
usermod -G 修改用户的所属的附加群组
adduesr/useradd 用户名 —添加新用户
passwd 用户名 —修改密码
groups test —显示test用户所属群组
userdel -r 删除用户以及该用户的主目录
2、ip命令
ip命令:查看ip地址
ip -4 addr 显示iPv4地址
ip -6 addr 显示ipv6地址
实际工作中用的最多的查看ip命令:
ifconfig —linux
ipconfig —windowds
3、service命令
service:服务器的命令
service --status-all —查看所有服务的状态
service 服务名 status —查看指定服务的状态
service 服务名 start —启动指定服务
service 服务名 stop —停止指定服务
service 服务名 restart —重新启动指定服务
service network start 启动网卡
service network stop 禁止网卡
4、ping命令
ping命令作用:网络连通性检查
ping -c指定连接次数
举例:ping -c 5 www.baidu.com 连接百度5次
5、netstat命令
nestat命令:查看进程
netstat -anp 最常用的进程以及端口查看命令,配合grep使用进行筛选
netstat -anp|grep :8080 端口号8080的端口
6、lsof命令
lsof命令:查看端口的占用
举例:lsof -i:80
7、top命令
注意:top命令中按f可以选择想要展示的内容,按回车确定
如果是多核cpu可以按1来切换展示每个cpu
top中参数说明:
当前时间
up 系统运行时间,格式为时:分
1 user 当前登录用户数
load average: 系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
total 进程总数
running 正在运行的进程数
sleeping 睡眠的进程数
stopped 停止的进程数
zombie 僵尸进程数
Cpu(s):
0.3% us 用户空间占用CPU百分比
1.0% sy 内核空间占用CPU百分比
0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
98.7% id 空闲CPU百分比
0.0% wa 等待输入输出的CPU时间百分比
0.0%hi:硬件CPU中断占用百分比
0.0%si:软中断占用百分比
0.0%st:虚拟机占用百分比
top -bn1 显示全部进程
8、free命令
free命令:显示内存使用情况
free中的参数说明:
-b 以Byte为单位显示内存使用情况。
-k 以KB为单位显示内存使用情况。
-m 以MB为单位显示内存使用情况。
-h 以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。单位有:
B = bytes
K = kilos
M = megas
G = gigas
T = teras
-o 不显示缓冲区调节列。
-s<间隔秒数> 持续观察内存使用状况。
-t 显示内存总和列。
-V 显示版本信息
八、Linux打包和压缩以及环境部署
1、tar命令
tar命令:打包和解包
tar -cvf test.tar f1 f2 把f1 f2文件打包到test.tar文件中
tar -tvf test.tar 查看包内的内容
tar -xvf test.tar 解开test.tar包
tar -xvf test.tar -C 目录 解开test.tar包到指定的目录下
tar -zcvf test.tar.gz f1 f2 打包并且压缩
tar -zcvf test.tar.gz * 打包并压缩当前目录下所有文件
tar -zxvf test.tar.gz -C 指定目录 解压缩包到指定目录
2、gzip命令
gzip命令:压缩
gzip 文件名1 文件名2 压缩多个文件
gzip -d test.gz 解压文件
3、zip命令
zip test.zip f1 f2 打包
unzip test.zip -d 指定目录 解压到指定的目录中
4、rpm命令
rpm命令:包的安装
wget 下载地址 — 从指定下载地址下载文件
rpm -ivh 安装rpm包
rpm -qa 查看所有安装过的包
rpm -qa|grep 关键字 查询响应找的包
rpm -e 删除指定包
5、yum命令
yum命令:包的安装
yum install 安装
yum remove 卸载
yum list installed 查看已经安装的
查询软件:可以使用yum search **
ps:项目部署文档,参考另一篇文章。