Linux系统介绍(UNIX)
BCPL->newB->C语言->UNIX系统->Minix系统(类UNIX)->Linux系统
Linux管理硬盘的能力非常强大。所以我们看到的只有一个分区
/ 根目录,所有文件都存储在它下面
~ 用户主目录
. 当前目录
… 上一级目录
/bin 存储系统命令
/dev 存储设备文件(一切皆文件)
/media 多媒体目录、u盘、光驱、挂载的目录
/proc 记录的程序运行期间资源的使用情况
/sbin 存储超级用户才能使用的系统命令
/tmp 存储一些临时文件
/boot 存储系统启动相关文件
/etc 存储的各种软件的配置文件
/lib 存储一些普通的库文件,静态库.a、共享库.so
/mnt 存储与其他系统进行映射的目录文件
/root 超级用户的目录
/srv 存储一些系统启动后需要提取的数据文件
/usr 存储头文件
/home 存储用户主目录
/opt 存储安装的应用软件
/run 存储一些临时文件
/sys 存储跟系统相关的文件
注意:目录结构是倒悬树结构,目录的切换只能上下,不能左右
相对路径和绝对路径:
绝对路径:从根目录开始描述一个位置
相对路径:从当前位置(工作路径)来描述另一个位置
Linux的系统命令:
常用命令:
ls 显示当前目录下有哪些文件
-a 显示当前目录下所有文件,以.开头的都是隐藏文件
-l 显示文件的详细信息
cd 进入一个目录
clear 清理屏幕,作用相当于ctri+l
pwd 显示当前的路径
whoami 显示当前用户名
文件相关的命令:
注意:不是所有的功能都有对应的命令
touch [filename](文件名) 创建文件
rm [filename] 删除文件,不经过回收站,要慎重
cat/more/head/tail 查看文件
cat 会把文件的内容全部显示在终端上,适合内容较少的文件
more 从文件的开头分页显示,回车显示下一行,空格显示下一页,q退出
head 只显示开头十行
tail 只显示末尾十行
cp [src](要复制的文件) [dest](复制到的相对地址) 复制文件
mv src dest 移动文件,具备重命名文件的功能
目录相关的命令:
mkdir dirname(目录名) 创建目录
-p 可以创建多层目录
rmdir dirname 删除目录,只能删除空目录
rm -rf 删除非空目录
cp -rf src dest 复制目录
mv src dest 移动目录
网络相关的命令:
ifconfig 查看网络配置信息
window中查看是ipconfig
sudo ifconfig ethn 10.0.2.xxx netmask 255.255.255.xxx 修改ip地址、子网掩码
sudo ifconfig ethn down 禁用网卡
sudo ifconfig ethn up 启用网卡
ping ip地址 测试网络连通性
可以测试ip,也可以测试网址,ctrl+c退出
127.0.0.1 本机地址,可以用来测试网卡是否正常
windows只测试4次,-t/t 连续测试,ctrl+c结束测试
网络相关的非系统命令:
ftp ip地址 输入用户名和密码
采用的是明码传输,不够安全,有可能被窃听,一般在公司内部使用
telnet ip地址 然后输入用户名和密码
采用的是明码传输,不够安全,有可能被窃听,一般在公司内部使用
可以用于远程登录一台服务器进行使用
ssh 用户名@ip地址,然后提示输入密码
采用加密方式传输,因此比较安全
exit退出
其他相关命令:
tar 压缩\解压文件
-zcvf 包名 要压缩的目录或者文件 创建压缩包
tar -zcvf dir.tar.gz dir1
-zxvf 包名 解压压缩包
chmod 修改文件权限
chmod mmm(三个数) 文件名 m = r(4) + w(2) + x(1)
第一m表示当前用户的权限如何
第二个表示同组其他人的权限
第三个是其他人对该文件的权限
注意:目录必须拥有执行权限才能进入访问
chmod +/-rwx 文件名 所有用户权限一起增减
find 位置 条件 查询文件
sudo find / -name stdio.h 出现的是绝对路径
grep “关键词” 文件名 过滤内容
grep "printf" /usr/include/stdio.h
重启系统:sudo reboot
关机 : sudo init 0
安装软件:sudo apt-get install 软件名
更新系统:sudo apt-get upgrade
更新软件源:sudo apt-get updata
man [章节名] key 查询帮助手册 按Q退出
分章节管理内容
1、系统命令
2、系统函数
3、C标准库函数
Ubuntu使用小技巧:
ctrl+l 清理屏幕
tab 自动补全文件名、目录名
ctrl+alt+t 快速调出终端
ctrl+shift+t 终端下新建标签页
ctrl+alt+方向键 切换工作区域(默认关闭需要打开)
alt+tab 切换程序
重定向、管道、通配符:
重定向:把命令的执行结果写入到文件中
cmd(命令) > filename 如果文件不存在就创建,如果文件存在,则清空再写入
cmd >> filename 如果文件不存在则创建,如果文件存在则追加写入
管道:类似一根管子把两个命令连接起来,一个命令的执行结果作为另一个命令的数据源
cmd1 | cmd2
find / | grep “stdio” 查询所有文件中包含stdio的文件
通配符:可以进行模糊执行命令
? 可以代替任意一个字符
* 可以替代任意多个字符
终端的配置文件:
打开文件 gedit ~/.bashrc 文件,在文件末位添加
#精简命令提示符
PS1="\u@\w$ "
#新建目录并进入
mk()
{
mkdir $1 && cd $1
}
保存退出,source ~/.bashrc重新加载配置文件,使修改生效
打字练习软件:typespeed
sudo apt-get install typespeed
注意:终端窗户至少 80*24
vim文本编译器:
可以在终端下可用纯键盘操作的一款文本编辑器,号称“编辑器之神”,可以升级(二次开发)、可以扩展(安装插件)
基本用法:
进入vim:vim filename.c 如果文件不存在则创建,文件存在则打开
输入小写i:进入编辑模式,编写代码
保存退出:按ESC键退出编辑模式,输入大写ZZ保存并退出,
三大模式:
正常模式:一般用于阅读文件,或者可以使用快捷键来快速地修改文件内容
编辑模式:一般用于编辑文件,输入内容
行底模式:一般用于对vim编辑器进行配置,或者执行一些高级操作
在正常模式下输入:冒号进入
模式切换:
正常 输入 i ->插入
插入 ESC ->正常
正常 输入: ->行底
行底 ESC ->正常
正常模式的常用操作:
光标移动:
h左 j下 k上 l右
小写gg 光标跳转第一行
大写G 光标跳转最后一行
n回车 光标向下跳转n行
n- 光标向上跳转n行
nG 光标跳转到第n行
vim filename +n 进入文件后光标自动跳转到第n行
home 光标跳转到行首
end 光标跳转到行尾
PGUP 向上翻页
PGDN 向下翻页
删除代码:
x 删除一个字符
nx 删除后面n个字符
dw 删除后面一个连续的字符,以空格为终结,会删除空格
de 删除后面一个连续的字符,以空格为终结,不删除空格
d^ 删除光标之前到行首的字符,光标处不删除
d$ 删除光标之后到行尾的字符,光标处删除
dG 删除光标后所有字符
dgg 删除光标前所有字符
dd 删除当前光标所在的行
ndd 删除光标往下的n行
复制代码:
yy 复制当前一行代码
nyy 复制下面n行,包括当前行
小写p 粘贴到光标的下一行
大写P 粘贴到光标的上一行
移动代码:
删除的内容会存储在缓冲区,可以使用大小写P进行粘贴,从而到达移动代码的效果,可以跨文件移动,整个vim。
替换代码:
r 替换一个字符,输完r后立刻输一个字符
cw 替换一个单词
R 进入替换模式(不是常用的三大模式) INS也可以进入替换模式
撤销操作:
u 撤销上次操作
U 撤销该行的操作
ctrl+r 取消撤销操作
进入插入模式的方法:
i 在当前光标前进入插入模式
I 光标跳到行首再进入插入模式
a 在当前光标后进入插入模式
A 光标跳转到行尾后进入插入模式
o 在当前行的下面一行插入一行空白行并进入插入模式
O 在当前行的上面一行插入一行空白行并进入插入模式
插入模式下的操作:
ctrl+p 自动补全
ctrl+c 相当于ESC
ctrl+j/m 相当于回车键
自定义功能:
ctrl+z保存退出
ctrl+x保存编译运行
ctrl+p导入头文件和main函数
行底模式下的操作:
w 写入,相当于把写入的内容进行保存
q 退出
q! 强制退出
wq 直接保存退出
小写x 保存退出
大写X 加密,注意wq保存退出才生效。zz不行,zz只保存内容,不保存属性所以不行 set key =[空格] 去掉密码 空格改成其他,其他就是密码
!cmd 执行系统命令 例如:!ls
/key 小写n查看下一个有关键词的地方,大写N查看上一个
%s/old(原来的名字)/new(你想替换的名字) 全部替换,如果同一行有多个old,只会替换第一个
set nu 设置行号
set nonu 取消行号
>n 光标处n行代码向右缩进一次
<n 光标处n行代码向左缩进一次
注意:行底模式下的对vim的配置和设置都只是临时的,如果想长期有效需要把设置语句写入到vim的配置文件中(~/.vimrc)