Linux常用命令详解

目录

一、Linux常用命令

1.1、查看及切换目录(pwd、cd、ls、du)

1.2、创建目录和文件(mkdir、touch、ln)

1.3、复制、删除、移动目录和文件(cp、rm、mv)

1.4、查找目录和文件(which、find)

一、Linux常用命令

1、查看当前工作目录 -pwd

1)显示用户当前所在的工作目录位置-pwd

2) 示例

① 【root@localhost ~】#pwd

/root 当前工作目录

2、切换工作目录 -cd

1) 将用户的工作目录更改到其他位置

2)绝对路径:以根目录为起点,层层递进。因为 Linux 系统中的根目录只有一个,所以不管当前处于哪个目录中,使用绝对路径都可以非常准确地表示一个目录(或文件)所在的位置,但是如果路径较长,输入的时候会比较繁琐。

3)相对路径:一般以当前工作目录作为起点,在开头不使用"/"符号,因此使用的时候更加简短、便捷。相对路径表现形式如下表

3、列表显示目录内容 -ls

ls-l   以长格式显示文件和目录的列表,包括权限,大小,最后更新时间等详细信息。ll命令与ls-l 功能相同

ls-a∶ 显示所有 (all)子目录和文件的信息,包括名称以点号"."开头的隐藏目录和隐藏文件。

ls-A∶ 与-a 选项的作用基本类似,但有两个特殊隐藏目录不会显示,即表示当前目录的"."和表示父目录的".."。

ls-d∶显示目录(Directory)本身的属性,而不是显示目录中的内容。

ls-h∶ 以更人性化(Human)的方式显示目录或文件的大小,默认的大小单位为字节(B),使用-h选项后将显示为KB、MB等单位。此选项需要结合-l 选项一起使用。

ls--color∶ 在字符模式中以颜色区分不同的文件。默认已开启

通常情况下,深蓝色表示目录,白色表示一般文件,绿色表示可执行的文件,黄色表示设备文件,红色表示压缩文件。

ls-i∶ 显示文件和目录的inode号。

用ls-l 命令查看某一个目录会得到一个7个字段的列表

-rwxrwxr--  1  root  root  762  07-29  18:19  exit

第1字段∶ 文件属性字

1)第一个字符代表文件的类型∶

2)"_"表示该文件是一个普通文件

3)"d"表示该文件是一个目录

4)"l"表示该文件是一个软链接文件。类似于windows下的快捷方式

第1字符的后面9个字母表示该文件或目录的权限位∶

r表示读(查看、下载)、w表示写(添加、更改、删除、上传)、x表示执行(运行文件、切换目录),其中前三个表示文件拥有者(属主)的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限。

第2字段∶文件硬链接数

1) 如果一个文件不是目录,此时这一字段表示这个文件所具有的硬链接数

2) 如果是一个目录,则第2字段表示该目录所含子目录的个数。

3) 如果新建一个空目录,这个目录的第二字段就是2,表示该目录下有两个子目录。

第3字段∶ 文件\目录拥有者

第4字段∶文件\目录拥有者所在的组

第5字段∶ 文件所占用的空间 (默认以字节为单位)

如果是一个目录,则表示该目录的大小,而不是目录以及它下面的文件的总大小。 Linux系统中一切皆文件,因此目录也是一种文件。

第6字段∶文件\目录最近访问或修改时间

第7字段∶文件名

如果是一个符号链接(软链接文件),那么会有一个"->"箭头符号,后面根一个它指向的文件名

4、设置别名-alias

1)通过别名机制简化常用的比较长的命令

Alias命令别名=‘命令’(注:命令两边不可有空格)

2)示例:设置myls为ls-alh的别名

alias myls=‘ls-alh’

alias viens33=‘vi /etc/sysconfig/network-scripts/ifcfg-ens33’

alias viens33是vi /etc/sysconfig/network-scripts/ifcfg-ens33的别名

3)取消别名

Unalias命令别名

例 :unalias viens33    删除 viens33别名

5、统计目录及文件空间占用的情况 -du

1) 统计指定目录(或文件)所占用的磁盘空间的大小

du [选项] [文件或目录]

2) 常用选项

注:选项-a和-s不可同时使用,命令冲突

3) 统计出/var/log目录中子目录的大小

du -h --max-depth=1/var/log/

6、创建新目录 -mkdir

1)格式:mkdir [选项]目录名称

mkdir ky12

2)、一次性创建嵌套的多层目录

格式:mkdir -p [选项]目录名称

mkdir -p ky12 ky00 ky02 ....等等

7、创建空文件-touch命令

1) 作用

①更新文件的时间标记

②经常用于创建多个新的空文件夹

touch 文件夹名...

2)示例

创建两个空文件夹,文件名分别为aa txt和bb txt

touch aa bb

touch {a,b}.txt

touch {,aa,bb,cc}.txt   其实创建四个空文件夹,有一个“.”文件夹不显示

8、创建链接文件 -ln

1) 为文件或目录建立链接文件,类似于Windows系统的快捷方式

2) 链接文件类型

软链接(又称为符号链接)

硬链接

3)ln [-s] 源文件或目录...链接文件或目标位置   ln[-s]为创建软链接

创建软链接最好选择绝对路径,选择相对路径删除软链接时有可能导致路径冲突

4)示例

ls -s/bin/bzip2/bin/wx/

5)链接示意图

在Linux中,文件名和文件的数据文件的数据是分开存储的

在Linux中,只有文件的硬链接数==0才会被删除

使用ls -l可以查看一个文件的硬链接的数量

6)硬链接和软链接的区别

当一个文件有多个硬链接时,对文件内容修改,会影响到所有文件名,但是删除一个文件名,不影响别的 文件访问,杀出一个文件名,则会使得“硬链接数”-1

需要注意的是不能对目录做硬链接。在日常工作中几乎不会建立文件的硬链接。

文件是存储在硬盘上的,硬盘的最小存储单位叫做"扇区"(sector),每个扇区存储512字节。

一般连续八个扇区组成一个"块"(block),一个块是4K大小,是文件存取的最小单位。操作系统读取硬盘的时候,是一次性连续读取多个扇区,即一个块一个块的读取的。

文件数据包括实际数据与元信息(类似文件属性)。 文件数据存储在"块"中,存储文件元信息(比如文件的创建者、创建日期、文件大小、文件权限等)的区域就叫做inode。因此,一个文件必须占用一个 inode,并且至少占用一个 block。

每个 inode 都有一个号码,操作系统用 inode 号码来识别不同的文件。Linux 系统内部不使用文件名,而使用inode

号码来识别文件。对于系统来说,文件名只是 inode 号码便于识别的别称,文件名和inode号码是一一对应关系,每个 inode号码对应一个文件名。

所以,当用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它对应的inode,看该用户是否具有访问这个文件的权限。如果有,就指向相对应的数据 block。

9、复制文件或目录 -cp

1)将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录

cp [选项]...源文件或目录...目标文件或目录

2)常用的选项

-f ,-i,-p,-r

-f∶ 覆盖目标同名文件或目录时不进行提醒,而直接强制复制。

-i∶ 覆盖目标同名文件或目录时提醒用户确认。

-p∶ 复制时保持源文件的权限、属主及时间标记等属性不变。

-r∶ 复制目录时必须使用此选项,表示递归复制所有文件及子目录。

注; 复制多个文件或目录时,目标位置必须是目录,且目标目录必须已存在

10、删除文件或目录 -rm

1)删除指定的文件或目录

rm [选项]要删除的文件或目录

2)常用选项

-f、-i、-r

-f∶删除文件或目录时不进行提醒,而直接强制删除。

-i∶删除文件或目录时提醒用户确认。(y表示删除,n表示不删除)

-r∶ 删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)。

注∶ 不要直接删除系统中已有的目录或配置文件,以避免出现意外故障。

rm -rf /etc/yum. repos.d/*

删除目录下文件时建议最好先切换到目录下再执行rm -rf命令

cd /etc/yum. repos.d/

rm -rf ./*  删除当前本目录下所有文件

11、移动文件或目录 -mv

1)作用

将指定的文件或目录转移位置

如果目标位置与源位置相同,则相当于执行重命名操作

mv[选项]...源文件或目录...目标文件或目录

2)示例

mv mytoouch mkfile

mv mkfile public_html

mv 命令只能对单个文件重命名,可以使用rename命令批量修改文件名

例:rename jpq gif *.jpg

命令:mv ky12/ /root/kgc12  执行文件移动过程中也可修改文件名

mv kgc12/ ky12 重命名(将kgc12命名为ky12)

Rename txt jgp *.jgp  批量修改文件名

12、查找命令文件存放的目录 -which

1)格式

which 命令|程序名      ### 默认当找到第一个目标后不再继续查找

which -a 命令|程序名    ### 在所有搜索路径中查找

2)示例:

which ls

which history

注:使用which查找内部命令时,找不到对应的程序,故which指令也可判断一个程序是外部指令还是内部指令

13、查找文件或目录 -find

1)作用

采用递归的方式,根据目标的名称、类型、大小等不同属性进行精细查找

2)格式

find [查找范围]  [查找条件的表达式]

查找范围:查找文件或子目录的目录位置

查找条件表达式:查找条件类型

常用查找条件类型

3)使用find 命令实现多个条件查找

各表达式之间使用逻辑运算符

‘-a’表示 而且(and),需两条件都满足

‘-o’表示 或者(or),两者条件满足任意一条即可

示例:

find /boot-size +1024k  -a  -name“Vmlinuz”

find /boot-size +1024k  -o  -name“Vmlinuz”

4)find的exec用法

find ./-type f -exec ls -l{}\

-exec参数后面跟的是Linux命令,它是以分号";"为结束标志,由于各个系统中分号会有不同的意义,因此在分号前面加上反斜杠转义符"\"。

{ }代表前面find查找出来的文件名。

find ./-name “9*9” -exec rm -rf {} \ ;

find 命令匹配到了当前目录下的开头和结尾为9的文件,并在 -exec 选项中使用rm删除命令将它们删除并不提醒

5)find: 遗漏“-exec”的参数 解决方案

出现这个问题很有可能是:

1、{} 和 \ 之间有空格

2、\ 和 ; 之间没有空格

正确的写法:

find ./-type f -exec ls -I {} \ ;

Linux常用命令详解下的更多相关文章

  1. Linux常用命令详解上

    Linux常用命令详解上 目录 一.shell 二.Linux命令 2.1.内部命令与外部命令的区别 2.2.Linux命令行的格式 2.3.编辑Linux命令行的辅助操作 2.4.获得命令帮助的方法 ...

  2. Linux常用命令详解—基于CentOS7

    ## Linux 目录- /:根目录,一般只存放目录,不存放文件- /bin -> /usr/bin:可执行二进制文件的目录,也是常用命令目录,如常用的命令 ls.cat.mv 等- /boot ...

  3. Linux常用命令详解(week1_day1_3)--技术流ken

    本节内容 pidofpstopipuptimewgetcurltrddtargrepfind 命令详解 1.pidof 获取正在运行程序的PID 实例1: [root@ken ~]# pidof ss ...

  4. Linux常用命令详解(week1_day1_2)--技术流ken

    本节内容 aliasunaliasunamesuhostnamehistorywhichwcwwhowhoamipingkillseqdudffreedate 命令详解 1. alias 设置.’查看 ...

  5. Linux常用命令详解(week1_day1_1)--技术流ken

    本节内容 基础命令:lsmanpwdcdmkdirechotouchcpmvrmrmdircatmorelessheadtailclearpoweroffreboot进阶命令(下一章节):aliasu ...

  6. Linux常用命令详解(3)

    pidofpstopipuptimewgetcurltrddtargrepfind 命令详解 1.pidof 获取正在运行程序的PID 实例1: [root@ken ~]# pidof sshd 24 ...

  7. Linux常用命令详解(2)

    aliasunaliasunamesuhostnamehistorywhichwcwwhowhoamipingkillseqdudffreedate 命令详解 1. alias 设置.’查看别名 实例 ...

  8. Linux常用命令详解(1)

    基础命令:lsmanpwdcdmkdirechotouchcpmvrmrmdircatmorelessheadtailclearpoweroffreboot进阶命令(下一章节):aliasunalia ...

  9. Linux常用命令详解(1)

    基础命令: ls man pwd cd mkdir echo touch cp mv rm rmdir cat more less head tail clear poweroff reboot 命令 ...

随机推荐

  1. 【近取 key】技术规格说明书

    项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 技术规格说明书 我在这个课程的目标是 进一步提升工程化开发能力,积累团队协作经验,熟悉全栈开发流程 ...

  2. Java中volatile关键字你真的理解了吗?

    面:你怎样理解volatile关键字时? 我:不加思索的说出,volatile修饰的成员变量,可保证线程可见性.不保证原子性和禁止指令重排. 面:你能谈谈什么是线程可见性吗? 我:各个线程对主内存中共 ...

  3. vue2.0与3.0响应式原理机制

    vue2.0响应式原理 - defineProperty 这个原理老生常谈了,就是拦截对象,给对象的属性增加set 和 get方法,因为核心是defineProperty所以还需要对数组的方法进行拦截 ...

  4. [java] Maven安装本地jar包

    命令 mvn install:install-file -Dfile="E:\software\Apache\repository\org\apache\flink\flink-connec ...

  5. shell判断一个变量是否为空方法总结

    shell中如何判断一个变量是否为空 shell编程中,对参数的错误检查项中,包含了变量是否赋值(即一个变量是否为空),判断变量为空方法如下: 1.变量通过" "引号引起来 1 2 ...

  6. Docker——安装部署

    前言 从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE. Docker CE 即社区免费版,Docker EE 即企业版,强调安 ...

  7. 云原生ASP.NET Core程序的可监测性和可观察性

    分布式应用程序很复杂,给开发人员调试和修复生产问题带来了一系列挑战.尽管微服务架构可帮助维持一支规模较小,可以自主工作并专注于独立业务团队,但由于其分布式性质,它带来了新的挑战.例如,在业务交易过程中 ...

  8. Go以及调试工具dlv安装及使用

    安装go wget https://studygolang.com/dl/golang/go1.14.1.linux-amd64.tar.gz tar -C /usr/local -zxvf go1. ...

  9. XShell本地上传文件到Ubuntu上及从Ubuntu下载文件到本地

    使用XShell本地上传文件到Ubuntu上及从Ubuntu下载文件到本地. 1.第一种方法是最常用的 :如果下载了Xshell和Xftp,Ctrl+Alt+F就可以选择文件的互传了!(虚拟机/云服务 ...

  10. CoSky-Mirror 就像一个镜子放在 Nacos、CoSky 中间,构建一个统一的服务发现平台

    CoSky 基于 Redis 的服务治理平台(服务注册/发现 & 配置中心) Consul + Sky = CoSky CoSky 是一个轻量级.低成本的服务注册.服务发现. 配置服务 SDK ...