Linux常用命令-练习记录
具体命令
1.复制文件到指定目标,若目录不存在则创建目录
mkdir 和 cp 结合使用
mkdir ../dst/sh_test && cp sh_test/hello_os.sh "$_"
# mkdir [target address] && cp [current file] "$_"
2.shell脚本变量自增
a=1
a=$[$a+1]
a=$(($a+1)) # unknown
a=`expr $a + 1` # 利用expr命令
let a++ # 利用let命令:支持自增/自减/简写
let a+=1
((a++)) # unknown
3.文本查找命令grep
grep int file # (内容加不加引号都行
grep -r abc .
# grep [-参数] 内容 文本
# 内容含空格打引号就好
# 关于参数
# -w: 精确匹配,不会有杂七杂八的东西混进来
# -n: 显示符合内容样式的行号和该行内容
# -c: 显示符合内容样式的行数
# -r: grep -r content directory 从当前directory开始递归查找包含content的文本(文件)
4.文件查找命令find
find . -name "stdarg.*"
# find 路径 [参数]
# 关于参数
# -name: 后接文件名,正则
# -type: 后接类型, f:一般文件 d:目录
# ...
5.文本处理命令awk
awk -F: '{print $1}' file
# awk [-参数] '条件 {命令}' 文本
# 关于参数
# -F fs: 拆分,-F后为“拆分分隔符”,一般连着写;之后$1 $2等依次为分隔后的组
6.文本处理命令sed
sed: stream editor 流编辑器
sed -i 's/int/char' file
# sed [-参数] '命令' 文本
# 关于参数
# -n: 安静模式。一般sed会将文本所有内容输出,-n屏蔽启动输出。
# -i: 直接修改文本内容
# 关于命令
# p: 打印选择内容,通常与-n一同食用。 e.g. `3p` - 打印第三行
# s: 替换。 e.g. 's/pattern/replace_string/g' - 若最后没有g,仅会替换每行第一个匹配的字符串
对了要使用变量的话记得改单引号为双引号
7.连接/打印文本cat命令
cat afile > bfile
cat afile >> bfile # 重定向-追加
# cat [-参数] 文件
一种用法:清空文件
cat /dev/null > file
# /dev/null是一种特殊设别文件-空设备,丢弃一切写入其中的数据并认为写入成功(类似$0寄存器)
8.git版本变更基本操作
# 基础操作
git init # 当前文件架建立git版本库
git branch -m oldname newname # 修改分支名字(注意应该在当前分支)
git remote add shortname url # 添加远程仓库
git remote -v # 查看已添加的远程仓库(有push/fetch两种方法)
git push origin master # 经典例子 origin为远程仓库名(shortname),master为本地分支名
# git push [remote远程仓库名] [local本地分支名]:[remote远程分支名] # 推送到版本库
# git push -u [remote远程仓库名] [local本地分支名]...使用一次后,之后相同的推送可以直接用git push解决
# 1.工作区回退(未add)
git clean [file] -f # 直接清理新加的untracked file
git restore file
git checkout -- file # 将所选not staged file复原;.则表示当前目录下所有文件
# 2.工作区回退(已add)
git reset HEAD [file] # 先将暂存区复原
情况已变为1,再使用1状态方法
# 3.版本库回退(即已commit)
git reset --hard HEAD/HEAD^/HEAD^^/.../HEAD~100
git reset --hard commitid # 通过 git log 查看,知道这个就什么都能还原(甚至回到未来,即误回退的原版本库)
# 若丢失了未来版本库的id,可以通过 git reflog 查看历史命令
# 4.移除文件
rm file # 删除工作区文件
git rm file # 删除工作区文件,将操作放入暂存区(当暂存区有file文件时报错)
git rm -f file # 删除工作区和暂存区的文件, 将操作放入暂存区
git rm --cached [file] # 删除暂存区文件,将操作放入暂存区(保留工作区文件,即变为untracked file)
9.dump类命令
hexdump 二进制文件查看工具
[https://blog.csdn.net/T146lLa128XX0x/article/details/81880048]
hexdump -x filename -n 64
# 以16进制打印filename前64字节内容
# 关于参数
# -d: 双字节10进制显示
# -o: 双字节8进制显示
# -x: 双字节16进制显示,类似 457f 464c 0102
# -C: 单字节16进制+ascii码,一行中输出完16进制形式后后输出ascii形式,类似一些文本查看工具
# -c: ascii码显示
# -n num: 显示前n个字节内容
objdump
objdump -DS filename
# 反汇编文件
# 关于参数
# -d: --disassemble ... 反汇编处指定section
# -D: --disassemble-all 反汇编所有section
# -s: --full-contents ... 显示指定section完整内容
# -S: --source 尽可能反汇编出源代码
Shell脚本基础
#!/bin/bash
# 这老记不清;文件名不加sh后缀也能运行
1.for循环
模式一:for - in
注意,没有所谓“元组”接收迭代数据的办法
for var in a b c
do
...
done
模式二:for - 类C
for ((i=0;i<3;i++))
do
...
done
Makefile使用基础
一些规则:
- Makefile中每行命令在单独的shell中执行,这些Shell之间没有继承关系。(当然可以使用.ONESHELL改变这一点)
1.make命令-参数
--director=DIRECTOR #在执行前切换到DIRECTOR目录
2.嵌套使用Makefile
Linux常用命令-练习记录的更多相关文章
- Linux常用命令学习记录
兄弟连Linux培训 ,小编整理了常用的Linux学习命令: 1 cp 拷贝命令 参数:-p 文件属性一起拷贝 -r 拷贝文件夹 -d 软链信息等一起拷贝 -a 是-rdp的简写 2 find 文件查 ...
- linux 常用命令学习记录
rm -f *.sh 2.grep -rn "enng" * 查找文件内容包含enng的文件(注意:文件名有xian的不会查询出) find . ! -name "*.s ...
- Linux&Android相关常用命令汇总记录
Linux&Android相关常用命令汇总记录 0@Linux&Android系统命令行下如何查看命令的帮助信息: command --help 1@在Linux系统中,设备分为三类, ...
- linux 常用命令(个人记录)
Linux专家的秘诀:思考-实践-在思考-再实践...linux常用命令:root 管理员用户startx 进入shutdown -h now 立刻关机shutdown -r now 现在重新启动计算 ...
- linux常用命令 、查看日志、web排查
linux常用命令 ps aux|grep xxx (比如 ps aux|grep tomcat ps aux|grep tomcat-portalvip ps aux|grep nginx 等) r ...
- 100个命令Linux常用命令大全
Linux常用命令大全100条: 1,echo "aa" > test.txt 和 echo "bb" >> test.txt//>将原 ...
- linux 常用命令(三)ssh
linux 常用命令(三)SSH 一.SSH 安装及免密登陆 (1) SSH 安装并配置 CentOS 默认已安装了 SSH client.SSH server,打开终端执行如下命令进行检验 rpm ...
- linux 常用命令--------雪松整理
linux 常用命令--------雪松整理 博客: http://hi.baidu.com/quanzhou722/blog错误在所难免,还望指正!========================= ...
- Linux常用命令大全(全面)
笔者在这篇文章中跟大家分享一下接近 100 个 Linux 常用命令大全,希望可以帮助到大家. 1.ls [选项] [目录名 | 列出相关目录下的所有目录和文件 1 2 3 4 5 6 7 8 9 1 ...
- linux常用命令与技巧(不断添加与更新)
linux常用命令:linux命令有很多,不去做全面的介绍与总结,这里只是记录在使用linux过程中遇到的常用命令和技巧,以便以后查阅. # mkdir -p /usr/local/src/ ##递归 ...
随机推荐
- HikariCP不断打印WARN日志Failed to validate connection com.mysql.jdbc.JDBC4Connection@xxxxx (...) Possibly consider using a shorter maxLifetime value.
最终解决方案(结论) maxLifeTime参数需要设置为小于min(数据库的wait_timeout,HA代理的超时时间,其他代理的超时时间);也就是说maxLifeTime不仅要像HikariCP ...
- spring boot 配置多个DispatcherServlet
传统的web项目,只需要在web.xml里配置多个即可,并且支持多个url-pattern 在spring boot中,我们默认无需配置,系统会自动装配一个,感兴趣的可以看下源码 org.spring ...
- RedisTemplate配置的jackson.ObjectMapper里的一个enableDefaultTyping方法过期解决
1.前言 最近升级SpringBoot,从2.1.6版本升级到2.2.6版本,发现enableDefaultTyping方法过期过期了. 该方法是指定序列化输入的类型,就是将数据库里的数据安装一定类型 ...
- Qt编写ffmpeg本地摄像头显示(16路本地摄像头占用3.2%CPU)
一.前言 内核ffmpeg除了支持本地文件.网络文件.各种视频流播放以外,还支持打开本地摄像头,和正常的解析流程一致,唯一的区别就是在avformat_open_input第三个参数传入个AVInpu ...
- URL中文转换成类似%E6%96%97%E7%A0%B4(url编码)格式
要将汉字转换成编码格式拼接成请求,没怎么搞过,一番查找,最终确定使用C# 里的WebUtility using System.Net; var a = WebUtility.UrlEncode(&qu ...
- 理解IM消息“可靠性”和“一致性”问题,以及解决方案探讨
本文作者"商文默",本次有修订和改动. 1.写在前面 即时通讯网整理的大量IM技术文章中(见本文末"参考资料"一节),有关消息可靠性和一致性问题的文章占了很大比 ...
- 一种调试 线段树 / Treap / Splay / 左偏树 / LCT 等树形结构的技巧
前言 如果我们需要观察程序运行过程中,某一个变量.某一个序列的变化情况,你可以在修改的地方打断点 debug,或者直接在需要的地方输出就行了. 但是对于一些树形结构,我们不好将其直观地呈现出来,常常只 ...
- web应用分页-copy
1. 场景描述 目前大部分的应用程序中都会用到分页功能,以便减少前端浏览器及后台服务器的压力,以及其他方面的考虑. (1)分页从概念上可分为逻辑分页和物理分页,逻辑分页主要是通过应用程序(前端或者后端 ...
- java代码之美(3)
Map中的computeIfAbsent方法 Map接口的实现类如HashMap,ConcurrentHashMap,HashTable等继承了此方法,通过此方法可以在特定需求下,让你的代码更加简洁. ...
- TCP的网络编程基础
服务器建立 ServerSocket 对象ServerSocket 对象负责等待客户端请求建立套接字连接,类似邮局某个窗口中的业务员.也就是说, 服务器必须事先建立一个等待客户请求建立套接字的 连接 ...