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. Java 反编译工具哪家强?对比分析瞧一瞧

    前言 Java 反编译,一听可能觉得高深莫测,其实反编译并不是什么特别高级的操作,Java 对于 Class 字节码文件的生成有着严格的要求,如果你非常熟悉 Java 虚拟机规范,了解 Class 字 ...

  2. 【BUAA 软工热身作业】继往开来,勇攀高峰

    项目 内容 课程:2020春季软件工程课程博客作业(罗杰,任健) 博客园班级链接 作业:热身作业,阅读并撰写博客 作业要求 课程目标 学习大规模软件开发的技巧与方法,锻炼开发能力 作业目标 学习前辈经 ...

  3. 28.HashSet

    4.HashSet集合 4.1HashSet集合概述和特点[应用] 底层数据结构是哈希表 不能保证存储和取出的顺序完全一致 不可以存储重复元素 没有索引,不能使用普通for循环遍历 4.2HashSe ...

  4. 【SecureCRT配置】修改默认卷屏行数当做一个操作,屏幕输出有上百行,当需要将屏幕回翻时,这个设置会有很大帮助,默认为500行,可以改为10000行,不用担心找不到了。 选项 => 全局选项 => Default Session => Edit Default Settings => Terminal => Emulation => Scrollback 修改为32000。

    SecureCRT配置屏幕内容输出到log文件 SecureCRT看不到前几分钟操作的内容,或者想把通过vi命令查看的日志输出到log文件(在懒得下载日志文件的情况下),所以接下来就这样操作: 文件保 ...

  5. js--手动实现一个常见的短信验证码输入框

    前言 本文记录一下自己手动实现的一个前端常见的短信验证码输入组件,从需求到实现逐步优化的过程. 正文 1.需求分析 首先看一下效果图. 首先页面加载的时候,输入框获取焦点,当用户输入一个数字后,焦点自 ...

  6. redis中AOF和RDB的关闭方法

    redis中AOF和RDB的关闭方法   问题:当往redis中导入数据时,有时会出现redis server went away的情况: 原因: 导入的数据量太大,而内存不够(即内存1G,但数据有2 ...

  7. Python+Selenium自动化-定位页面元素的八种方法

    Python+Selenium自动化-定位页面元素的八种方法   本篇文字主要学习selenium定位页面元素的集中方法,以百度首页为例子. 0.元素定位方法主要有: id定位:find_elemen ...

  8. SQL Server 动态创建表结构

    需求是,在word里面设计好表结构(主要在word中看起来一目了然,方便维护),然后复制sql 里面,希望动态创建出来 存储表结构的表 CREATE TABLE [dbo].[Sys_CreateTa ...

  9. nvJPEG库

    nvJPEG库 GPU加速的JPEG解码器,编码器和代码转换器 nvJPEG库是高性能的GPU加速库,用于解码,编码和转码JPEG格式的图像.nvJPEG2000库用于解码JPEG 2000格式的图像 ...

  10. HDR sensor 原理介绍

    HDR sensor 原理介绍 一. HDR sensor 原理介绍 1. 什么是sensor的动态范围(dynamic range): sensor的动态范围就是sensor在一幅图像里能够同时体现 ...