Linux常用命令


一、Linux背景知识

Linux是一个操作系统,和Windows是“并列”的关系
在这里插入图片描述
和windows同级的操作系统:unix、linux

Linux使用的地方:

和windows相比,系统占用的硬件资源更小,留给自己程序的资源就更多(更小的代价达到更好的配置)
1.服务端程序:如Java开发的web程序
2.安卓手机(里边的系统也是linux系统)

二、Linux常用命令

1.cd

Linux系统中,磁盘上的文件和目录被组成一颗目录树,每个节点都是目录或文件
语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下

认识Linux文件结构
在这里插入图片描述

2.ls

语法: ls [选项][目录或文件]
功能: 对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其它信息

ls 回车=ls ./ 回车(相对路径写法)
示例:cd/切换到根目录下:
ls /bin(绝对路径)=ls ./bin(相对路径)=ls bin(相对路径)

常用参数:

  • ls -a 路径:显示所有文件(包含隐藏文件)
  • ls -l 路径:以详细信息方式显示下一级子文件/文件夹。省略写法:ll(注意:有些系统,可能没有这个命令)
  • ls -R 路径:递归的方法把所有子文件/文件夹,孙子都打印出来

关于路径:
1../表示当前这个目录,…/表示上一级的目录,~表示用户目录,-表示从上一个路径切换到当前路径时,上一个路径可以使用绝对路径(linux本地文件/目录的绝对路径,是/开头),也可以使用相对路径
2. linux中,.开头的文件,都是隐藏文件
3. tab自动补全: 路径后的文件或文件名称,可以使用tab自动补全(有一个名称匹配,就点一次tab,有多个就连点两次tab)

3.pwd

语法: pwd
功能: 显示当前执行命令时所在的路径

4.touch

语法: touch [选项]… 文件…
功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件

如果文件存在,修改文件的上次更新时间为当前时间,如果不存在,就创建

5.mkdir

语法: mkdir [选项] dirname…
功能: 在当前目录下创建一个名为“dirname”的目录

mkdir 目录路径:创建一个目录(创建的目录上级目录必须存在,否则会报错)
如果路径是由多个层级(其中存在没有的目录时),使用-p参数,就可以创建多层次的目录

6.man

linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助
语法: man [选项] 命令

会进入文档阅读模式
j:向下一行翻
k:向上一行翻
q:退出
/搜索的内容:搜索匹配的字符串,搜索到了以后,可以按n找下一个匹配的位置,按shift+n匹配上一个
g:切换到文档首行
shift+g:切换到文档尾部

7.rm

语法: rm [-f-i-r-v][dirName/dir]
功能: 删除文件或目录
默认删除会提示,要求输入y或n表示确认删除或不删除
-f:不提示,直接删除
-r:删除目录时,递归删除目录下所有的内容

一般使用:
rm -f 文件路径
rm -fr 目录路径

8.cp

语法:cp [选项] 源文件或目录 目标文件或目录
功能:复制文件或目录

常见用法:
cp 文件路径 已存在的目录路径:把文件复制到目标目录下
cp 文件路径 已存在的目录路径/重命名的文件名称:把文件复制到目标路径下,重命名文件名称
在这里插入图片描述
cp -r 源目录路径 已存在的目标目录路径:递归复制源目录 到 已存在的目标目录的下边
在这里插入图片描述

cp -r 源目录路径 不存在的一个目标目录路径:复制源目录 到 目标目录(重命名复制后的目录名称)
在这里插入图片描述

9.mv

语法:mv [选项] 源文件或目录 目标文件或目录
功能:移动或重命名

1.mv 源文件路径 已存在的目标目录路径:移动到某个目录下
在这里插入图片描述
2.mv 源文件路径 不存在的一个路径:移动并重命名(如果只是重命名,其实也是使用mv命令)
在这里插入图片描述

10.cat

cat 文件路径:显示该文件所有内容
在这里插入图片描述
注意:不要对非常大的文件使用这个命令,效率非常低
-n:表示需要显示行号
在这里插入图片描述

11.vi

这是一个linux上的文本编辑器程序,类似windows中的记事本
只读模式:不能修改

进入编辑模式:(键盘输入的内容就会插入到文本中)
按i:当前光标位置,插入新的输入内容
按o:当前光标位置下一行,插入一个新行

退出程序:(只能在只读模式下退出,进入只读模式:按esc)
输入:wq保存并退出(w表示保存,q表示退出)
输入:q!强制不保存就退出(!表示强制执行)

搜索:
/搜索的内容:光标移动到第一个匹配的位置,再按n,切换到下一个匹配的地方,shift+n切换到上一个
g连点两下:光标切换到文档首部
shift+g:光标切换到文档尾部
还原上次修改的内容:按n

12.less

语法: less [参数] 文件
功能: 查看文件内容,不会立刻把所有文件内容加载到内存中,也能进行查找

显示文件内容:只显示一部分,和vi只读模式差不多
-N:同时显示行号

13.head

语法: head [参数]…[文件]…
功能: head用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行
在这里插入图片描述
head -n行数 文件路径:显示文件内容,从第一行开始,总共显示[行数]这么多行

14.tail

语法: tail [必要参数] [选择参数] [文件]
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件
tail -n行数 文件路径:显示文件内容,从最后一行往前总共[行数]这么多行
在这里插入图片描述
tail -f 文件路径:循环读取文件内容
假如文件路径为tomcat/log/catalina.xxx.log(tomcat日志文件),tomcat不停的在输出新的内容到日志文件,tail -f就可以把新的内容即时显示出来
退出:按ctrl+z

关于重定向
Linux的很多指令,如cat head tail 等都是默认输出到“标准输出”中,也就是显示器上的,可以通过>符号把本来要输出到标准输出上的内容写到特定文件中,这样的操作称为“重定向”
重定向有三种方式:

1.输入重定向<:右边的内容输出到左边,左边以输入来接收(类似于Java中的System.in)

例:cat < test.txt
cat以输入接收test.txt文件的输出,cat本身是打印输出,所以和不加<作用一样

2.输出重定向>:左边整个的输出结果,右边的文件以输入的方式接收(类似Java中的System.out)
在这里插入图片描述
3.错误输出重定向 2>:左边执行时,报错的信息输出到右边的文件中(如果没有报错就是空)(类似Java中的System.err)

关于管道
进程间通信的方式:把左边进程的输出结果,右边的进程以输入来接收

常见的使用方式:输出某个文件,从x到y行的内容
head -n[y] 文件路径 | tail -n[y-x+1]
tail -n[总行数-x+1] 文件路径 | head -n[y-x+1]
两种方式都行,一般来说,比较大的文件,想要:
查看最开头50-100,head在前,比较好写
查看最后倒数100-倒数50,tail在前,比较好写

15.grep

语法: grep [参数]…[文件]…
功能: 用于查找文件中是否包含指定字符串,并显示对应的行
grep “搜索的内容” 文件/目录路径:在[文件]或[目录下的文件]中搜索,匹配到“搜索的内容”的内容
也经常结合 | 管道符号,在某个指令执行的输出结果中,再次进行搜索
在这里插入图片描述

16.netstat

语法: netstat [参数]…
功能: 查看系统上的网络状态
查看某个进程:netstat -anp:显示所有进程的网络信息
结合 | grep就可以进行再次搜索,比如搜索进程名称,端口号(根据进程名称/端口号搜索进程的信息)

没有这个命令的话,需要先执行安装一个软件包:yum install -y net-tools
yum:通过网络在线下载并安装一个程序

在这里插入图片描述
tomcat是否启动成功:

  1. 检查进程是否启动(netstat或ps)
  2. 检查tomcat的启动日志文件,查看是否有异常堆栈信息

17.ps

语法: ps [参数]…
功能: 用于查看当前系统上运行的进程
查看进程信息:
ps -aux | grep “进程名称/pid”
ps -ef | grep “进程名称/pid”

pid:操作系统为每个进程分配的一个身份标识(数字)

一般使用:可以先使用netstat通过端口号查找到进程的pid,然后使用ps通过pid查找进程信息

三、linux权限

1.用户操作

linux下有两种用户:超级用户(root)、普通用户

  • 超级用户:可以在linux系统下做任何事情,不受限制
  • 普通用户:在linux下做有限的事情
  • 超级用户的命令提示符是"#“,普通用户的命令提示符是”$"

1.创建用户
命令: useradd [用户名]
功能: 创建新的用户

2.配置密码
命令: passwd [用户名]
功能: 设置或修改用户密码
在这里插入图片描述
在这里插入图片描述
3.切换用户
命令: su [用户名]
功能: 切换用户
从当前登录账号切换到另一个账号登录
在这里插入图片描述
常用于普通账号执行某个操作权限不够,切换到权限更高的账号

2.三个角色

linux对文件/目录权限管理,使用三种角色来管理
访问一个文件的人可能分为三种类型:

  • 文件和文件目录的所有者:u—User
  • 文件和文件目录的所有者所在的组的用户:g—Group
  • 其他用户:o—Others

3.文件类型和文件权限

在这里插入图片描述
基本权限:

  • 读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
  • 写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
  • 执行(x/1):execute对文件而言,具有执行文件的权限;对于目录来说,具有进入目录的权限
  • “-”表示不具有该项权限

一个角色具有的权限,也可以使用数值来表示:把拥有的权限数值相加,结果就是最终该角色具有的权限数值
如上图,该文件拥有者是root用户,权限为rwx,用数值表示就是4+2+1=7
文件所属用户组是root用户组,权限是r-x,数值表示就是4+1=5
1-7的数值,每个都标识了唯一的一种权限组合

4.修改文件权限

功能: 设置文件的访问权限
格式: chmod [参数] 权限 文件名

修改目录权限:
如果不加-r参数,只修改了这个目录的权限,子目录/子文件权限都不会改变
加-r参数,表示递归修改权限

使用方法:

  • chmod u+r 文件或目录的路径
  • chmod 三个数字 文件或目录的路径(三个数字分别表示拥有者,所属用户组,
    以及其他用户的权限)

例:chmod 640 /home/abc.txt
所属用户权限:rw-
所属用户组权限:r–
其他用户权限:—

假如对于一个文件,root用户没有写权限,使用vi就不能修改
一般做法:先增加该账号的写权限,然后再修改
还比如:tomcat/bin/startup.sh是tomcat在linux的启动脚本,如果没有x执行权限,就不能直接运行

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dhdhdhdhg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值