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

    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时,真正删除文件。删除源文件软链接只是找不到了目标文件

不能创建目录的硬链接,不能在不同的文件系统的文件间建立硬链接,软链接则没有这些限制

相关推荐
胡斌附体17 分钟前
linux测试端口是否可被外部访问
linux·运维·服务器·python·测试·端口测试·临时服务器
愚润求学26 分钟前
【Linux】自旋锁和读写锁
linux·运维
大锦终27 分钟前
【Linux】常用基本指令
linux·运维·服务器·centos
IT项目管理38 分钟前
达梦数据库DMHS介绍及安装部署
linux·数据库
知北游天1 小时前
Linux:多线程---深入互斥&&浅谈同步
linux·运维·服务器
Gappsong8741 小时前
【Linux学习】Linux安装并配置Redis
java·linux·运维·网络安全
only-lucky1 小时前
C语言socket编程-补充
服务器·c语言·php
try2find1 小时前
移动conda虚拟环境的安装目录
linux·运维·conda
码农101号2 小时前
Linux中容器文件操作和数据卷使用以及目录挂载
linux·运维·服务器
PanZonghui2 小时前
Centos项目部署之Nginx 的安装与卸载
linux·nginx