linux初步
Posted vultr
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux初步相关的知识,希望对你有一定的参考价值。
环境配置
version选自VMware-workstation-full-14.1及ubuntu-12.04.5
- 搭建好平台后便可进入ubuntu系统,如Windows般进行图形界面设置(桌面背景/屏幕分辨率),视觉感不足也可全屏显示
Ctrl + alt + Enter
- 迫不及待想感受linux下操作?从bash里搜索terminal,或直接使用快捷键打开
Ctrl + alt + T
但首先要明确terminal与shell、bash的概念?
指令
- 命令一般分为命令本身、参数和对象三部分,当遇到不清楚的命令时可通过man查看
man -r ttt /-r查看参数 n查找下一处 q退出
- 常用文件间跳转指令
ls 查看文件包含
ls -a 查看隐藏文件
. 当前目录
cd ~ 返回主目录
cd directory 改变当前目录
pwd 打印工作目录
clear 用于清屏(下翻一页ctrl+l)
- 针对文件所进行的相关操作
mkdir dir 创建目录 touch file 创建文件 cp -r dir1 dir2 复制文件目录 cp file1 file2 复制文件
mv dir1 Desktop/dir1 移动目录 mv file1 file2 重命名 mv dir1 dir2 rm -r dir 删除目录 rm file
cat file 查看短文件 less file file file 查看文件类型
- 当系统启动时会默认打开三个文件即stdin/stdout/stderr,默认输入输出是和键盘和屏幕进行绑定,我们可以手动改变数据流方向即重定向
cat file1 > file
cat file1 >> file
- 用户对文件的权限一般有读/写/执行三种,可通过命令查看文件权限,可通过命令修改具体文件权限rw-rw-rw-
sudo su - 以管理员身份/root权限运行,后显示‘#‘
linux password 不回显,输入正确+enter即可
ls -l name.txt
ls -ld dir
chmod 666 name.txt //以十六进制方式设置权限
编辑器vim
- ubuntu中具有强大的vim编辑器,据说是编程必用利器,当在terminal输入vim后发现系统并没有自带安装vim,提示说明可从以下几个package中找到,是否安装,果断选择
sudo apt-get install vim
- 进行安装,显示界面又提示不能得到安装包,are you kidding me ?百度之后发现需要升级更新,待升级之后终于可以使用vim进行代码编辑了!
sudo apt-get update
-
vim三种模式(输入模式、命令模式、底线模式)需要熟练进行切换,多加练习熟能生巧,用户刚启动 vi/vim,便进入了命令模式。
-
vim中文输入,首先在设置里找到language support ->keyboard input method sysytem选择ibus在系统菜单里找到keyboard input method菜单在第二个选项卡inputmethod ->select an input method 把相应的中文输入法选上就可以了
-
vim自动缩进修改,在.vimrc(或/etc/vim/vimrc)文件中输入如下文本
set tabstop=4 表一个tab显示出来是多少个空格的长度,默认 8
set softtabstop=4 表在编辑模式时候按退格键的时候退回缩进的长度,当使用expandtab 时特别有用
set shiftwidth=4 表示每一级缩进的长度,一般设置成跟softtabstop一样,
当设置成 expandtab 时,缩进用空格来表示noexpandtab 则是用制表符表示一个缩进
set noexpandtab
set nu 表示显示行
set autoindent
set cindent
- 自定义语法高亮设置,在vim底行模式下输入命令
:scriptnames
查看系统配置文件,找到路径/usr/share/vim/vimXX/syntax,在其下c.vim进行设置
syn keyword cConditional word
流程
- 可通过指令查看当前所有进程号并杀死进程
ps aux|less //分页显示进程
ps aux|grep inferior
kill id
- 通过vim filename.c在当前目录下创建或打开一个.c文件,当前文件名为helloword.c
#include <stdio.h>
int main()
{
printf("hello word\n");
return 0;
}
- 编写完成后对文件进行编译链接执行,可以查阅相关gcc命令进行编译
- gcc参数命令需清楚,如只编译、编译链接等
gcc filename.c -o filename ./filename +para(参数)
- 至此便可在系统上执行一个c程序,常需对代码进行调试,因此需掌握基本调试方式及技巧,在linux下进行调试并不同于windows,需要通过指令进行调试,通常采用gdb进行代码调试
gcc -g -Wall -o filename.out filename.c
gdb filename.out
通过对代码添加断点调试便可发现问题,常用的命令如下
l 查看源码 b row 在row行添加断点 b 17 if(i==8)(条件断点)在17行设置断点,并只有i==8的时触发 d row 删除断点
r 程序运行 n 下一步执行 s 单步调试进入子函数 p i 输出数据i值 c 跳过直到下一个断点处 quit 表示程序退出(ctrl+d)
如果需要查看详细数据则需要调试进阶
//通过core采集崩溃程序,返回core.x文件信息,故可从x处开始调试
gdb filename.out core.xxxxx
info register //查看寄存器信息
x /nfu ptr //按固定格式查看内存值
//n表要显示的内存单元个数,f表显示方式,u表一个地址单元长度,ptr表从哪个地址开始
info macro 宏名 //查看宏定义,需要gcc支持-ggdb3
macro expand 宏(参数) //得到宏导出的内容
多线程/进程调试
info inferiors
info threads
//进程线程切换
inferior inferior _number
thread thread _number
//设置单线调试
set detach-on-fork on/off //设置单线调试/同时调试两个进程
set follow-fork-mode parent/child //主/子进程或gdb跟主/子线程
set scheduler-locking on/off
以上是关于linux初步的主要内容,如果未能解决你的问题,请参考以下文章
重磅 | Linux内核5.19初步支持LoongArch架构