step1 . day2:Linux系统基础知识
和Windows一样,Linux计算机必要的文件系统和学习C语言使用到的编辑器知识初步掌握。
1.操作系统和内核的分类
内核:Linux、Unix、NT,Linux内核主要负责5项工作①文件管理②设备管理③网络管理④内存管理⑤进程管理
操作系统:Windows系列,MacOS,Ubuntu系列、Redhat系列、centOS及deepin等,是在内核基础上集成各个基础应用的软件
2.Linux系统文件管理系统
Linux系统没有Windows系统C\D\E等盘符的概念,秉承着一切解释文件的形式,遵从FHS(Filesystem Hierarchy Standard)标准建立了倒置树状文件系统
各个目录下存放的内核及功能
/ 根目录
/bin 可基本用户命令二进制文件
/boot 和系统启动相关的文件
/dev 设备文件(通过此文件访问设备驱动)
/etc 系统配置文件
/home 用户家目录
/lib 可执行程序需要连接的库文件
/sbin 系统二机制文件
/mnt/hgfs/share 共享目录
3.shell终端命令(terminal,那个黑色的框框,快捷键Ctrl + alt +T,在终端界面再打开一个终端Ctrl + shift + n)
linux @ ubuntu : ~ $:Linux表示用户名 @间隔符 Ubuntu表示主机名 :间隔符 ~表示家目录 $表示普通用户(#表示超用户)
4.Linux系统下常用命令1
①whoami 查看用户名
②hostname 查看主机名
③su root 进入超级用户,输入密码时候不显示,成功进入的标识是root@ubuntu:/#
④sudo passwd root :重置超级用户密码
⑤exit 退出超级用户或者terminal终端
5.常用命令2
① ls 查看当前目录文件列表
ls -a 显示隐藏文件(以 . 或 ..开头文件)
ls -l 显示文件属性信息(ll)(wrx(421权重)表示文件权限读写执行,八进制表示0777,dsp-lcd文件类型(b块设备文件,d目录,s套接字文件,p管道文件 ,-一般文件,l链接文件,c 字符设备文件))
ls -i 显示文件iNode号
ls -R 文件递归显示,即显示文件中的文件层级
ls -lh 讲文件属性的大小转换为对应数量级
②cd 切换目录 相对路径和绝度路径区分
cd cd~ 返回家目录
cd ../ 返回上层目录 cd ../ ../ 返回上上层目录 cd - 返回上次操作目录
cd /mnt/ 绝对路径打开mnt文件 可以用tab键补齐或者查找
pwd 显示当前工作文件绝对路径
clear 清屏 Ctrl+l(实际上是上翻一页)
③touch a.c 创建文件(如果文件存在,则修改文件时间戳)
④mkdir a 创建目录(-m 为分配权限,-p为递归创建)
⑤rm a.c 删除文件或目录(目录内有文件需要-r,可以多个删除,也可用*通配符多个删除)
⑥chmod 0777 hello 修改hello文件权限(共享文件中的文件权限全是777,即wrx)
⑦cp 复制(-r -a 为复制递归文件)
⑧mv 剪切或者重命名 mv 1.c 2.c 将1.c重命名为2.c mv hello/ test/ 剪切文件到test/
⑨echo 111 打印到终端 echo 11 > hello,c 重定向打印到文件(>>为追加打印)
⑩cat test.c 显示test.c文件中的内容
6.常用命令3
vi或vim常用没命令
vi test.c 创建并打开test.c文件,存在则直接打开
vi有三种模式,各模式下命令如下:
命令行模式(开始进入模式,按Esc可进入)
拷贝 yy 拷贝一行 3yy 拷贝3行
剪切 dd 剪切一行 3dd 剪切三行
粘贴 p 粘贴
撤销 u 撤销
对齐 gg=G 或者 鼠标左键选中按下键盘的等号键
查找
/要查找的字符串
/^字符串 搜索字符串,显示子高亮第一次出现的字符串
/字符串$ 搜索字符串,显示子高亮以这个结尾的字符串
n 下一个
N 上一个
:nohl 取消查找的高亮插入模式:命令行模式下按i(当前位置插入) I(行首插入) a(当前位置插入) A(行位插入) o(行下插入) O(行上插入)
底行模式:
:q (quit) 未修改的文件退出
:q! (quit no save) 强制退出
:w (save) 保存
:wq或x (save quit) 保存并退出
:wq! (force save quit) 强制保存退出
:wqa 保存退出所有的文件
:n 跳转行
:set nonu取消行号
:set nu 显示行号
设置鼠标
:set mouse= 可以拷贝
:set mouse=a 取消拷贝
按住shift,鼠标选中,松开shift ,右键 12.04
按住shift,鼠标选中,不松开shift ,右键 14.04 16.04
粘贴时必须在插入模式下,右键past粘贴
:60,65y 拷贝
:60,65d 剪切
:%s/hello/abc/g 替换所有(不加/g为替换所有行第一个):
:%s/旧字符串/新的字符串/g
:3,4s/hello/abc/g 替换每行的所有的,3-4行
打开多个文件
:vsp 1.c 垂直打开1.c
:sp 1.c 水平打开1.c
在终端使用 gcc a.c命令编译hello.c文件,不指定生产文件名默认生产a.out,在终端./a,out查看程序运行结果
至此,在Linux环境下学习C语言用到的命令基本够了,下面可以在Linux下开始编辑和运行第一个C程序了,感觉这段刚刚上手非常痛苦,比Windows难用多了,但是用熟悉了之后还是很舒服的