文章目录
一、命令行快捷键
- Ctrl+a:光标移到开头
- Ctrl+e:光标移到结尾
- Ctrl+u:清除整行
二、文件操作指令
- cd …:跳到上级目录
- ls : 查看
- pwd : 查看当前目录
1.重要文件
- LInux系统中“所见皆文件”
- bin:存放二进制可执行文件
- boot:存放开机启动程序
- dev:存放设备文件
- home:存放用户
- etc:用户信息和系统配置文件
- lib:库文件
- root:管理员宿主目录(家目录)
- usr:用户资源管理目录
2.文件类型
- 普通文件:-
- 目录文件:d
- 字符设备文件:c
- 块设备文件:b
- 软连接:l
- 管道文件:p
- 套接字:s
- 未知文件
3.cp复制指令
拷贝文件︰
cp file1 file2
cp file1 dirl
cp file1 ../
拷贝目录∶
cp dir1 dir2 -r
cp dir1 ~l -r
4.增加权限
chmod u+x 文件名
5.修改操作指令
创建用户:
sudo adduser 新用户名
修改文件所属用户:
sudo chown 新用户名待修改文件。
sudo chown wangwu a. c
删除用户:
sudo deluser 用户名
创建用户组:
sudo addgroup 新组名
修改文件所属用户组:
sudo chgrp 新用户组名待修改文件。
sudo chgrp g88 a.c
删除组:
sudo delgroup 用户组名
三、查找和检索
find命令:找文件
-type按文件类型搜索d/p/s/c/b/1/ f:文件
-name按文件名搜索
find ./ -name"*fi1e*.jpg"
-Imaxdepth指定搜索深度。应作为第一个参数出现
find ./ -maxdepth 1 -name "*fi1e*.jpg'
-size按文件大小搜索.单位:k、M、G
find /homelitcast -size +20M -size -50M
-atinme、 mtime、ctime 天 anin、rin、cmin分钟
exec:将find搜索到的结果集进行执行
find/usr/ -name '*tmp*' -exec ls -ld {} \;
-ok:以交互式的方式将find搜索的结果集执行某一指定命令
-xargs:将find搜索的结果集执行某一指定命令。当结果集数量过大时,可以分片映射
find /usr/ -name '*tmp*’l xargs 1s -1d l
grep命令:找文件内容
grep -r 'copy' ./ -n
ps aux | grep 'cupsd'’--检索进程结果集。
四、安装
1.原码安装
- 解压缩源代码包
- cd dir
- ./configure
检测文件是否缺失,创建Makefile ,检测编译环境 - make
编译源码,生成库和可执行程序 - sudo make install
把库和可执行程序,安装到系统路径下 - sudo make distclean
删除和卸载软件
2.软件安装:
- 1.联网
- 2.更新软件资源列表到本地。sudo apt-get update
- 3.安装 sudo apt-get install 软件名
- 4.卸载sudo apt-get remove 软件名
- 5.使用软件包(.deb)安装: sudo dpkg -i 安装包名
五、压缩与解压
tar压缩:
- 1.tar -zcvf 要生成的压缩包名压缩材料。
tar zcvftest.tar. gzfile1 dir2 使用_gzip方式压缩。
tar jcvftest.tar.gz fi1e1 dir2 使用bzip防式压缩。
tar解压:
- 将压缩命令中的c --> x
tar zxvftest.tar.gz 使用gzip方式解压缩。
tar jxvftest.tar.gz 使用bzip2方式解压缩。
rar压缩:
- rar a -r压缩包名(带.rar后缀)压缩材料。
rar a -r testrar.rar
stdio.h test2.mp3
rar解压:
- urrar x 压宿包名(带.rar后缀)
zip压缩:
- zip -r 压缩包名(带.zip后缀)压缩材料。
zip -r testzip.zip dir
stdio.h test2.mp3
zip解压:
- unzip 压缩包名(带.zip后缀)
六、vim的三种工作方式
跳转到指定行:
- 88G(命令模式)
- :88(末行模式)
挑转行首:
- gg(命令模式)
眺转行尾:
- G(命令模式)
自动格式化程序:
- gg=G(命令模式)
大括号对应;
- %(命令模式)
光标移至行首:
- 0(命令模式)执行结束,工作模式不变。
光标移至行尾:
- $(命令模式)执行结束,工作模式不变。
删除单个字符:
- x(命令模式)执行结束,工作模式不变。
删除一个单词:
- dw(命令模式)光标置于单词的首字母进行操作。
删除光标至行尾:
- D或者$(命令模式)
删除光标至行首:
- d0
删除指定区域:
- 按V(命令模式)切换为“可视模式”,使用hjk1挪移光标来选中待删除区域。按d册除该区域数据。
删除指定1行:
- 在光标所在行,按dd(命令模式)
删除指定N行:
- 在光标所待册除首行,按Ndd(命令模式)
复制一行:
- yy
粘贴:
- p:向后、P:向前。
查找:
- 1.找设想内容:
命令模式下,按“!”输入欲搜索关键字,回车。使用n检索下一个。 - 2.找看到的内容:
命令模式下,将光标置于单词任意一个字符上,按“*”“#”
单行替换:
- 将光标置于待替换行上,进入末行模式,输入:s /原数据/新数据
通篇替换:
- 末行模式,:%s/原数据/新数据/gg:不加,只替换每行首个。
指定行的替换:
- 末行模式,:起始行号,终止行号s /原数据/新数据/gg:不加,只替换每行首个。
:29,35s /printf/print1n/g
撤销、反撤销:
- u、ctr1tr(命令模式)
分屏:
- sp:横屏分。Ctr1+ww切换。vsp:竖屏分。Ctr1+ww切换。
跳转至man手册:
- 将光标置于待查看函数单词上,使用K(命令模式)跳转。指定卷,nK
查看宏定义:
- 将光标置于待查看宏定义单词上,使用[d查看定义语句。
在末行模式执行she11命令:
- :!命令
- : ! 1s -l
七、gcc编译四步骤
gcc编译4步骤:
- -I:指定头文件所在目录位置。
- -c:只做预处理、编译、汇编。得到二进制文件! ! !
- -g:编译时添加调试语句。主要支持gdb调试。
- -wall:显示所有警告信息。
- -D:向程序中“动态”注册宏定义。
八、静态库和动态库
静态库制作及使用步骤:
1.将 .c生成.o文件
gcc -c add. c -o add. o
2.使用ar工具制作静态库
ar rcs lib库名.aadd.o sub. o
3.编译静态库到可执行文件中:
gcc test.c lib厍名.a -o a. out
头文件守卫:防止头文件被重复包含
#ifndef _HEAD_H
#define _HAD_H
...
#endif
动态库制作及使用:
1.将.c生成.o文件,(生成与位置无关的代码–fPIC)
gcc -c add. c -o add. o -fPIC
2.使用gcc -shared制作动态库
gcc -shared lib库名.soadd.o sub.o div.o
3.编译可执行程序时,指定所使用的动态库。-l:指定库名-L:指定库路径。
gcc test.c -o a.out -lnmymath -L./lib
4.运行可以执行程序./a.out
原因:
链接器:工作于链接阶段,工作时需要-l和-L
动态链接器:工作于程序运行阶段,工作时需要提供动态库所在目录位置。
通过环境变量:export LD_LIBRARY_PATH=动态库路径
./ a.out成功! !!(临时生效,终端重启环境变量失效)
永久生效:写入终端配置文件。 .bashrc
1) vi ~l .bashrc
2)写入export LD_LIBRARY_PATH=动态库路径保存
3) . .bashrc/ source .bashrc / 重启 终端--->让修改后的.bashrc生效
4) ./a.out成功!