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 都会更新它为系统时间)