
linux
亓磊
牛逼的人生,不需要简述
展开
-
SSH 三步解决免密登录
SSH 三步解决免密登录1.客户端生成公私钥2.上传公钥到服务器3.测试免密登录1.客户端生成公私钥本地客户端生成公私钥:(一路回车默认即可)ssh-keygen1上面这个命令会在用户目录.ssh文件夹下创建公私钥cd ~/.ssh1ls1下创建两个密钥:id_rsa (私钥)id_rsa.pub (公钥)2.上传公钥到服务器这里测试用的服务器地址为:192.168.235.22用户为:rootssh-copy-id -i ~/.ssh/id_rsa.pub root@转载 2021-12-05 13:32:04 · 665 阅读 · 0 评论 -
手机搭建linux系统,ssh实现局域网访问等
termux简介Termux 是运行在 Android 上的 terminal。不需要root,运行于内部存储(不在SD卡上)。自带了一个包管理器,可以安装许多现代化的开发和系统维护工具。比如:neovimtmuxzshclanggccweechatirssi…官网下载,然后更换清华镜像源网站:https://mirrors.tuna.tsinghua.edu.cn/help/termux/官网下载termux app后,pkg install openssh提示error,更换原创 2021-12-05 10:16:58 · 3642 阅读 · 0 评论 -
makefile的一些技巧总结
1. 运行目录存在相同名称文件或文件目录,比如log,则make log报错在makefile开头加入.PHONY : log2. 默认命令,需要遵循Makefile语法+/bin/sh语法2.1 /bin/sh语法,需要反斜杠,保证一行执行完成2.2 makefile和/bin/sh的变量定义方法不一样,临时变量推荐以shell变量定义方式举例,比如makefile的变量叫${run_path};/bin/sh的变量定义叫$$PASS_LOG2.3 makefile命令要求 必须以表格原创 2021-09-19 17:49:49 · 1019 阅读 · 0 评论 -
Make细节点总结
Make 命令教程 - 阮一峰的网络日志 http://www.ruanyifeng.com/blog/2015/02/make.html写得教程,容易理解,好。原创 2016-10-01 22:25:47 · 1157 阅读 · 0 评论 -
linux系统下,工作过程的一些习惯总结
2017/5/21 简单更改# 正文基本上,是依赖spacemacs,去打造linux下的工作习惯。spacemacs不方便的操作,采取其它解决办法进行补充。原创 2016-09-22 21:33:38 · 660 阅读 · 0 评论 -
perl里如何重命名名称带^M的目录
背景解决办法背景举例:aaa^M 其中^M是一个dos格式字符,在shell终端里,是这么打出来的“ctrl+v,然后enter回车”。在shell里, mv aaa^M aaa; 重命名操作成功。在perl里, mv aaa^M aaa; 重命名操作无法成功。会报错。怎么解决?解决办法[qilei@localhost test]$ mkdir aaa^M[qilei@localhos原创 2017-05-28 09:39:12 · 1364 阅读 · 0 评论 -
由一个例子,介绍linux目录的多用户及其读写可执行权限
例子查看文件的读写权限以及所属用户查看目录的读写权限以及所属用户文件和目录读写权限默认为755即rwxr-xr-x目录和子目录的读写权限特点例子ls -ld /home1drwxrwxrwx. 39 root root 4096 Apr 6 14:16 /home1ls -ld /home1/qileidr--r--r--. 39 qilei root 4096 Apr 26 14:1原创 2017-04-26 14:57:50 · 5396 阅读 · 0 评论 -
linux tcl语法的正则表达式,实现匹配或者替换操作
regexpregsubIC EDA工具默认支持的内置脚本,一般都是tcl语言。 常用的正则表达式,也就regexp和regsub两个,分别代表匹配字符串和替换字符串的功能。regexpregexp,以正则表达式的方式去匹配字符串。 大括号的意思是,模式匹配。 个人建议:变量用双引号;模式匹配的内容,用大括号。不要混用。语法:regexp ?switchs? ?–? exp string ?原创 2017-05-13 13:42:33 · 12610 阅读 · 0 评论 -
linux sed命令,如何替换换行符“\n”
linux sed命令如何替换换行符n命令解释第一种方法使用test跳转命令实现替换换行符branch和test区别第二种方法使用branch跳转命令实现替换换行符linux sed命令,如何替换换行符“\n”在一次sed使用中,执行命令:sed "s/\n//g" file发现,没起到任何效果。后来,经查sed官方用户手册,才得知,sed是按行处理文本数据的,每次处理一行数据后,都会在行尾原创 2017-05-12 21:59:48 · 115606 阅读 · 7 评论 -
bash编程中,变量“用双引号”和“不用双引号”的区别
变量用双引号括起来的意义推荐今后编程中变量必须用双引号括起来同事遇到一个bash编程上的bug,一时没有解决方法。 后经百度,虽然找不到问题直接原因的出处;但是在知乎上看到了有人做出了合理的解释。shell编程中用双引号引用参数和不用双引号有什么区别? - 知乎 https://www.zhihu.com/question/33466555变量用双引号括起来的意义如果变量不用双引号括起来,比如原创 2017-05-12 21:02:15 · 9884 阅读 · 1 评论 -
ctags实践总结
指定文件类型进行ctags的方法方法一方法二方法三vim和emacs,都能很方便的配合ctags,进行代码的跳转。网上常见的操作是“ctags -R *”,好处是简单,会对当前目录下所有ctags支持的语言格式文件,生成tags;缺点很明显,tags会非常大,tags生成会非常慢,而且代码跳转会卡顿。指定文件类型,进行ctags的方法比如,想要对verilog语言的*.v文件,生成tags;方原创 2017-07-19 23:15:02 · 10810 阅读 · 0 评论 -
linux bash如何判断脚本命令参数是否存在
linux bash处理较简单的参数。如./test.sh 10而很少使用./test -n 10这种带选项的方式。 典型用法为:#!/bin/bashif [ x$1 != x ]then #...有参数elsethen #...没有参数fi为什么要使用 x$1 != x 这种方式来比较呢?想像一下这种方式比较:if [ -n $1 ] #$1不为空但如果用户不传参数的时候转载 2017-09-02 09:49:02 · 11753 阅读 · 0 评论 -
svn diff采用vimdiff方式处理
网上百度,大多要求修改~/.subversion/config;脚本命令实现不完全。 解决方法如下代码所示:➜ cat svndifftool #!/bin/sh/usr/bin/vimdiff ${6} ${7}➜ cat svndiff#!/bin/shsvn diff --diff-cmd ./svndifftool $1➜ ./svndiff a.txt参考文档: ht原创 2017-09-17 21:21:33 · 1108 阅读 · 0 评论 -
bash/perl判断文件是否存在,以及常见应用场景
一、 源代码实现个人常见场景,大多出现在linux shell或者perl里。#!/bin/bashfile="/etc/hosts"if [ -f "$file" ]then echo "$file found."else echo "$file not found."fi#!/usr/bin/perl -w my $file = "/etc/hosts"原创 2018-01-13 09:28:14 · 2278 阅读 · 0 评论 -
linux tmux的经验总结
背景主要操作实现安装概念了解快捷键tmux重启后恢复终端layout界面的方法如果有多个用户比如adminqilei等新建windows或者pane分屏保留目录路径复制模式支持鼠标模式窗口列表居中否则session和windows名称会重叠其它背景linux下工作环境,经常见到打开几十个终端,而且不舍得关闭的情况。即使redhat支持终端标签页...原创 2017-10-05 21:25:02 · 1734 阅读 · 0 评论 -
bash,等待上一流程程序生成某文件后,再执行下一个流程的程序
#!/bin/bashwhile [ 1 ]doif [ -f "/goke/DE/xxx.sign" ]then sleep 10m echo "syn_pro have already generate xxx.sign." rm -rf /goke/DE/xxx.sign echo "RUN vivado COMMAND" cd /goke/DE/vivado_run ...原创 2018-03-14 21:50:09 · 4579 阅读 · 0 评论 -
linux hostname设置步骤
查询hostname设置步骤其它相关点hostid/etc/hosts以RHEL 6.5为例。查询hostnameuname -ahostname设置步骤vim /etc/sysconfig/network;修改hostname为期望值;保存后退出。vim /etc/hosts;修改或增加hostname即主机名对应的IP地址。保存后退出。s...原创 2018-04-07 09:51:21 · 8981 阅读 · 0 评论 -
tcsh补全、纠正的设置
在~/.tcshrc中,可以配置以下的普通补全:if ($?prompt) then # 仅对交互式Shell生效 set autolist # 按下Tab键直接补全 set complete = enhance # 补全时忽略大小写,认为-与相同,将.、-、作为单词分隔符; ...原创 2018-08-12 10:08:18 · 2585 阅读 · 0 评论 -
linux redmine安装及插件安装的方法总结
下载(RHEL版本所限,安装的是2.5.2 bitnami redmine)Install Redmine, Download Redmine Install Redmine, Download Redminehttps://bitnami.com/stack/redmine/installer这个网址,只有最新版。忘记在哪里下载的旧版本bitnami redmine了。不过是从百度里搜...原创 2018-10-21 16:37:30 · 1926 阅读 · 0 评论 -
linux firefox提示“firefox is already running”的解决方法
背景解决方法背景linux下,多用户通过vnc访问指定IP,比如192.168.2.94。 不同用户执行firefox,firefox进程存在且仅能存在一个。记录一下,以备不时之需。解决方法firefox每次启动,会关联一个profile。 默认在~/.mozilla/firefox/xxxx.default目录里。 linux firefox提示“firefox is already ru原创 2017-04-13 16:16:02 · 9352 阅读 · 0 评论 -
linux下查找进程所在的执行目录
背景方法背景linux下,运行多个相同名称的程序。利用ps命令是没有办法确认进程所在的执行目录的;这时候用想杀掉其中一个进程,是难以办到的。方法ps aux | grep “xxx”;查找当前用户所有xxx程序运行的进程号。假设想查看进程号ID是123的执行目录;那么可以利用ls -l /proc/123/cwd;/proc/123/cwd是一个链接符号。指向进程号ID是123的执行目录。原创 2017-03-06 23:31:43 · 1464 阅读 · 0 评论 -
/dev/null 1 & 2的用法
应用背景devnull 1 2的介绍应用1应用2应用背景如下例所示,aa是不识别的命令。 在执行./test.sh时,输出两行,第一行表示错误输出;第二行表示标准输出。 如果把脚本test.sh执行的所有信息,写入脚本日志test.log,那么就出现了人为偏差,脚本日志不包含错误输出的内容;这样不方便脚本执行的debug日志需求。[qilei@localhost ~]$ cat ./te原创 2017-03-06 22:13:54 · 1607 阅读 · 0 评论 -
vim/spacemacs 打开源代码中文件路径
vim gf命令如果有a.txt里有内容 $ABC/A/B/C/1.txt 无法使用gf命令打开1.txt解决办法: 1. source project_env setenv ABC /home/qilei 2. 可以使用gf命令打开$ABC/A/B/C/1.txt了。原创 2016-09-05 20:44:26 · 1479 阅读 · 0 评论 -
查看当前SHELL的种类
shell种类 shell种类常见的有sh、bash、csh、zsh、tcsh等。方法1:利用ps命令 [jack@localhost ~]$ ps PID TTY TIME CMD 3052 pts/0 00:00:00 bash 3254 pts/0 00:00:00 ps方法2:利用shell报错提示信息获知 输入一条不存在的命令,查看出错的she原创 2015-11-08 22:50:01 · 1616 阅读 · 2 评论 -
linux terminal终端操作默认是emacs模式,可以设置为vim操作模式
在linux终端里输入 set -o vi操作行为与vim一致。默认是insert模式。比如上一个命令。在esc之后,直接k就可以。原创 2015-12-13 21:20:43 · 2731 阅读 · 0 评论 -
linux terminal终端插件oh-my-zsh
特性终极 Shell——ZSH - MacTalk - 知乎专栏 https://zhuanlan.zhihu.com/p/19556676 支持bash语法; 比bash、csh等终端命令强大许多。具体功能见插件说明和参考文献安装特别简单见参考文献;对我有用的插件 插件名称 简单描述 默认 命令补全、命令参数补全、目录等各种补全;多个主...原创 2015-12-13 21:50:06 · 2942 阅读 · 0 评论 -
sed和shell:删除文件的第n行和倒数第n行
删除第三行,并把结果送至文件newfile sed '3d' file>newfile 删除倒数第三行,把结果送至文件newfile tac file|sed '3d'|tac >newfile删除倒数第三行,bash shell版本linenum=`cat file | wc -l`linenum_last3=`expr $linenum - 3`sed -n ''"$linenum_last原创 2016-08-28 18:50:09 · 29873 阅读 · 0 评论 -
sed与awk读书笔记[sed篇]
简介grep、sed、awk是处理文本的强大工具。 perl是在grep、sed、awk基础上,产生的语言。 现在,个人习惯是,文本处理用grep、sed、awk,命令胶水用perl。不要追求编程语言的唯一化,多种语言语法类似,功能却很有特色。好处还有,程序看起来更简洁,更容易理解。grep、sed、awk、perl对正则表达式的使用,是有区别的。这一点,要熟悉注意。 参考文档: grep、原创 2016-09-24 12:41:37 · 1849 阅读 · 0 评论 -
SED单行脚本快速参考[增加个人注解]
个人注解,格式#:-------------------------------------------------------------------------SED单行脚本快速参考(Unix 流编辑器) 2005年12月29日英文标题:USEFUL ONE-LINE SCRIPTS FOR SED (Unix stream editor)原标题:原创 2016-09-25 17:00:22 · 1064 阅读 · 0 评论 -
shell脚本调试方法
除了经常用的echo $var_debug方法外。 还要了解下述调试方法。shell脚本的三种调试方法-n 读一遍脚本中的命令但不执行,用来检查脚本中的语法错误 -v 一边执行脚本,一边将执行过的脚本命令打印到标准输出端 -x 提供跟踪执行信息,将执行的每一条命令和结果一次打印出来 有助于检查错误。 使用这些选项有三种方法 1.在命令行提供参数:$sh -x script.sh 2.脚转载 2016-10-06 00:18:00 · 885 阅读 · 0 评论 -
shell的xargs用法举例
find -name “dirname” | xargs -I {} cp -rf {} ./dir_destination 找出当前目录下的dirname文件夹,并复制到./dir_destination文件夹里。原创 2016-10-19 15:38:43 · 3312 阅读 · 0 评论 -
redhat7.2修改yum源-以及-yum操作的技巧(xxx.so文件缺失处理办法)
redhat企业版7.2安装软件,需要操作系统注册才行。 但是redhat的软件跟centos软件的源都是一样的。所以可以用centos软件的源替换。 下面介绍redhat企业版7.2修改配置yum源的方法。redhat7.2配置yum源_百度经验 http://jingyan.baidu.com/article/6dad50751f4912a123e36e38.html最后使用下述命令验证一原创 2017-01-07 16:27:25 · 10112 阅读 · 0 评论 -
linux 计划任务crontab,定时打开一个图形界面
crontab经常遇到的问题是针对上述问题总结如下设置crontab的步骤simvision是cadence ncverilog仿真工具的一个波形查看命令,是一个图形界面。 因为simvision的环境变量和license设置比较复杂,以simvision为例,更好得解释了crontab的执行过程。crontab经常遇到的问题是:环境变量设置不正确。解决办法,设置相关环境变量或者运行程序的完原创 2017-02-01 14:35:40 · 4403 阅读 · 0 评论 -
管道命令和xargs的区别
管道命令和xargs的区别效果展示管道命令和xargs的区别管道命令,是把管道前面命令的输出结果,作为管道后面命令的“输入”。 个人理解,就当是把管道前面命令的输出结果,加上双引号,以字符串的形式,传递给管道后面命令。 如下命令,最终执行的是cat "--help"。echo "--help" | catxargs, 是把管道前面命令的输出结果,作为管道后面命令的“参数”。 如原创 2017-01-25 20:55:30 · 626 阅读 · 0 评论 -
linux shell下利用bc,实现任意进制的转换
大小写转换任意进制的相互转换内置多行文本的转换命令大小写转换cat 1.txt | tr "[a-z]" "[A-Z]"任意进制的相互转换(内置多行文本的转换命令)echo "ibase=16;obase=2;A" | bcbc是linux内置命令,是计算工具。bc的内部变量包括以下: 1. ibase是输入进制; 2. obase是输出进制; 3. scale是输出值设置为小数点后几位;例原创 2017-01-11 09:47:47 · 5880 阅读 · 2 评论 -
linux忘记登陆密码的两种破解办法
redhat enterprise版本要求设置密码复杂;结果虚拟机很久不用,密码忘记了。 幸亏百度出了方法。记录一下。linux忘记登陆密码的两种破解办法_百度经验 http://jingyan.baidu.com/article/b907e627db8edd46e7891c26.html转载 2017-01-08 22:28:48 · 873 阅读 · 0 评论 -
关于linux发行版i386/i686/x86-64/的区别
一. I386 为32位 x86 64位 二.安装介质 1. i386 适用于intel和AMD所有32位的cpu.以及via采用X86架构的32的cpu. intel平台包括8086,80286,80386,80486,奔腾系列(1.2.3.4)、赛扬系列,Pentium D系列 以及centrino P-M,core duo 等. 2. X86_64 适用于intel的Cor转载 2016-12-31 10:44:53 · 917 阅读 · 0 评论 -
linux远程登录的常用命令:ssh以及相关命令scp
ssh优点ssh命令格式scp 远程服务器与本地服务器的文件拷贝ssh和telnet都是远程登录的命令。 ssh可以替换telnet、ftp、lftp。ssh优点ssh更强大,优点: (1)SSH是比较可靠的的远程登录和其他安全服务的协议,它采用了数据加密机制,能够防止DNS欺骗和IP欺骗。 (2)所传输的数据是经过压缩的,因此相对来说加快了传输速度。ssh命令格式ssh -l 远程服务原创 2016-12-06 19:20:43 · 1652 阅读 · 0 评论 -
linux tree命令--显示目录的树形结构
tree -Ctree -ftree -L 2tree -P pltree -F总结看到有人PPT报告里,描述目录下的文件,用excel形式显示。有感而发,借此描述一下linux的tree命令。 tree命令,是大小写敏感的。常用的是tree -C颜色显示tree -f显示文件全路径tree -L 2只显示2层tree -P *.pl只显示文件目录和*.pl的perl文件。tree -原创 2016-11-27 22:39:46 · 28476 阅读 · 1 评论 -
linux下文件的访问时间、修改时间和改变时间
参考 linux下文件的创建时间、访问时间、修改时间和改变时间 - 刀刀的专栏 - 博客频道 - youkuaiyun.com http://blog.youkuaiyun.com/zyz511919766/article/details/14452027归纳一下。 linux下命令stat会出现访问时间、修改时间和改变时间。 1.访问时间 access time access,就是访问(读取或者写入)的时间。原创 2016-04-04 09:18:27 · 1369 阅读 · 0 评论