Linux & 标准C语言学习 <DAY1>
Linux系统简单介绍:
BCPL->New B->C->UNIX->Minix->Linux->gcc
美国贝尔实验室 1968
Linux管理硬盘的能力非常强,所以只有一个磁盘分区
cd 路径名:进入某个目录
ls 显示当前目录下的文件
/ 根目录,所有文件都存储在该目录下
~ 用户主目录
. 当前目录
.. 上一级目录
注意:Linux的目录结构是倒悬树型,目录的切换只能上下不能左右
/usr 存储头文件
/bin 存储系统命令文件
/home 存储所有用户主目录文件
/media 存储多媒体文件、U盘、光盘、共享文件夹
/boot 存储系统启动相关文件
/sbin 存储超级用户命令文件
相对路径和绝对路径:
绝对路径:从根目录出发开始描述一个文件位置
例如:cd /dev/bus/usb/001/
相对路径:从当前目录(工作目录)出发开始描述一个文件位置
例如:cd ./../../../cpu/
Linux系统命令:
1、常用命令:
ls 显示当前目录下有哪些文件
-a 显示所有文件
Linux中以.开头的都是隐藏文件
Ctrl+h 显示隐藏文件
-l 显示文件的详细信息
cd 路径名
clear 清理屏幕 Ubuntu Ctrl+l
pwd 获取当前位置的绝对路径
whoami 显示当前用户名
2、普通文件相关的系统命令
touch filename 创建文件
rm filename 删除文件,不会经过回收站,要谨慎
cat/more/head/tail filename
cat 把文件的所有内容显示到终端,适合查看内容较少的文件
more 按页显示文件内容,回车下一行,空格下一页,q退出
head 只显示文件开头10行
tail 只显示文件最后10行
cp src dest 复制文件
mv src dest 移动文件,也具备重命名的功能
3、目录文件相关(一切皆文件)
mkdir dirname 创建空目录
-p 可一次性创建多层目录
rmdir 只能删除空目录
rm -rf 删除非空目录(很危险要谨慎)
cp -rf 复制目录
mv 移动、重命名目录
4、网络相关命令
ifconfig 查看网络配置信息
windows下是ipconfig
sudo ifconfig ethx down 禁用网卡ethx
sudo ifconfig ethx up 启用网卡ethx
ping ip/网址 测试网络连通性
windows下默认只测试4次,/t可以连续测试 Ctrl+c退出
127.0.0.1本机地址 可以用来测试网卡是否正常工作
ftp ip地址
输入用户名、密码
远程登录ftp服务器
是明文传输,不够安全、有窃听风险,但是对于公司和个人已经够用
telent ip地址
是明文传输,不够安全、有窃听风险
ssh 用户名@ip地址
通过加密方式传输数据,相对更安全
5、其它相关命令
chmod 修改文件权限
mmm (m=r(4)+w(2)+x(1))
[自己、同组、其它]
chmod mmm filename 更改三组权限
chmod +/-rwx filenmae 统一增加\减少权限
注意:目录文件必须有执行权限,才可以进入
tar 压缩/解压文件
tar -zcvf 包名 要压缩的目录 -》创建压缩包
tar -zcvf 包名.tar.gz dir
tar -zxvf 包名 -》解压压缩包
find 位置 条件 查询内容
例如:sudo find / -name stdio.h
查询所有文件中名字叫做stdio.h的文件
grep "关键词" 文件名 -》过滤内容
例如:grep "printf" stdio.h
查看在stdio.h中出现printf的语句
关机:sudo init 0
重启:sudo reboot
更新软件源:sudo apt-get update
更新系统:sudo apt-get upgrade
安装软件:sudo apt-get install 软件名
man key 查询帮助手册
分章节管理内容
1、系统命令
2、系统函数
3、标准库函数
Ubuntu系统的使用小技巧:
1、Ctrl+l 清理屏幕
2、Tab 快速自动补全命令、文件名
3、Up\Down 调出历史命令
4、Ctrl+Alt+t 打开终端
5、Ctrl+Shift+t 在同一终端下新建标签页
6、Ctrl+Alt+方向键 切换工作区
重定向、管道、通配符:
重定向:把命令的执行结果输入到文件中
cmd > filename 如果文件存在则清空后写入,不存在则新建
cmd >> filename 如果文件存在则追加写入,不存在则新建
管道:相当于一根管子把两个命令连接起来,把cmdA命令的执行结果作为cmdB命令的数据源
cmdA | cmdB
例如:sudo find / | grep "std"
在所有文件中,过滤文件名包含std的文件
通配符:可以进行模糊命令执行
? 替代任意的一个字符
* 替代任意多个字符
// sudo rm -rf /*
修改终端配置文件:
1、通过 gedit ~/.bashrc 打开终端配置文件
2、在末尾添加
#精简命令提示符
PS1='\u@\w$ '
#新建空目录并进入
mk()
{
mkdir $1 && cd $1
}
保存并关闭文件
3、执行配置文件:source ~/.bashrc 才能生效