" 包围的是必选项,同时选项并⾮全部列出,只列举了较常⽤的。⽂中提到的⽂件包含⽬录,因为在 Linux 下⼀切皆⽂件。catconcatenate 的缩写,将⽂件">

Linux常用命令及注意事项

  • 格式:pdf
  • 大小:133.89 KB
  • 文档页数:4

Linux常⽤命令及注意事项

命令以字典序排序,

"[]" 包围的是可选项,

"<>" 包围的是必选项,同时选项并⾮全部列出,只列举了较常⽤的。⽂中提到的⽂件包

含⽬录,因为在 Linux 下⼀切皆⽂件。

cat

concatenate 的缩写,将⽂件打印⾄标准输出设备,默认为屏幕(其实⼤部分输出都可以指向⽂件,只是

cat 对这个功能的使⽤更加频繁)。

# 使⽤ > 覆盖⽬标⽂件的内容

# 使⽤ >> 追加⾄⽬标⽂件,多个⽂件时需要使⽤ >> 来追加,否则⽬标⽂件中只有最后⼀个⽂件的内容

# ... 表⽰多个⽂件并⽤空格分隔

cat [选项] [> ⽬标⽂件]

选项功能

省略将⽂件输出

-n同上,同时对⾏从

1 开始进⾏编号

-b同上,但不对空⽩⾏编号

-s同

-n,但会将多个连续的空⾏替换为⼀个空⾏

cd

change directory 的缩写,Linux 下最为常⽤的命令之⼀,⽤于切换到指定⽬录。

cd [选项] [⽬标⽬录]

选项功能

-P如果⽬标⽬录是⼀个软连接,则跳转到软连接所指的⽬录

-L如果⽬标⽬录是⼀个软连接,则跳转软连接名所在的⽬录

特殊参数使⽤

ls -a 命令可以看到除⼏乎所有⽬录都有

. 和

.. 两个⽬录⽂件

省略或者

~切换⾄家⽬录(

/home/username 或

/root)

.当前⽬录

..上⼀级⽬录

/根⽬录

-上⼀次的⽬录

. ⽬录存在的意义是为了执⾏当前⽬录下的可执⾏⽂件,因为直接输⼊⽂件名会在环境变量

PATH 中的⽬录中查找,⽽不会在当前⽬录下查找

(除⾮把

. ⽬录添加进了

PATH,但是极不推荐这种做法)。

chgrp

change group 的缩写,更改⽂件群组。

chgrp [选项] <⽬标⽂件...>

选项功能

-R递归处理⽬录下所有⽂件

chmod

change mode 的缩写,更改⽂件的权限,多个权限表达式使⽤逗号分隔(从左⾄右按顺序⽣效)。

chmod [user][operator] <⽬标⽂件...>

⽤户分类含义

省略或

a所有⽤户

u⽂件拥有者

g群组⽤户

o其他⽤户

权限操作含义

+添加权限

-移除权限

=设定为相应权限权限含义

r读权限

w写权限

x可执⾏权限

为了⽅便,设定某个⽂件权限时可以⽤三个数字来替代

= 表达式,规则如下:

权限

r 数字为

4,

w 为

2,

x 为

1(⼆进制中的三位),故

0-7 可以表⽰所有权限组合

三个数字从左⾄右分别表⽰

u、

g、

o ⽤户

chmod 744 test

chmod a=r,u+wx test

上⽅两条命令等价

chown

change owner 的缩写,更改⽂件拥有者(也可以更改群组)。

chown [选项] <⽂件拥有者>[:群组] <⽬标⽂件...>

注意:拥有者不⼀定要在群组内!

选项功能

-R递归处理⽬录下所有⽂件

cp

copy 的缩写,拷贝⽂件。

cp <⽬标⽂件>

⽂件名不需要相同,相当于将数据拷贝过去然后重命名。

grep

Global Regular Expression Print 的缩写,查找内容中匹配正则表达式的字符串,并将该⾏(我称为“命中⾏”)打印⾄标准输出,常与其他命令联

合使⽤(使⽤

| 分隔,并将前⼀条命令将要打印的字符串作为

grep 命令查找的内容)。

grep [选项] [匹配样式] [⽬标⽂件...]

选项功能

-a不忽略⼆进制数据

-A <⾏数>打印命中⾏及之后的指定⾏

-b打印命中⾏⾸字符在内容中的编号(即在内容中的第⼏个字符)

-B <⾏数>打印命中⾏及之前的指定⾏

-c打印命中的⾏数

-C <⾏数>打印命中⾏及其前后的指定⾏

-e 指定正则表达式,在参数较多时避免混淆,⼀般可省略

-E 指定正则表达式,并作为延伸的正则表达式使⽤

-f ⽂件可以有多⾏,每⾏为⼀个正则表达式,匹配⽂件中所有⾏才算命中(不需要是同⼀个字符串)

-i忽略⼤⼩写

-I打印有内容命中的⽂件名

-L打印内容未命中的⽂件名

-v打印未命中的所有⾏

ln

link 的缩写,创建⽂件的连接,分为硬连接

hard link 和软连接(符号连接)

symbolic link,其区别为:

硬连接软连接

以⽂件副本形式存在,但不占⽤空间(起个别名)以⽂件路径形式存在(类似

Windows 下的快捷⽅式)

只能在同⼀⽂件系统下可以跨⽂件系统

⽬标⽂件必须存在可以对⼀个不存在的⽂件名进⾏链接(⽆效的快捷⽅式?)

不可以指向⽬录可以指向⽬录ln [选项] <⽬标⽂件>

选项功能

-b覆盖以前的连接

-d允许

root ⽤户创建⽬录的硬连接

-s创建软连接

-n将软连接视为⼀般⽬录

创建软连接请尽量使⽤绝对路径,如果使⽤相对路径,则连接⽂件被移动后可能失效,或者指向⼀个错误的⽂件。

ls

list 的缩写,Linux 下最为常⽤的命令之⼀,⽤于显⽰指定⽬录下的⽂件,省略⽬录时指定当前⽬录。

ls [选项] [⽬标⽬录]

常⽤选项功能

省略同

-C

-a同上,但额外显⽰隐藏⽂件

-A同上,但不显⽰

. 和

.. ⽬录

-C按⾏打印⾮隐藏⽂件名,⾏内显⽰不下会换⾏

-h与

-l ⼀起使⽤,含义为“⼈性化显⽰”,⼤⼩以单位

KB 显⽰(默认

Byte)

-l以列表打印⽂件的详细信息,格式如下

类型 | 权限 | 硬连接数 | 所有者 | 组 | ⼤⼩ | 最后修改⽇期 | ⽂件名

-t按时间降序排序(越近的排在越前⾯)

类型含义

-普通⽂件

d⽬录⽂件

p管理⽂件

l连接⽂件

b块设备⽂件

c字符设备⽂件

s套接字⽂件

硬连接数含义

普通⽂件连接数

⽬录⽂件第⼀级⼦⽬录个数

mkdir

make directory 的缩写,创建⽬录。

mkdir [选项] <⽬标⽬录...>

选项功能

-p递归创建:当⽬标⽬录的上级⽬录没有创建时先创建上级⽬录

-m 指定⽬录⽂件的权限(默认为

755)

mv

move 的缩写,移动⽂件。

mv <⽬标⽂件>

重命名⽂件的命令也是它。

rm

remove 的缩写,删除⽂件。

rm [选项] <⽬标⽂件...>

选项功能

-r递归删除:删除⽬录下的所有⽂件,同时也⽤来删除⽬录⽂件

-f强制删除:忽略所有提⽰与询问(

rm -rf / 󰀀,这条指令在 CentOS 7 下依然会有提⽰)选项功能

stat

status 的缩写,显⽰⽂件的

inode 内容。

stat <⽬标⽂件>

输出如下:

File: ‘testfile’

Size: 0 Blocks: 0 IO Block: 4096 regular empty file

Device: fd01h/64769d Inode: 393266 Links: 1

Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)

Access: 2020-05-13 21:54:39.719866244 +0800

Modify: 2020-05-13 21:54:39.719866244 +0800

Change: 2020-05-13 21:54:39.719866244 +0800

Birth: -

touch

修改⽂件的属性,如果⽂件不存在则创建(常⽤于创建⽂件)。

touch [选项] <⽬标⽂件...>

选项功能

省略修改⽂件时间为当前系统时间

-c如果⽂件不存在,则不创建(即只修改⽂件属性)

-a只修改

atime

-m只修改

mtime

-d修改为指定时间,格式

[YY]YYMMDD,

YY 时间限定为

1969-2068

-t修改为指定时间,格式

[YY]YYMMDDhhmm[.SS],注意这个

.

时间参数含义

Access Time ( atime )访问时间:⽂件的内容被读取时,访问时间更新

Modify Time ( mtime )数据修改时间:⽂件的内容数据发⽣变化时,数据修改时间更新

Change Time ( ctime )状态修改时间:⽂件的状态(权限等)发⽣变化时,状态修改时间更新

⽆法使⽤

touch 指令更改为指定时间(每次

touch 都会更新它为系统时间)