Linux常用命令
1、 Linux相关知识
1.1什么是Liunx
Linux是一款操作系统,不同于大众消费领域的windows系统和苹果系统,Linux系统主要是应用于服务器和大型计算机领域。我们生活的大部分的网页和APP,其实都是基于Linux系统运行的,这其中就包括我们经常会使用的淘宝和微信。
linux系统的开发模式是开源,而这也正是他的核心特色,开源代表系统的源代码能被自由获取,使用和修改。所以linux系统和其他商业软件最大的区别就是它拥有更多的自由性。
1.2登录Linux
首先需要在阿里云服务器创建账户密码,然后客户端通过ssh的服务连接到阿里云,ssh服务的端口是22.链接步骤:
ssh 账户@IP地址 按下回车键 输入密码 就会登录成功
如果想要查看 自己是什么时候登录的 输入who am i 就可以进行查看
1.3Linux管理员账户是?
linux中管理员账户是root
1.4查看当前账户目录?
查看目录结构是pwd
1.5ls查看
作用:列出目录内容
书写格式:ls 选项 目录名 需要注意的是:命令格式中的内容为非必选项
ls命令选项
ls -a :列出目录下的所有文件 (包含开头的隐藏文件)
ls -l: 列出文件的详细信息
ls -i: 查看文件的iNode号(Node会指向文件快所在的位置)
ls -h: 以容易读取的方式显示文件大小
ls -d: 仅列出目录本身,而不显示目录中的文件
ls -t: 按照时间顺序排序,时间越早就越在下面
ls /:查看根目录
ls -lh:查看文件的信息(包含文件的大小)
ls -la:查看所有文件(包含了隐藏文件)
/bin: bin 是 Binaries (⼆进制⽂件) 的缩写, 这个⽬录存放着最经常使⽤的命令。
/boot: 这⾥存放的是启动 Linux 时使⽤的⼀些核⼼⽂件,包括⼀些连接⽂件以及镜像⽂件。
1.6alias别名
作用:设置命令的别名,用来简写命令,提高操作效率
alias:查看所有的快捷命令
alias 命令=“命令” 添加别名
unalias 别名: 取消别名
1.7tree树形结构
通常情况下系统未安装该命令,需要yum install -y tree 直接使用tree 显示深度太多,一般会使用,
=L是手工设定目录深度
格式 Tree -L a 目录 ,其中n指定目录深度
1.8cd切换目录
cd : 切换到根目录
cd .:切换到当前目录
cd ..:切换到上一级目录
1.9mkdir 创建文件夹
作用:在当前目录下创建下一级目录,无法跨级创建
mkdir -p :创建多层级的文件夹
mkdir -v:创建的过程可以可视化的看到
1.10rmdir删除目录
仅可以删除空白目录(不可以删除包含内容的目录)如果删除的目录不是空的,就会出现问题,具体如下:
1.11touch创建文件
作用:创建空白文件夹
touch 文件名称即可
1.12rm删除文件或目录
作用:删除单独文件或者删除目录
rm -f:强制删除文件
rm -i:询问确认后删除文件
rm -v:删除文件(可视化的只展示)
rm -iv:询问确认后删除文件+可视化展示
rm -r:直接删除
rm -rf:强制删除
rm -rv:可视化的删除(不需要确认)
1.13cp复制
复制文件
源文件视同不变 仅仅是对目标进行更改
cp 源文件 目标文件; 将源文件进行复制
复制目录
和复制文件一样的操作 需要针对的就是对文件复制 需要具体到路径下的文件
先创建目录 将文件复制到目录里
再创建一个目录,将上一个目录的文件复制到这一个目录当中 并重新命名
然后新的目录以树状结构展示出来
1.14mv移动
移动文件
将文件移动到文件夹中
mv 文件 目录:将文件移动到目录当中
将目录下的文件移动到另一个目录
mv的重命名特性
mv 源文件 重命名文件:
1.15man帮助命令
linux命令的软件的帮助手册
man 命令:查看命令的注释
1.16info帮助命令
info是一个完全交互式的环境,具体如下:
info 命令:查看相关命令的注释
1.17cat查看文件
cat -A: 查看文件所有内容 (不显示)
cat -n: 查看文件所有内容(显示)
1.18tac倒序查看
倒序查看 目的是查看文件内容的日志 针对的是特别多的文件内容
tac 文件:倒序查看
1.19more一屏一屏的查看
more 文件:一屏一屏的看
1.20less查看文件内容
less 文件:可以用上下左右来进行查看
1.21head查看文件的第几行
head -n N 文件: (N为数字,指的是要查看前几行)
1.22tail查看文件的后几行
tail -n N 文件:(N为数字,指的是查看文件后几行)
tail -f 文件:查看动态的日志
1.23chmod权限操作
r-->4 w-->2 x-->1
r:读取
w:写
x:执行
给所有的权限为7
chmod 777 文件 :赋予权限为777
chmod使用字母修改权限
既然⽂件的基本权限就是 3 种⽤户身份(所有者、所属组和其他⼈)搭配 3 种权限(rwx),chmod 命令中⽤ u、g、o 分别代表 3 种身份,还⽤ a 表示全部的身份(all 的缩写)。另外,chmod 命令仍使⽤ r、w、x 分别表示 读、写、执⾏权限。
给所有的权限组添加所有权限
删除相关的权限
1.24.sh文件怎么处理
在windows中是.bat系统可执行的文件 也就是批处理文件
用到的是./
./xxx.sh
1.25free资源查看
free -m:以兆为单位进行查看
free -g:以吉为单位进行查看
上中图当中的参数含义
total:总内存
used:使用内容
free:空闲内存
shared:分享内存
available:可用内存
ps auxw | head -1;ps auxw|sort -rn -k4|head -5 -->内存占⽤前五的进程 ps auxw|head -1;ps auxw|sort -rn -k3|head -3--->cpu占⽤前三的进程
1.26top整体负载
对上述图片当中的参数进行解释
users:用户数 load average:平均负载 1分钟 5分钟 15分钟三个指标 total:进程总数 running:正在运行的进程 sleeping:休眠进行进程 stoppend:关闭的进程数 us:用户的内存 sy:系统的内存 id:空闲的内存 PID:进程id USER:用户名 PR:优先级 %CPU:占用的系统资源 %MEM:占用的内存
1.27默认的端口
ssh 22 http 80 https 443 当服务运行中的时候 其端口也都是被占用的 ,服务没有被监听 也就是没有被占用 email 25 mysql 3306
1.28losf查看端口
losf是用来查看端口是否被监听的 LISTEN是被监听的
lsof -i:端口 查看监听的端口(不输入端口则对所有端口进行查看)
1.29netstat查看端口
netstat-tunlp用于显示tcp udp的端口和进程相关情况。
netstat查看端口占用语法格式:
netstat -tunlp | grep 端口号 过滤端口
-t (tcp) 仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化为数字 -l 仅列出在Listen(监听)的服务状态 -p 显示建⽴相关链接的程序名
1.30ps查看进程
pid是进程的id
进程是操作系统最基本的运行单位
线程是进程的最小单位
进程的状态
开始启动-->启动中-->运行中-->休眠/假死-->停止
ps -aux: ps -elf: 查看端口详细信息 ps -elf | grep 进程名称 :过滤进程名称展示
1.31kill杀死进程
kill -9 pid :杀进程
1.32vim操作文件
vim操作文件的步骤
1、vim打开要操作的文件 2、进入vim的编辑器后 3、输入a或者i 4、在最下栏就会显示insert/插入,那么就说明可以编写内容了 5、开始编写内容,编写完成后,开始保存步骤 6、按下esc键 7、再shift+: 8、wq就是保存 9、如果不保存,那么输入的是q!
vim当中的按键所对应的指令详情
vim 文件: 对文件进行编辑(如果没有 就会创建 在进行编辑) vim 进入文件后 a:插入 x:删除 :q! 不保存退出 :wq 保存退出 BACK SPACE,退格键,删除光标前⼀个字符 DEL,删除键,删除光标后⼀个字符 ⽅向键,在⽂本中移动光标 HOME/END,移动光标到⾏⾸/⾏尾 Page Up/Page Down,上/下翻⻚
如果需要查询 输入/输入的字 就可以进行查询
1.33find查找文件
find是用来查找文件的目录 需要的root权限
find / -name "查找的文件" find / -size +404800 正则表达式 ?代表一个字符串 /d 代表数字 /D 代表的字母
1.34whereis搜索程序路径(文件名字)
whereis 程序名字:查找程序的路径
1.35echo输出文字
echo 要说的话
1.36printf输出
printf 要说的话
面试题,nginx出问题了 怎么给开发同学?(请详细的说一下步骤)
1、拿到服务器IP和用户名密码进行登录
2、通过find / -name nginx
3、进入到nginx目录 查看文件信息
4、输入tail -f 进入日志
1.37用户管理?
useradd 用户名:添加用户名
userdel 用户名:删除用户
passwd 用户名:设置密码
su - 用户名: 切换用户名(需要注意的是 -的左右都需要有空格)
1.38scp文件传输
scp 文件名称 账户名@ip地址:/root(指定的目录) scp jiachao.123 root@123.123.123.123:/user/log :将文件传输到root账户下的log文件夹当中
1.39zip文件压缩
1.39.1单文件压缩
zip 新建的压缩文件.zip 要压缩的文件 zip jiachao.zip jiachao.123
1.39.2多文件压缩
zip 新建的压缩文件.zip 要压缩的文件1235
zip jiachao.zip jiachao.txt zhenshuai.txt woaile.txt
1.40unzip解压文件(.zip文件)
unzip 压缩的文件.zip
unzip jiachao.zip
1.41gz格式压缩(.gz格式的打包和解包)
需要注意的是gz格式解压后源文件消失,所以只能进行压缩文件
gzip 要压缩的文件 gzip jiachao.123
1.42gunzip解压(解压的是.gz压缩文件)
gunzip 要压缩的文件名
gunzip wozhenshuai.gz
1.43tar打包解包文件
(.tar格式的打包和解包。打包和解包使用的都是tar,区别是选项不同)
相关的参数
-c:打包 -x:解打包 -f:指定压缩包的文件名。压缩包的扩展名是用来给管理员识别格式的,所以一定要正确指定扩展名。 -v:显示打包文件过程
1.43.1打包
tar -cvf 新文件名字.tar 源文件或目录
tar -cvf jiachao.tar wozhenshuai.txt:将wozhenshuai.txt进行打包并命名为jiachao.tar
1.43.2解包
tar -xvf 要解包的文件
tar -xvf jiachao.tar:将jiachao.tar进行解包
1.44tar.gz格式打包解包
1.44.1打包
tar -zcvf 新命名.tar.gz 要压缩的文件名字
tar -zcvf jiachao.tar.gz 我真帅.txt
1.44.2解包
tar -zxvf 要解的包名
tar -zxvf jiachao.tar.gz
1.45tomcat更改端口执行
tomcat的端口是8080。把.war后缀的文件放在tomcat的webapps目录下,tomcat启动后,环境就部署了。
1.通过maven把程序打包成.war (war包)如index.war
2.把index.war放在tomcat的webapps目录下
3.启动tomcat
4.地址// ip地址:端口/index
步骤:
1.tomcat下载地址:
https://tomcat.apache.org/download-80.cgi
2.右键复制链接地址
3.下载软件,在命令行输入:
wget 刚才复制的软件地址
4.解压:
tar -zxvf 文件名.tar.gz ( 文件名复制下来)
5.可以对文件进行重命名,方便后期操作
bin:可执行的
conf:配置文件
logs:进程日志
如果端口被占用,要进入conf目录中,vim进入server.xml文件,快速定位到端口8080,改成8081。
如果文件不能执行,要进入bin目录中,需要先给startup.sh(开始程序)赋予权限。(shutdown.sh是结束程序)
如果出故障,需要找出故障,要进入logs目录中找。