今天听的李汝波老师的课,虽然Ubuntu、Shell也都接触过,不过今天讲的非常的细,收获还是蛮多的,shell指令很久没用了,如果不讲课直接让我想的话,可能会比较生疏,记得不是很清楚了,不过现在都没问题啦,说实话,指令不但高效,熟练地话 比用鼠标爽多了~
下面是今天讲的笔记。。
C++方向(Objective-C与之类似)三阶段:
1、基础: Linux环境的熟悉、c语言、c++、 数据结构和算法2、应用:Unix/Linux高级c编程、qt、oracle
3、应用:win32核心编程、 MFC、 com组件、 网络编程和数据库访问
--------------------------------------------
Unix/Linux环境的熟悉
Unix/Linux的目录结构相当于windows下只有一个c盘, 最根的这个盘符称为根目录
根目录下的目录: bin、 home、 usr...
Unix/Linux是一个支持多用户登陆的系统
root超级管理员权限,可以操作所有用户所有目录下的内容
普通用户权限, 只能操作本用户目录下的内容, 每个用户都有一个主目录, 这个主目录一般以用户名命名, 存在根目录下的home目录里
命令解释器(SHELL), 将命令解析后交由内核执行
符号:
/ 分隔符, 在路径中用来分隔目录或者文件
> 输出重定向, 将输出内容输出到指定地方
>> 追加
通配符:
* 通配所有内容
? 通配一个字符
[] 通配一个范围
目录:
/ 根目录
.. 上一级目录
. 当前目录
~ 用户主目录, cd ~ 切换到主目录, 此时~可以省略
Unix/Linux下常用命令:
pwd 打印当前工作目录, 以绝对路径的方式打印
mkdir 创建目录, 命令后面跟一个目录名, 加-p选项可以创建多级目录,不加任何选项直接在后面跟多个目录名则同时创建多个目录
ls 查看指定目录下的内容
cd 切换工作目录
clear 清屏
touch 创建一个文件, 可以同时并列创建多个文件
rmdir 删除一个空目录
rm 删除文件, 加-r选项可以删除非空目录
chmod 修改文件权限
cp 拷贝文件或目录
mv 剪切目录或者文件, 同时也可以用此命令给目录或者文件改名
echo 回馈显示
env 查看所有环境变量
cat 查看指定文件内的内容
ln 创建软链接或者硬链接
路径
------------------------------------------------------
绝对路径:以根目录出发的路径描述方式。 /home/tarena/day01
相对路径:以当前目录出发的路径描述方式。 ./day01/
Linux下执行程序需要程序所在路径和程序的名字。
------------------------------------------------------
ls 查看指定目录下的内容, 后面可以跟指定路径, 不跟则默认 是当前路径
ls -a 加-a选项则查看所有内容,包括隐藏文件
----------------------------------------------
凡是以.开头的文件都是隐藏文件, 可以用touch 或者mkdir 来创建一个以.开头的文件
----------------------------------------------------------
ls -l 详细查看指定目录下的内容
- rw-r--r-- 1 ubuntu ubuntu 0 2014-03-22 14:30 file
1 2 3 4 5 6 7 8
1、 文件类型: - 代表普通文件 d 代表目录 l 代表软链接
c 字符块设备 s 套接字
2、 文件权限: r 读权限 w 写权限 x 执行权限 - 不具备 相应权限
9个字符代表了三类用户对文件的操作权限, 三类用户 分别是文件属主、同组用户、其他用户
3、 硬链接数
4、 用户属主(文件拥有者)
5、 用户组
6、 文件大小
7、 文件最后被修改的时间
8、 文件名
-----------------------------------------------------------
chmod 修改文件权限
相对模式: r - 读 w - 写 x - 执行权限
u - 文件拥有者 g - 同组用户 o - 其他用户 a - 所有用户
格式: chmod u/g/o/a +/- r/w/x 文件名
绝对模式: r - 4 w - 2 1 - x
格式: chmod 777 文件名
-----------------------------------------------------------
cp 拷贝文件或目录
格式: cp 源文件路径 目标路径
拷贝目录时需要加 -r 选项
------------------------------------------------------
mv 剪切目录或者文件
格式: mv 源文件路径 目标路径
一般目标路径只给路径就可以,假如目标路径后面还跟了名字则表示在剪切的同时改名
-----------------------------------------------------
env 查看所有环境变量
环境变量: PATH PS1 PWD
PS1='自定义内容' 将系统提示符换成自定义内容
---------------------------------------------------------------
cat |
more | => 查看指定文件内的内容
head | ---> head 只查看文件头部的一屏幕内容
tail | ---> tail 只查看文件尾部的一屏幕内容
more 分屏查看 more /usr/include/stdio.h
按回车每次刷一行, 按空格每次刷一屏幕, 按q键退出分屏查看
----------------------------------------------------------------
ln 创建软链接或者硬链接
硬链接: 文件的又一个别名, 可以在不同路径下面
格式: ln 源文件路径 目标路径下硬链接名
软链接: 相当于一个快捷方式
格式: ln -s 源文件路径 目标路径下软链接名
练习:
在day01下面创建目录code, 在code目录下分别创建code1,code2,code3, code4,code5这一系列目录, 分别在这些目录里面创建一个名为code.txt的文件, 在目录切换过程打印当前工作目录, 并查看是否创建成功