文章目录
- 1. 基础命令
- 1)ls
- 2)pwd
- 3)cd
- 4)touch
- 5)cat
- 6)mkdir
- 7)rm
- 8)cp
- 9)mv
- 10)more
- 11)less
- 12)head
- 13)tail
- 14)vim
- 15)grep
- 16)ps
- 17)netstat
- 2. 权限命令
- 1)用户操作
- 2)用户分组
- 3)文件权限表示
- 4)文件权限修改
1. 基础命令
1)ls
功能: 对于目录,列出该目录下的所有子目录和文件,对于文件,列出文件名以及其他详细信息
常用选项:
- -a:列出目录下的所有文件和目录,包括以 . 开头的隐藏文件
- -A:列出目录下的文件和目录,包括以 . 开头的隐藏文件,但不包括本目录和父目录
- -l:列出文件和目录的详细信息
- -R:列出目录下的所有文件和目录以及所有子目录下的文件和目录(递归搜索)
- -r:列出文件和目录,并反向排序
- -t:列出文件和目录,并以时间排序
- -F:列出文件和目录,目录后面加上 /
2)pwd
功能: 显示当前所在的目录
3)cd
功能: 改变工作目录,将当前工作目录改变到指定目录下
用法: cd 目录名
举例:
cd … :返回上级目录
cd ~:返回根目录
cd -:返回最近访问的目录
4)touch
功能: 更改目录或文件的时间日期,如果目录或者文件不存在就新建一个
用法: touch [选项] 文件名
不加选项直接使用,若文件存在则将时间日期改为当前时间
常用选项:
- -c:文件不存在,不会新建
- -t:修改文件的属性时间为指定时间,如:touch -t 202305151631 a.txt,将 a.txt 的时间修改为2023年05月15日 16:31
5)cat
功能: 输出文件中的内容
常用选项:
-
-n:将文件中的内容带上行号输出
-
-b:将文件中的内容带上行号输出(空行不带)
-
-s:将文件中的连续两个空行输出为一行
特殊用法:
-
复制文件内容:cat [选项] log.txt > log.log
上面的命令意思是:将 log.txt 中的内容输出到 log.log 中,也可添加选项来对内容添加序号或者合并空行
-
复制多个文件到一个文件:cat [选项] a.txt b.txt c.txt >> d.txt
上面的命令意思是:将 a.txt、b.txt、c.txt 三个文件中的内容输出到 d.txt 中,也可添加选项来对内容添加序号或者合并空行
6)mkdir
功能: 创建目录
常用选项:
- -p:确保目录存在,不存在则创建一个,常用来创建多级目录
示例:
# 创建名为 test 的目录
mkdir test
# test/test1/test2 三级目录,若某个目录不存在就会创建
mkdir -p test/test1/test2
7)rm
功能: 删除一个目录或者文件(删除目录时必须添加 -r 选项)
常用选项:
-
-i:删除前逐一确认,输入 y 确认删除
-
-f:删除前无需逐一确认,直接删除
-
-r:删除目录及目录下所有的子目录和文件
8)cp
功能: 复制文件或者目录
语法: cp [选项] [源目录或文件] [目的目录或文件]
常用选项:
- -i:当目的目录或者文件存在时,提示是否覆盖
-
-f:当目的目录或者文件存在时,直接覆盖不提示
-
-p:将源目录或者文件的时间等属性一并复制
-
-r:递归复制源目录下的所有文件和子目录
9)mv
语法: mv [选项] [源文件或目录] [目标文件或目录]
功能: 为文件或目录重命名、或将文件或目录移动到指定位置
常用选项:
- -i:当目标文件或目录存在时,提示是否覆盖
- -b:当目标文件或目录存在时,在覆盖之前,会为其创建一个备份
- -f:当目标文件或目录存在时,不提示直接覆盖
- -n:当目标文件或目录存在时,不允许覆盖
mv 命令执行时,不同参数类型的不同结果:
格式 | 结果 |
---|---|
mv src_file(文件) dest_file(文件) | 将源文件名 src_file 更改为 目标文件名 dest_file |
mv src_file(文件) dest_file(目录) | 将 src_file 文件移动到 dest_file 目录下 |
mv src_file(目录) dest_file(目录) | 如果 dest_file 目录存在,将 src_file 目录移动到 dest_file 目录下,如果不存在,将 src_file 目录名更改为 dest_file |
mv src_file(目录) dest_file(文件) | 错误 |
10)more
功能: 打开某个文件,一页一页显示内容,文件下方会显示当前以浏览过的百分比
常用选项:
- -num:num 是一个具体的数字,表示每一次显示的行数
- -s:当遇到连续两行以上的空行时,替换成一行空行
- +num:num是一个具体的数字,表示从第几行开始显示
打开文件后常用的操作命令:
- Enter键:向下1行
- 空格键:向下一页
- b:向上一页
- =:输出当前位置的行号
- v:调用 vi 编辑器
- q:退出文件
示例:
# 打开 testfile 文件,从第20行开始显示
more +20 testfile
# 打开 testfile 文件,每页显示20行
more -20 testfile
11)less
功能: 查看文件内容,支持搜索、支持翻页
常用选项:
- -N:显示的内容带有行号
- -m:显示类似 more 的百分比
- -s:显示连续空行为一行
- -e:文件浏览完后自动关闭
打开文件后常用的操作命令:
- /Str:搜索字符串
- b:向前翻一页
- 空格:向后翻一页
- u:向前翻半页
- d:向后翻半页
- Enter:向下一格
- [pagedown]:向下一格
- [pageup]:向上一格
- q:退出文件
12)head
功能: head 命令用于查看文件开头部分的内容,默认查看前十行
常用选项:
- -n<行数>:显示的行数
示例:
# 显示文件的前20行
head -n 20 testfile
13)tail
功能: 查看文件结尾部分内容,默认查看结尾后十行
常用选项:
- -f:循环读取,会不断读取文件中的内容,文件中更新的内容会被第一时间读取到屏幕上
- -n<行数>:显示的行数
14)vim
vim 是一个知名的文本编辑器. 前面的 cat, less, head, tail 等命令只能查看文本, 不能编辑文本. 使用 vim 就可以进行编辑了.
创建文件/打开文件:
当文件存在时打开文件,不存在时创建并打开文件
vim filename
进入插入模式:
vim 打开文件之后,还需要使用 i 键进入编辑模式,这样就可以像记事本一样对文件进行编辑了
保存退出:
对文件编辑完成之后,按 Esc 键退出编辑模式,输入 :w 回车即可保存文件,输入 :q 回车即可退出文件,输入 :wq 回车即可保存并退出文件
15)grep
语法: grep [选项] filename
功能: 用于查找文件中是否包含指定字符串,并显示对应的行
常用选项:
- -n<行数>:显示包含指定字符串的前后多少行
- -w:全字匹配,只有整个单词完全相同的结果才会被显示
16)ps
语法: ps [参数]
功能: 用于查看当前系统上运行的进程
常用参数:
- aux:显示系统上所有的进程
示例:
# 显示系统上所有的进程
ps aux
# 搭配 grep 使用
# 查找端口号为80的进程
ps aux | grep -w 80
17)netstat
语法: netstat [参数]
功能: 查看系统上的网络状态
常用参数:
- anp:查看系统上所有的网络状态
示例:
# 显示系统上所有的网络状态
netstat -anp
# 搭配 grep 使用
# 查找端口号为80的网络连接
netstat -anp | grep -w 80
2. 权限命令
1)用户操作
Linux 下有两种用户级别:超级用户(root)、普通用户
- 超级用户:可以在 Linux 下进行任何操作,不受限制
- 普通用户:在进行一些操作时将会受到限制
- 超级用户命令提示符是 “ # ”,普通用户是 “ $ ”
创建用户:
-
命令: useradd [选项] [用户名]
-
功能: 创建一个新的普通用户
-
选项:
- -g [分组]:创建用户时指定用户的分组,前提是分组存在
-
示例:
# 创建新用户 test2,并加入 group 用户组 useradd -g group test2
配置密码:
- 命令: passwd [用户名],输入命令之后会提示输入新的密码,Linux 中输入密码时不可见,但实际已经输入了
- 功能: 配置或修改密码
切换用户:
- 命令: su [用户名]
- 功能: 切换用户
- 例如,要从 root 用户切换到普通用户 user,输入 su user,系统就会提示输入密码。从任意普通用户切换到 root 用户,只需输入 su 即可
修改用户属性:
-
命令: usermod [选项] [用户名]
-
常用选项:
- -l [新用户名]:修改用户名
- -g [新用户组]:修改用户所属用户组
-
示例:
# 将 test2 用户名修改为 test1 usermod -l test2 test1 # 将 test1 用户放入 root 用户组 usermod -l root test1
删除用户:
- 命令: userdel [选项] [用户名]
- 选项:
- -r:同时删除用户的所有工作目录,若不加只删除用户不删除工作目录
2)用户分组
创建分组:
- 命令: groupadd [分组名]
删除分组:
- 命令: groupdel [分组名]
修改分组名称:
-
命令: groupmod -n [修改后的组名] [修改前的组名]
-
示例:
# 将 group 更名为 group1 groupmod -n group1 group
3)文件权限表示
Linux 中对文件的调用权限分为三种:文件所有者的权限(Owner)、用户组的权限(Group)、其他用户的权限(Other Users)
Linux 中文件的权限用十位字符表示,具体表示如下:
第1位: 文件类型
第2-4位: 文件所有者的权限
第5-7位: 文件所有者同组用户的权限
第8-10位: 其他用户的权限
文件类型:
- -:普通文件
- d:目录文件
基本权限符号表示:
- r:读权限,表示用户对文件或目录有读的权限
- w:写权限,表示用户对文件有写的权限,对目录有删除或移动目录内文件的权限
- x:执行权限,表示用户对文件有执行的权限,对目录有进入目录的权限
- -:无权限
基本权限和权限组合的数字表示:
权限 | 数字表示 | 字母表示 |
---|---|---|
无 | 0 | - |
只执行 | 1 | –x |
只写 | 2 | -w- |
写 + 执行 | 3 | -wx |
只读 | 4 | r– |
读 + 执行 | 5 | r-x |
读 + 写 | 6 | rw- |
读 + 写 + 执行 | 7 | rwx |
4)文件权限修改
只有文件的拥有者和 root 用户才能更改文件的权限
命令: chmod [选项] [ugoa…] [±=] [权限] [文件名]
选项:
- -R:递归修改目录文件下所有的文件和子目录的权限
参数说明:
- u:对文件拥有者
- g:对文件拥有者同组用户
- o:对其他用户
- a:对所有用户
- +:增加权限
- -:减少权限
- =:赋予权限
示例:
# 对同组用户添加读权限
chmod g+w test.txt
# 修改对 u、g、o 的权限分别为 6、6、4
chmod 664 test.txt