Linux常用命令

时间:2024-10-10 07:47:14

命令的通用格式:

command [-options] [parameter]
  • command:命令本身
  • -options:[选填]命令的一些选项,可以通过选项控制命令的行为细节
  • parameter:[选填]命令的参数,多数用于命令的指向目标等

相对路径绝对路径和特殊路径符

1.相对路径和绝对路径

相对路径:以根目录做起点,描述路径的方式,路径以/开头

相对路径:以当前目录做起点,描述路径的方式,路径不需要以/开头

2.特殊路径符

  • . 表示当前目录
  • … 表示上一级目录,比如cd… 即可切换到上一级目录,cd…/…切换到上二级目录
  • ~ 表示HOME目录

1.ls命令

ls [-a -l -h] [Linux路径]
  • -a -l -h是可选的选项
  • Linux路径是命令可选的参数

若直接使用ls命令本体表示:以平铺形式,列出当前工作目录下的内容(当前目录默认会加载HOME目录)

ls命令的选项(可以组合使用)
  • -a:可以展示出隐藏的内容(以.开头的文件或文件夹默认被隐藏,需要-a才能显示出来)
  • -l:以列表的形式展示内容,并展示更多细节
  • -h:需要和-l搭配使用,以更加人性化的方式显示文件的大小单位

2.cd命令(Chang 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、cat、more命令

1.touch命令(创建文件)

touch Linux路径
  • touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊符号均可以使用

2.cat命令(查看文件内容)

cat Linux路径
  • cat同样没有选项,只有必填参数,表示被查看的文件路径,相对、绝对、特殊路径符都可以使用

3.more命令(查看文件内容)

more Linux路径
  • more同样没有选项,只有必填参数,表示被查看的文件路径,相对、绝对、特殊路径符都可以使用
  • 与cat不同的是cat是直接将内容全部显示出来,more支持翻页,如果文件内容过多,可以一页页的展示(按q退出翻页)

4.cp、mv、rm命令

1.cp命令(copy复制文件、文件夹)

cp [-r] 参数1 参数2
  • -r选项,可选,用于复制文件夹使用,表示递归
  • 参数1,Linux路径,表示被复制的文件或文件夹
  • 参数2,Linux路径,表示要复制去的地方

2.mv命令(move移动文件、文件夹)

mv 参数1 参数2
  • 参数1,Linux路径,表示被移动的文件或文件夹
  • 参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在

3.rm命令(remove删除文件、文件夹)

rm命令是一个非常危险的命令,特别是在处于root(超级管理员)用户的时候。请谨慎使用。!!!千万不要在root管理员用户下执行rm -rf /,rm -rf /*。

rm [-r -f] 参数1 参数2 ...... 参数n
  • -r选项用于删除文件夹
  • -f表示force,强制删除(不会弹出提示确认信息)
  • 普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示,所以一般用户用不到-f选项
  • 参数1、参数2、…、参数n表示要删除的文件或文件夹路径,按照空格隔开
rm命令支持通配符*,用来做模糊匹配
符号*表示通配符,即匹配任意内容(包含空),示例:
  • test*,表示匹配任何以test开头的内容
  • *test,表示匹配任何以test结尾的内容
  • test,表示匹配任何包含test的内容

5.which命令(查找所使用的一系列命令的程序文件存放在哪里)

which 要查找的命令

6.find命令(查找文件)

按文件名查找文件:

find 起始路径 -name "被查找文件名"
  • 可以使用通配符

按文件大小查找文件:

find 起始路径 -size +l-n[kMG]
  • +、-表示大于和小于
  • n表示大小数字
  • kMG表示大小单位,k表示kb,M表示MB,G表示GB

例如:查找小于10kb的文件:find / -size -10k

7.grep命令(从文件中通过关键字过滤文件行)

 grep [-n] 关键字 文件路径
  • 选项-n,可选,表示在结果中显示匹配的行的行号
  • 参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用""将关键字包围起来
  • 参数,文件路径,必填,表示要过滤内容的文件路径,可作为管道符(|)的输入

8.wc命令(统计文件的行数、单词数量)

wc [-c -m -l -w] 文件路径
  • 选项,-c,统计bytes数量
  • 选项,-m,统计字符数量
  • 选项,-l,统计行数
  • 选项,-w,统计单词数量
  • 若不加选项会依次输出行数、单词数、字节数、文件名
  • 参数,文件路径,被统计的文件,可作为管道符(|)的输入

拓展知识点管道符(|):将管道符左边命令的结果作为右边命令的输入

9.echo命令(在命令行内输出指定内容)

echo 输出的内容
反引号`:反引号包围的内容,会被作为命令执行,而非普通字符

重定向符>和>>:
+ >,将左侧命令的结果, 覆盖写入到符号右侧指定的文件中 + >>,将左侧命令的结果, 追加写入到符号右侧指定的文件中

10.tail命令

tail [-f -num] Linux路径
  • 选项,-f,表示持续跟踪(使用快捷键Ctrl+C可以停止命令的运行)
  • 选项,-num,表示,查看尾部多少行,不填默认10行
  • 参数,LInux路径,表示被跟踪的文件路径

11.su命令(Switch User用于账户切换的系统命令)

su [-] [用户名]
  • -符号是可选的,表示是否在切换用户后加载环境变量,建议带上
  • 参数,用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root
  • 切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键Ctrl+d

12.sudo命令(临时以root身份执行)

sudo 其它命令
  • 可以让一条普通命令带有root权限
  • 需要以root用户执行visudo命令在文件的最后添加:
  • 增加配置方可让普通用户有sudo命令的执行权限

13.groupadd、groupdel命令(用户组管理)

1.groupadd命令(创建用户组)

groupadd 用户组名

2.groupdel命令(删除用户组)

groupdel 用户组名

14.useradd、userdel、id、usermod-aG命令(用户管理)

1.useradd命令(创建用户)

useradd [-g -d]用户名
useradd 用户名 -g 用户组名 -d 指定HOME路径
  • 选项,-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如以存在同名组,必须使用-g
  • 选项,-d指定用户HOME路径,不指定,HOME目录默认在:/home/用户名

2.userdel命令(删除用户)

userdel [-r] 用户名
  • 选项,-r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留

3.id[用户名](查看用户所属组)

id [用户名]
  • 参数,用户名,被查看的用户,如果不提供则查看自身

4.usermod-aG命令(修改用户所属组)

usermod-aG 用户组 用户名
  • 将指定用户加入指定用户组

15.getent命令(查看当前系统中有哪些用户、用户组)

1.查看用户

getent passwd

2.查看用户组

getent group

16.chmod命令(修改文件、文件夹的权限信息)

chmod [-R] 权限 文件或文件夹
  • 选项:-R,对文件夹内的全部内容应用同样的操作

例如:

除此之外,还有快捷写法:chmod 742 test.txt

17.chown命令(修改文件或文件夹的所属用户组和用户组)

chown [-R] [用户][:][用户组] 文件或文件夹
  • 选项,-R,同chmod,对文件夹内全部内容应用相同规则
  • 选项,用户,修改所属用户
  • 选项,用户组,修改所属用户组
  • :用于分隔用户和用户组

18.vi\vim编辑器

vi 文件路径
vim 文件路径

三种工作模式

命令模式快捷键

底线命令模式