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][c/c++]代码片段02

Linux 5.13-rc1 发布 初步支持苹果M1

重磅 | Linux内核5.19初步支持LoongArch架构

emacs+global的初步使用

linux打开终端如何启动scala,如何在终端下运行Scala代码片段?

将vscode打造成无敌的IDE初步探索vscode,解放生产力