Linux学习之路

【10.20】
虚拟机:一个软件,可以在上面安装不同的系统镜像
【10.28】
在这里插入图片描述

【2023.5.1】
配置软件的环境变量
不直接在 /etc/profile中添加
因为原来文件中写了一段for循环读取所有sh文件
因此我们创建一个新的我们的环境配置文件MY_ENV.sh

在这里插入图片描述

1.创建打开编辑文件
sudo vim /etc/profile.d/my_env.sh
2.添加环境变量
export JAVA_HOME=安装地址
加载到PATHexport JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

3.重下加载profile
source /etc/profile


【2023.6.14】
在这里插入图片描述

基本语法
1.更改系统运行级别
init [012356] 
如果我的root密码忘了,怎么找回?
开机时按enter然后输入e,到第二个光标kernel上,空格输入1进入单用户模式,然后输入b引导boot。password root 修改密码

2.帮助命令
man +命令
help +命令

3.目录类
ls(英文全拼:list files): 列出目录及文件名
	ls -al显示带隐藏的文件
	ls -l 显示文件的长信息
	ls -lh 以人容易观察的方式显示
cd(英文全拼:change directory):切换目录
	绝对路径:从/开始的路径
	相对路径:从当前工作目录开始的路径
pwd(英文全拼:print work directory):显示目前的目录
mkdir(英文全拼:make directory):创建一个新的目录
	一次性创建两个目录加上参数 -p 
rmdir(英文全拼:remove directory):删除一个空的目录
cp(英文全拼:copy file): 复制文件或目录
	cp 文件/文件夹 到目标文件夹
	cp -r 拷贝整个目录
	提示你相同文件是否覆盖,\cp默认全部覆盖
rm(英文全拼:remove): 删除文件或目录
	rm -rf +目录
	-r 递归册除整个文件夹
	-f 强制删除不提示

mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称
	mv oldNameFile newNameFile(功能描述:重命名,把旧的文件移动到当前目录,发现当前目录存在相同文件,改名为新的文件) 
	mv /temp/movefile /targetFolder (功能描述:移动文件)
touch +文件 创建文件

4.查看文件的内容:
cat  由第一行开始显示文件内容
	tac  从最后一行开始显示,可以看出 taccat 的倒着写!
	nl   显示的时候,顺道输出行号!
	more 一页一页的显示文件内容
		cat 文件|(管道命令) more
		空格是下一页、enter是下一行、q是退出
	lessmore 类似,但是比 more 更好的是对显示大型文件有较高的效率,他可以往前翻页!
	

​​​>​​ ​输出重定向:会将原来的文件内容​覆盖​
​​​>>​​​追加:不会覆盖原来文件的内容,而是​追加​到文件的尾部
	ls -l > a.txt​​​,将​​ls -l​​的显示内容​覆盖​写入到a.txt文件,如果文件不存在 ,就创建该文件。
	​ls -al >> 文件​​ :列表的内容追加到文件aa.txt的末尾


echo 将输出内容打印在显示屏上
	echo $PATH 输出文件的路径
head 只看头几行(默认显示10行)
	head -n 指定行数 文件名
tail 只看尾巴几行
	tail -f 文件名 试试监控文件的所有更新(常用) 


构建软连接
ln -s 文件夹地址 别名地址
	进入软连接目录pwd时还在软连接目录

history 查看在系统上执行过的指令
	history +数字 显示最近多少条
	!+历史指令编号 直接执行

data 命令可以用来显示或设定系统的日期与时间。
	date -s  # 设置当前时间,只有root权限才能设置,其他只能查看

【6.15】
5.搜索查找类
	find 
		-name pattern:按文件名查找,支持使用通配符 * 和 ?
			find /home -name a.txt
		-user username:按文件所有者查找。
		-size [+-]size[cwbkMG]:按文件大小查找,支持使用 + 或 - 表示大于或小于指定大小,单位可以是 c(字节)、w(字数)、b(块数)、k	 (KB)、M(MB)或 G(GB)。
			find / -size +20M
	locate
	locaate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。由于1ocate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建1ocate数据库。

	grep
	grep过滤查找,管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
	grep[选项]查找内容源文件
	-n:显示匹配行的行号。
	-i:忽略大小写进行匹配。
	-c--count : 计算符合样式的列数。
	在标准输入中查找字符串 "world",并只打印匹配的行数:echo "hello world" | grep -c world
	![在这里插入图片描述](https://img-blog.csdnimg.cn/ee10cd87a2a04c52b2bd269529540072.png)

6.压缩解压类
gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出".gz"的扩展名。不会保留原来的文件
gunzip +文件名 解压缩

zip 是个使用广泛的压缩程序,压缩后的文件后缀名为 .zip
unzip

tar 用于打包和解压
	tar[选项] XXX.tar.gz 打包的内容
		-c 产生.tar打包文件
		-v 显示详细信息
		-f 指定压缩后的文件名
		-z 打包同时压缩
		-x 解包.tar文件
	tar -zcvf a.tar.gz a1.txt a2.txt #压缩到a.tar.gz
	tar -zxvf a.tar.gz -C /home/ #解压到/home
【6.16】
7.组管理和权限管理
7.1在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念。
(1)所有者
		一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。
		通过 ls -ahl #查看文件所有者
		通过 chown 用户名 #文件名修改文件所有者
		chown tom abc #更改abc的所有者
(2)组
	groupadd +组名         #创建组
	useradd -g 组名+用户名  #创建组下面的用户
	chgrp 组名+ 文件名      #修改文件的组
	chgrp -R tom kkk/ #递归更改kkk下所有文件夹和文件的所有者
	usermod -g 组名+ 用户名 #修改用户的组
	chown -R tom kkk/ #递归更改kkk/文件夹下面的所有文件和文件夹所有者
(3)其它组
	除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组

7.2 权限
	drwxr-xr-- 2 root root 6 Mar 9 01:37 test
	0-9位说明:
		1)第0位确定文件类型(d文件夹, -普通文件, l软连接, c字符设备如键盘, b块文件如硬盘)
		2)第1-3位确定所有者(该文件的所有者)拥有该文件的权限(r读、w写、x执行权限)。---User
		3)第4-6位确定所属组(同用户组的)拥有该文件的权限,---Group
		4)第7-9位确定其他用户拥有该文件的权限---Other
	后面几位的说明:
		5)‘2’ 如果是文件,表示硬链接的数,如果是目录则表示该目录的子目录个数
		6)"6"代表文件大小;如果是目录则为4096
		7) Mar 9 01:37 代表最后修改时间
	
7.3权限详解
	 	rwx作用到文件
			1)[r]代表可读(read):可以读取,查看
			2)[w]代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
			3)[x]代表可执行(execute):可以被执行
		rwx作用到且录
			1)[r]代表可读(read): 可以读取,ls查看目录内容
			2)[w]代表可写(write):可以修改,目录内创建+册除+重命名目录
			3)[x]代表可执行(execute):可以进入该目录
可用数字表示为:r=4,w=2,x=1因此rwx=4+2+1=7
	
7.4更改权限
	chmod [ugoa][+-=][rwxX]
	chmod u=rwx,g=rx,o=rx abc #给abc文件的所有者修改rwx,所在组修改为rx,其他组修改为rx
	chmod u+r,g-w abc #给abc文件的所有者增加读的权限,给所在组减掉写的权限
	chmod a+r abc #给abc 的所有用户增加读的权限
	chmod 751 abc #给abc的权限修改成rwxr-x--x

8.任务调度
	#在每分钟都执行ls-l /etc 追加到abc.txt的命令cron -e 
	② */1*****ls-l/etc>>/temp/abc.txt
	③保存退出
	五个占位符的含义:


9.进程管理
	ps 查看系统中执行情况
		-a 显示当前终端所有进程信息
		-u 以用户的格式显示
		-x 显示后台信息
		-ef 显示父进程
	pstree 查看进程树
	kill -9 +进程号  终止进程
	killall 终止所有进程

	top 动态监控
		P	以CPU的使用资源排序显示
		M	以内存的使用资源排序显示
		N	以pid排序显示
		T	由进程使用的时间累计排序显示
		k	给某一个pid一个信号,可以用来杀死进程(9)
	netstat 监控网络指令
		-a:--all,显示所有链接和监听端口
		-n:进制使用域名解析功能。链接以数字形式展示(IP地址),而不是通过主机名或域名形式展示
		-p:--programs,与链接相关程序名和进程的PID
10.服务管理
	systenctl 服务名
		start 
		stop
		restart
		reload
		status
	dos下测试远程服务器端口 telnet ip地址+端口号
makefile

https://zhuanlan.zhihu.com/p/56489231
gcc编译
在 windows操作系统下,编译工具用集成开发环境vc6.0
在Linux操作系统下没有很好的集成环境让我们用,用的编译器是gcs
程序的编译分为四个阶段:由.c到可执行程序
1、预编译
2、编译
3、汇编
4、链接
编译程序:
1、一步到位
gcc hello.c -o hello    
运行程序:./hello
2.分布进行
gcc -E hello.c -o hello.i 1、预处理
gcc -S hello.i -o hello.s  2、编译
gcc -c hello.s -o hello.o  3、汇编
gcc hello.o -o hello  4、链接

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

bu volcano

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

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

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

打赏作者

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

抵扣说明:

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

余额充值