系统编程学习1:linux基础

1. Linux系统目录

bin:存放二进制可执行文件

boot:存放开机启动程序

dev:存放设备文件: 字符设备、块设备

home:存放普通用户

etc:用户信息和系统配置文件 passwd、group

lib:库文件:libc.so.6

root:管理员宿主目录(家目录)

usr:用户资源管理目录

2. Linux系统文件类型: 7/8 种

普通文件:-

目录文件:d

字符设备文件:c

块设备文件:b

软连接:l

管道文件:p

套接字:s

未知文件。

3. 软连接:快捷方式

为保证软连接可以任意搬移, 创建时务必对源文件使用 绝对路径。

4. 硬链接:

ln file  file.hard

操作系统给每一个文件赋予唯一的 inode,当有相同inode的文件存在时,彼此同步。


	删除时,只将硬链接计数减一。减为0时,inode 被释放。

5. 创建用户:

sudo adduser 新用户名		--- useradd

7. 修改文件所属用户:

sudo chown 新用户名 待修改文件。

sudo chown wangwu a.c

8. 删除用户:

sudo deluser 用户名

9. 创建用户组:

sudo addgroup 新组名

10. 修改文件所属用户组:

sudo chgrp 新用户组名 待修改文件。

sudo chgrp g88 a.c

11. 删除组:


	sudo delgroup 用户组名


使用chown 一次修改所有者和所属组:

	sudo chown 所有者:所属组  待操作文件。

12. find命令:找文件

-type 按文件类型搜索  d/p/s/c/b/l/ f:文件

-name 按文件名搜索

	find ./ -name "*file*.jpg"

-maxdepth 指定搜索深度。应作为第一个参数出现。

	find ./ -maxdepth 1 -name "*file*.jpg"


-size 按文件大小搜索. 单位:k、M、G

	find /home/itcast -size +20M -size -50M

-atime、mtime、ctime 天  amin、mmin、cmin 分钟。

-exec:将find搜索的结果集执行某一指定命令。

	find /usr/ -name '*tmp*' -exec ls -ld {} \;

-ok: 以交互式的方式 将find搜索的结果集执行某一指定命令


-xargs:将find搜索的结果集执行某一指定命令。  当结果集数量过大时,可以分片映射。

	find /usr/ -name '*tmp*' | xargs ls -ld 

-print0:
	find /usr/ -name '*tmp*' -print0 | xargs  -0 ls -ld 

13. grep命令:找文件内容

grep -r 'copy' ./ -n

	-n参数::显示行号

ps aux | grep 'cupsd'  -- 检索进程结果集。

14. 软件安装:

1. 联网

2. 更新软件资源列表到本地。  sudo apt-get update

3. 安装 sudo apt-get install 软件名

4. 卸载	sudo apt-get remove 软件名

5. 使用软件包(.deb) 安装:	sudo dpkg -i 安装包名。

15. tar压缩:

1. tar -zcvf 要生成的压缩包名	压缩材料。

	tar zcvf  test.tar.gz  file1 dir2   使用 gzip方式压缩。

	tar jcvf  test.tar.gz  file1 dir2   使用 bzip2方式压缩。
解压:

将 压缩命令中的 c --> x

	tar zxvf  test.tar.gz   使用 gzip方式解压缩。

	tar jxvf  test.tar.gz   使用 bzip2方式解压缩。

16. rar压缩解压:

压缩:
rar a -r  压缩包名(带.rar后缀) 压缩材料。

	rar a -r testrar.rar	stdio.h test2.mp3

解压:

unrar x 压缩包名(带.rar后缀)

17. zip压缩解压:

压缩:
zip -r 压缩包名(带.zip后缀) 压缩材料。

	zip -r testzip.zip dir stdio.h test2.mp3
解压:
unzip 压缩包名(带.zip后缀) 

	unzip  testzip.zip 

18. 跳转

跳转到指定行:

	1. 88G (命令模式)

	2. :88  (末行模式)

跳转文件首:

	gg (命令模式)

跳转文件尾:

	G(命令模式)

自动格式化程序:

	gg=G(命令模式)

大括号对应:

	% (命令模式)

光标移至行首:

	0 (命令模式)执行结束,工作模式不变。

光标移至行尾:

	$ (命令模式)执行结束,工作模式不变。

19. 删除与替换

删除单个字符:
	
	x (命令模式)执行结束,工作模式不变。

替换单个字符:
	
	将待替换的字符用光标选中, r (命令模式),再按欲替换的字符

删除一个单词:

	dw(命令模式)光标置于单词的首字母进行操作。

删除光标至行尾:

	D 或者 d$(命令模式)

删除光标至行首:

	d0 (命令模式)

删除指定区域:

	按 V (命令模式)切换为 “可视模式”,使用 hjkl挪移光标来选中待删除区域。  按 d 删除该区域数据。

删除指定1行:

	在光标所在行,按 dd (命令模式)

删除指定N行:

	在光标所待删除首行,按 Ndd (命令模式)

复制一行:

	yy

粘贴:
	p:向后、P:向前。

20. 查找:

1. 找 设想 内容:

		命令模式下, 按 “/” 输入欲搜索关键字,回车。使用 n 检索下一个。

2. 找 看到的内容:

		命令模式下,将光标置于单词任意一个字符上,按 “*”/ “#” 

21. 替换

单行替换:

	将光标置于待替换行上, 进入末行模式,输入 :s /原数据/新数据

通篇替换:

	末行模式, :%s /原数据/新数据/g   g:不加,只替换每行首个。   sed 

指定行的替换:

	末行模式, :起始行号,终止行号s /原数据/新数据/g   g:不加,只替换每行首个。

		:29,35s /printf/println/g

撤销、反撤销:

u、ctrl+r(命令模式)

分屏:
sp:横屏分。 Ctrl+ww 切换。

vsp:竖屏分。Ctrl+ww 切换。

跳转至 man 手册:

将光标置于待查看函数单词上,使用 K(命令模式)跳转。 指定卷, nK

查看宏定义:

将光标置于待查看宏定义单词上,使用 [d 查看定义语句。

在末行模式执行shell命令:

:!命令		:! ls -l 

gcc编译:

4步骤: 预处理、编译、汇编、连接。

-I:	指定头文件所在目录位置。

-c:	只做预处理、编译、汇编。得到 二进制 文件!!!

-g:	编译时添加调试语句。 主要支持 gdb 调试。

-Wall: 显示所有警告信息。

-D:	向程序中“动态”注册宏定义。   #define NAME VALUE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值