Bootstrap

Linux常用命令大全


1. Linux严格区分大小写

Linux 是严格区分大小写的,这一点和 Windows 不一样,所以操作时要注意区分大小写的不同,包括文件名和目录名、命令、命令选项、配置文件设置选项等。

2. Linux一切皆文件

Linux 中所有内容都是以文件的形式保存和管理的,硬件设备也是文件,这和 Windows 完全不同,Windows 是通过设备管理器来管理硬件的。Linux 的设备文件保存在/dev/目录中,硬盘文件是/dev/sd[a-p],光盘文件是/dev/hdc 等。
在这里插入图片描述

在这里插入图片描述

3. Linux不依靠扩展名区分文件类型

Windows 是依赖扩展名区分文件类型的,比如,“.txt”是文本文件、“.exe”是执行文件、“.ini”是配置文件、“.mp4”是小电影等。但 Linux 不是靠扩展名区分文件类型的,而是靠权限位标识来确定文件类型的,而且文件类型的种类也不像 Windows 下那么多,常见的文件类型只有普通文件、目录、链接文件、块设备文件、字符设备文件等几种。Linux 的可执行文件不过就是普通文件被赋予了可执行权限而已。
但 Linux 中的一些特殊文件还是要求写“扩展名”的,但是大家小心,并不是 Linux 一定要靠扩展名来识别文件类型,写这些扩展名是为了帮助管理员来区分不同的文件类型。这样的文件扩展名主要有以下几种。

4. Linux中所有的存储设备都必须挂载后才能使用

Linux 中所有的存储设备都有自己的设备文件名,这些设备文件必须在挂载之后才能使用,包括硬盘、U盘和光盘。挂载其实就是给这些存储设备分配盘符,只不过 Windows 中的盘符用英文字母表示,而Linux中的盘符则是一个已经建立的空目录。我们把这些空目录叫作挂载点(可以理解为Windows的盘符),把设备文件(如/dev/sdb)和挂载点(已经建立的空目录)连接的过程叫作挂载

5. Windows中的程序不能直接在Linux中使用

Linux 和 Windows 是不同的操作系统,可以安装和使用的软件也是不同的,所以能够在 Windows中安装的软件是不能在 Linux 中安装的。有好处吗?当然有,那就是能够感染 Windows 的病毒和木马都对 Linux 无效。有坏处吗?也有,那就是所有的软件要想在 Linux 中安装,必须单独开发针对 Linux的版本,或者依赖模拟器软件运行。
很多软件也会同时推出针对 Windows 和 Linux 的版本,如大家熟悉的即时通信软件 QQ。

命令基本格式

命令 [选项] 参数

短选项(short options):顾名思义,就是短小参数。它们通常包含一个连字号和一个字母(大写或小写字母)
例如:-s,-h等
长选项(long options):长选项,包含了两个连字号和一些大小写字母组成的单词
例如:–size,–help等

第一种:参数用一横的说明后面的参数是字符形式。
第二种:参数用两横的说明后面的参数是单词形式。
第三种:参数前有横的是 System V风格。
第四种:参数前没有横的是 BSD风格。

注:
一个程序通常会提供包括short options和long options两种参数形式的参数,short options一般是
其对应的long options的开头字母

-和 --可以用来做区分sh是一个选项sh还是两个选项s和h的组合

-sh是s和h的组合–sh则说明sh是单一的选项

一些例外情况,这个单双连字符的规则不起作用,例如
find -name -fstype

1、显示目录下的内容

ls [选项] [文件名或目录名]
选项:
-a 显示所有文件(包括隐藏文件)
-d 显示目录信息,而不是目录下的文件
-h 人性化显示,按照我们习惯的单位显示文件大小
-i 显示文件的i节点号
-l 显示文件的详细信

第一列为文件种类及权限。此列共有10个字符,其中第一个字符表示文件的种类。即,-表示是普通文
件,d表示为目录,c表示为字符设备,b表示为块设备。而紧跟其后的10个字符,可以分为3块,每3个
字符为一块,表示了此文件(目录)的属主、属组及others的权限。其中,r表示read,w表示write,x
表示execute,-表示无权限。
如,上图中的第一行,-rw-------,表示这是一个普通文件,文件的属主有读取和写入的权限,文件的属
组无权限,others无权限。
第二列表示硬链接个数(文件每增加一个硬链接,数字会增加1,默认从1开始,1表示无硬链接文件,
如果是一个目录,它的默认值应该是2。目录是不能做硬链接的)。
第三列为文件(目录)的属主。
第四列为文件(目录)的属组。
第五列为文件(目录)的大小,单为为字节。
第六列为文件(目录)创建时间或最后一次访问时间,顺序为月、日、时间,如果该时间离现在过久,
则直接显示年份。
第七列为文件名。

2、目录切换命令

在这里插入图片描述

3、创建目录命令

mkdir [选项] 目录名
-p 递归建立目录
此命令只能删除空目录,如果目录非空,则会报错

5、创建空文件或修改文件时间

touch 文件名
touch -d “日期时间” 文件名

6、查看文件属性

stat 文件名

7、查看文件内容

  1. 查看文件内容
    cat [选项] 文件名
    -E 列出每行结尾的回车符$
    -n 显示行号
    -T 把Tab键用^I显示出来
    -v 列出特殊字符

  2. 分页显示文件内容
    在这里插入图片描述

  3. 单独展示文件内容
    less 文件名

  4. 显示文件开头
    head [选项] 文件名
    -n 行数 从文件开头开始,显示指定行数
    -f 监听文件的新增内容

  5. 显示文件结尾
    tail [选项] 文件名
    -n 行数 从文件结尾开始,显示指定行数
    -f 监听文件的新增内

8、文件操作

  1. 删除文件命令
    rm [选项] 文件或目录
    -f 强制删除
    -i 交互删除,删除前询问是否删除
    -r 递归删除,可以删除目录

注:慎用rm -rf *

  1. 复制文件命令
    cp [选项] 源文件 目标文件
    -d 如果源文件为软链接(对硬链接无效) ,则复制出的目标也为软链接
    -i 询问,如果目标文件存在,是否覆盖
    -p 复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)
    -r 递归复制,用于复制目录
    -a 相当于-dpr选项的集合
    (1)复制单个文件
    [root@localhost tmp]# mkdir ccc
    [root@localhost tmp]# touch aaa
    [root@localhost tmp]# ls ccc
    [root@localhost tmp]# cp aaa ccc/
    [root@localhost tmp]# ls ccc
    aaa
    (2)复制多个文件
    [root@localhost tmp]# mkdir crr
    [root@localhost tmp]# touch file{1,2,3}
    [root@localhost tmp]# ls crr/
    [root@localhost tmp]# cp file1 file2 file3 crr/
    [root@localhost tmp]# ls crr/
    file1 file2 file3
    3)复制目录,-r
    [root@localhost tmp]# mkdir crr1 crr2
    [root@localhost tmp]# ls crr2
    [root@localhost tmp]# cp -r crr1 crr2
    [root@localhost tmp]# ls crr2
    crr1

  2. 移动文件命令
    mv [选项] 源文件 目标文件
    -f 强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖
    -i 交互
    -v 显示详细信

9、文件链接

什么是链接?
链接简单说实际上是一种文件共享的方式,可以将链接简单地理解为 Windows 中常见的快捷方式
Linux 中常用它来解决一些库版本的问题,通常也会将一些目录层次较深的文件链接到一个更易访问的
目录中。在这些用途上,我们通常会使用到软链接(也称符号链接)
链接分类:软链接和硬链接

  1. 硬链接
    ln [选项] 源文件 目标文件-s 建立软链接文件,如果不加-s,则建立硬链接-f 强制。如果目标文件已存在,则删除目标文件后再建立链接文件
  2. 软链接
    ln -s 源文件绝对路径 目标文件

创建软连接必须使用绝对路径,否则报错

在这里插入图片描述
在这里插入图片描述

软链接和硬链接区别
硬链接不会创建inode,即使用的inode都是一样的。软链接会创建新的inode
硬链接的访问属性和源文件一模一样,没有l的标识。软链接的访问属性写明了是l,且访问权限不能设
置,只能是777,真正的权限取决于源文件
如果移动源文件,则软链接找不到,而硬链接则没有这个问题,因为软链接存的是文件的位置
硬链接是一种引用关系,一个源文件建立1个硬链接,引用计数加1,删除一个文件(硬链接文件或者源
文件),引用计数减1,当引用计数为0时,真正删除文件。删除源文件软链接只是找不到了目标文件
不能创建目录的硬链接,不能在不同的文件系统的文件间建立硬链接,软链接则没有这些限制

;