Linux系统介绍:
Linux管理硬盘的能力非常强,所以我们看到的只有一个分区。
/ 根目录,所有文件都存储在它下面
/bin 存储着系统命令
/dev 设备文件(一切皆文件)
/home 用户主目录,会自动生成用户同名目录
/lib64 存储着64位的库文件 静态库.a 共享库.so
/media 多媒体目录,u盘、光驱、挂载的目录
/opt 安装的应用的软件
/root 超级用户目录
/sbin 存储超级用户才能使用系统命令
/sys 存储着系统相关的文件
/usr 存储着着文件
/boot 存储着系统启动相关的文件
/etc 存储着各种软件的配置文件
/lib 存储着普通的库文件
/mnt 与其它系统进行映射的目录
/proc 记录程序运行期间资源的使用情况
/run 是一个临时文件系统,存储系统启动以来的信息。
/srv 该目录存放一些服务启动之后需要提取的数据
/tmp 这个目录是用来存放一些临时文件的
/var 存储系统日志
.. 上一级目录
. 当前目录
~ 用户主目录
注意:目录的切换只能上下不能左右
相对路径和绝对路径:
绝对路径:从根据开始描述一个位置
相对路径:从当前位置(工作目录)描述一个位置
Linux系统命令
常用命令:
ls 显示当前目录下有哪些文件、
-a 显示隐藏文件,以.开头的文件是隐藏文件,Ctrl+h。
-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 创建目录
-p 可以创建多级目录
rmdir 删除目录,只能删除空目录
rm -rf 删除非空目录
cp -frp 复制目录
mv 移动目录、重命名目录
网络相关命令:
ifconfig 查看网络配置
windows下的版本ipconfig
sudo ifconfig ethn 192.168.xxx.xxx netmask 255.255.255.xxx
sudo ifconfig ethn down 禁用网卡
sudo ifconfig ethn up 启用网卡
ping ip地址 测试网络是否连接
127.0.0.1 也叫本机地址,可以用来测试网卡是否正常工作。
windows 默认只测试4次 /t 连续测试,Ctrl+c结束。
ftp ip地址,然后输入用户名和密码
ls 显示服务器上有哪些文件
pwd 显示当前处在服务器的位置
cd 切换在服务器上的工作目录
get 下载文件
put 上传文件
bye 退出
采用明码传输数据,不够安全,有被窃听的风险,一般在公司内部使用。
telnet ip地址,然后输入用户名和密码
采用明码传输数据,不够安全,有被窃听的风险,一般在公司内部使用
远程登录一台服务器进行使用
ssh 用户名@ip地址,然后输入密码,首登录需要保存密钥。
采用加密方式传输,因此比较安全。
其它相关命令:
tar 压缩/解压文件
-zcvf 包名 要压缩的目录,创建压缩包
-zxvf 包名 解压
chmod 修改文件权限
chmod mmm 文件名 m=r(4)+w(2)+x(1)
chmod +-rwx 文件名 所有用户一起改
find 位置 条件 查询文件
find / -name stdio.h
grep "关键字" 文件名 过滤
man key 查询帮助手册
分章节管理内容
1 系统命令
2 系统函数
3 标准库函数
Ubuntu系统使用的小技巧:
Ctrl+l 清理屏幕clear命令功能一样。
tab 自动补全命令或者文件名。
up/down 调出命令执行记录。
Ctrl+Alt+t 可以快速打开终端。
Ctrl+Shift+t 新建终端标签页。
Ctrl+Alt+方向 切换工作区。
Alt+Tab 切换程序。
重定向、管道、通配符:
重定向:就把命令的执行结束写入到文件中
cmd > file 如果文件存在则清空,如果文件不存在则新建。
cmd >> file 如果文件存在则追加写入,如果文件不存在则新建。
管道:相当于用一根管子把两个命令连接起来,一个的执行结果当作另一个命令的数据源。
find / | grep "key"
通配符:可以进行模糊执行命令。
? 代表一个任意一个字符
* 代表任意多个字符
终端的配置文件:
打开~/.bashrc文件,在文件末尾添加:
# 精简命令提示符
PS1="\u@\w$"
# 新目录并进入
mk()
{
mkdir $1 && cd $1
}
保存退出,source ~/.bashrc 重新加载配置文件,使用修改生效。
简单的脚本:
脚本:由系统命令组成的带有执行权限的文本文件,执行脚本时文件会被命令解释器读取并执行。
chmod +x file.sh
./file.sh
打字练习软件:typespeed
sudo apt-get install typespeed
注意:终端窗口至少80*24
vim文本编辑器:
可在终端下使用采用纯键盘操作的一款文本编辑器,号称编辑器神,可以升级(二次开发),可以扩展(安装插件)。
基本用法:
进入vim:vim file.c 文件存在则打开,不存在则创健。
输入i:进入编辑模式,编写代码。
保存退出:按Esc退出编辑模式,输入ZZ保存退出。
vim三大模式:
正常模式:一般用于阅读文件,或者使用快捷键快速修改文件。
插入模式:一般用于编辑文件,输入内容。
行底模式:一般用于对vim进行配置,或者执行一些高级操作。
模式切换:
正常 输入i-> 插入
插入 ESC-> 正常
正常 输入:-> 行底
行底 ESC-> 正常
正常模式的常用操作:
光标移动:
h左 j下 k上 l右
gg 光标跳转到第一行
G 光标跳转到最后一行
n加车 光标向下跳转n
n- 光标向上跳转n
nG 跳转到第n行
vim file.c +n 进入文件后光标跳转到第n行
home 光标跳转到行首
end 光标跳转到行首
PgUp 向上翻一页
pgDn 向下翻一页
删除代码:
x 删除一个字符
nx 删除n个字符
dw/de 删除一个连续的字符串
d$ 从当前光标删除到行尾
d^ 从当前光标删除到行首
dd 删除一行
ndd 删除n行
dG 从当前光标删除到末尾
d1G 从当前光标删除到开头
复制代码:
yy 复制一行
nyy 复制n行
p 粘贴到当前光标下面
P 粘贴到当前光标上面
移动代码:
删除的内容还存储在缓冲区中,使用p/P可以粘贴出来,达到移动代码的效果。
替换代码:
r 替换一个字符
cw 替换一个单词
R 进入替换模式
撤销操作:
u 撤销上次操作
U 撤销该行的所有操作
Ctrl+r 取消撤销操作
进入插入模式:
i 在当前光标前进入插入模式
I 光标跳转到行首,进入插入模式
a 在当前光标后进入插入模式
A 光标跳转到行尾,进入插入模式
o 在当前行下面插入一个空白行,进入插入模式
O 在当前行上面插入一个空白行,进入插入模式
插入模式下的操作:
Ctrl+p/n 自动补全,取变量名、函数名时尽量开头不同。
Ctrl+i 自动缩进,相当于Tab键功能。
Ctrl+j/m 相当于回车键功能。
Ctrl+c 相当于ESC键功能。
Ctrl+x 编译执行
Ctrl+g GDB6调试程序
行底模式下的操作:
w 写入
q 退出
wq 保存退出
q! 强制退出
x 保存退出
X 加密码,set key= 删除密码,注意:wq保存退出才有效。
!cmd 执行系统命令
/key n向下查找,N向上查找
%s/old/new
set nu 显示行号
set nonu 不显示行号
注意:在行底模式下对vim的设置只是临时有效,如果想长期有效需要把这些设置语句写入配置文件(~/.vimrc)中。
对vim的配置:vim ~/.vimrc
初学者对vim的学习:
1、适可而止
2、需要一段时间适应,大概两周左右。
3、ubuntu 系统自带vim教程 vimtutor