系统编程基础知识

shell

shell 的一些快捷操作

在这里插入图片描述

linux系统的一些目录

bin:存放二进制可执行文件
boot:存放开机启动程序
dev:存放设备文件
home:存放用户
etc:用户信息和系统配置文件
lib:库文件
root:管理员宿主目录
usr:用户资源管理目录

linux系统文件类型

普通文件:  -
目录文件: d
字符设备文件:c
块设备文件: b
软链接:  l
管道文件: p
套接字: s
未知文件.

在这里插入图片描述

安装命令

sudo apt-get install +安装的东西

软链接

命令: ln -s 文件名 软链接名
为保证软链接可以任意搬迁,创建时务必对源文件使用绝对路径

硬链接

命令:ln 文件名 硬链接名字
操作系统给每一个文件赋予唯一的inode,当有相同inode的文件存在时,彼此同步.
删除时,只将硬链接计数减一.减为0时,inode被释放.

stat +文件名用于查看

linux下~和/区别

~:是家目录
/:表示根目录
在这里插入图片描述

创建文件命令

e.g:touch xx;

修改文件权限

命令:chmod [who] [+ - =] 文件名
在这里插入图片描述
在这里插入图片描述
e.g: 在这里插入图片描述

用数字表示

在这里插入图片描述
在这里插入图片描述

创建用户

	sudo adduser 新用户名
	e.g: sudo adduser  ys

修改文件所属用户

sudo chown 新用户名 待修改文件
e.g :sudo chown ys a.c

在这里插入图片描述

创建用户组

sudo  addgroup 新组名

删除用户

命令: sudo deluser 用户名

修改文件所属用户组

sudo chgrp 新用户组名 待修改文件
e.g :sudo chgrp g77 a.c

删除组

sudo delgroup 用户组名

改变用户和用户组方法2

命令:sudo chown  用户:用户组 文件

在这里插入图片描述

查找文件

find命令:

-type  按文件类型搜索 d/p/s/c/b/l / f:文件
-name 按文件名搜索
	e.g : find   -name '*.c '
	
-maxdepth 指定搜索深度
e.g : find  ./ -maxdepth 1 -name '*.c '
-size 按文件大小搜索
	find ./ -size +20M -size -50M(文件大小在20M到50M之间的)
-atime, -mtime,-ctime按时间搜索
-exec:将find搜索的结果集执行某一指定命令
		find ./ -name '*.c' -exec ls -ld { } \ ;
-ok: 以交互的方式将find搜索的结果集执行某一指定命令.
-xargs:将find搜索的结果集执行某一指定命令.当结果集数量过大时,可以分片映射.
	find ./ -maxdepth 1  -name '*.c' | -xargs ls -l(默认空格为拆分依据)
-print0: find ./ -maxdepth 1  -type f -print0 | -xargs  print0 ls -l(默认nul为拆分依据)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

查找文件内容

grep

命令:grep -r 'index' ./ -n
 ps aux | grep  'user'  --检索进程结果集

在这里插入图片描述
在这里插入图片描述
在更新软件的时候发现:
在这里插入图片描述

有一个错误:参考链接https://blog.csdn.net/alinsword/article/details/113186774

压缩和解压文件

1.tar压缩和解压

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

e.g: tar  zcvf  test.tar.gz   file1 file2 使用gzip方式压缩
e.g: tar jcvf   test.tar.gz   file1  file2  使用bzip2方式压缩

解压:将压缩命令中的c->x
e.g: tar zxvf test.tar.gz file1 file2 使用gzip方式解压缩
e.g: tar jxvf test.tar.gz file1 file2 使用bzip2方式解压缩

2.rar压缩和解压

rar a -r 压缩包名(带.rar后缀) 压缩材料
rar a -r testrar.rar file1 flie2

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

3zip压缩:

zip -r 压缩包名(带.zip后缀)  压缩材料
zip -r testzip.zip file1 file2

zip解压:
unzip 压缩包名(带.zip后缀)
unzip testzip.zip

c语言编译

g++ main.cpp file1.cpp file2.cpp -o my_program -I/path/to/header_directory -L/path/to/library_directory -lmylibrary

```bash
其中:
- `main.cpp` 是主程序文件。
- `file1.cpp` 和 `file2.cpp` 是其他需要编译的源文件。
- `my_program` 是编译后的可执行文件名称。
- `/path/to/header_directory` 是头文件所在的目录。
- `/path/to/library_directory` 是动态库所在的目录。
- `mylibrary` 是需要链接的动态库名称(不包括“lib”前缀和“.so”后缀)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南方的守候

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值