Linux学习笔记

本文为本人本科时学习Linux的笔记。

背景:
Linux是一个内核,是操作系统最核心的部分,衍生自Unix.由Linus创造于1991年,时年22岁. Unix作者是丹尼斯,C语言之父.
CentOS/Ubuntu/Android是一个完整的操作系统,包含着Linux内核和一系列配套的软件.叫做"Linux的发行版".
Linux是当今第一大操作系统.

Linux应该怎么学:
a)基本操作(指令操作)
b)系统编程接口
c)网络编程***

为什么工作中不用Linux图形界面
Linux主要应用场景:
1.服务器 远程办公传画面消耗大,传字符节省网络开销/速度快
2.嵌入式 嵌入式设备硬件资源紧张,图形界面也是额外开销

Linux不能执行windows的exe文件
windows可执行程序的格式是PE
Linux可执行程序的格式是ELF
只指c的exe,java在二者都可以

[wds@localhost ~]$
wds:用户名
@:分隔
localhost:主机名
~:当前目录(当前用户的home目录)
$:提示符,提示用户可以开始输入指令了

su并输入密码 进入root模式
su wds回到普通用户,或者输入exit,或者ctrl d

快捷键:

ctrl L 清屏
ctrl c 取消

用键盘:
ctrl insert 复制
shift insert 粘贴
用电脑键盘:
ctrl fn insert 复制
shift fn insert 粘贴

tab 补全,连按两次会把所有可能的补全内容展示出来

cd …切换到上级目录
cd -切换到上次在的目录
cd / 切换到根目录(此电脑)

根目录下home目录下miao目录,此即当前用户的home目录,每个用户登录到这台机器所默认进入的目录.用户的home目录用~表示
历史缘由:当年键盘上Home键和~是同一个键
Home键能让光标回到行首!!!
End则是行尾!!!
如果一个路径以…开头,这个路径叫做相对路径.
如果一个路径以/开头,这个路径叫做绝对路径.

ls 查看当前目录下所有文件和目录
ll 查看ls的详细信息
mkdir 创建目录mkdir -p a/b/c/d,
pwd 查看当前目录的绝对路径
touch 创建一个空文件touch a.txt
cat 查看一个文件内容,是长单词的前3个字母
echo 将一段字符串打印到显示器上,echo “helloworld”
echo “hi” > a.txt 字符就打印到这个文件里了 ,叫做"重定向"
rm 删除文件 rm a.c b.c c.c可一起删除
rm -r 递归式删除目录
rm -rf 强制递归删除,不用确认,臭名昭著,删库跑路
mv 重命名,移动
man mv 查询指令用法 manual手册 q退出
cp 拷贝 cp a.txt a2.txt 重命名拷贝到当前目录
cp a.txt a/ 拷贝到a目录,只能拷贝文件
cp -r 拷贝目录 cp -r a b 把a拷贝到b目录下
date 查看系统时间
date -d 加上时间戳,得到相应时间
history 查看所有之前用过的指令

CentOS联网!!!

输入ifconfig
应该出现:

若没有出现:
1.su
2.cd /etc/sysconfig/network-scripts
3.gedit ifcfg-ens33
4.将最后一行改为yes
5.重启虚拟机

用ping www.baidu.com来测试网络,ctrl z终止
搞定
输入ifconfig应该出现IP地址了,不行的话重装Linux系统…

打开xshell,输入ssh 192.168.44.128
请输入用户名 密码
alt enter全屏
安装插件:

先su

yum 包管理器(Linux的应用商店)
yum list | grep lrzsz
|是管道符,将前一个指令的结果作为输入给后一个指令
(此软件功能是能拖拽windows文件进来,也可以用sz 文件名将文件拖到windows下)
yum install vim
yum install gcc//yum install gcc-c++
yum install gdb
yum install cgdb
yum install tree

代码编辑器有两位大佬:

vscode编辑器,微软官方做的编辑器,去年Github上最火项目,好看,支持vim风格操作,丰富的插件,插件安装非常notepad++台湾人做的,凉
vscode 微软亲儿子,好看,支持vim风格操作,支持丰富的插件,插件安装非常容易,缺点是需要图行界面,咱们还是用不上

安装了汤老师的vimforcpp配置,码云.

vim 进入vim
:q 退出vim

vimtutor vim指南
vim hello.c后按i进入插入模式,写完后先esc,然后:wq保存并退出vim
然后是:
gcc hello.c
gcc hello.c -o hello命名为hello,则得到的不是a.out是hello, ./hello运行代码
然后:
./a.out

file 查看详细信息

ctrl z 让vim退到后台
fg 让vim回到前台(注意,如果不这么做,而是再次vim hello.c 就报错了)

:set nu 显示行号
vim .vimrc 在里面编辑可以在所有.c文件显示特色风格
.开头的文件是隐藏文件
tree a/ 显示目标目录树状结构

创建一个shell脚本,将一堆指令写进去,就可以无限重复这些操作
vim aaa.sh
在里面按顺序敲好指令代码
sh aaa.sh

脚本(script 也译作 剧本)
使用gdb:打断点+运行+继续+打印+bt
gcc main.c -o hello -g -g加上调试信息,debug版本
gdb hello 进入gdb页面
break 行号或者函数名 打断点
缩写成 b 10 就是在第十行打断点
建议打开两个终端,拖拽分屏对照着打断点
info break 查看有哪些断点,有断点编号
del [断点编号] 删除断点
run 让被调试程序开始运行 可缩写成r
x [地址]查看某地址的内容
->x &a
next 每次执行一条语句 缩写n
continue 继续执行 可缩写成c
print [变量名] 查看变量内容 可缩写成p
list 查看当前执行到的语句附近几行的代码 可缩写成l
bt 查看当前的调用栈 [非常重要]

最常见的错误:段错误(吐核)—内存访问错误,吐出了一个"核心转储文件"—core dump文件(临终遗言)
查看core dump文件:ulimit -a ulimit -c unlimited
gdb hello core.xxxx(要告诉gdb是那个文件吐出的核)
就可知道哪一行出问题
bt查看调用栈

cgdb a.out 上下分屏,esc进入代码,i进入gdb
makefile—敲下make完成所有编译

结构:
[target]:[dependence]
[command]
例如:

vim makefile
hello:main.c
gcc main.c -g -o hello
//升级版:gcc $^ -o $@ 前一个是直接引用上一行的文件名,后者是直接引用目标名
cp -f hello …/bin (待理解,目录结构bin config lib log src)
.PHONY:clean
clean:
rm hello …/bin/hello //把中间文件删掉

使用方法:
make hello(一般只需要输入make就行) 就得到了hello
make clean 删掉中间文件

就可以给一段代码加括号,双引号等

Linux学习笔记是关于学习Linux操作系统的记录和总结。在学习Linux时,你可能会遇到以下几个方面的内容。 首先,Linux是一个面向网络服务的操作系统,因此你可以随意更换桌面系统。Linux有多种不同的桌面系统供你选择。这意味着你可以根据自己的喜好和需求,选择适合自己的桌面环境。 其次,在Ubuntu中,root用户默认是被锁定的,因此你无法直接使用root权限进行操作。但是,你可以使用sudo命令来提升权限,以执行需要root权限的操作。通过sudo命令,普通用户可以在需要时暂时获得root权限,以便进行需要的操作。 此外,如果你需要修改内核为bash,可以使用vim编辑器打开/etc/passwd文件进行修改。在Linux系统中,vim是一种常用的文本编辑器,类似于Windows的记事本。通过编辑/etc/passwd文件,你可以修改用户的登录shell为bash。 总结起来,Linux学习笔记记录了学习Linux操作系统的过程和经验,包括选择适合自己的桌面环境、使用sudo提升权限以及通过vim编辑器修改/etc/passwd文件等。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Linux学习笔记](https://blog.csdn.net/m0_65379736/article/details/125700177)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值