【linux基础命令、文件压缩和解压、main文件编译连接】

一、linux系统和Windows系统的主要区别
1、Linux 主要使用命令行操作系统,Windows 图形化界面
2、Linux 主要应用于服务器,Windows 是个人操作系统
3、Linux 属于开源项目,而 Windows 不开源
4、Linux 是多用户系统,Windows 是单用户系统

打开终端操作:ctrl+alt+t,在桌面右键 选择在终端中打开
二、cd和ls的用法
cd / 切换到根目录
(ls的功能是显示内容)查看当前文件夹下的所有文件:ls
ls的功能是显示内容

linux中删除操作没有CTR+Z挽回
切换管理员身份的命令:sudo su

退出管理员身份:exit
在这里插入图片描述

ls -l 查看文件详细信息

在这里插入图片描述

三、家目录、根目录、绝对路径
1)绝对路径
绝对路径是按照树层次开始,从/根目录开始,到达相应文件的所有目录名连接构成的,各个路径名之间用/分隔。
2)相对路径
从当前目录开始到指定位置
查找绝对路径:pwd
在这里插入图片描述
.代表当前目录
eg: cd .
… 代表 当前目录的上一层(父目录)
eg: cd …
家目录:~(波浪号)
/home:普通用户的家目录,一个普通用户/home/普通用户文件夹
/home/stu(lmy)
在home下对于每个普通用户都会有一个以用户名命名的目录,就是该用户的家目录。
例如:/home/stu1 /home/stu2
每个用户只能在自己的家目录下创建文件,修改文件等,不能修改其他用户的家目录中的文件。
在这里插入图片描述
四、文件的简单操作
touch :新建文件
eg:cd/home/lmy 或者 cd~切换到家目录
在这里插入图片描述

touch 建立文件名有空格可以转义字符实现:
请添加图片描述

在相对路径下touch 文件到指定位置:请添加图片描述

普通用户身份 创建文件删除文件只能在家目录:cd/home/lmy
在这里插入图片描述
rm. a.txet(删除a.text 文件)
查找自己的文件
cd 进行路径切换:
eg:cd bin(切换到BIN文件夹)
在这里插入图片描述
clear :清屏操作
二、2022年4月21根目录下的文件
ls -a 查看隐藏文件
ll查看文件详细信息,包含隐藏文件
boot 存放linux内核
/bin 存放常用的命令 ls cd … 可以把文件放BIN里面,下次可以当命令用,直接执行

/etc 存放系统配置文件】
/home 所有普通用户的家目录
/root 管理员用户的家目录
/usr 存在系统应用程序文档
/lib 存放库文件
/proc 虚拟文件系统目录,以进程为单位存储内存的映射
/dev 存放设备文件
/mnt 临时挂载点 eg:U盘链接虚拟机还是WINDOWS系统?
/var 存放系统运行中经常被改变的文件 eg:日志文件
/tmp 存放各种临时文件的位置,所有用户都可访问的
cd/home/lmy<=>cd ~
// linux 文件类型, 一切皆文件,不以文件的扩展名区分文件类型//

ls -l 文件属性专门有一列记录文件类型
扩展名:给用户提示(.c//.cpp//.java//.py//.go)给编译器来使用

权限修改方式:
1)文字设定法: u g o a: 所有人(all)
chmod u-w main.c 修改main.c中user属主的权限 去掉可写权限
chmod g+x main 修改main 中group组的权限,添加可执行的权限
chmod a-r main.c 修改main.c中所有的权限全部都去掉
chmod u-w,g+x,a-r main.c 多个权限修改逗号分隔
文件类型
请添加图片描述

请添加图片描述
请添加图片描述

请添加图片描述
2)数字设定法
r(read) 4(100)
w(write) 2(010)
e(execute) 1(001)
eg: rwx(u) ->7 rwx (g)->7 r–(o) ->4 chmod 774 main.c
创建普通文件的命令:touch
touch main.c 在当前路径下新建一个main.c文件
rm *.c 删除当前路径下所有以.c结尾的文件
rm * 删除该路径下所有的文件
rm 01 * 删除该路径下又有以01开头的文件
mkdir 命令 :创建目录文件方式

删除目录文件方式
rmdir ->针对于空目录
rm -r 针对于非空目录

请添加图片描述
用*模糊删除
请添加图片描述

创建普通文件:touch
删除普通文件:rm
创建普通文件:mkdir
删除目录文件:空目录

man 查看帮助
man 3 printf 查看库文件
man 2 系统调用
man 1 命令
请添加图片描述

文件拷贝命令
1)在当前路径下文件拷贝到当前位置
在这里插入图片描述
2)用绝对路径把文件main1.c拷贝到当前dir文件夹

请添加图片描述
3)用绝对路径拷贝到当前位置请添加图片描述

cp 拷贝普通文件 cp 源文件的路径+文件名 目的路径
文件拷贝时 若目的路径下有同名文件,拷贝时文件覆盖不会提示目录文件的拷贝cp -r
重命名命令:mv在这里插入图片描述
文件移动:mv 源文件路径+文件名 目的路径
mv /home/lmy/b.txt  /home/lmy/dir

cp -r 命令重复操作情况
在这里插入图片描述
重复操作后 ,dir文件夹嵌套了dir文件夹。

三、文件编辑
vim main.c 此刻文件进入 命令模式

点击 i 由命令模式 切换到 插入模式
esc 由插入模式 切换到末行模式

ls include/ 查找路径下的文件信息
请添加图片描述

点击 :w -> 只保存
:q -> 只退出
:wq -> 保存后退出
:q! -> 强制退出
w 新文件路径+文件名
wq 新文件路径+文件名
nyy 拷贝从光标开始的n行
ndd 删除从光标开始的n行
u 撤销上一步操作
p 粘贴到文件末端
GG 跳转到文件末端
gg 跳转到文件的开头
ctrl +r 恢复撤销上一步操作
n G 光标到n行
c a t 的功能
1)查看文件内容,文件内容展示终端请添加图片描述
​ 2)合并文件
​ cat a.c> b .c >重定向
​ 将a.c 的内容拷贝到当前路径b.c(若不存在b.c则创建一个)
​ 实时追踪文件内容
3)cat >>main.c
​ main.c 数据的写入 通过终端
请添加图片描述

​ (1) cat a.txt>b.txt (一个>相当于替换)

请添加图片描述

​ cat a.txt b.txt >c.txt(一个>, 也是替换)
​ (2) cat a.txt b.txt >>c.txt(两个>>,属于追加)
请添加图片描述

显示查看命令:

more 和cat查看 会在终端打印 而less不会,less操作后在程序中查看内容,不打印在终端上。

请添加图片描述

head:显示查看当前文件若干行数的内容

请添加图片描述

tail :是从文件末尾往上查看文件内容

请添加图片描述

文件追踪 (写入时也是可读的)

追踪窗口CTRL D退出, 原始窗口的tail -f 命令Ctrl+c退出
请添加图片描述

文件的压缩解压命令
tar :将文件大包
c 创建包文件
f 指定目标为文件
v 显示详细过程
t 显示包中内容 不释放包
x 释放包中内容
z 新加的功能,使得tar命令具有 直接解压缩和解压功能
文件的压缩过程:1)将文件进行打包 2)对打包的文件进行压缩
tar cfv my.tar a.txt b.txt c.txt

eg:

请添加图片描述
在这里插入图片描述

三、 几个 命令
find 命令
find 路径 -name 文件名(也可以find模糊操作)请添加图片描述
请添加图片描述
grep 过滤文件内容 grep “ab” main.c 过滤出main.c 中包含“ab”的所有行输出
管道 将 前一个命令的输出结果作为后一个命令的输入请添加图片描述
ls /bin |grep sh 输出 :过滤出/bin 路径下包含sh的文件 名请添加图片描述
关机 重启
shutdown -h now 关机 init 0
shutdown -r now 重启 init 6(数字是系统运行级)
wc 统计文件中单词的个数(-w)字符个数(-c)
行数(-l)

程序:指令+数据 磁盘 .exe 可执行文件

进程:运行中的程序 内存
操作系统os 通过管理进程,让进程运行完成用户任务
操作系统对于进程描述:进程描述符(进程控制块)PCB->记录当前进程的运行状态信息
一个PCB对应一个进程。
一个PID对应一个进程。
PID 是操作系统对进程的标识。(进程号)
创建进程 先建立PCB
进程撤销 先撤销PCB
僵死进程:
进程实体释放 PCB 释放 有时间间隔
进程实体释放 PCB 没有请添加图片描述

ps 命令
与当前终端有关的进程信息。
ps -e :显示所有进程信息
-f :显示更详细的进程信息;
-L 显示进程中的线程;
请添加图片描述

pstree: 以树桩形式查看进程信息
ps -ef 查看系统中所有信息的进程信息,展示更多的属性信息;
kill
结束一个进程
挂起一个进程(进程运行状态改变)
kill -9 PID 强制结束一个进程
kill -stop PID 挂起一个进程
pkill name 结束一组名为name的所有进程
jobs:显示当前终端的任务,显示后台 执行或者被挂起的任务
sleep 1000& 进程转到后台进行执行 前台继续其他任务执行
将后台执行的任务(sleep 1000&)转到前台fg %任务号

请添加图片描述
上图步骤如下:
1,睡眠500;
2,kill -stop,查找此进程的进程号,用挂起命令将进程挂起;
3,bg将进程转至后台;
4,fg将进程转至前台。

main.c 文件 ->1.预编译->2.编译、汇编->3.链接
预编译阶段 .i
1.宏替换2.注释删除3.#include 预编译执行
包含文件插入到该预编译指令的位置
2.编译阶段 .s
词法分析,语法分析,语义;
3. 汇编阶段 .o
将汇编指令翻译成二进制格式。生成section序列 符号表
4.链接可执行文件 .exe
main.o
test.o
合并符号表,符号分配虚拟地址;
请添加图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值