常用命令:
命令的通用格式:命令 [选项][参数]
1、ls命令:列出目录下的内容
语法:ls [-a -l -h] [Linux路径]
ls:以平铺的形式,列出当前工作目录下的内容
-a选项,表示:all的意思,即列出全部文件(包括隐藏的文件/文件夹),以 . 开头的文件或文件 夹默认被隐藏,需要-a才能显示出来
-l选项,表示:以列表(竖向排列)的形式展示内容,并展示更多信息
-h选项,表示以易于阅读的形式,列出文件大小,如K、M、G,-h必须要搭配-l使用
命令的选项组合使用:比如 ls -la,等同于 ls -a -l; ls -al
2、cd命令:Change Directory 切换工作目录
语法:cd [Linux路径]
cd命令无需选项,只有参数,表示要切换到哪个目录下
cd命令直接执行,不写参数,表示回到用户的HOME目录
3、pwd命令:print work directory 查看当前工作目录
语法:pwd
pwd命令无选项,无参数,直接输入pwd即可
4、mkdir命令:make directory 创建文件夹
语法:mkdir [-p] Linux路径
参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径均可
-p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录
5、touch命令:创建文件
语法:touch Linux路径
6、cat命令:查看文件内容,直接将内容全部显示出来
语法:cat Linux路径
7、more命令:查看文件内容,支持翻页(空格翻页,Q退出),如果文件内容过多,可以一页页的展示
语法:more Linux路径
8、cp命令:copy,复制文件\文件夹
语法:cp [-r] 参数1,参数2
-r选项可选,用于复制文件夹使用,表示递归
参数1,Linux路径,表示被复制的文件或文件夹
参数2,Linux路径,表示要复制去的地方
9、mv命令:move,移动文件\文件夹
语法:mv 参数1 参数2
参数1,Linux路径,表示被移动的文件或文件夹
参数2,Linux路径,表示要移动去的地方
如果要移动去的地方不存在,则mv命令起到改名的一个效果、
10、rm命令:remove,可用于删除文件、文件夹
语法:rm [-r -f] 参数1 参数2.....参数n
-r选项用于删除文件夹
-f表示force,强制删除。一般由root(超级管理员)用户使用,可通过 su - root,并输入密码切换到root用户,exit退回普通用户
参数1,参数2......参数n表示要删除的文件或者文件夹路径,用空格隔开
rm命令支持通配符 * ,及匹配任意内容(包括空):
test*,表示匹配任意以test开头的内容
*test,表示匹配任意以test结尾的内容
11、which命令:查看所使用的的一系列命令的程序文件存放在哪里。命令本质上就是程序。
语法:which 命令
12、find命令:查找文件
语法: find 起始路径 -name “被查找文件名” 按照文件名查找文件
被查找文件名,支持使用通配符 * 来做模糊查询
语法:find 起始路径 -size +|- n[kMG] 按照文件大小查找文件
+、-表示大于和小于;n表示大小数字;kMG表示大小单位,k表示kb,M表示MB,G表示GB
示例:find / -size -10k find / -size +100M find / -size +1G
13、grep命令:从文件中通过关键字过滤文件行
语法:grep [-n] 关键字 文件路径
选项-n,表示在结果中显示匹配的行的行号
关键字,表示过滤的关键字,如果带有空格或其他特殊符号,建议使用“ ”将关键字包围起来
文件路径,表示要过滤内容的文件路径,可作为内容输入端口
14、wc命令:统计文件的行数,单词数量等
语法:wc [-c -m -l -w] 文件路径
-c选项,统计bytes数量
-m选项,统计字符数量
-l选项,统计行数
-w选项,统计单词数量
文件路径,被统计的文件,可作为内容输入端口
管道符 | :将管道符左边的内容,作为右边命令的输入
示例: 统计test.txt文件中带有IT关键字的有几行 : cat test.txt | grep IT | wc -l
15、echo命令:在命令行内输出指定的内容
语法:echo 输出的内容
输出的内容如果复杂的话,用“ ”包围,和编程语言中的print一样
反引号 ` 被 ` 包围的内容,会被作为命令执行。示例:echo `pwd` 输出当前的工作目录,而不是输出 pwd
重定向符> 和>>
>,将左侧命令的结果,覆盖到符号右侧指定的文件中
>>,将左侧命令的结果,追加到右侧指定的文件中
16、tail命令,查看文件尾部的内容,可以跟踪文件的最新更改
语法:tail [-f -num] Linux路径
-f选项,表示持续跟踪
-num选项,表示查看尾部多少行,不填默认10行
Linux路径,表示被跟踪的文件路径
17、su命令:switch user, 用于账户切换的系统命令
语法:su - [用户名]
-符号可选,表示是否在切换用户后加载环境变量,建议带上
用户名,表示要切换的用户,可以省略,省略标识切换到root
切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl+d
使用普通用户,切换到其他用户需要输入密码,如切换到root用户
使用root用户切换到其他用户,无需密码,可直接切换
18、sudo命令:为普通的命令授权,临时以root身份执行
语法:sudo 其他命令
并不是所有用户,都有权利使用sudo,需要为普通用户配置sudo认证
19、groupadd 用户组名:创建用户组,此命令需要root用户执行
20、groupdel 用户组名:删除用户组,此命令需要root用户执行
21、useradd [-g -d] 用户名:创建用户,此命令需要root用户执行
-g,指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g
-d,指定用户的HOME路径,不指定,HOME目录默认在:/home/用户名
22、userdel [-r] 用户名:删除用户,此命令需要root用户执行
-r,删除用户的home目录,不适用-r,删除用户时,HOME目录保留
23、id [用户名]:查看用户所属组
参数用户名,被查看的用户,如果不提供则查看自身
24、usermod -aG 用户组 用户名:修改用户所属组,将指定用户加入指定用户组
25、getent命令:查看用户和用户组
getent passwd 查看当前系统中有哪些用户:
查看的内容中共有7项信息,分别是 用户名:密码(x):用户ID:描述信息(无用):HOME目录:执行终端(默认bash)
getent group 查看系统中有哪些用户组:
包含3项信息 分别是 组名称:组认证(显示为x):组ID
26、chmod命令:修改文件、文件夹的权限信息
注意只有文件、文件夹的所属用户或root用户可以修改
语法:chmod [-R] 权限 文件或文件夹
-R,对文件内的全部内容应用相同的操作
示例:chmod u=rwx,g=rx,o=x hello.txt,将文件权限修改为:rwxr-x--x
权限的数字序号:r记为4,w记为2,x记为1,rwx的相互结合可以得到从0到7的8种权限组合。例如 751, 表示rwx(7)r-x(5)--x(1)
27、chown命令:修改文件、文件夹的所属用户和用户组,此命令只适用于root用户执行
语法:chown [-R] [用户]:[用户组] 文件/文件夹
-R,对文件夹内全部内容应用相同规则
用户,修改所属用户
用户组,修改所属用户组
:用于分隔用户和用户组
其他知识点:
1、绝对路径和相对路径
绝对路径:以根目录为起点,路径描述以/开头
相对路径:以当前目录为起点,路径描述无需以/开头
Linux默认处于/home/用户名 目录下
Linux关于权限的管控级别有2个级别:用户和用户组
2、认识权限信息:权限细节共有10个槽位
-或d或l r或- w或- x或- r或- w或- x或- r或- w或- x或-
第一个槽位含义:-表示文件,d表示文件夹,l表示软链接;
后三个槽位含义:所属用户权限
再后三个槽位含义:所属用户组全权限
最后三个槽位含义:其他用户权限
r:读权限 ; w:写权限 ; x:执行权限 表示可以cd进入
3、特殊路径符:
. 表示当前目录 cd./Desktop 切换到Desktop目录内,和cd Desktop效果一样
.. 表示上一级目录 cd.. 返回上一级目录 ; cd ../.. 返回上二级的目录
~ 表示HOME目录 比如:cd ~ 切换到HOME目录或 cd ~/Desktop 切换到HOME目录内的Desktop目录,等同于 /home/yaya/Desktop
4、vi/vim编辑器的三种工作模式:命令模式,输入模式,底线命令模式
vim是vi的升级版本。
语法:vim 文件路径
模式 | 命令 | 描述 |
---|---|---|
命令模式 | i | 在当前光标位置进入输入模式 |
命令模式 | a | 在当前光标位置之后进入输入模式 |
命令模式 | I | 在当前行的开头,进入输入模式 |
命令模式 | A | 在当前行的结尾,进入输入模式 |
命令模式 | o | 在当前光标下一行进入输入模式 |
命令模式 | O | 在当前光标上一行进入输入模式 |
命令模式 | esc | 任何情况下输入esc都能回到 |
命令模式 | 键盘上、键盘k | 向上移动光标 |
命令模式 | 键盘下、键盘j | 向下移动光标 |
命令模式 | 键盘左、键盘h | 向左移动光标 |
命令模式 | 键盘右、键盘l | 向后移动光标 |
命令模式 | 0 | 移动光标到当前行的开头 |
命令模式 | $ | 移动光标到当前行的结尾 |
命令模式 | pageup(Pgup) | 向上翻页 |
命令模式 | pangdown( PgDn) | 向下翻页 |
命令模式 | / | 进入搜索模式 |
命令模式 | n | 向下继续搜索 |
命令模式 | N | 向上继续搜索 |
命令模式 | dd | 删除光标所在行的内容 |
命令模式 | ndd | n是数字,表示删除当前光标向下n行 |
命令模式 | yy | 复制当前行 |
命令模式 | nyy | n是数字,复制当前行和下面的n行 |
命令模式 | p | 粘贴复制的内容 |
命令模式 | u | 撤销修改 |
命令模式 | ctrl + r | 反向撤销修改 |
命令模式 | gg | 跳到首行 |
命令模式 | G | 跳到行尾 |
命令模式 | dG | 从当前行开始。向下全部删除 |
命令模式 | dgg | 从当前行开始。向上全部删除 |
命令模式 | d$ | 从当前光标开始,删除到本行的结尾 |
命令模式 | d0 | 从当前光标开始,删除到本行的开头 |
底线命令模式 | :wq | 保存且退出 |
底线命令模式 | :q | 仅退出 |
底线命令模式 | :q! | 强制退出 |
底线命令模式 | :w | 仅保存 |
底线命令模式 | :set nu | 显示行号 |
底线命令模式 | :set paste | 设置粘贴模式 |