Linux常用操作

 目录

Linux系统操作指令

文件或函数查找指令

addr2line的运用

vim相关

vim配置操作

分屏操作

删除字符操作

将windows换行符转换为linux换行符操作:

文件比较合并操作

折叠指令

 


Linux系统操作指令

文件或函数查找指令

find ./ -iname filename
find ./ -name "*.java"|xargs grep "xxx" 在本目录中以.java结尾的文件中查找包含 xxx字符串的文件

grep -rHn "fuctionname" ./

cat -A 文件名                查看文件换行符

单个文件转换:

sed -i 's/\r//' filename

多个文件
find conf/ -name ".*" |xargs sed -i 's/\r//'

addr2line的运用

find . -name dtv_svc //在build出来的sys_build文件下,输入指令找到dtv文件(根据make的来定义)

addr2line -e ./output_symbol/rel/dtv_svc  0x //0x表示地址

vim相关

vim配置操作

vim /etc/.vimrc  //vim 配置目录

fdisk -l  //查看情况

df  -hl  //查看磁盘挂载情况

sudo passwd root  //当没有设置root密码时候

set number //设置行号

set tabstop=4 //设置Tab为4个空格

set fdm=syntax //设置代码折叠

用空格键来开关折叠 (默认z+o)
set foldenable 
set foldmethod=manual 
<Tab> Tab操作

<CR> //换行操作

set autoindent //将下一行和当前行 空格的位置一样

set paste //i代码和原来的一模一样

set nopaste //回到之前代码缩进的状态

./vimrc设置
 

inoremap " ""<ESC>i
inoremap ( ()<ESC>i
inoremap [ []<ESC>i
inoremap = <space>=<space><ESC>a
inoremap - <space>-<space><ESC>a
inoremap + <space>+<space><ESC>a
inoremap * <space>*<space><ESC>a
inoremap *<space>  *<space><ESC>a<Backspace>
inoremap , ,<space><ESC>a
inoremap <= <space><=<space><ESC>a
inoremap >= <space>>=<space><ESC>a
inoremap == <space>==<space><ESC>a
inoremap -<space> -<space><ESC>a<Backspace>
inoremap < <space><<space><ESC>a
inoremap > <space>><space><ESC>a
inoremap <> <><ESC>i
inoremap { {}<ESC>i
inoremap #in #include<ESC>i

分屏操作

水平分屏指令:sp 文件名

垂直分屏:vsp 文件名

分屏切换:ctrl+w

删除字符操作

删除每行首字母加号:1,$s/^[+]//gg

删除每行首行指定行号11

:1,$s/^\s*[0-9]*\s*//g

解释:1为起始行号,315为终止行号,^在正则中代表行首,\s*代表若干个空格,可以没有,[0-9]*代表若干个数字,可以没有,即将^\s*[0-9]*\s*替换为NOTHING。

x        删除当前光标下的字符
dw       删除光标之后的单词剩余部分。
d$       删除光标之后的该行剩余部分。
dd       删除当前行。

c        功能和d相同,区别在于完成删除操作后进入INSERT MODE
cc       也是删除当前行,然后进入INSERT MODE

删除每行第一个字符    :%s/^.//g

将windows换行符转换为linux换行符操作:

方法1:

:%s/^M//g

注:^M是一个字符不是输入^和M两个字符,

  即按住 Ctrl 键不放,同时按 V 键产生^,依然按住 Ctrl 键不放,同时按 M 产生M。

方法2:

set ff//显示换行符格式
:set ff=unix

方法3:
安装dos2unix
dos2unix filename

文件比较合并操作

方法1:

(参考收藏文件:博客园-Linux-使用Vim比较两个文件的内容

如果已经打开了文件file1,再打开另一个文件file2进行比较:
:vert diffsplit file2
定位到不同点:
[c     跳到前一个不同点
]c     跳到后一个不同点

方法2:

运用md5sum判断文件是否被修改(参考:linux md5sum 的用法_a1232345的博客-CSDN博客_md5sum用法

(1)使用md5sum来产生指纹(报文摘要)命令如下:md5sum filename > filename.md5

(2)文件file和该文件的file.md5报文摘要文件放在同一个目录下,然后用如下命令进行验证:md5sum -c file.md5

折叠指令

zc     #折叠
zC     #对所在范围内所有嵌套的折叠点进行折叠 
zo     #展开折叠
zO     #对所在范围内所有嵌套的折叠点展开
[z     #到当前打开的折叠的开始处
]z     #到当前打开的折叠的末尾处
zj     #向下移动。到达下一个折叠的开始处。关闭的折叠也被计入
zk     #向上移动到前一折叠的结束处。关闭的折叠也被计入

光标显示下划线

set curorline

Ubuntn常见问题

apt无法更新数据:

sudo
ps -e | grep apt
当虚拟机重启时出现the system is running in low-graphics mode时:
ctrl+alt+F1打开终端
  1. df -h
  2. cd /etc/X11
  3. sudo cp xorg.conf.failsafe xorg.conf
  4. sudo reboot

Linux指令和脚本

1、解决Linux下面Qt无法正常编译程序问题

sudo usermod -a -G dilout $USER
sudo apt-get remove mdemanager
sudo apt-get install build-essential libgl1-mesa-dev

2、Linux下将ShareLibray改为可执行程序,pro文件里加上一行:QMAKE_LFLAGS += -no-pie

sudo apt install language && sudo apt upgrade
sudo apt install language-pack-zh-hans 
posted @ 2023-05-21 11:32  天码丶行满  阅读(45)  评论(0编辑  收藏  举报