第二章 Linux基础
1.系统核心目录详解/root超级管理员家目录、/home普通用户家目录/etc系统存放重要配置的目录如nginx、mysql服务配置用户权限管理等/bin /sbin系统二进制命令存放目录很多命令都是c语言编写/bin是普通用户也能使用的二进制程序/sbin是super user可以使用的二进制程序/usr存放系统绝大多数应用程序、文档等如python、nginx、mysqld等服务程序/bin中存放的是基础命令而/usr/bin中存放的是应用软件命令/var存放系统日志、软件缓存、动态文件的目录/tmp存放程序运行产生的临时文件的目录所有用户都能读写、创建、删除临时文件重启服务后大部分/tmp文件会清空禁止在其中存放重要数据2.目录操作基础命令2.1 用户与权限管理命令用户管理useradd qqq- 新建用户qqq用户的家目录在/home/qqq下echo qqq:123456 | chpasswd- 使用管道符号设置用户密码管道符号 | 将前一个命令的输出作为后一个命令的输入本质上是实现进程间通信su - qqq- 切换到qqq用户登录系统exit- 退出当前用户返回上一级用户id qqq- 查看用户qqq的信息uid (user id) - 用户身份证号每个用户uid不同gid (group id) - 用户所属主组groups - 用户所属的所有组sudo- 授权执行命令普通用户执行需要root权限的命令时使用文件权限管理chmod 000 caoenqi.txt- 修改文件权限为000只读只有root用户能修改2.2 目录与文件操作命令目录切换与查看cd- 进入当前用户的家目录cd /- 进入根目录cd -- 返回上一次所在的目录pwd- 显示当前工作目录的绝对路径ll- 显示文件详细信息ls -l的别名ls -a- 显示所有文件包括隐藏文件Linux中以.开头的文件为隐藏文件du -sh- 查看目录大小-s显示总计-h人类可读格式文件操作mv- 移动或重命名文件移动剪切- 当目标目录存在时mkdir hunan touch a.txt mv a.txt hunan # 将cao.txt移动到hunan目录中重命名- 当目标目录不存在时mv hunan xiang # 将hunan重命名为xiang移动并重命名mkdir hubei mv xiang hubei/hunan # 将xiang移动到hubei目录中并重命名为hunancp- 复制文件cp a.txt hunan #将源文件复制到目标目录 cp /etc/hosts /test/s-hosts #将/etc/hosts复制到/test目录并重命名为s-hosts cp /boot/* . -r #复制/boot目录中的所有文件到当前目录-r递归复制rm- 删除文件rm -rf * #删除当前目录中所有非隐藏文件-r递归-f强制 rm -rf a.txt?? #删除所有后缀为两位数的a.txt文件通配符使用*- 通配任意个字符?- 通配一个字符cp a.txt* hunan将所有以a.txt开头的文件复制到hunan目录中2.3 文本编辑与查看命令vim编辑器基本操作vim c.txt- 新建或编辑文本文件c.txt编辑模式切换按i进入输入模式输入内容按ESC离开输入模式返回命令模式按:wq保存并退出write quit按:q退出未修改时按:q!强制退出不保存按:w保存常用命令yy- 复制当前行3yy复制3行dd- 删除当前行3dd删除3行p- 粘贴pasteu- 撤销undoCtrlr- 恢复redo:set nu- 显示行号:set nonu- 不显示行号cat c.txt- 查看c.txt文件内容vi c.txt #编辑c.txt文件 cat c.txt #查看c.txt文件中的内容 hello wold2.4 系统信息与进程管理系统信息hostname查看主机名hostnamectl set-hostname c修改主机名为chostname #查看主机名 192.168.72.138 hostnamectl set-hostname c #将主机名修改为c su #显示修改后的主机名history查看历史命令which查找命令文件路径进程控制Ctrlc- 强行终止当前正在运行的命令2.5 软件安装与编译软件包管理yumLinux中的软件安装命令yum install gcc -y #安装gccC语言编译器-y参数自动确认 yum install vim -y #安装vim文件编辑器与vi操作相同程序编译与运行vim hello.c cat hello.c #include stdio.h int main() { // 输出字符串到控制台 printf(Hello World!\n); // 程序正常结束返回0 return 0; } gcc -o hello hello.c #将hello.c文件编译成hello这个二进制文件 -o 输出文件output ls anaconda-ks.cfg c.txt hello hello.c ./hello #运行hello文件 Hello World!系统管理mount挂载系统文件umount卸载文件系统2.6 输出与重定向echo China- 输出字符串China到标准输出管道符号 |- 将前一个命令的输出作为后一个命令的输入实现进程间通信 参考上述密码设置