Linux基本命令

196 阅读11分钟

常用快捷键

组合用途
ctrl+c用于退出执行,比如tail命令监视使用时,可以直接退出
ctrl+d退出账户的登录,或退出某些特定程序的专属页面
ctrl+r输入命令去匹配历史命令,按回车键即可执行
ctrl+a跳到命令开头
ctrl+e跳到命令结尾
ctrl+键盘左键向左跳一个单词
ctrl+键盘右键向右跳一个单词
ctrl+l清屏

常用命令

ls [-a,-l,-h] [路径]:

ls命令的作用:

可以查看指定的文件夹(目录)的内容.如果不给定参数,就查看当前工作目录的内容

ls命令的选项:

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

命令的选项组合使用

  • 命令的选项是可以组合使用的,比如: ls -alh 等同于ls -a -l -h

cd命令的作用:

  • cd命令可以切换当前工作目录,语法: cd [linux路径]
  • 没有选项,只有参数,表示目标路径
  • 使用参数,切换到指定的路径
  • 不适用参数,切换工作目录到当前用户的HOME

pwd命令的作用:

输出当前所在的工作目录,无参数

mkdir命令的语法和功能

  • mkdir用以创建新的目录
  • 语法: mkdir [-p] linux路径
  • 参数必填,表示要创建的目录的路径,绝对,相对,特殊路径符都可以

-p 选项,表示自动创建不存在的父目录,

touch命令:

  • 参数是创建的文件及具体的文件路径
  • 如:touch test.txt

cp命令:

用于复制文件和文件夹,

  • 语法: cp [-r] 参数1 参数2

  • -r选项,可选,用于复制文件夹使用,表示递归

  • 参数1,Linux路径,表示被复制的文件或文件夹

  • 参数2,Linux路径,表示要复制去的地方.

mv命令:

用于移动文件夹或者文件

语法:mv 参数1 参数2

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

rm命令:

用于删除文件或者文件夹

语法:rm [-r -f] 参数1 参数2 ...参数n

  • 同cp命令一样,-r选项用于删除文件夹
  • -f表示force,强制删除----在root用户下删除任何文件或者文件,都会有确认是否删除选项,输入y表示确认删除,n表示不删除
  • 参数1 参数2 ....参数n表示要删除的文件或文件夹的路径,按照空格隔开
  • 参数也支持通配符 * ,用以做模糊匹配

which命令:

查找命令的程序文件

语法:which 要查找的命令---使用较少

find命令:

用于查找指定的文件

  • 按文件名查找: find 起始路径 -name "被查找的文件名"---支持通配符

  • 按文件的大小进行查询: find 起始路径 -size +|-n[kMG]

  • +,-,表示大于和小于,n表示数字大小,kMG 表示大小的单位,k表示kb,M表示MB,G表示GB

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

grep命令:

从文件中通过关键字过滤文件行

语法:grep [-n] 关键字 文件路径

  • 选项-n,可选,表示过滤的关键字,建议使用""将关键字包住
  • 参数,文件路径,必选,表示要过滤内容的文件路径

注:

可搭配cat命令和|使用:

cat 文件路径 | grep [-n] 关键字 ----这里可以不跟文件路径,| 前面的输出结果会放到grep中充当文件路径使用

还可以和echo搭配使用:

echo "hello linux" | grep [-n] 关键字,同理

wc命令:

命令统计文件的行数,单词数量,字节数,字符数等

语法:wc [-c -m -l -w] 文件路径

  • 不带选项时,默认统计行数,单词,字节数
  • -c字节数,-m字符数,-l行数,-w单词数
  • 参数,被统计的文件路径,可作为管道符的输入----不理解

管道符|:

将管道符左边命令的结果,作为右边命令的输入--如文件路径和字符的输入

echo命令:

用于在命令行输出指定内容或者执行命令

语法:echo 输出的内容

  • 无需选项,只有一个参数,表示要输出的内容,复杂内容可以用""包围

例:echo "hello linux"-----结果:hello linux

  • 执行命令:需要将输入的命令,添上``包住

例:

echo `pwd` ---输出当前工作所在目录

重定向符:

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

例: echo "hello 你好!" >>test.txt >>执行追加

这时查看test.txt文件:cat test.txt -----结果:hello 你好!

echo "hello linux" >test.txt >执行覆盖

这时再查看test.txt文件:cat test.txt ------结果:hello linux

原文件的hello 你好!hello linux 覆盖掉了

tail命令:

用于查看文件尾部内容,跟踪文件的最新更改;

语法:tail [-f -num] linux路径

  • 选项 -f,表示持续跟踪 ---可用Ctrl+c退出
  • 选项 -num,表示查看尾部多少行,默认是10行

路径

相对路径和绝对路径

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

特殊路径符号

  • .表示当前目录
  • ..表示上一级目录
  • ~表示回到home目录,如果登录用户是root侧回到/root下

vim编辑文本

命令模式:

命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能,此模型下,不能自由进行文本编辑

输入模式:

也就是所谓的编辑模式,插入模式.此模式下,可以对文件内容进行自由编辑

底线命令模式:

以: 开始(输入:从命令模式进入底线命令模式),通常用于文件的保存,退出

###表:

模式命令描述
命令模式i在当前光标位置进入输入模式
命令模式a在当前光标位置之后,进入输入模式
命令模式I在当前行的开头.进入输入模式
命令模式A在当前行的结尾,进入输入模式
命令模式o在当前光标下一行进入输入模式
命令模式O在当前光标上一行进入输入模式
输入模式esc任何情况下输入esc都能回到命令模式
底线命令模式:wq保存并退出
底线命令模式:q仅退出
底线命令模式:q!强制退出
底线命令模式:w仅保存
底线命令模式:set nu显示行号
底线命令模式:set paste设置粘贴模式

备注:

  • 输入模式和底线命令模式都只能通过命令模式进入.输入模式和底线命令模式不能互相进入,只能通过命令模式进入,即需先退回到命令模式

  • 从命令模式进入输入模式,通过i a o 等键可以进入,退回到命令模式需要通过esc键退回

  • 从命令模式进入底线模式,通过:键进入,退回到命令模式通过enter键退回

root用户和权限:

切换用户:

切换用户通过su [-] [用户名]

  • 从普通用户切换到root用户,需要输入管理员密码
  • 从root切换到普通用户,不需要输入密码,但从普通用户切换到其他用户需要输入密码

退回到上一个用户,可通过exit命令,也可以通过快捷键:ctrl+d

用户组:

创建用户组:

groupadd 用户组名

删除用户组:

groupdel 用户组名

用户:

创建用户:

useradd [-g -d] 用户名

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

删除用户:

userdel [-r] 用户名

  • 选项:-r,删除用户的home目录,不使用-r,删除用户时,home目录保留

修改用户:

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

查看用户所属组:

id [用户名]

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

getent:

查看用户:

getent passwd

  • 共有七分消息,分别是:
  • 用户名:密码(x):用户id:组id:描述信息(无用):HOME目录:执行终端(默认bash)
查看组:

getent group

文件夹和文件的权限:

认知权限信息:(权限细节总共分为10个槽位):

例:-rwxr-xr-x

  • 第一位通常为-dl,-表示文件,d表示文件夹,l表示软链接
  • 第二到第四位为所属用户权限,第五到第七为为用户组权限,最后三位为其他用户权限,即不是统一用户组的其他用户
  • 其中r表示读权限,即进行读取---查看文件内容,查看文件夹内容

  • w表示写权限---修改和进行编辑,创建,改名等

  • x表示执行权限---对于文件可将文件作为程序执行,对于文件夹,表示可以切入到文件内部,进行访问

修改文件和文件夹的权限:

注:只有文件,文件夹的所属用户或root用户可以修改

语法:chmod [-R] 权限 文件或文件夹

  • 选项:-R 对文件夹内部的全部内容应用同样的操作

示例:

  • chmod u=rwx,g=rx,o=x test.txt,将文件修改为rwxr-x--x
  • 其中:u表示user用户所属权限,g表示group组权限,o表示other其他用户权限
  • chmod -R u=rwx,g=rx,o=x test ,将文件test以及文件夹内全部内容权限设置为rwxr-x--x
权限的数字序号:

利用二进制表示,每个权限配置都有三位,所以例:r--,可以用4表示,像rwxr-x--x,表示为751,即命令行可替换为chmod 751 test.txt

修改文件和文件夹的所属用户和用户组:

注:普通用户无法修改所属其他用户或组,所以此命令只适用于root用户执行

语法:chown [-R] [用户] [:] [用户组] 文件或文件夹

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

例:

  • chown root hello.txthelli.txt所属用户修改为root
  • chown :root hello.txthello.txt所属用户组修改为root用户组
  • chown root:itheima hello.txthello.txt所属用户修改为root,用户组修改为itheima

linux安装软件及其他

安装:

yum:PRM包管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题

语法:yum [-y] [install | remove | search] 软件名称

  • 选项:-y,自动确认,无需手动确认安装或卸载
  • install:安装
  • remove:卸载
  • search:搜索

yum命令需要root权限,可以su到root,或者使用sudo提权,且需要联网

控制服务:

语法:systemctl start | stop | status | enable |disable 服务名

  • start 启动服务
  • stop 关闭服务
  • status 查看服务状态
  • enable 设置开机自启
  • disable 开机自启关闭

软链接:

类似于windows系统中的快捷方式

语法:ln -s 参数1 参数2

  • -s选项,创建软链接

  • 参数1,被连接的文件或者文件夹

  • 参数2,要链接去的地方,前面加个

例:

  • ln -s /etc/yum.conf ~/yum.conf
  • ln -s /ect/yum ~/yum

date命令:

  • 无选项时:

date----直接查看时间,不过时间格式是国际标准时间

  • 可以自定义显示格式:

例:date +%Y-%m-%d----2022-11-13

其中支持的时间标记为:

  • Y--year年
  • m--month月
  • d--day天
  • H--hour小时
  • M--minute分钟
  • S--second秒

修改Linux时区:

使用root权限:

rm -f /ect/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  • 将系统自带的localtime文件删除,并将/usr/share/zoneinfo/Asia/Shanghai文件链接替换为localtime文件即可

在Linux中修改主机名:

  • 可以使用命令:hostname查看主机名
  • 可以使用命令:hostnamectl set-hostname 主机名(需要root权限),重新登录即可

检查指定的网络服务是否为联通状态:

语法:ping [-c num] ip或者主机名或者域名

  • 选项:-c,检查的次数,不使用-c选项,将无限次持续检查
  • 参数:ip或主机名,被检查的服务器的ip地址或主机名

通过wget下载网络文件

语法:wget [-b] url

  • 选项:-b,可选,后台下载,会将日志写入到目前工作目录的wget-log文件
  • 参数:url,下载链接
  • 使用tail命令,可以监视后台下载进度:tail -f wget-log