【Linux】常用的命令

文章目录

ls

ls ==> list

列出当前目录下都有哪些内容(文件/目录)

直接输入 ls,是查看当前目录的情况;输入 ls/ 就是看看 / 这个目录下的情况

  • / 称为"根目录 ",就是 Windows 上的"此电脑"
  • Linux 中没有盘符,所有的目录和文件都是在 / 目录下的
  • 要确保命令和后面的参数之间,要带有至少一个空格

这些就是 / 目录根目录)下包含的内容,这些都是系统自带的文件和目录

  • 这里的文件不能随便删除,删除之后可能系统就用不了了,需要重装云服务器
  • 重装云服务器也非常简单。在网站后台,有个"重装系统"的选项

ls -l /

(简写为:ll /

后面是小写 L,不要写成大写 i 或者数字 1;并且命令和参数之间都有空格

这里是按照列表的方式进行显示,这是最常用的功能

  1. 第一列的十个字母构成的这一串代表该文件的权限,当前用户是否可读、可写、可执行
  • 第一个字母:文件类型
    • -:普通文件
    • d:目录文件(文件夹)
    • l:链接文件

  1. 第三和四列代表文件的拥有者是谁,此处这些文件都是 root 拥有的

  2. 第五列代表文件大小(支队普通文件有意义)

  3. 第六七八列代表最后的修改时间

  4. 最后一列就是名字

touch

创建一个基本的文件,里面是什么都没有的

cd

cd ==>change directory

修改(当前)目录

  • cd / 来到根目录,就相当与点击"此电脑"
  • ~- 这个位置显示的就是你当前所在的目录
    • ~ 也称为"home 目录 ","用户主目录",这个就是用户登录的时候,默认进入的目录
  • 可以输入两个字母,按"tab"键进行补全(唯一)
  • 如果不唯一,可以连续按两次,就会自动列出所有相关的选项

pwd

可以查看当前所处的路径的绝对路径

Linux 的命令中,但凡涉及到相关的操作,都是可以支持绝对路径相对路径

  • Linux 中,绝对路径是以 / 开头的
  • 相对路径是以 . 或者 .. 开头(有的时候 . 可以省略,. 表示当前目录,.. 表示当前目录的上级目录)

绝对路径写法:

cat

查看文件内容,直接把文件内容打印到控制台上

因为里面没有内容,所以什么都看不到

当输入一个命令,没有任何提示,此时就是"成功",如果失败,就会告诉你一些报错信息

echo

打印内容到控制台上

  • 可以直接将内容打印出来
  • 也可以将内容放到指定文件中
    • 这里的 > 就是"重定向"。本来是要写到控制台上的,现在通过重定向将这个内容写到文件中
    • 会将文件里面原有的内容给清空掉之后再进行写入

如果不想将原有内容清空之后再进行写入

  • 就是用 >> 完成追加写

但这里的 echo +重定向 只能写一些简单的字符串内容。如果需要写的内容很多,就不是很方便,更不方便修改改

vim

这是 Linux 上自带的一个文本编辑器,使用 vim 就可以更灵活的对文件进行编辑了。虽然和记事本的定位差不多,但实际上 vim 的使用要复杂得多

我们这里只介绍一些 vim 最最基础的操作:

  1. 打开文件
  2. 编辑文件
  3. 保存退出

后面我们使用服务器,可能会经常在服务器上 查看日志修改配置

打开文件

复制代码
vim + 文件名

编辑内容

vim 包含很多快捷键,快捷键的画风和其他的软件截然不同。

  • 其他的很多软件的快捷键都要搭配 Ctrlalt 之类的组合键完成
  • vim 更期望使我们输入单个案件,就能起到快捷键的效果

所以 vim 引入了"模式"的概念。启动 vim 之后,默认处于 normal mode(普通模式),此时键盘按键都是快捷键,而不是输入文本

要想输入文本,就需要进入 insert mode(插入模式),进入插入模式的方法有很多,最简单的就是 i

保存退出

xshell 中,ctrl + s 是冻结屏幕的指令,ctrl + q 是解除冻结结

  • 先按 esc,回到普通模式(左下角的 insert 就消失了)
  • 再按 :,进入命令模式(光标就会来到左下角),此时输入的内容,就是 vim 的命令
  • 此时输入 wq(write 保存,quit 退出),进行保存退出

mkdir

make directory,创建目录

复制代码
mkdir 目录名

创建多级目录

复制代码
mddir -p 目录层级

rm

remove,删除

复制代码
rm 文件1 文件2 ...
  • 有的系统上(Centos)输入 rm 删除时会有个提示,是否确认要删除,输入 y 就是删除,n 就是不删除
  • 若要一次删除多个,只需要在文件之间加上空格即可

删除目录

删除目录,不仅仅是删除目录本身,还要删除目录包含的其他目录和文件

  • 需要使用 rm -r 来删除,-r 表示"递归"
  • 有的系统上,删除的时候,也会和上面一样,提示你是否要真的删除。如果是删除目录的话,递归过程比较麻烦,每个目录都会要你确认。这时我们可以使用 rm -rf 的方式直接删除
  • f 表示"强制删除",不需要确认
  • 此处的 rm 其实是一个危险操作,一旦删除,数据就没了
  • 删除的时候,一定要确保,你删的这个东西确实是不再使用了
  • 在公司的服务器上,尤其是生产环境中,不敢随意删除
  • rm -rf / 这个命令会把你整个硬盘的数据都给删除掉
  • 因为根目录下不仅有你的文件,还有系统文件,一旦删除,你的机器就用不了了
  • 这个操作,比 drop database 还要猛
    • drop database 只是数据库挂了,但系统里面的其他文件还是好的
    • 但干掉整个系统,是无论数据库,tomcat,其他的程序,其他的数据,统统一锅端

mv

move,移动(剪切,粘贴)

复制代码
mv 要移动的源 移动的目标
  • 不仅可以移动文件,还可以移动目录,把目录内部包含的所有内容都进行移动

使用 mv 还可以针对文件/目录进行重命名

复制代码
mv 原文件 改名文件

mv 操作,无论你移动的是什么(普通文件、目录文件),时间复杂度都是 O ( 1 ) O(1) O(1)

cp

copy,复制

  • 可以拷贝普通文件,也可以拷贝目录
  • 拷贝目录的时候,和 rm 类似,都是要加上 -r 选项,表示要递归地拷贝目录里面的内容

man

Linux 命令很多,而且每个命令还有不同的参数选项,记不住是正常的
Linux 上提供了 man 这个命令==>查看命令的手册

  • man 后面接上命令,即可看到关于这个命令的所有信息
  • q 退出

上述命令都是围绕目录和文件展开的

grep

字符串匹配/查找

比如,想查找某个文件中是否包含某个关键字,这个关键字在第几行,都可以使用 grep 来查看

  • 加上 -n 就是显示是第几行

grep 不仅仅可以在文件中查找,还能搭配其他的命令,完成更复杂的查找操作

ps

process show,展示进程,显示出当前系统上都有哪些进程

  • 单独输入 ps,只能看到当前会话(终端)对应的进程,非常不全
  • 想看到更全的,就输入 ps aux

因为这里的进程太多了,也不好观察,所以很多时候 ps 都会搭配 grep 来使用

  • 比如,查看 mysql 进程的进程 pid
  • | 叫做 管道,会把前面命令的输出,作为后面的命令的输入
  • 上面的一行是服务器的进程
  • 下面的是因为 grep 命令本身也会形成进程,也能被平时获取到

netstat

可以用来查看某个端口是否被某个进程使用;也可以查询某个进程使用了哪些接口

  • 主要关注 TCPUDP 涉及到的网络信息,下面的 Unix 域套接字(属于一种进程间通信的方式)
  • 可以结合 grep 一起使用,netstat -anp | grep mysql

Linux 哲学理念(从 Unix 继承过来),小而美 ,每个命令都很简单,只是集中精力做好一件事。如果想要完成复杂工作,可以把多个命令通过 | 这样的方式组合起来

上述命令,足以覆盖工作中的大多数场景了

总结 :

  • ls:列出指定路径下所包含的文件和目录
  • cd:切换目录
  • pwd:查看当前路径的绝对路径
  • touch:创建空的文件
  • cat:显示文件内容
  • echo:显示内容 & 写入文件
  • vim:文本编辑器
    1. 打开文件:vim 文件名
    2. 编辑文件:小写字母 i 进入插入模式
    3. 保存退出:esc 回到普通模式 :wq
  • mkdir: 创建目录
  • rm:删除文件 & 删除目录(rm -rf
  • mv:移动文件 & 移动目录,也可以重命名
  • cp:复制文件 & 复制目录
  • man:查看手册
  • grep:字符串匹配,查找某个文件是否包含某个字符串
  • ps:查看进程信息
  • netstat:查看网络信息
相关推荐
大树8811 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠11 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质11 小时前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush411 小时前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行52011 小时前
Linux 11 动态监控指令top
linux
小宇宙Zz12 小时前
Maven依赖冲突
java·服务器·maven
Inhand陈工12 小时前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智13 小时前
ARP代理--工作原理
运维·网络·arp·arp代理
不会C语言的男孩13 小时前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
shushangyun_13 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化