1、常用Linux指令与其对应全称(持续更新)
Linux中的shell指令、文件名或工具,出于便捷,大量应用英文单词的缩写。每一个缩写都有其背后的含义,编程思想是想通的,我们只有知道缩写的真正含义,才使我们真正理解这条指令,更有利于我们站在设计者的角度去思考,知其然知其所以然,做到融会贯通。Linux命令行,也称shell,是Linux中用户与Linux系统交互的方式之一,除了ls这种Linux系统中自带的命令外,要使用其他命令,只能通过另外安装。
工作后常用的Linux指令如下:
【chmod】:change mode。若无法切换普通用户,则于root用户下执行chmod a+s /bin/su
【cat】 : concatenate(连接)
【ps】:process status,进程查看指令。一般使用ps -ef | grep [进程名]
【ls】:list files(设计的比较糙)
【su】:switch user
【sudo】:switch user do(执行)
【apt】:advanced packaging tool
【tmux】:terminal multiplexer(多功能复用器,强烈推荐!)
【vi】:visual interface(可视界面,难以想到!)
【cd】:change directory
【du】:disk usage,磁盘的使用情况,du -sh按照人类的形式展示出当前文件夹的大小。
【repo】:repository(仓库的含义,取单词头)
引申:对于上G的代码量,整体编译一次动辄数小时,直接用Git管理无疑是灾难性的,因此人们创新地提出了代码仓库repo的概念,即将工程分为许多小的Git仓库,交由不同人开发维护,于云端整合成一个大的repo仓。
【grep】:查询文字(字面意思)
参数-r:表示递归搜索。
-n:表示顺便输出行号
-s:不显示不存在和无文本的错误提示信息,即可得到一个干净的shell界面
指令文件名搜索:
grep -rns 字符串 文件名
【mount】:即全称,有挂载,山峰之意
常用:通过U盘拷贝.so文件进入目标机时,可使用配置指令mount -o rw, remount /文件名。
【find】:即全程,有发现之意
常用:在当前路径下搜索xcker.ko文件,且在shell界面下不输出查找失败的调试信息, find . -name "xcker.ko" 2>/dev/null 。
【logcat】:是一个安卓命令行工具,用来进行Log查看。常用为logcat | grep -iE "待查找字符"
-c:清除屏幕上的日志。
&:表可以在后台运行,可防止意外终止。
jobs:可查看后台运行的项。
kill %1:杀死编号为1的后台程序。
【top】:display linux process。显示所有进程号。
【pwd】:print working directory。打印当前工作目录。
【date】:打印当前时间。
【ps】:process status:进程状态查看指令。
【tar】: x(extract)表示从归档文件中提取文件;c(create)表示创建一个归档文件。
【echo】:通过重定向方法将值输出到对应的文件,echo 1 > xxx.c,会直接覆盖,若文件不存在,则生成。可以使用指令echo 1 >> xxx.c在文本的末尾进行追加。
2、Linux文件目录采用树状结构,最根部是/
3、shell脚本是一种简单的语言,可以通过组合调用系统命令执行重复工作。可以简单进行变量、函数定义和流程控制。if else if 来控制过程。可以执行复杂重复的工作。
4、linux用来监控系统的方式:
用户管理:useradd/userdel创建删除用户;passwd修改密码。
系统性能:top、htop等命令查看系统资源占用情况。ps查看进程。
外设挂载:mount将存储设备挂载到本计算机目录下。
服务管理:使用systemctl和start httpd进行服务管理。
5、使用各种工具提高编译自动化程度:
Make:使用makefile来描述构建规则,主要用于c/c++构建。
Git:来进行版本管理。
Jenkins:监控版本中的变更,自动执行构建、测试和部署任务。常见使用场景:使用GitLab进行版本把控,使用Jenkins来监控并构建变更,传至gerrit。