c++ linux基础学习第一课
课程目标:
1. shell 命令解析器
shell就是命令解析器,将用户命令翻译成内核能够识别的指令。
shell常用的快捷键:tab:补齐命令,补齐文件(包括目录和文件)
ctrl+a光标移动到头部,ctrl+e光标移动到尾部
2. linux下主要目录:
/bin 保存着二进制文件、可执行程序和shell命令
/sbin s是super user的意思,里面存放的是系统管理员使用的系统管理程序
/dev 在linux下一切皆为文件,用来保存设备文件。设备包含两大类 字符设备和块设备。
/lib linux运行的时候需要加载的一些动态库
/root linux超级用户root的家目录
/usr unix系统资源,相当于windows的program files。 里面的/include目录中存放着.h头文件,/games目录中存放着小游戏
/etc 存放linux系统级别的配置文件
/etc/passwd man 5 passwd可以查看passwd文件的格式信息
/etc/group man 5 可以查看group文件的格式信息
/etc/profile 系统的配置文件,修改该文件会影响这个系统下面所有的用户
/home 用户的家目录
/opt 安装的第三方软件的目录
3.文件和目录操作相关的命令
ls -l 列出文件的详细信息,7部分内容
cd - 回到上一次的目录
which 查看一个命令所在的目录
touch 如果文件不存在,创建新文件,如果文件存在,更新文件的最后修改时间。
cp : cp 源目录或文件 目标目录或文件,如果目标文件存在,则被覆盖,如果目标目录存在,则将源目录存放到目标目录的子目录中
查看文件内容的命令:cat more less head tail。 tail -f test.log 实时显示日志的更新。
文件重定向 cat file1>file2,相当于cp file1 file2,可以起到复制文件的作用,1个>符号表示覆盖重定向,两个>表示追加。
4. 软链接 ln -s 源文件 连接文件
使用相对路径创建软链接文件后,将源文件移动后,软链接就会失效,找不到指向的文件,因此源文件一定要使用绝对路径
软链接文件的大小是:路径+文件名的总字节数
5. 硬链接 ln 源文件 连接文件。硬链接不能建立在目录上,对绝对路径没有要求。
硬链接的本质是不同文件名所在的inode节点是相同的,相同的inode节点指向相同的数据块,所以他们的文件内容是一样的,文件内容会同步。
ls -li可以查看文件的inode
创建硬链接可以起到同步文件和保护文件的作用。对某个文件进行一次硬链接则硬链接计数加1,删除一个硬链接后硬链接技术减1,如果硬链接技术为0,则该文件会删除。
硬链接不能够建立在不同的文件系统上:硬链接文件和源文件的inode是相同的,文件系统的inode要求唯一,跨文件系统可能会使得inode不同,所以硬链接不能跨文件系统。
6.修改文件权限、用户、用户组
(1)修改文件权限(权限由三部分组成:拥有者的权限 同组用户的权限 其他用户的权限)
文字设定法:
语法:chmod [who] [+||-||=] filename, +加权限,-减权限,=赋予权限
who: a所有用户 o其他用户 u当前用户即所有者 g同组用户
数字设定法:
语法:chmod [+||-||=] filename
0表示没有权限,1表示执行权限(x),2写权限(w),4表示读权限(r)
数字设定法使用的是3位的8进制数
7.find命令
根据查找的文件名、文件类型、文件大小、最大最小深度、时间(创建时间 访问时间 修改时间)等find命令有参数 -name -type -size -maxdepth/mindepth -ctime/atime/mtime
find path -name "*.c" -exec shell命令 {} \;
find path -name "*.c" -ok shell命令 {} \; //ok比较安全,特别是在执行rm命令的时候,会询问用户是否要执行语句中的shell命令
find path -name "*.c" | xargs shell命令 // |表示管道符
8.grep命令 以及grep和find命令的结合使用
9.软件安装