tar
-
压缩
tar zcvf <target>.tar.gz <target>
-
解压
tar zxvf <target>.tar.gz
这里的选项z
表示使用 gz 压缩,c
代表 tar 的打包,x
代表 tar 的解包,v
表示打印过程。
将户用添加进 sudoers
使用系统命令visudo
,添加如下配置:
username ALL=(ALL:ALL) NOPASSWD:ALL
如果/etc/sudoers
可编辑,也可直接编辑此文件。
添加 man 手册
有些环境没有man
命令,需要安装 man-pages 这个包:
yum install -y man-pages
远程登陆 shell
要从其他机器登陆 linux shell,比如 Windows shell,只需要使用ssh
命令即可:
ssh <name>@<IP>
反汇编
objdump <option> a.out
-d:将代码段反汇编。
-S:将代码段反汇编的同时,将反汇编代码和源代码交替显示,编译时需要给出 -g,即需要调试信息。
-C:将 C++ 符号名逆向解析。
-l:反汇编代码中插入源代码的文件名和行号。
-j section:仅反汇编指定的 section。可以有多个 -j 参数来选择多个 section。
软链接
- 创建软连接
ln -s 『源文件或目录的绝对路径』 『目标文件或目录』
- 修改软连接
ln –snf 『新的源文件或目录的绝对路径』 『目标文件或目录』
shell script
- 获取文件绝对路径
SHELL_FOLDER=$(dirname $(readlink -f "$0"))
- 判断文件后缀
check_suffix()
{
file=$1
if [ "${file##*.}"x = "txt"x ] || [ "${file##*.}"x = "ini"x ];then
echo $file
fi
}
- 遍历目录
traverse_dir()
{
filepath=$1
for file in `ls -a $filepath`
do
if [ -d ${filepath}/$file ]
then
if [[ $file != '.' && $file != '..' ]]
then
#递归
traverse_dir ${filepath}/$file
fi
else
#调用查找指定后缀文件
check_suffix ${filepath}/$file
fi
done
}
grep
关键词出现次数
-
模糊匹配
grep -o "keyword" filename | wc -l
-
精确匹配
grep -wo "keyword" filename | wc -l
-
包含关键字的行数(每行关键字只计数一次)
grep -c "keyword" filename
gcc
宏展开
gcc -E -P maco_expand.c -o result.c
文档信息
- 本文作者:Zhuojun Miao
- 本文链接:https://miaozhuojun.github.io/wiki/shell/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)