Linux命令
ctrl + C
打断执行pwd
输出当前位置cmd1;cmd2
首先运行命令1,然后运行命令2cmd1&&cmd2
仅在命令1成功结束时才运行命令2cmd1||cmd2
仅当命令1失败时才运行命令2strace
追踪程序系统调用touch
新建文件,内容为空cat
cat filename
To view a single filecat [filename-whose-contents-is-to-be-copied] > [destination-filename]
Copy the contents of one file to another file.cat file1 >> file2
Cat command can append the contents of one file to the end of another file.
- 管道;用
|
连接两个命令,以前面一个命令的输出作为后面命令的输入strace -f gcc a.c 2>&1 | vim -
This will pipe both stdout and stderr to vim. The-
argument tells vim to read from stdin.strace pmap 152 |& vim -
|&
: This is a shorthand for2>&1 |
in bash and zsh. It passes both standard output and standard error of one command as input to another.
sort -nk 6
依第6列升序排列- 执行多次,或循环执行
#for i in {1..5}; do // while true; do > command >done
- crontab的使用
crontab -e
- 注意:crontab运行的环境并不包含docker命令。需要指定完整的路径。
lsof -i:端口号
查看端口占用情况kill -9 PID
杀掉对应的进程grep
(global regular expression) 用于查找文件里符合条件的字符串或正则表达式which
查找安装路径 如which docker
ls -l
详细信息~/.bashrc
是 Bash shell 在每次启动时都会自动执行的一个脚本文件,可以用于设置环境变量、别名和一些其他 Bash shell 配置。source /opt/rh/devtoolset-9/enable
更新gcc版本- export PS1=’[][\W]$ []’ 修改PS1变量,让其更加简洁。PS1的默认设置为
\[\][\u@\h \W]\$ \[\]
tar
tar cvf file.tar *.c
creates a tar file called file.tar which is the Archive of all .c files in current directory.tar xvf file.tar
extracts files from Archives.z
tells tar command that creates tar file using gzip 即tar.gz
- 可以利用 TAB 补全查看所有可用的命令选项(连按两次 TAB 键)
汇编相关
objdump -d filename
print the assembler content of the sections capable of execution.objdump -s filename
print the complete content of all the sections of the file
gcc
gcc - E a.c
对a.c进行宏展开- 升级gcc版本到gcc9 CentOS7 升级gcc版本到gcc9
source /opt/rh/devtoolset-9/enable
-static
静态编译,省去动态链接相关的系统调用
vim
- cmd模式
:!cmd
execute a shell command from within Vim!gcc %
编译!xxd
将当前文件转换为十六进制表示并显示在终端中%!xxd
将当前文件的内容通过管道传递给外部命令xxd,并将其输出替换为当前文件的内容
:set nu
显示行号:set wrap
:%!grep execve
:%! grep -v ENOENT
:%s/term/another_term/g
替换
- visual模式 按v进入
y
复制选中内容d
删除
u
undo
gdb
- 编译时要带
-g
bt
:but trace