零基础学习Linux语法,从入门到进阶

1 计算机介绍

- 硬件系统 -> 看得见,摸得着
  - 鼠标键盘,cpu,内存,显卡,硬盘...
- 软件系统 -> 看得见,摸不着
  - 系统软件
    - 操作系统 -> 管理和控制硬件和软件的计算机程序  承上启下(硬件和软件要交互,通过操作系统)
      - windows系统 -> 开源免费,个人使用最多
      - mac/unix系统-> 闭源收费
      - linux系统 -> 开源免费安全稳定,公司服务器使用最多
        - 安卓系统
        - 鸿蒙系统
    - 编程程序(py程序,java程序,...)
    - 驱动程序
  - 应用软件
    - qq, 微信, typora...

2 linux系统介绍

- 林纳斯·托瓦兹 在1991年 开发了 linux内核(开源免费)
- linux系统组成
  - linux内核
  - 系统库
  - 系统程序
- linux内核和linux发行版
  - linux内核 -> 开源免费,林纳斯开发
  - linux发行版 -> linux系统
    - redhat系统
    - Ubuntu系统 -> 桌面版
    - centos -> 免费
    - deepin -> 国内做的最好的

3 linux目录

- linux目录是一个树型结构(都是从根目录开始的)
- linux没有盘符一说,不像windows有c盘,d盘,它只有一个根目录 `/`
- `etc目录`: 存放系统配置文件
- `home目录`: 普通用户的家目录, 存放在home下的对应用户名的目录中
- `root目录`: 超级管理员的家目录
- `bin/sbin目录`:存放用户命令的目录

4 linux常用命令

命令格式:
command -options parameter
命令名   选项(可有可无)  参数(可有可无)

# 例如:
ls --help  # 查看命令帮助文档
 

4.1 ls命令

- `ls(list)`:查看指定目录下的文件和子目录信息
- `-a`: ls -a 查看全部的文件和子目录,隐藏文件和子目录
- `-l`: ls -l / ll 以列表形式查看文件和子目录具体信息
- `-h`: ls -lh 和-l一起使用, 人性化方式展示文件大小,单位换算

4.2 路径

- 绝对路径
  - windows系统: 从盘符开始的路径 `D:\aa\bb\cc`
  - linux/mac系统: 从根目录开始的路径 `/root/bin/ls`
- 相对路径(以当前所在的目录作为参考目录,搞清楚现在在哪个目录下)
  - `./aa/bb` 或 `aa/bb` : 在当前目录下查找aa目录
  - `../aa/bb`: 当前目录的上一级目录中查找aa目录
  - `../../`: 上一级目录的上一级目录

4.3 cd命令

- `cd`:  change directory 切换工作目录
- `pwd`:  查看当前所在的目录,返回当前目录的绝对路径
- `cd -`: 返回上一次所在的目录
- `cd ~` : 切换到当前用户的家目录
- `cd 相对路径/绝对路径`

4.4 mkdir命令

- `mkdir`:  make directory 创建目录/文件夹


mkdir aaa  # 在当前目录下创建一个aaa目录
mkdir /root/bbb  # 在root目录下创建一个bbb目录,root目录已经存在
mkdir -p aaa/bbb/ccc  # 在当前目录下创建一个层级目录 aaa下创建bbb,bbb下创建ccc 
 

4.5 touch命令

- `touch`: 创建文件


touch a.txt  # 在当前目录下创建a.txt文件
touch /root/aaa/a.txt  # 在root下的aaa目录下创建a.txt
touch a.txt b.txt # 在当前目录下创建a.txt和b.txt文件
 

4.6 rm命令

- `rm`:  remove删除文件或目录
- `-f`: 强制删除文件或目录,不进行提示
- `-r`: 递归删除目录


rm a.txt  # 删除当前目录下的a.txt文件,提示是否删除,y删除,n不删除
rm -f a.txt  # 不提示是否删除
rm -r aaa  # 删除当前目录下的aaa子目录,提示信息
rm -rf aaa  # 不提示,直接删除
 

4.7 mv命令

- `mv`:  move 对文件或目录进行移动或者重名操作

- `mv 原路径 目标路径`
- 移动: 目标路径存在,并且是一个目录
- 重命名: 目标路径不存在


mv a.txt b.txt  # 重命名
mv a.txt aaa  # 将a.txt移动到aaa目录下
mv aaa bbb  # bbb存在,将aaa移动到bbb下
mv aaa bbb  # bbb不存在,对aaa重命名为bbb
 

4.8 cat和more命令

- 显示文件的内容
- `cat/more 文件名`
- cat:一次性显示全部内容
- more:人性化显示文件内容
  - 一行一行查看, enter 回车键
  - 下一页, space 空格键
  - 上一页, b 
  - 退出, q(quit)


cat a.txt
more a.txt
cat /root/aaa/a.txt
 

4.9 cp命令

- `cp`: copy 复制文件或目录
- `cp 源路径 目标路径`
- `-r`: 复制目录


cp a.txt b.txt  # 将a.txt复制为b.txt
cp a.txt aaa/b.txt  # 将a.txt复制为b.txt并移动到aaa目录下
cp aaa bbb -r  # 将aaa目录复制为bbb目录
cp aaa bbb/ccc -r  # 将aaa目录复制为ccc目录并移动到bbb目录下
 

4.10 ps命令

- 查看系统中当前运行的进程


ps # 查看当前窗口运行的进程
ps -ef # 查看后台所有的进程
 

4.11 kill命令

- 结束某个正在运行的程序(进程)


kill -9 进程编号(pid)
 

4.12 ifconfig

- 查看linux系统计算机的ip地址
- 查看windos系统计算机的ip地址 -> ipconfig
- ipv4:点分十进制(0-9    192.168.88.100)
- ipv6:冒分十六进制(0-9a-f    fe80::5a2f:24bf:8718:828a)
- 本机之间的软件交换可以使用 `127.0.0.1` 或 `localhost`

4.13 其他命令

- clear: 清屏
- reboot: 重启
- which ls: 查看ls命令所在的绝对位置
- hostname: 查看本机的主机名

4.14 grep和|管道命令

- `grep 查找内容 文件`: 在文件中查找想要的内容
- `左边命令|右边命令`: 管道, 上一个命令的输出结果是下一个命令的输入信息


grep hello a.txt  # 在a.txt文件中查找hello内容
ps -ef | grep mysql  # 在所有运行的进程中查找mysql内容
 

4.15 用户命令


useradd 用户名  # 添加用户
passwd 用户名  # 给用户设置密码
su 用户名  # 切换用户
userdel -r 用户名 # 删除用户名以及对应的/home下的用户名目录
userdel 用户名 # 只是删除用户名,保留/home下的用户名目录
 

4.16 tar命令

- `tar`: 对文件或目录进行打包或解包操作
- `-c`: 打包
- `-x`: 解包
- `-v`: 显示运行过程中的信息
- `-f`: 指定文件名
- `-z`: gzip压缩包(压缩或解压)
- **注意点**: c 和 x是不能同时使用


# 打包
tar -cvf test.bar aaa  # 将aaa目录打包成test.bar
tar -cvf test.bar a.txt b.txt  # 将a.txt和b.txt打包成test.bar
# 打包并压缩
tar -czvf test.bar.gz aaa  # 将aaa目录打包并压缩成test.bar.gz

# 解包
tar -xvf test.bar  # 将test.bar解压到当前目录下
tar -xvf test.bar -C /root/test  # 将test.bar解压到root下的test目录下
# 解包gz格式的压缩包
tar -xzvf test.bar.gz  # 将test.bar.gz解压到当前目录下
tar -xzvf test.bar.gz -C # 将test.bar.gz解压到root下的test目录下
 

4.17 chmod命令

- `chmod`: 修改文件或目录的权限
- `r(4)`: 读权限
- `w(2)`:写权限
- `x(1)`:可执行权限(.py,.sql,.sh)
- 用户分类
  - 属主用户: u  (当前的用户)
  - 属组用户: g  (和当前用户为同一组的其他用户)
  - 其他用户: o  (不是当前用户,也不是当前用户同一组的用户)


chmod 777 a.txt
chmod u+x,g+r a.txt  # 给文件的不同用户追加其他权限
chmod u=wr,o=rx a.txt  # 给文件的不同用户添加权限,覆盖原有的权限
chmod 777 aaa  # 给aaa目录添加权限
chmod 777 aaa -R  # 给aaa目录以及子目录和子文件添加权限
 

5 vim编辑器

- 在linux系统中,编辑文件的程序
- 只能使用键盘进行编辑操作,不能使用鼠标

- 三种通用模式

  - 命令模式

  - 插入模式

  - 底行模式


  vi 文件名  # 文件存在就是打开,不存在就是创建
  vim 文件名
  vim 文件名 +n  # 打开文件,并定位到第n行

  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

む妖饰千年ょ乱一世浮华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值