Linux命令
1.常用命令
命令 | 英文 | 作用 |
---|---|---|
pwd | print work directory | 查看当前所在文件夹 |
ls | list | 查看当前文件夹下的内容 |
cd [目录名] | change directory | 切换文件夹 |
cd指令
cd 是英文单词 change directory 的简写,其功能为更改当前的工作目录。
注意:Linux 所有的 目录 和 文件名 都是大小写敏感的
命令 | 含义 |
---|---|
cd | 切换到当前用户的主目录(/home/用户目录) |
cd ~ | 切换到当前用户的主目录(/home/用户目录) |
cd . | 保持在当前目录不变 |
cd . . | 切换到上级目录 |
cd - | 可以在最近两次工作目录之间来回切换 |
ls指令
ls 是英文单词 list 的简写,其功能为列出目录的内容。
ls 常用选项:
参数 | 含义 |
---|---|
-l | 以列表方式显示文件的详细信息 |
-a | 显示指定目录下所有子目录与文件,包括隐藏文件 |
-h | 配合-l以带单位的方式显示文件大小 |
ls通配符的使用:
通配符 | 含义 |
---|---|
* | 代表任意个数个字符 |
? | 代表任意一个字符,至少 1 个 |
[] | 表示可以匹配字符组中的任意一个 |
[abc] | 匹配 a、b、c 中的任意一个 |
[a-f] | 匹配从 a 到 f 范围内的的任意一个字符 |
注意:以 . 开头的文件为隐藏文件,需要用 -a 参数才能显示
2.创建和删除操作
touch指令
创建文件或修改文件时间
如果文件 不存在,可以创建一个空白文件
如果文件 已经存在,可以修改文件的末次修改日期
mkdir指令
创建一个新的目录
选项 | 含义 |
---|---|
-p | 可以创建多级目录 |
新建目录的名称 不能与当前目录中 已有的目录或文件 同名
rm指令
删除文件
选项 | 含义 |
---|---|
-f | 强制删除,忽略不存在的文件,无需提示 |
-r | 递归地删除目录下的内容,删除文件夹 时必须加此参数 |
使用 rm 命令要小心,因为文件删除后不能恢复
3.拷贝和移动文件
命令 | 英文 | 作用 |
---|---|---|
cp 源文件 目标文件 | copy | 复制文件或者目录 |
mv 源文件 目标文件 | move | 移动文件或者目录/文件或者目录重命名 |
tree [目录名] | tree | 以树状图列出文件目录结构 |
cp指令
选项 | 含义 |
---|---|
-i | 覆盖文件前提示 |
-r | 若给出的源文件是目录文件,则 cp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名 |
mv指令
选项 | 含义 |
---|---|
-i | 覆盖文件前提示 |
4.查找指令
find指令
find指令从指定目录向下递归遍历其各个子目录,将满足条件的文件或者目录显示在终端。
find [搜索范围] [选项]
选项 | 作用 | 示例 |
---|---|---|
-name<查询方式> | 按照指定的文件名查找模式查找文件 | find /home -name *.txt |
-user<用户名> | 查找属于指定用户名所有文件 | find /home -user xx |
-size <文件大小n> | 按照指定的文件大小查找文件,+n大于,-n小于,n等于,+单位k,M,G | find /home -size -4 (4的单位为0.5kb) |
-mmin<时间t(分)> | 上次文件被修改时间,+t大于,-t小于,t等于 | find /home -mmin +1 |
-amin<时间t> | 上次文件被访问时间 | find /home -mmin +1 |
-cmin<时间t> | 上次文件属性(文件权限)被修改时间 | find /home -mmin +1 |
-type<文件类型> | f 文件; d 目录;l 软链接; | find /home -type f |
连接符:
连接符 | 意义 |
---|---|
-a | and |
-o | or |
示例:find . -name a* -a -type f
locate指令
快速查找指定文件路径:locate 文件
基于数据库查询,使用前必须用sudo updatedb指令更新数据库
5.查看文件内容
命令 | 英文 | 作用 |
---|---|---|
cat 文件名 | concatenate | 查看文件内容、创建文件、文件合并、追加文件内容等功能 |
more 文件名 | more | 分屏显示文件内容 |
grep 搜索文本 文件名 | grep | 搜索文本文件内容 |
cat指令
cat 会一次显示所有的内容,适合 查看内容较少 的文本文件
选项 | 含义 |
---|---|
-b | 对非空输出行编号 |
-n | 对输出的所有行编号 |
more指令
more 命令可以用于分屏显示文件内容,每次只显示一页内容
适合于 查看内容较多的文本文件
使用 more 的操作键:
操作键 | 功能 |
---|---|
空格键 | 显示下一屏 |
Enter键 | 一次滚动一行 |
b | 回滚一屏 |
f | 前滚一屏 |
q | 退出 |
grep指令
grep 允许对文本文件进行 模式查找,所谓模式查找,又被称为正则表达式。
grep -v ^# a.txt
选项 | 含义 |
---|---|
-n | 显示匹配行及行号 |
-v | 显示不包含匹配文本的所有行(相当于求反) |
-i | 忽略大小写 |
常用的两种模式查找
参数 | 含义 |
---|---|
^a | 行首,搜寻以 a 开头的行 |
e$ | 行尾,搜寻以 e 结束的行 |
echo指令
echo 文字内容
echo 会在终端中显示参数指定的文字,通常会和 重定向 联合使用
echo hello world >> a.txt
6.软链接ln
在 Linux 中,文件名 和 文件的数据 是分开存储的
给源文件创建一个软链接:
ln -s [源文件/目录] 软链接
不加-s 为硬链接
7.重定向 > 和 >>
Linux 允许将命令执行结果 重定向到一个 文件
将本应显示在终端上的内容 输出/追加 到指定文件(如不存在会创建)中
grep user a.txt > b.txt
> 表示输出,会覆盖文件原有的内容
>> 表示追加,会将内容追加到已有文件的末尾
8.管道|
Linux 允许将 一个命令的输出 可以通过管道 做为 另一个命令的输入
这里 | 的左右分为两端,左端塞东西(写),右端取东西(读)
ls -la | grep a.txt
grep -v ^# a.txt | more
9.用户权限相关命令
/etc 目录是专门用来保存 系统配置信息 的目录
用户管理
提示:创建用户 / 删除用户 / 修改其他用户密码 的终端命令都需要通过 sudo 执行
命令 | 作用 | 说明 |
---|---|---|
useradd -m -g 组 用户名 | 添加新用户 | -m自动建立用户家目录 -g指定用户所在的组 |
passwd 用户名 | 设置用户密码 | 普通用户可直接用 passwd修改自己密码 |
userdel -r 用户名 | 删除用户 | -r 会自动删除家目录 |
cat /etc/passwd I grep | 确认用户信息 | 用户信息保存在/etc/passwd |
- 创建用户时,如不指定组,默认会创建一个和用户名同名的组名
组管理
提示:创建组 / 删除组 的终端命令都需要通过 sudo 执行
命令 | 作用 |
---|---|
groupadd 组名 | 添加组 |
groupdel 组名 | 删除组 |
groupmod -n 新组名 原组名 | 修改组名 |
cat /etc/group | 确认组信息 |
chgrp -R 组名 文件/目录名 | 递归修改文件/目录的所属组 |
- 组信息保存在 /etc/group 文件中
查看用户信息
命令 | 作用 |
---|---|
id [用户名] | 查看用户 UID 和 GID 信息 |
who | 查看当前所有登录的用户列表 |
who am i | 查看当前登录用户的账户名 |
切换用户
命令 | 作用 | 说明 |
---|---|---|
su - 用户名 | 切换用户,并且切换目录 | - 可以切换到用户家目录,否则保持位置不变 |
exit | 退出当前登录账户 |