命令
man
-f 等同于whatis
apropos 在一些给定的包含系统命令的简要描述的数据库文件里找关键字,然后 把结果送到标准输出
whatis 给出命令的简要描述
which 给出命令的绝对路径
whereis 用来定位指令的二进制程序、源代码文件和man手册页等相关文件的路径
locate
find -name 的另一种用法
linux命令
Ctrl r 命令历史查找
Ctrl w 删除命令最后一个参数
Ctrl u 删除一行
cd - 回到上一次的工作目录
cd ~ 切换到home目录
touch 修改文件目录的时间属性
当文件不存在时会创建新的文件
-a 改变访问时间
-m 改变修改时间
cat
一次性显示整个文件的内容,可以将多个文件链接起来显示,常于重定向符号使用,适用于文件内容少的情况
more
less
more和less一般用于显示文件内容超过一屏的内容,提供翻页功能,空格显示下一页,b显示上一页。more比cat强大,提供翻页功能,less比more强大,提供翻页,跳转,查找等命令。
-i 忽略搜索时的大小写
-N 显示行号
-m 显示百分比
-o 将less输出的内容在制定文件中保存起来
命令内部操作:
b 向后翻一页
h 显示帮助
? 向上搜索字符串功能
n 重复前一个搜索
N 反向重复前一个搜索
内核转储路径: /etc/sysctl.conf
kernel.core_pattern = path/name.core
kernel.core_uses_pid = [0,1]
name 可以使用的格式符:
% % %字符本身
%p 被转储的进程的进程ID(PID)
%u 被转储进程的真实用户ID (real UID)
%g 被转储进程的真实组ID (real GID)
%s 引发转储的信号编号
%t 转储时刻(从1970.01.01开始的秒数)
%h 主机名
%e 可执行文件的文件名
%c 转储文件的大小上限(linux2.6.24后可用)
kernel.core_uses_pid 值
0 不在文件末尾添加 .PID
1 在文件末尾添加 .PID
uname -r 查看当前linux系统内核版本
ulimit -c 查看core文件的大小上限
ulimit -c ulimited 不设置上限
sysctl (选项) (参数)
选项:
-n:打印值时不打印关键字;
-e:忽略未知关键字错误;
-N :仅打印名称;
-w:当改变sysctl设置时使用此项;
-p:从配置文件“/etc/sysctl.conf”加载内核参数设置;
-a:打印当前所有可用的内核参数变量和值;
-A :以表格方式打印当前所有可用的内核参数变量和值。
grep 查找
-r 递归查找
-n 显示行号
-R 查找所有文件包含子目录
-i 忽略大小
-e 指定字符串作为查找文本内容的范本样式
-E 正则表达式
-c 计算符合样本数的个数
find
find . 列出当前目录及子目录所有文件及文件夹
-type 根据文件类型匹配
f 普通文件
l 符号链接
d 目录
c 字符设备
b 块设备
s 套接字
p fifo
-atime
-name 等同于locate
vim命令
i 切换到编辑模式
esc 换回到命令模式
set number 显示行
gdb命令
git学习
廖雪峰git学习
git 通过git命令是否识别,来检测系统是否安装git
sudo apt-get install git git的linux安装
git init 初始化版本仓库
git add 把要添加的文件添加到仓库
git add -A 提交所有变化
git add -u 提交被修改和被删除的文件,不包含新文件
git add . 提交新文件和被修改的文件,不包含删除的文件
git rm 从版本库中删除
git rm filename
git commit 把文件提交到仓库
git commit -m “”
git push 推送到远程仓库
git push origin master origin 远程库的名字 master 主干分支
git push origin <tagname>
git remote
git remote add origin git@github.com :skyeworld/ 把本地仓库推送到远程github仓库
git clone
git clone git@github.com :skyeworld/name.git 把远程github仓库,同步到本地
git diff 生成patch文件
git diff filename
git status
git log
git log
git log
git reflog 记录输入的每一次命令,可用于找回commit-id
git branch 查看分支
git remote 查看远程库信息
git remote -v 查看更详细的信息
git checkout
-b 表示创建并切换
git checkout -b branchname 创建branchname分支,并切换至branchname分支
git checkout -b branchname origin/dev 把创建远程dev分支
等同于 git branch branchname 创建branchname
git checkout branchname 切换到branchname分支
-d 删除分支
--file 把file文件在工作区的修改全部撤销
git merge 合并分支
--no--ff 不使用fast forward模式合并分支,(默认使用fastforward,此操作合并后回删除分支)
git merge branchname
git stash 保存当前工作现场,以供以后使用(可以用于修改一个debug一半时,去修改另一个bug,后又切换至第一个debug)
git stash list 查看存储的所有stash
git stash pop 恢复stash内容并删除,等同于以下两个命令
git stash apply 恢复
git stash drop 删除
git reset
git reset --hard HEAD^ 回退到上个版本
git reset --hard HEAD^^ 回到到上上个版本
git reset --hard commit-id 会退到commit-id的版本
git tag < name> 在最新commit上打tag
git tag < name> commitID 在指定commit上打tag
git tag -a < name> -m " " commitID 在制定commit上打名为name说明为 “ ” 的标签
git show < tagname> 查看标签信息
git tag -d <> 删除名为name的标签
git push origin :refs/tags/ < tagname> 删除远程名为tagname的标签
git push origin < tagname>
git push origin -- tags 一次性推送所有尚未推送到远程的本地标签
存放路径:
.git /config
忽略文件
.gitignore 在此文件中添加需要忽略的文件
git add -f filename 强制添加被 .gitignore 忽略的文件
git check-ignore -v filename git给出filename被忽略的语法规则在 .gitignore 中的行数
命令别名
git config --global alias.
--global 全局参数
git config --global alias.st status 此后git st == git status
正则表达式
元字符 \b 单词的开头和结尾,也就是单词的分界处 . 除了换行符以外的任意字符 前边的内容可以连续任意重复使用认识次数,使整个表达式得到匹配 .* 任意数量的不包含换行符的字符(PS: 换行符 \n ASCII:OXOA) 和 * 类似 ,不同之处时 + 至少重复一次,而 * 则可以是零次
\d 一位数字(0-9)
\d { dig} 表示重复匹配dig个数字
\w 匹配字母、数字、下划线、汉字
\w { dig} 表示重复匹配dig个字符
\s 匹配任意的空白字符
^ 匹配字符串的开始
$ 匹配字符串的结束
^\d { dig1, dig2} $ 整个字符串就是dig1到dig2位数字
\
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n, m} 重复n到m次
|
(expression){ dig}
((2[ 0-4] \d |25[ 0-5] |[ 01] ?\d \d ?)\. ){ 3} (2[ 0-4] \d |25[ 0-5] |[ 01] ?\d \d ?) ip地址
\W 匹配任意不是字母、数字、下划线、汉字的字符
\S 匹配任意不是空白字符的字符
\S + 匹配 不包空白符的字符串
\D 匹配非数字的字符
\B 匹配不是单词开头或结尾的位置
[ ^x] 匹配除了x以外的任意字符
[ ^aeiou] 匹配除了aeiou这几个字母以外的任意字符