linux那些事儿
Linux只是一个操作系统内核而已,而GNU提供了大量的自由软件来丰富在其之上的各种应用程序。我们常说的linux实际是GNU/Linux,GNU是一个自由的操作系统。
绝大多数基于Linux内核的操作系统使用了大量的GNU软件,包括了一个shell程序、工具、程序库、编译器及工具,还有许多其他程序,例如Emacs。
一、参考学习
https://www.runoob.com/linux/linux-command-manual.html
二、常用变量
1、特殊位置参数变量
$* 取当前shell的所有参数,将所有的命令行视为单个字符串,相当于'$1$2'。 $@ 取当前shell的所有参数,保留参数里的空白。
三、常用命令
1、查看 Kernel、GCC 以及 RedHat 版本信息
cat /proc/version Linux version -.el7.x86_64 (builder (Red Hat -) (GCC) ) #1 SMP Tue Aug 22 21:09:27 UTC 2017 uname -a Linux localhost.localdomain.com -.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux uname -r -.el7.x86_64 more /etc/system-release CentOS Linux release (Core) more /etc/redhat-release CentOS Linux release (Core) more /etc/centos-release CentOS Linux release (Core)
2、查看操作系统的位数
getconf LONG_BIT getconf WORD_BIT file /bin/ls /bin/ls: ELF -bit LSB executable, x86-, version (SYSV), dynamically linked (uses shared libs), , BuildID[sha1]=3d705971a4c4544545cb78fd890d27bf792af6d4, stripped
3、查看 CPU 个数、核心数和线程数
# 查看 CPU 的物理个数 grep 'physical id' /proc/cpuinfo | sort -u | wc -l # 查看 CPU 的核心数量 grep 'core id' /proc/cpuinfo | sort -u | wc -l # 查看 CPU 的线程数量 grep 'processor' /proc/cpuinfo | sort -u | wc -l # 查看 CPU 的型号 dmidecode -s processor-version Intel(R) Core(TM) i3- CPU @ .70GHz # 查看 内存 方法 grep MemTotal /proc/meminfo MemTotal: kB
4、知道22端口被哪个进程占用
lsof -i : netstat -lnp|
5、显示http response头信息
curl -I http:///webhook/comment
6、把文件内容输出到本地,并保留文件名,可以理解为直接把文件下载到本地。
curl -O http:///object/test02
7、操作文件夹
mkdir folderName 创建文件夹 rm -r folderName 删除文件夹 rm -rf folderName 强制删除文件夹 mv sfolderName dfolderName 重命名文件夹
8、操作文件
touch filename 比如touch index.js 创建一个空的js文件。 find path -name filename 比如find components -name "*.js" 查找指定类型的文件。 ls 查看有哪些文件 ll 查看文件的详细信息 head -n filename查看一个文件的前n行,如果不指定n,则默认显示前n行。 tail -f storage/logs/xf-web---.log 查看文档内容,默认显示最后10行,比如查看服务器文件日志 vim /root/.pm2/logs/monitorApp-out.log 文本查看和编辑 cat /root/.pm2/logs/monitorApp-out.log 文本查看 cp oldfile newfile 复制文件 cp -r old/ new/ 不是把old目录里面的文件拷贝到new目录,而是把old直接拷贝到new下面。 cp -r ../teamb/xf-web . 不是把old目录里面的文件拷贝到new目录,而是把old直接拷贝到new下面。 :q git log之后要退出(不保存),并回到命令行。 :q! 强制退出,放弃修改。 :wq 保存文件后退出。 :wq! 强制保存退出。
9、vim模式
i 进入编辑模式 / 查找关键字 : 跳到某行 esc 退出编辑模式 pwd 查看当前路径 > 表示覆盖原文件内容(文件的日期也会自动更新) >> 表示追加内容(会另起一行,文件的日期也会自动更新) cat /etc/hosts > hosts.log 执行命令cat /etc/hosts,将其返回结果保存到hosts.log中。 & 表示任务在后台执行,如要在后台运行redis-server,则有 redis-server & && 表示前一条命令执行成功时,才执行后一条命令,如echo '1‘ && echo '2' | 表示管道,上一条命令的输出,作为下一条命令参数,如 echo 'yes' | wc -l || 表示上一条命令执行失败后,才执行下一条命令,如 cat nofile || echo "fail" . 指当前目录 ./ 可以用来执行当前目录下的可执行文件
10、其他操作
telnet telnet连接 flush_all 清空所有键值,flush并不会将items删除,只是将所有的items标记为expired,因此这时memcache依旧占用所有内存。
11、make命令
https://www.cnblogs.com/camille666/p/make_command_project.html
12、export命令
https://www.runoob.com/linux/linux-comm-export.html
# 列出环境变量 export -p # 定义环境变量,列出分支,查找当前分支,匹配至少有一个.的 export branch=`git branch | grep \* | grep -Eo ' .+'` # 使用环境变量 $$branch
13、xargs命令
https://www.runoob.com/linux/linux-comm-xargs.html
14、grep命令
查找字符串。
git log develop.. --pretty=format:%B | grep -vE '^\s*$$' | cat
https://www.runoob.com/linux/linux-comm-grep.html
15、echo命令
echo -e "\033[字背景颜色;字体颜色m字符串\033[0m"
echo -e "\e[1;31mThis is red text\e[0m"
\e[1;31m 将颜色设置为红色
\e[0m 将颜色重新置回
背景颜色码:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47
文本颜色码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37
四、正则表达式
假设当前项目分支为feature/A: grep \* 对*进行转义,查找存在*的分支,输出* feature/A grep -Eo ' .+' 启用正则,并按该规则去查找,输出feature/A grep -vE '^\s*$$' test.log 或者 grep -vE '^$' test.log 或者 grep -vE '^\s$' test.log 查找没有空格,空行的行。反向匹配,过滤掉空行,空格。比如输出feat: 这是一个提交。
五、安装node
1、建立一个文件夹命名node
wget https://nodejs.org/dist/v12.13.0/node-v12.13.0-linux-x64.tar.xz tar xvf node-v12.13.0-linux-x64.tar.xz cd /node/node-v12.13.0-linux-x64/bin
2、创建软链接,以便全局使用
ln -s /node/node-v12.13.0-linux-x64/bin/npm /usr/bin/npm ln -s /node/node-v12.13.0-linux-x64/bin/node /usr/bin/node node -v npm -v
3、如果无法创建,先在/usr/bin/目录下删除已存在的
rm -rf node rm -rf npm
六、问题与方案
1、不识别pm2
pm2: command not found
创建linux下的软连接,在linux上的设置软连接相当于windows下的配制环境变量
ln -s /node/node-v12.13.0-linux-x64/bin/pm2 /usr/bin/pm2
linux那些事儿的更多相关文章
- Linux那些事儿之我是Hub(大结局)挂起自动化【转】
转自:http://blog.csdn.net/fudan_abc/article/details/1805471 目睹了当今大学校园的素质流氓化,kiss公开化,消费白领化,上课梦游化,逃课普遍化, ...
- Linux就这个范儿 第9章 特种文件系统
Linux就这个范儿 第9章 特种文件系统 http://book.douban.com/reading/32081222/ P326 有一种文件系统,根本不在磁盘上.这种文件系统就是大名顶顶的ram ...
- [转]十年前的老文:以 Linux 的名义
一.灰姑娘的狂欢 今年初,林纳斯·托瓦兹承认:“如果在12年前,有人告诉我Linux会发展到今天的模样,我肯定会惊得目瞪口呆.” 托瓦兹说的是实话.1991年,这名21岁的芬兰赫尔辛基大学的学生,偶然 ...
- Linux下USB suspend/resume源码分析【转】
转自:http://blog.csdn.net/aaronychen/article/details/3928479 Linux下USB suspend/resume源码分析 Author:aaron ...
- linux设备驱动之USB主机控制器驱动分析 【转】
转自:http://blog.chinaunix.net/uid-20543183-id-1930831.html ---------------------------------------- ...
- Linux内核“问题门” - 学习问题、经验集锦
陈宪章说:“学贵有疑,小疑则小进,大疑则大进.疑者,觉悟之机也,一番觉悟一番长进.” 培根说:“多问的人将多得.” 还在学校的时候导师在激情讲演之后对着会议室里形态各异但均静默不语的我们痛心疾首的说: ...
- 《网蜂A8实战演练》——8.Linux USB 主机控制器和设备驱动
USB 的全称是 Universal Serial Bus,顾名思义:通用串行总线. 提到总线,联想一下,在你心目中总线总是用来干嘛的?还记得 I2C 总线? I2C 总线上挂有二条信号线,一条是 S ...
- 转: 嵌入式linux下usb驱动开发方法--看完少走弯路【转】
转自:http://blog.csdn.net/jimmy_1986/article/details/5838297 嵌入式linux下的usb属于所有驱动中相当复杂的一个子系统,要想将她彻底征服,至 ...
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
随机推荐
- tasklist /m
\>tasklist /m explorer*映像名称 PID 模块 = ...
- runloop是一个系统架构、是一个系统
信号与系统的系统: 事件源.派发系统.事件传播链.事件处理函数: 等组成的整体: 强调的重点是联系与结合.
- 开源项目(7)Opencv日常之Homography
参考教程 https://blog.csdn.net/liuphahaha/article/details/50719275 什么是Homography 在图1中有两张书的平面图,两张图分别有四个相对 ...
- [Unit test] jasmine createSpyObj
beforeEach(() => { contextStub = { debug: false, engine: jasmine.createSpyObj('engine', [ 'create ...
- ent 基本使用十四 edge
edge 在ent 中属于比较核心,同时也是功能最强大的,ent 提供了比较强大的关系模型 快速使用 参考图 以上包含了两个通过边定义的关系 pets/owner: user package sc ...
- kuma 学习四 策略
通过策略我们可以构建灵活的service mesh 应用策略 我们可以通过kumactl 以及kubectl 应用策略 kumactl 格式 echo " type: .. spec: .. ...
- yum 安装,可以list,但是无法安装Error downloading packages: 。。。。 No such file or directory
yum 安装,可以list,但是无法安装Error downloading packages: .... No such file or directory # yum install nano Lo ...
- 第09组 Alpha冲刺(6/6)
队名:观光队 组长博客 作业博客 组员实践情况 王耀鑫 过去两天完成了哪些任务 文字/口头描述 博客撰写,文档,答辩材料整理. 展示GitHub当日代码/文档签入记录 接下来的计划 QA. 还剩下哪些 ...
- html 选择本地图片,显示选择的图片
主要用的是html5的文件系统部分: <html> <head> <meta name="viewport" content="width= ...
- UDF——计算壁面边界合力矩(旋转机械)