前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >linux常用文件命令

linux常用文件命令

作者头像
张哥编程
发布2024-12-19 14:23:13
发布2024-12-19 14:23:13
5220
举报
文章被收录于专栏:云计算linux云计算linux

一、选项和参数的区别

​ ​在经过上一次的系统安装后我们已经成功登陆,登陆​LInux​后,我们就可以在​#​或​$​符后面去输入命令,有的时候命令后面还会跟着“选择“(英文名:​options​)或“参数”(英文名:​agruments​)。即​Linux​中的命令格式为:

command [options] [arguments]​ //中括号表示可选的,即有些命令不需要选项也不需要参数,但有的命令在运行时需要多个选项或参数。

options(选项):​选项是调整命令执行行为的开关,即,选项不同决定了命令的显示结果不同。

选项分为长选项和短选项。

短选项:例如-h,-l,-s等。(- 后面接单个字母)

1、短选项都是使用 ‘-’ 引导,当有多个短选项时,各选项之间使用空格隔开

2、有些命令的短选项可以组合,例如 ​-l -h​ 可以组合为​-lh

3、有些命令的短选项可以不带​ -​ ,这通常叫做BSD风格的选项。例如​ps aux

4、有些短选项需要带选项本身的参数,例如​ -L 512M

长选项:例如 --help,--list 等。(-- 后面接单词)

1、长选项都是完整的单词

2、长选项通常不能组合

3、如果需要加参数,长选项的参数通常需要​ "="​,例如 ​--size=1G

agruments(参数):

参数是指命令的作用对象。

例如 ​ls​ 命令,不加参数的时候显示是当前目录,也可以加参数,例如 ​ls /dev​,则输出的结果是 ​/dev ​目录。

小结一下:

选项是限定结果的显示结果

短选项( - ):只能修饰一个字符的选项,例如:ls -a,当然多个短选项可以合并,例如tar -cvf

长选项( -- ):既可以修饰单个字符,也可以修饰一个单词,例如:chkconfig --list,chkconfig --add xxx,service --status-all

参数是指命令的作用对象

我这里简单说明了选项和参数的区别,但具体​Linux​中哪条命令有哪些选项和参数,需要我们靠经验积累或者查看Linux的帮助了(​man​帮助命令)。

二、权限管理:UNIX权限:U(rwx)g(rwx)0(rwx)

r ​--可读权限

w ​--可写权限

x ​ --可执行权限

linux常用文件命令_参数说明
linux常用文件命令_参数说明

也可以用数字来表示 :

r=4 w=2 x=1

例:rwx = 7(4+2+1) ; rw = 6 (4+2) ; r-w = 5 (4+0+1) ; r-- = 4 (4+0+0) ; --x = 1 (0+0+1);

示例:

(1)# chmod 777 test1 ​--赋予test1可读可写可执行权限​(所有权限)

linux常用文件命令_参数说明_02
linux常用文件命令_参数说明_02

(2)​# chmod 755 test1​ --赋予​test1​用户所有权限,组可读可执行权限,其他用户可读可执行权限

linux常用文件命令_参数说明_03
linux常用文件命令_参数说明_03

三、Linux入门基础命令--文件和目录常用操作命令

在学习之前我们得先了解一下绝对路径和相对路径这两个概念

绝对路径:

​ ​ ​在Linux中,绝对路径是从/(即根目录)开始的,例如 /usr、/etc/X11。如果一个路径是从 / 开始的,它一定是绝对路径。举几个示例

[root@srv1 ~]# ​pwd​ --判断当前用户所在的位置,也就是说他现在到底位于哪里

/root ​ --用户当前位于/root

[root@srv1 doc]# ​cd /usr/share/doc/​ --以绝对路径方式进入/usr/share/doc目录下

[root@srv1 doc]# ​pwd ​ --判断用户当前所在的位置

/usr/share/doc​ --用户位于/usr/share/doc,看来已经达到目的了

相对路径:

是以 . 或 .. 开始的, .户当前操作所在的位置,而 .. 表示上级目录,在路径中, . 表示用户当前所在的目录,而 .. 上级目录,要把 . 和 .. 当做目录来看,这里也举几个例子

[root@srv1 ~]# ​pwd​ --通过pwd来判断当前用户所在的位置

/root ​ --得出目录处于/root目录中;

[root@srv1 ~]# ​cd . ​ --我们进入​ .

[root@srv1 ~]# ​pwd ​--判断当前用户所在的位置

/root ​--得出在root目录中

[root@srv1 ~]# ​cd .. ​--我们切入/root的上级目录

[root@srv1 /]# ​pwd ​--判断当前用户所在的位置

/ ​ --用户当前处于 /(根目录)中​ ​

​下面来讲讲Linux中文件和目录中常用命令的【命令作用】,【命令语法】,【常用选项】,【参数说明】和【命令示例】

1.ls

【命令作用】

列出文件和目录的内容

【命令语法】

ls​ [选项] [参数]

【常用选项】

-l​ --以长格式显示,列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等

-L​ --列出文件的链接名,​Link​(链接)

-A​ --列出除了​ "."​ 和​ ".."​以外的文件

-a​ --列出文件下所有的文件,包括以​ "."​ 和​ ".."​开头的隐藏文件 (Linux下文件隐藏文件是以​ .​ 开头的,如果存在​ ..​ 代表存在着父目录)

-d ​ --列出目录本身而非目录内的文件,通常要与-l一起使用

-i ​ --显示每个文件的inode号

-R​ --同时列出所有子目录层,与​-l​相似,只是不显示出文件的所有者,相当于编程中的“递归”实现

-t ​ --按照时间进行文件的排序,​Time​(时间)

-F ​ --在每一个文件的末尾加上一个字符说明该文件的类型。​"@" ​表示符号链接、​"l" ​表示FIFOS、​"/" ​表示目录、​"=" ​表示套接字。

-s​ --在每个文件的后面打印出文件的大小,​size​(大小)

-S​ --以文件的大小进行排序

【参数说明】

目录或文件 (需要注意绝对路径和相对路径,详解请看第二部分开头)

【命令示例】

# ls -l​ --以长格式列出当前目录中的文件及目录

linux常用文件命令_硬链接_04
linux常用文件命令_硬链接_04

2.pwd

【命令作用】

查看”当前工作目录“的完整路径

【命令语法】

pwd​ [选项]

【常用选项】

【参数说明】

一般情况下不带任何参数

【命令示例】

# pwd​ --查看默认工作目录的完整路径

linux常用文件命令_命令_05
linux常用文件命令_命令_05

3.cd

【命令作用】

显示当前目录的名称,或更改当前的目录(打开特定目录)

【命令语法】

cd​ [选项] [参数]

【常用选项】

【参数说明】

切换用户当前目录,例如​ .​ 表示当前目录​ .. ​表示上一级目录 ,​~​ 表示家目录​ /​ 表示根目录

【命令示例】

[root@srv1 ~]​# cd​ --切换到前期用户家目录

[root@srv1 ~]​# cd​ ​. ​ --切换到当前目录

[root@srv1 ~]​# cd​ ​.. ​--切换到当前目录上一级目录

[root@srv1 /]​# cd​ ​~ ​--切换到用户家目录

[root@srv1 ~]​# cd / ​--切换到根目录下

4.touch

【命令作用】

创建空文件或文件时间戳修改

【命令语法】

touch​ [选项] [参数]

【常用选项】

-a​ --修改文件的存取时间

-m ​--修改文件的变动时间

-t​ --使用指定的日期时间,而非现在的时间

-c​ --如果要修改的文件不存在,此选项使​touch​不去创建它

-d​ --使用时间值 time代替指定文件的戳记值.可以包含月份名,时区名以及​`am'​和 ​`pm'​等等

-f​  --此参数将忽略不予处理,仅负责解决​BSD​版本​touch​指令的兼容性问题

-r ​--把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同

-t​  使用指定的日期时间,而非现在的时间

【参数说明】

创建文件的文件名

【命令示例】

# touch /home123​ --在home目录下创建文件123 (这是一个绝对路径)

linux常用文件命令_参数说明_06
linux常用文件命令_参数说明_06

5.echo

【命令作用】

在显示器上显示一段文字,一般起到一个提示的作用

补充说明:​echo​会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。

【命令语法】

echo​ [选项] [参数]

【常用选项】

-e​ --允许下面列出的加反斜线转义的字符进行解释

\n​ --换行符

\f​ --换页符

\t​ --水平制表符

\v​ --纵向制表符

【参数说明】

需要打印的内容或变量

【命令示例】

(1)文本的直接输入:

# echo 'Welcome To WCZY'

linux常用文件命令_文件名_07
linux常用文件命令_文件名_07

(2) 输出变量的值:假设定义一个变量:

# bl="Welcome To WCZY"

# echo $bl

linux常用文件命令_文件名_08
linux常用文件命令_文件名_08

解释:​bl​是定义的变量名,​=​号后面是赋值,字符串需要用​“”​括起来。​$​后面直接跟上变量名即可

(3)echo 后跟单双引号的区别:

linux常用文件命令_硬链接_09
linux常用文件命令_硬链接_09

解释:​echo​后的单引号表示强引用,单引号里面是什么就输出什么,而双引号是弱引用,变量的值会代替变量名输出。

(4)选项中加入​ -e​ ,转义字符可用:

\t:​插入制表符,即跳格显示

echo -e “Hello Linux\tHello World”

linux常用文件命令_文件名_10
linux常用文件命令_文件名_10

不加​ -e​ 的对比,如下:

echo "Hello Linux\tHello World"

linux常用文件命令_参数说明_11
linux常用文件命令_参数说明_11

6.mkdir

【命令作用】

创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。

【命令语法】

mkdir​ [选项] [参数]

【常用选项】

-p ​--可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录(递归)

-v ​ --每次创建新目录都显示信息

-m ​--设定权限<模式> (类似 ​chmod)​,而不是 ​rwxrwxrwx ​减 ​umask

【参数说明】

需要创建的目录

【命令示例】

(1)创建一个空目录

# mkdir test1

linux常用文件命令_命令_12
linux常用文件命令_命令_12

(2)递归创建多个目录

# mkdir -p test2/test22

linux常用文件命令_命令_13
linux常用文件命令_命令_13

(3)创建权限为777的目录

# mkdir -m 777 test3

linux常用文件命令_文件名_14
linux常用文件命令_文件名_14

test3 的权限为rwxrwxrwx

(4)创建新目录都显示信息

# mkdir -v test4

linux常用文件命令_参数说明_15
linux常用文件命令_参数说明_15

7.cp

【命令作用】

复制文件或者目录

【命令语法】

cp​ [选项] 源 目标

【常用选项】

-f​ --如果目标文件无法打开则将其移除并重试(当 -n 选项存在时则不需再选此项)

-n​ --不要覆盖已存在的文件(使前面的 -i 选项失效)

-i​ --覆盖前询问(使前面的 -n 选项失效)

-p​ --保持指定的属性(默认:模式,所有权,时间戳),如果可能保持附加属性:环境、链接、xattr 等

-P​ --不跟随源文件中的符号链接

-R,-r​ --复制目录及目录内的所有项目

-v​ --显示过程 (通常与-r一起使用)

-s​ --对源文件建立符号连接,而非复制文件

【参数说明】

源文件

目标文件

【命令示例】

(1)将​home​目录中的​abc​文件复制到根目录下

# cp /home/abc /

linux常用文件命令_硬链接_16
linux常用文件命令_硬链接_16

(2)目标文件存在时,会询问是否覆盖

# cp /home/abc /

linux常用文件命令_参数说明_17
linux常用文件命令_参数说明_17

解释:目标文件存在时,会询问是否覆盖。这是因为cp是cp -i的别名。目标文件存在时,即使加了-f标志,也还会询问是否覆盖。

(3)复制整个目录

linux常用文件命令_linux_18
linux常用文件命令_linux_18

当目标目录不存在时

linux常用文件命令_linux_19
linux常用文件命令_linux_19

解释:注意目标目录存在与否结果是不一样的。目标目录存在时,整个源目录被复制到目标目录里面

(4)复制的​abc​文件建立一个连结档​abc.log

# cp -s abc abc.log

linux常用文件命令_命令_20
linux常用文件命令_命令_20

8.mv

【命令作用】

移动文件或者将文件改名​(move (rename) files),​经常用来备份文件或者目录。

【命令语法】

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

【常用选项】

-b​ --若需覆盖文件,则覆盖前先行备份

【参数说明】

源文件

目标文件

【命令示例】

(1)文件改名

# mv abc qwe

linux常用文件命令_硬链接_21
linux常用文件命令_硬链接_21

解释:将文件​abc​重命名为​qwe

(2)移动文件

# mv test3 test4

linux常用文件命令_命令_22
linux常用文件命令_命令_22

9.rmdir

【命令作用】

删除空目录

【命令语法】

rmdir ​ [选项] 目录

【常用选项】

-p​ --递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。

-v​ --显示指令执行过程

【参数说明】

需要删除的目录

【命令示例】

(1)不能删除非空目录

# rmdir bus

linux常用文件命令_硬链接_23
linux常用文件命令_硬链接_23

(2)递归删除当前目录下的​1/2/3/4/5/6目录

# ​rmdir -pv 1/2/3/4/5/6

linux常用文件命令_linux_24
linux常用文件命令_linux_24

10.rm

【命令作用】

删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。

rm​是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在 ​/​(根目录)下执行​rm * -rf​)。所以,我们在执行​rm​之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑​

【命令语法】

rm ​ [选项] 文件

【常用选项】

-f​ --忽略不存在的文件,从不给出提示

-r​ --指示​rm​将参数中列出的全部目录和子目录均递归地删除。

【参数说明】

需要删除的文件或目录

【命令示例】

(1)删除某个文件时,系统会先询问是否删除

# rm 文件名

linux常用文件命令_硬链接_25
linux常用文件命令_硬链接_25

解释:输入​rm qwe​命令后,系统会询问是否删除,输入​y​后就会删除文件,不想删除文件则输入​n​。

(2)强制删除某个文件

# rm-rf abc.log

linux常用文件命令_参数说明_26
linux常用文件命令_参数说明_26

解释:强制删除文件​abc.log

11.nano

【命令作用】

文本编辑器

【命令语法】

nano​ [选项] [+行,列] [参数]

【常用选项】

【参数说明】

文件名

【命令示例】

# nano abc​  编辑名为abc的文本

12.vi/vim

【命令作用】

文本编辑器,若文件存在则是编辑,若不存在则是创建并编辑

【命令语法】

vim​ [选项] [参数]

【常用选项】

linux常用文件命令_文件名_27
linux常用文件命令_文件名_27

【参数说明】

文件名

【命令示例】

# vim abc​ 编辑名为abc的文本

13.shred

【命令作用】

用随机值重写覆盖文件,让文件无法恢复

【命令语法】

shred​ [选项] 文件 [参数]

【常用选项】

-n​ --自行指定重写覆盖的次数,默认为三次

-s​ --覆盖指定的字节数(可接受​K、M、G​等等的单位)

-u​ --在重写覆盖后截断和删除文件

-v​ --显示过程

-z ​--添加一个带有0的最终覆盖,以隐藏分解

【参数说明】

指定要覆盖的文件名

【命令示例】

# shred -n 3 -u app​  覆盖​app​文件三次,并删除

linux常用文件命令_参数说明_28
linux常用文件命令_参数说明_28

14.cat

【命令作用】

连接文件并在标准输出上输出。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。

【命令语法】

cat​ [选项] [参数]

【常用选项】

-E​ --在每行结束显示​ $

-n​ --给所有输出行编号

-v​ --使用​ ^​ 和 ​M-​ 引用,除了 ​LFD ​和 ​TAB​ 之外

【参数说明】

文件名

【命令示例】

(1)将123和456的内容输入到789里

# cat 123 456 > 789

linux常用文件命令_参数说明_29
linux常用文件命令_参数说明_29

(2)显示123文件内容和换行符

# cat -E 123

linux常用文件命令_硬链接_30
linux常用文件命令_硬链接_30

(3)显示123文件内容

# cat 123

linux常用文件命令_参数说明_31
linux常用文件命令_参数说明_31

(4)显示123文件内容和行号

# cat -n 123

linux常用文件命令_命令_32
linux常用文件命令_命令_32

15.nl

【命令作用】

计算文件中行号。​nl ​可以将输出的文件内容自动的加上行号!其默认的结果与 ​cat -n ​有点不太一样,​ nl​ 可以将行号做比较多的显示设计,包括位数与是否自动补齐 。 等等的功能。

【命令语法】

nl​ [选项] [参数]

【常用选项】

-b a ​ --表示不论是否为空行,也同样列出行号(类似 ​cat -n​)

-b t ​--如果有空行,空的那一行不要列出行号(默认值)

【参数说明】

文件名

【命令示例】

(1)用nl列出/(根目录)123文件里的内容

# nl /123

linux常用文件命令_文件名_33
linux常用文件命令_文件名_33

(2)用 nl 列出/123文件的内容,空本行也加上行号

# nl -b a /123

linux常用文件命令_linux_34
linux常用文件命令_linux_34

16.tac

【命令作用】

倒序查看指定文件内容

【命令语法】

tac​ [选项] [参数]

【常用选项】

【参数说明】

文件名

【命令示例】

# tac /123​ --倒叙查看/123文件内容

linux常用文件命令_参数说明_35
linux常用文件命令_参数说明_35

17.more

【命令作用】

类似 ​cat ,cat​命令是整个文件的内容从上到下显示在屏幕上。 ​more​会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键​(space)​就往下一页显示,按​ b​ 键就会往回​(back)​一页显示,而且还有搜寻字串的功能 。​more​命令从前向后读取文件,因此在启动时就加载整个文件。

【命令语法】

more​ [选项] [参数]

【常用选项】

【参数说明】

文件名

【命令示例】

(1)​# more​ [文件名] --分屏查看指定文件内容

(2)显示文件中从第3行起的内容

# more +3 /123

linux常用文件命令_硬链接_36
linux常用文件命令_硬链接_36

(3)从文件中查找第一个出现​"1a"​字符串的行,并从该处前两行开始显示输出

# more +/1a /123

linux常用文件命令_硬链接_37
linux常用文件命令_硬链接_37

(4)列一个目录下的文件,由于内容太多,我们应该学会用​more​来分页显示。这得和管道 | 结合起来

# ls -l | more -7

linux常用文件命令_linux_38
linux常用文件命令_linux_38

解释:每页显示7个文件信息,按 ​Ctrl+F​ 或者 空格键 将会显示下5条文件信息。

18.less

【命令作用】

工具也是对文件或其它输出进行分页显示的工具,应该说是​Linux​正统查看文件内容的工具,功能极其强大。​less​ 的用法比起 ​more ​更加的有弹性。在 ​more ​的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 ​less​ 时,就可以使用​ [pageup] [pagedown]​ 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 ​less ​里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

【命令语法】

less ​ [选项] [参数]

【常用选项】

【参数说明】

文件名

【命令示例】

(1)​# less 123 ​--查看文件123内容

linux常用文件命令_文件名_39
linux常用文件命令_文件名_39

(2)ps查看进程信息并通过less分页显示

# ps -ef |less

linux常用文件命令_linux_40
linux常用文件命令_linux_40

(3)浏览多个文件

# less 123 456

linux常用文件命令_硬链接_41
linux常用文件命令_硬链接_41

输入 ​:n​ 后,切换到 ​456​;输入 ​:p​ 后,切换到​123

linux常用文件命令_硬链接_42
linux常用文件命令_硬链接_42

*附加备注*

1.全屏导航

ctrl + F​ --向前移动一屏

ctrl + B​ --向后移动一屏

ctrl + D ​ -- 向前移动半屏

ctrl + U​ -- 向后移动半屏

2.单行导航

j ​-- 向前移动一行

k​ -- 向后移动一行

3.其它导航

G​ -- 移动到最后一行

g​ -- 移动到第一行

q / ZZ​ -- 退出 less 命令

4.其它有用的命令

v​ -- 使用配置的编辑器编辑当前文件

h​ -- 显示 less 的帮助文档

&pattern​ -- 仅显示匹配模式的行,而不是整个文件

5.标记导航

当使用 ​less​ 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:

ma​ -- 使用 ​a​ 标记文本的当前位置

'a​ -- 导航到标记​ a ​处

19.head

【命令作用】

head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。

【命令语法】

head ​ [选项] [参数]

【常用选项】

-q​ --隐藏文件名

-v​ --显示文件名

-c​ --<字节> 显示字节数

-n​ --<行数> 显示的行数

-# --显示文件开头#行内容

【参数说明】

文件名

【命令示例】

(1)​#head 123​ --显示文件123前十行内容

linux常用文件命令_linux_43
linux常用文件命令_linux_43

(2)​#head -12 123​ --显示文件​123​前十二行内容

linux常用文件命令_硬链接_44
linux常用文件命令_硬链接_44

(3)​# head -n -5 123​ --显示文件​123​除了最后​5​行的全部内容

linux常用文件命令_命令_45
linux常用文件命令_命令_45

(4)​# head -c -7 123 ​--显示文件123的除了最后7个字节以外的内容

linux常用文件命令_linux_46
linux常用文件命令_linux_46

20.tail

【命令作用】

从指定点开始将文件写到标准输出.使用​tail​命令的-f选项可以方便的查阅正在改变的日志文件,t​ail -f filename​会把​filename​里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.

【命令语法】

tail​ [必要参数] [选择参数] [文件]

【常用选项】

-f​ -- 跟踪显示文件新追加的内容

-#​ --显示末尾到#号的内容

-n​ --显示行数

【参数说明】

文件名

【命令示例】

(1)循环查看文件内容

# tail -f 888 --ping 192.168.0.1 > 888 &​ //在后台ping远程主机。并输出文件到​888​;这种做法也使用于一个以上的档案监视。用​Ctrl+c​来终止

linux常用文件命令_文件名_47
linux常用文件命令_文件名_47

(2)从第5行开始显示文件

# tail -n +5 123 ​--从第五行开始显示文件123的内容

linux常用文件命令_硬链接_48
linux常用文件命令_硬链接_48

(3)显示文件末尾内容

# tail -n 5 123 ​--从后五行开始显示文件123的内容

linux常用文件命令_命令_49
linux常用文件命令_命令_49

21.grep

【命令作用】

文本过滤,模糊查找

【命令语法】

grep​ [选项] [需要查找的内容] [参数]

【常用选项】

--color=auto ​--对匹配到的文本着色显示

-v​ --显示不能够被pattern匹配到的行

-i ​--忽略字符大小写

-n​ --显示行号

-q​ --静默模式,不输出任何信息;

-A​ # ​ ​--​after​, 后#行

-B​ # ​ --before​, 前#行

-C​ # --​context​, 前后各#行

【参数说明】

文件名

【命令示例】

(1)​# grep a /123​ --在根目录下的文件​123​中查找含字母​a​的行

linux常用文件命令_linux_50
linux常用文件命令_linux_50

(2)​# grep -i a /123​ --在根目录下的文件​123​中查找含​a​或者​A​的行

linux常用文件命令_参数说明_51
linux常用文件命令_参数说明_51

(3)​# grep -n a /123​ --在根目录下的文件​123​中查找含​a​的行,并显示行号

linux常用文件命令_硬链接_52
linux常用文件命令_硬链接_52

(4)​# grep -v a /123​ --在根目录下的文件​123​中查找不含​a​的行

linux常用文件命令_参数说明_53
linux常用文件命令_参数说明_53

22.cut

【命令作用】

剪切

【命令语法】

cut​ [选项] [文件]

【常用选项】

-d​ --指明分隔符 (通常与-f一起使用)

-f​ --指定区域

【参数说明】

文件名

【命令示例】

# cut -d : -f 1,4,7 /etc/passwd ​--显示​etc​目录下​passwd​文件的第​1,4,7​行

linux常用文件命令_文件名_54
linux常用文件命令_文件名_54

23.sort

【命令作用】

对文件进行排序

【命令语法】

sort​ [选项] [参数]

【常用选项】

-f​ --忽略字符大小写

-r​ --逆序

-t​ ​DELIMITER ​--字段分隔符

-k​ # --以指定字段为标准排序

-n​ --以数值大小进行排序

-u​ --​uniq​,排序后去重

【参数说明】

文件名

【命令示例】

(1)​# sort -r /123 ​ 以倒序的方式显示根目录下​123​文件内容

linux常用文件命令_文件名_55
linux常用文件命令_文件名_55

(2)​# sort -k 3 -t : -n /etc/passwd​  以​etc​目录中的​passwd​文件中的第三列为主,按数值方式排序

linux常用文件命令_命令_56
linux常用文件命令_命令_56

24.tr

【命令作用】

字符替换和删除(通常接在管道符后面使用)

【命令语法】

tr​ [选项] [参数]

【常用选项】

-d​ --删除文件中的指定字符

【参数说明】

源字符串

【命令示例】

(1)​# echo "HELLO" | tr 'A-Z' 'a-z' ​ --将大写字母转成小写字母

linux常用文件命令_文件名_57
linux常用文件命令_文件名_57

(2)​# echo "HELLO" | tr -d 'L,H' ​ --删除​L​和​H​这两个字符

linux常用文件命令_命令_58
linux常用文件命令_命令_58

25.wc

【命令作用】

统计指定文件中的字节数、字数、行数,并将统计结果显示输出。

【命令语法】

wc​ [选项] 文件

【常用选项】

-c​ --统计字节数

-w​ --统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串

-l​ --统计行数

-m​ --统计字符数。这个标志不能与​ -c​ 标志一起使用

【参数说明】

文件名

【命令示例】

(1)​# wc -l /123 ​ --查看123有多少行

linux常用文件命令_linux_59
linux常用文件命令_linux_59

(2)​# wc -w /123 ​--查看123中有多少个字数

linux常用文件命令_文件名_60
linux常用文件命令_文件名_60

(3)​# wc -c /123 ​ --查看文件123的大小是多少

linux常用文件命令_参数说明_61
linux常用文件命令_参数说明_61

(4)​# ls -l | wc -l ​--统计当前目录下的文件数

linux常用文件命令_硬链接_62
linux常用文件命令_硬链接_62

26.uniq

【命令作用】

删除排序文件中的重复行,通常与sort一起使用

【命令语法】

uniq​ [选项] [参数]

【常用选项】

-c​ --显示每行重复出现的次数

-d​ --仅显示重复过的行

-u​ --仅显示不曾重复的行

【参数说明】

文件名

【命令示例】

(1)查找文件123中的重复行

# sort 123 |uniq -d

linux常用文件命令_文件名_63
linux常用文件命令_文件名_63

(2)统计所有字符出现的次数

# sort 123 |uniq -c

linux常用文件命令_linux_64
linux常用文件命令_linux_64

(3)查找123中仅出现过一次的行

# sort 123 |uniq -u

linux常用文件命令_文件名_65
linux常用文件命令_文件名_65

27.tee

【命令作用】

既输出到文件又输出到屏幕

【命令语法】

tee​ [选项] [参数]

【常用选项】

【参数说明】

文件名

【命令示例】

# ls | tee 123​ --将​ls​看到的内容输出到屏幕并写入到​555.log​文件里

linux常用文件命令_参数说明_66
linux常用文件命令_参数说明_66

28.diff

【命令作用】

比较文件之间的差异

【命令语法】

diff​ [参数] [文件1或目录1] [文件2或目录2]

【常用选项】

【参数说明】

文件1或目录1

文件2或目录2

【命令示例】

# diff a1 a2​ --对比​a1​和​a2​的不同

linux常用文件命令_命令_67
linux常用文件命令_命令_67

29.du

【命令作用】

查看使用空间,但是与​df​命令不同的是​Linux du​命令是对文件和目录磁盘使用的空间的查看,还是和​df​命令有一些区别的.

【命令语法】

du [选项] [参数]

【常用选项】

-s​ --仅显示总计,只列出最后加总的值

-h​ --以K,M,G为单位,提高信息的可读性

-a​ --显示目录中个别文件的大小

【参数说明】

目录名

【命令示例】

(1)​# du -s /home​ --显示​home​目录的大小

linux常用文件命令_linux_68
linux常用文件命令_linux_68

(2)​# du -h /home​ --显示​home​目录大小。以​K,M,G​为单位

linux常用文件命令_文件名_69
linux常用文件命令_文件名_69

(3)​# du -a /mnt​ --显示​mnt​目录下的文件大小详细情况

linux常用文件命令_命令_70
linux常用文件命令_命令_70

30.ln

【命令作用】

创建软硬链接,不带选项为硬链接。

为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用​ln​命令链接​(link)​它就可以,不必重复的占用磁盘空间。

【命令语法】

ln​ [选项] [参数]

【常用选项】

-b​ --删除,覆盖以前建立的链接

-s ​--软链接(符号链接)

【参数说明】

源文件

被链接的文件

【科普】:

Linux​文件系统中,有所谓的链接​(link)​,我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接​(hard link)​与软链接​(symbolic link)​,硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统

软链接:

1.软链接,以路径的形式存在。类似于​Windows​操作系统中的快捷方式

2.软链接可以 跨文件系统 ,硬链接不可以

3.软链接可以对一个不存在的文件名进行链接

4.软链接可以对目录进行链接

硬链接:

1.​硬链接,以文件副本的形式存在。但不占用实际空间

2.​不允许给目录创建硬链接

3.​硬链接只有在同一个文件系统中才能创建(不能跨分区进行)

区别:

a.​硬链接不会产生新的​inode​,软链接则会产生新的​inode

b.​删除源文件之后,硬链接仍然可用,但软链接就不可用

c.​硬链接只能用于文件,而软链接可以用于文件和目录

d.​硬链接不能跨分区,而软链接可以

这里有两点要注意:

第一,ln​命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化

第二,ln​的链接又分软链接和硬链接两种,软链接就是​ln –s​ 源文件 目标文件,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接​ ln​ 源文件 目标文件,没有参数​-s​, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。

ln​指令用在链接文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,且最后的目的地并非是一个已存在的目录,则会出现错误信息

【命令示例】

(1)​# ln -s 123 link123 ​--为123文件创建软链接link123,如果123丢失,link123将失效

linux常用文件命令_命令_71
linux常用文件命令_命令_71

(2)​# ln 123 ln123 ​--为​123​创建硬链接​ln123​,​123​与​ln123​的各项属性相同

linux常用文件命令_参数说明_72
linux常用文件命令_参数说明_72

(3)结合前两步示例,链接完毕后删除和重建链接原文件

linux常用文件命令_硬链接_73
linux常用文件命令_硬链接_73
linux常用文件命令_参数说明_74
linux常用文件命令_参数说明_74

解释:

1.​源文件​123​被删除后,并没有影响硬链接文件;软链接文件在​Linux​系统下不断的闪烁,提示源文件​123​已经不存在

2.​重建源文件​123​后,软链接不在闪烁提示,说明已经链接成功,找到了链接文件系统;重建后,硬链接文件并没有受到源文件影响,硬链接文件的内容还是保留了删除前源文件的内容,说明硬链接已经失效

31.type

【命令作用】

查看命令的类型

例:

alias:​别名

keyword:​关键字,Shell保留字

function:​函数,Shell函数

builtin:​内建命令,Shell内建命令

file:​文件,磁盘文件,外部命令

unfound:​没有找到

【命令语法】

type​ [选项] [参数]

【常用选项】

-t ​--简单显示命令属于​外部命令​,​内部命令​还是​别名命令

-p ​ --若命令为外部命令,则显示其绝对路径

【参数说明】

命令名

【命令示例】

(1)​type cat​ --查看​cat​属于什么命令

linux常用文件命令_参数说明_75
linux常用文件命令_参数说明_75

(2)​type -t cat​ --简单显示​cat​属于什么命令

linux常用文件命令_硬链接_76
linux常用文件命令_硬链接_76

(3)​type -p cat​ --显示外部命令​cat​的绝对路径

linux常用文件命令_linux_77
linux常用文件命令_linux_77

32.file

【命令作用】

确定文件类型

如果文件系统确定成功,则输出文件类型,输出的文件类型如下:

text :​文件中只有​ASCII​码字符,可以将字符终端显示文件内容

executable:​文件可以运行

data:​其他类型文件,此类文件一般是二进制文件或不能再字符终端上直接显示的文件

【命令语法】

file​ [选项] [参数]

【常用选项】

【参数说明】

文件名,或者目录名

【命令示例】

# file 123​ --查看文件​123​的类型

linux常用文件命令_文件名_78
linux常用文件命令_文件名_78

33.stat

【命令作用】

查看文件属性

【命令语法】

stat ​ [选项] [参数]

【常用选项】

-f​ --显示文件系统状态

【参数说明】

文件名,或者目录名

【命令示例】

# stat 123​ --显示文件​123​的属性

linux常用文件命令_文件名_79
linux常用文件命令_文件名_79

34.which

【命令作用】

我们经常在​Linux​要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:

which ​--查看可执行文件的位置

whereis​ --查看文件的位置

locate​ --配合数据库查看文件位置

find ​ --实际搜寻硬盘查询文件名称

which​命令的作用是,在​PATH​变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用​which​命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令

【命令语法】

which​ [可执行的文件名称]

【常用选项】

【参数说明】

命令名

【命令示例】

(1)​ # which which ​--用​which​去找出​which

linux常用文件命令_命令_80
linux常用文件命令_命令_80

解释:竟然会有两个​which​,其中一个是​alias(别名命令)​,意思是输入​which​会等于后面的那串命令

(2)​# which cd ​--查找​cd​的绝对路径

linux常用文件命令_文件名_81
linux常用文件命令_文件名_81

解释:发现并没有找到​cd​的位置(绝对路径),因为​ cd​ 是​ bash​ 内建的命令,但是​ which​ 默认是找 ​PATH​ 内所规范的目录,所以找不到

35.whatis

【命令作用】

查看帮助文件的位置。

使用​makewhatis​命令可将当前系统上所有的帮助手册及与之对应的关键字创建为一个数据库

【命令语法】

whatis​ [选项] [参数]

【常用选项】

【参数说明】

命令名

【命令示例】

# whatis cat​ --查看命令cat的作用

linux常用文件命令_参数说明_82
linux常用文件命令_参数说明_82

36.whereis

【命令作用】

whereis​命令只能用于程序名的搜索,而且只搜索二进制文件​(参数-b)​、​man​说明文件​(参数-m)​和源代码文件​(参数-s)​。如果省略参数,则返回所有信息

和​find​相比,​whereis​查找的速度非常快,这是因为​Linux​系统会将系统内的所有文件都记录在一个数据库文件中,当使用​whereis​和下面即将介绍的​locate​时,会从数据库中查找数据,而不是像​find​命令那样,通过遍历硬盘来查找,效率自然会很高。

但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。

【命令语法】

whereis​ [选项] [参数]

【常用选项】

-b​ --仅查找二进制程序和命令

-m​ --仅查找man帮助手册文件

-s​ --仅查找源代码文件

【参数说明】

命令名

【命令示例】

(1)查看​cp​文件及相关文件路径

# whereis cp

linux常用文件命令_参数说明_83
linux常用文件命令_参数说明_83

(2)​# where -b cp ​--只将​cp​的二进制文件查找出来

# where -m cp ​ --查找​cp​的​man​帮助

# where -s cp ​ --查找​cp​源代码文件

linux常用文件命令_硬链接_84
linux常用文件命令_硬链接_84

37.locate

【命令作用】

快速定位文件的路径。

依赖于事先构建的索引;索引的构建是在系统较为空闲时自动进行(周期性任务);手动更新数据库​(updatedb)​;索引构建过程需要遍历整个根文件系统,极消耗资源;

工作特点是:查找速度快,模糊查找,非实时查找

【命令语法】

locate​ [选项] [参数]

【常用选项】

【参数说明】

文件名

【命令示例】

(1)​# locate pwd​ --和pwd相关的所有文件

linux常用文件命令_硬链接_85
linux常用文件命令_硬链接_85

(2)​# locate /etc/sh --搜索在etc目录下所有以sh开头的文件

linux常用文件命令_文件名_86
linux常用文件命令_文件名_86

38.find

【命令作用】

用于在文件树种查找文件,并作出相应的处理

【命令语法】

find ​ [选项] [参数]

【常用选项】

-name ​--按照文件名查找文件

-iname​ --按照文件名查找文件,不区分字母大小写

-user​ --查找属于指定用户的所有文件

-group​ --按照文件所属的组来查找文件

-uid​ -- 查找属主为指定的 UID 号的文件

-gid​ --查找属组为指定的 GID 号的文件

-size ​--根据文件大小来查找文件

-type​ --根据文件类型查找

   ​f (普通文件)

   d (目录文件)

   b (块设备)

   c (字符设备)

   s (套接字文件)

   p (管道文件)

   l (符号链接文件​)

-exec COMMAND {} \​ --对查找到的每个文件执行由​COMMAND​指定的命令;{}: 用于引用查找到的文件名称自身

注意:find​传递查找到的文件至后面指定的命令时,查找到所有符合条件的文件一次性传递给后面的命令;有些命令不能接受过多参数,此时命令执行可能会失败;另一种方式可规避此问题:

【参数说明】

要查的起始目录,查找的名称是什么

【命令示例】

(1)根据关键字查找

# find . -name "*.1"

linux常用文件命令_文件名_87
linux常用文件命令_文件名_87

解释:在当前目录中查找,以​1​结尾的文件, ​"."​ 代表当前目录

(2)根据权限进行查找

# find . -perm 777

linux常用文件命令_linux_88
linux常用文件命令_linux_88

解释:在当前目录中查找权限为​777​的文件

(3)按类型查找

# find -type f -name "*6"

linux常用文件命令_硬链接_89
linux常用文件命令_硬链接_89

解释:在当前目录中,查找以​6​结尾的普通文件

(4)按大小查找文件

# find . -size +1000c -print

linux常用文件命令_命令_90
linux常用文件命令_命令_90

解释:在当前目录下,查找大于​1K​的文件

39.help

【命令作用】

查看内部命令的帮助信息

【命令语法】

help​ [选项] [参数]

【常用选项】

【参数说明】

指定命令名显示帮助信息

【命令示例】

# help pwd ​ --查看内部命令pwd的帮助信息

linux常用文件命令_命令_91
linux常用文件命令_命令_91

40.man

【命令作用】

命令帮助手册

【命令语法】

man​ [选项] [参数]

【常用选项】

【参数说明】

所要搜索帮助信息的命令

【命令示例】

# man cd​ 查看​cd​的帮助信息

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档