Linux基本语法

Linux

  • Linux的路径是斜杠/ , windows的路径是反斜杠C:\
  • Linux根目录就是/
  • Linux的home目录就是~,即/home/用户名
  • .表示当前工作目录
  • *表示通配符,用于模糊匹配 (例如 test *即匹配出test开头的所有文件)
  • root表示超级管理员用户 使用su root可切换root用户 (su即switch user) exit退出该用户
  • sudo 命令 即以管理员身份运行 (super user do)
  • > >>表示重定向符
  • | 表示管道符 将管道符左边命令的结果,作为右边命令的输入
  • $ 环境变量名 美刀符 表示取环境变量的值

1.快捷键

  • 清屏快捷键 ctrl+l 或 clear
  • 强制退出命令 ctrl+c
  • history查看历史命令

2.Linux基本命令

基础格式 command [-options] [parameter] 中括号[]表示非必须

  • command即命令本身
  • options即命令选项,因为某些命令是有多种功能的,需要选择,许多都是可以叠加使用的
  • parameter即命令参数,多数是命令的指向目标

ls命令

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

  • 横向列出文件list
  • ls -a 列出全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
  • ls -l 竖向列出文件 相当于ll
  • ls -al a和l组合

cd命令

cd [绝对路径或相对路径] 切换当前工作目录Change Directory

  • 如果直接cd,则回到home目录即 /home/用户名
  • cd .. 返回上一级目录
  • cd ../.. 返回上两级目录

pwd命令

pwd 输出当前工作目录Print Working Directory

mkdir-rmdir命令

mkdir [] 路径 创建目录Make Directory

rmdir [] 路径 删除目录Remove Directory

  • mkdir -p 表示创建多层目录

touch-cat-more命令

touch [] 文件名创建文件

cat [] 文件名查看文件内容

more查看文件内容,可翻页

cp命令

cp [] 源文件s 目的地文件d 用于复制文件或文件夹

  • cp -r 复制文件夹 r表示递归

mv-rm命令

mv 源文件s 目的地文件d 用于移动文件或文件夹,或修改名称move

rm [-r -f] 文件 用于删除多个文件或文件夹remove

  • rm -r 表示删除文件夹 r表示递归
  • rm -f 表示force强制删除 可理解为以管理员身份删除
  • 因此有一个命令是 rm -rf /* 即强制删除根目录下所有文件夹

ln命令

ln -s 参数1 参数2

  • -s 表示建立软链接 set up
  • 参数1 是想被链接到的路径
  • 参数2是该软链接被创建的地方

例如 ln -s ~/Desktop ~/hhh/1,就是想创建一个链接到Desktop的软链接,并将该软链接创建为~/hhh/1

find命令

find 起始路径 [-name ] "文件名称" 查找文件

echo命令

echo "Hello world" >> 指定文件中的路径

  • 即helloworld 写进指定文件中,如果不存在该文件,则新建一个

vim命令

vim 文件名 (vim是一种文本编辑器,若该文件不存在则新建一个,并进入文件)

  • 进入时是命令模式,输入i进入输入模式,在输入模式点击esc则返回命令模式
  • 在命令模式下点击: 进入底线命令模式,也就是在底部输入命令
  • 底线命令下:wq即写入并退出vim编辑器 write quit
  • 命令模式下的一些命令
    • 未完待续…..

grep命令

grep 关键字 文件路径 查找文件中的关键字

  • 文件路径的参数2可作为内容输入端口,即可使用管道符
  • cat test.txt | grep hello 即在test.txt的内容中查找hello关键词
  • ls | grep hello 即在ls的内容中查找hello关键词
  • ll /usr/bin | grep z 同理在ll /usr/bin 的内容中查找z关键词

wc命令

wc [-m -l -w] 文件路径 WordCount用于统计文件中的内容

  • 文件路径同样可作为内容输入端口
  • -m 统计字符数量
  • -l 统计行数
  • -w 统计单词数量 根据空格区分单词
  • cat test.txt | wc 即在test.txt的内容中,统计

3.文件权限信息

image-20240709001152920

  • 序号1 表示文件、文件夹的权限控制信息
  • 序号2 表示文件、文件夹所属用户
  • 序号3 表示文件、文件夹所属用户组

image-20240709001946290

  • 即最前面的序号1中有10个字母位

  • 最前面的一个字母

    • d表示文件夹directory
    • -表示文件
    • l表示软连接link
  • 另外9个三个分为一组,可利用二进制变成数字序号 (8)421 r=4,w=2,o=1

    *image-20240709005523264

    • 因此777就是最危险的rwx rwx rwx 给予所有用户全部权限
  • 另外rwx的权限含义

    • r可读权限read 即可用ls命令
    • w可写权限write
    • x可执行权限exe 即可用cd命令

chmod修改权限命令

即change mode

  • chmod [-R] 权限 文件或文件夹

    • 例如==chmod u=rwx,g=r,o=x test2== 即==chmod 741 test2==

      u即user,g即groups,o即others,

      也就是用户权限rwx,用户组权限r–,其他用户权限–x

chown修改用户(组)命令

即change owner

4.安装应用

CentOSs使用yum管理器,应用格式是.rpm

Ubuntu使用apt管理器,应用格式是.deb

yum命令

rpm包软件管理器,需要root权限,需要联网

  • yum [-y] [install | remove | search ] 软件名称

wget命令

下载文件

5.管理服务

systemctl命令

即system control,用于控制一些服务的开关,自启动

  • systemctl [start | stop | status | enable | disable] 服务名
    • start启动 | stop关闭 | status查看状态 | enable开启开机自启动 | disable关闭开机自启动
    • 服务.service
      • networkManager主网络服务
      • network副网络服务
      • firewalld防火墙服务
      • sshd即ssh服务

6.修改主机名

  • hostnamectl set-hostname 主机名
  • 要root权限

7.端口

  • 公认端口0~1023
    • ftp-21
    • ssh-22
    • smtp-25
    • dns-53
    • http-80
    • https-443

nmap命令

  • 用于查看端口

8.进程

ps命令

ps -ef process show 显示所有进程

ps -ef | grep 关键词 用grep来查找关键词

kill命令

kill -9 进程号 强制关闭指定进程

9.环境变量

env命令

  • 查看环境变量
  • 使用键值对表示 key-value
  • echo $PATH 表示取环境变量的值
  • echo ${PATH}也可以用{}括起来变量名

配置环境变量

  • 在指定文件中输入export 变量名=变量值 并再执行source 配置文件名,使其生效
    • 针对当前用户,配置在~/.bashrc文件中
    • 针对所有用户,配置在/etc/profile文件中
  • 可以自己写一个简单的脚本,在全局都可以执行
    • 先创建文件夹mkdir mkenv
    • 再创建文件vim mk666
    • 在mk666文件里输入命令echo 666 保存并退出
    • 将mk666的权限改成x(可执行),使其成为脚本文件chmod 755 mk666
    • ./mk666就可以输出666
    • 但还要改一下PATH变量,使其能够全局执行
    • 在root下执行vim /etc/profile,并加上命令export PATH=$PATH:/home/admin/mkenv
    • 最后再执行source /etc/profile,就可实现脚本命令的全局化

10.压缩和解压

linux系统中通常用tar和gzip

  • .tar
  • .tar.gz或.gz

tar命令


Linux基本语法
https://driogon.github.io/2024/08/14/Linux基础/
作者
陈言泷
发布于
2024年8月14日
许可协议