目录
一、Linux基础应用
Linux的主流发行版:Ubuntu redhat centos
Ubuntu:易于安装和使用,适合新手。社区庞大,有大量的文档和教程可供参考。软件库丰富,支持的软件和应用程序数量很多。更新和维护方便,有稳定版和开发版可供选择。
centos :结构更为简便,安装包比较小。
1、Linux系统结构
Linux系统结构:
用户空间: 应用程序 命令 ls ... 工具软件 gcc
shell:
连接层: 系统调用 (一些函数)
内核空间: 系统调用
系统内部 硬件设备管理 驱动管理 文件系统 进程管理 内存管理 网络管理
linux文件系统: 一切皆文件
Linux中磁盘的 表示 /dev/sda 第一块磁盘 sd 表示这个硬盘是stat接口 m.2
/dev/sda1 磁盘分区 1
/dev/sda2 磁盘分区 2
磁盘分区查看命令
sudo fdisk -l
Linux的根目录结构
/
/bin 存放二进制文件 系统命令 等
/dev 设备目录 存储系统设备文件等
/home 用户家目录的 总目录
/root 管理员用户的家目录
/etc 系统配置目录 存放系统或软件的一些配置文件
/proc 虚拟文件系统, 存放系统中的 一些进程或系统属性
/lib 存放库文件
/opt 存储第三方软件 安装包
/usr 用户相关的 文件
/mnt 系统挂载目录
文件系统的类型:
存储方式分为 本地文件系统 网络文件系统 (网吧的游戏存储位置)
文件的路径: 找到一个文件的 字符串位置
Windows: D:\WorkSpace\Linux\5子棋.rar
Linux: /home/xwq/c基础
相对路径: 相对于某个位置的路径 ../ ~/c基础
在某些情况下 路径才是正确的
绝对路径: 从根目录开始的一个路径 /home/xwq/c基础
在当前计算机中 任何位置 都可以使用绝对路径访问文件
Linux与Windows 文件系统区别:
文件命名: Linux区分大小写 Windows 不区分大小写
Linux中有些类型文件 在Windows中不支持
shell命令: 用于方便使用者 更好的使用Linux操作系统 而设计的一些 命令
这些命令 通过shell 解释器 进行解释
格式: 各个部分间 至少有一个空格分隔 选项和参数可以有 也可以没有
命令名 选项 参数
选项: 以-开头的 通常为单个字母 用于选择一些额外功能或结构
参数: 一般给定 操作目标 或 对象
ls -a 显示当前目录中 的 所有文件包括隐藏文件的 名字
ls ../ 显示 ../ 目录中的 文件名字
ls -l a.txt 显示当前目录中 名叫a.txt文件的 详细信息
ls -la 显示当前目录中 所有文件包括隐藏文件的 详细信息列表
shell命令 中的 特殊符号:
1. 通配符 通过通配符 来描述 一系列有 相似结构的文件名
* 代指 任意长度 任意字符
*.c 代指所有.c结尾的文件
for*.txt 代指所有for开头.txt结尾的文件名
? 代指 一个长度 任意字符
[] 中间给定一些字符, 表示该位置 匹配[]中列举的任何一个字符 区分大小写
[123]*.txt 表示 所有1或2或3 开头的 以.txt 结尾的文件
[-] 表示匹配给定区间的 字符, 不区分大小写[^] 表示匹配除去给定区间的 其他字符
二、管道符 |
作用 连接两个命令 将上一个命令的输出 作为一下命令的输入
类比C编程中的 printf() scanf()
wc 命令 用于 统计输入的 字符的 -l 行数 -w 单词数
grep 命令 用于字符串筛选 可以对输入的字符串进行规则筛选(正则表达式)
ls -l | grep -E "^d" | wc -l 统计目录中有多少个目录显示这个目录下有10个目录 (蓝色字体的就是目录文件)
关于查找:
查找文件名 find -name 文件名 指定路径
在多个文件中 查找文件内容
grep -rn "hello" ./
三、Linux中 常用的命令:
目录与文件相关命令:
cd cd .. 返回上一级目录
ls 查看该目录下的所有文件
mkdir +目录名 创建一个新的目录
rmdir +目录名 删除该目录
du -sh 目录 用于查看目录的 存储大小
tree 用于 树状结构查看目录
mv 移动+改名字
cp 复制+改名字 -r 复制目录
touch 创建普通文件
rm 删除文件 rm -r 递归删除 目录及目录中的文件
编辑:
vim gedit
查看文件内容
cat head tail more less
全看 开头 末尾 翻页 换行看cat 显示文件全部内容
head 显示文件前五行
tail 从末尾显示
四、文件或目录的权限设置
使用chmod 修改权限
-rw-rw-r-- 1 xwq xwq 422 7月 31 10:33 main.c
权限码: 110 110 100 = 0664 使用八进制
修改文件权限 chmod 0666 main.c
修改文件的所有者 sudo chown 用户名 文件或组名
改变文件或目录所属的组 sudo chgrp 组名 文件或目录名
用户相关:
用户名: 用于登录一个计算机的 凭证
口令 : 密码 登录用户的密码
家目录: 用户的初始工作目录
用户组: Linux中 可以将多个用户 放到一个组中
用户ID(UID) 一个值 唯一标记一个用户
用户组ID
用户相关命令: 管理员身份运行
sudo adduser +用户名 添加一个用户到Linux中
su 用户名 切换用户身份
passwd 修改当前用户自己的密码
删除新建用户baoabo
管理员改其他用户的密码
usermod -p 123456 usernameLinux密码文件 /etc/passwd