开发环境
1、virtualBox虚拟机工具(开源免费)
2、Ubuntu 12.04 LTS(长期支持版本,稳定)
3、vim 代码编辑器
4、gcc 编译器
Linux系统发展
BCPL -> newB -> C -> UNIX -> Minix -> Linux
Linux硬盘分区:
Linux管理硬盘的能力非常强,所以我们能看到的只有一个分区
/ 根目录,所有的文件都储存在它下面
/bin 储存系统命令
/dev 设备文件(一切皆文件)
/media 多媒体目录、U盘、光驱、共享文件夹
/var 储存系统日志
/boot 储存与启动相关的文件
/etc 储存各种软件的配置文件
/lib 储存普通的库文件 .a静态库 .os共享库
/mnt 与其他系统进行映射的目录
/root 储存着超级用户才能使用的系统文件
/home 用户主目录,会自动生成同名的用户主目录
/opt 安装的应用的软件
/run 是一个临时的文件系统
/usr 储存头文件
. 当前目录
.. 上一级目录 cd .. 返回上一级目录
~ 用户主目录
- 注意:Linux目录结构是树型,目录的切换只能上下,不能左右
绝对路径和相对路径:
绝对路径:从根目录开始描述一个位置
相对位置:从当前位置(工作目录)开始描述一个位置
Linux系统命令:
常用命令:
ls //显示当前目录下有哪些文件
ls -a //显示隐藏文件,以.开头的都是隐藏文件,Ctrl+h快捷键显示
ls -l //显示文件的详细信息
cd //进入一个目录
clear //清理屏幕 Ctrl+l
pwd //显示当前所在位置
whoami //显示用户名
文件相关的命令:
- 注意:不是所有的功能都有对应的命令
touch filename //创建文件(不存在则创建)
rm filename //删除文件,不经过回收站直接删除,要慎重
cat/more/head/tail //查看文件
cat //会把文件的所有内容都显示在终端上,适合查看内容较少的文件
more //显示文件的开头,回车下一行,空格下一页,q退出查看
head //只显示文件开头10行
tail //只显示文件末尾10行
cp src dest //复制文件
mv src dest //移动文件,也具备重命名的功能
目录相关的命令:
mkdir //创建目录
mkdir -p //可以创建多级目录
rmdir //删除目录,只能删除空目录
rm -rf //删除非空目录
cp -rf //复制目录
mv //移动目录、重名目录
网路相关的命令:
ifconfig //查看网络配置
windows下查看是ipconfig
sudo ifconfig ethN 192.168.0.xxx netmask 255.255.255.xxx
sudo ifconfig eth0 down 禁用网卡
sudo ifconfig eth0 up 启动网卡
ping ip地址/网址 //测试网络是否连通
ping 127.0.0.1 也叫做本地地址,可以用来测试网卡是否正常工作(禁用网卡,也能连通,就算正常)
Linux默认一直ping,Ctrl+c结束
Windows默认ping四次,/t连续测试,Ctrl+c结束
ftp ip地址,然后输入用户名和密码
ls 显示当前所处服务器有哪些文件
pwd 显示服务器上的工作路径
cd 切换所在服务器的工作路径
get 下载文件
put 上传文件
bye 退出
//采用明码方法传输数据,不够安全,有被窃听的风险,一般公司内部使用
telent ip地址,输入用户名和密码
远程登录一台服务器进行使用
//采用明码方法传输数据,不够安全,有被窃听的风险,一般公司内部使用
ssh 用户名@ip地址,然后输入密码
//采用加密方式传输,因此比较安全
exit退出服务器
其他相关命令:
tar 压缩/解压文件
tar -zcvf 包名 要压缩的目录,创建压缩包
tar -zxvf 包名 解压
chmod 修改文件权限
chmod mmm 文件名 chmod 774 filename
m = r(4) + w(2) + x(1) 0~7
chmod +/-rwx 文件名 所有用户一起改
目录必须要有执行权限才能访问
find 位置 条件 查询文件
find / -name stdio.h
grep "关键字" 文件名 过滤
grep "printf" stdio.h
man key 查询帮助手册
分章节管理内容
1、系统命令
2、系统函数
3、标准库函数
q键退出
sudo reboot //重启系统
sudo init 0 //关机
sudo apt-get update //更新软件源
sudo apt-get upgrade //更新系统
一些常用的快捷键:
快捷键 | 用途: |
---|---|
Ctrl+l | 清屏 |
tab | 自动补全命令或者文件名 |
up/down | 调出命令执行记录 |
Ctrl+alt+t | 快速打开终端 |
Ctrl+shift+t | 新建终端标签页 |
alt+tab | 切换程序 |
重定向、管道、通配符:
重定向:把命令的执行结果写入到文件中
cmd > filename //如果文件存在则清空后写入,文件不存在则创建后写入
cmd >> filename //如果文件存在则追加写入,文件不存在则创建写入
管道:相当于一根管子连通两个命令,一个命令的执行结果被当作另一个命令的数据源
find / | grep "key" //查询所有文件命中含有key的文件
通配符:可以进行模糊执行命令
? //代表任意的一个字符
* //代表任意的多个字符
rm -rf/* 删除所有文件
终端配置文件:
打开终端配置文件gedit ~/.bashrc
,在末尾另起一行添加
# 精简命令提示符
PS1='\u@\w\$ '
# 新建目录并进入
mk()
{
mkdir $1 && cd $1
}
保存退出,命令输入
source ~/.bashrc
重新加载配置文件,使修改生效。
简单的脚本:
脚本:由系统命令组成的带执行权限的文本文件,执行脚本文件时会被命令解释器读取并执行
新建脚本文件 `filename.sh`
chmod +x filename //加执行权限
./filename //执行