【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:查看网络信息
相关推荐
IpdataCloud4 分钟前
IP数据云 识别和分析tor、proxy等各类型代理
运维·服务器
五味香5 分钟前
Linux学习,ip 命令
linux·服务器·c语言·开发语言·git·学习·tcp/ip
想学习java初学者23 分钟前
Docker compose部署elasticsearch(单机版)
运维·docker·容器
落落落sss30 分钟前
MQ集群
java·服务器·开发语言·后端·elasticsearch·adb·ruby
我救我自己30 分钟前
UE5运行时创建slate窗口
java·服务器·ue5
人类群星闪耀时1 小时前
未来运维的发展趋势:运维领域的新技术与趋势
运维
落非1 小时前
NFS存储基础操作
运维
Vanish_ran1 小时前
gitlab与jenkins
运维·gitlab·jenkins
朱容君1 小时前
Linux系统编程多线程之读写锁讲解
linux·开发语言
大风吹PP凉1 小时前
38配置管理工具(如Ansible、Puppet、Chef)
linux·运维·服务器·ansible·puppet