开个帖子记录一些工作学习过程中时不时就要用到linux相关的命令, 算是个备忘录

1. 文件操作

$iconv -f [src] -t [dst] [file] -o [outfile] 编码格式转换

$chmod [1+2+4] [filename] 文件权限管理

$chown [user]:[group] [filename] 文件所有者

2. 解压/打包

$zip -rv [filename.zip] [target]  zip压缩

$unzip [.zip] -d [dir] zip解压 $tar -xzvf [file] [path] tar解压

$tar -czvf [packname.tar] [file/dir] tar压缩

#aix环境对于.tar.gz的包可能解压有问题,要先gunzip把.tar.gz转成.tar

3. 复制, 移动, 删除

$cp [src] [dst]  拷贝

$mv [src] [dst]  移动/重命名文件

$rm -rf [file/dir]  递归删除,失败不报错(无法恢复,root下慎用)

4. 网络状态

$ifconfig -a  网卡信息

$netstat -tunlp  网络状况

$tcpdump  抓包

5. 服务

$service [serviceName] restart  重启服务

$systemctl start [serviceName].service 启动服务

$systemctl start sshd.service 启用ssh

$systemctl start firewalld 启用防火墙

$systemctl status firewalld 查看防火墙服务状态

$systemctl stop firewalld 停止防火墙

$systemctl disable firewalld 禁用防火墙 $smbpasswd
-a [userName] 配置samba
/etc/samba/

6. 系统环境变量

$which [command]  定位程序

$vim /etc/profile
PATH = $PATH:[CommandPath]

7. 链接

$update-alternatives
--display
--config
--set
--remove-all
--install [link] [name] [path] [level]

$ln -s [path] [link]  软连接

8. 查找

$find [path] -type [f/l] -name [name]

$xargs -d [char] -I {}

$grep -p [regax]

9. 内存,磁盘与文件信息

$memstat

$free -h  内存信息

$df -hl  磁盘信息

$du -h  目录中文件信息

$ipcs -m 进程通讯信息

$ipcrm -m [shmid] 删除共享内存

$file 文件信息

$nm -D 符号

$objdump [-a] [-f] [.a/file] 符号

$ldd 链接信息

$readelf -d 链接信息

$md5sum [filename] 计算md5

$tail -fn [lineCnt] [filename] 查看文件内容

10. 其它常用的命令

$shutdown now  立即关机

$reboot  重启

$tree  显示当前目录结构

$ls -al

$man -s [page] [command]  帮助手册

$last 查看近期登陆信息

$alias 'xxxx' 自定义命令

$scp -r [usr]@[ip]:[src] [dest]

11. VIM

-v visual模式
-vx 删除当前选中内容
-vd 剪切
-vp 粘贴至光标后 
-vP 粘贴至光标前

-yy 拷贝当前行
-yyy 拷贝当前行 + 之后3行

-o 在下一行insert
-O 在上一行insert

-dd 删除当前行
-x 删除当前字符
-u 撤销

-A 在当前行尾插入
-L 切至当前屏幕最底行 -H 切至当前屏幕最顶行 -M 切至当前屏幕中间行 -Cww 切buffer

:[linenumber] 跳转到指定行

 12. git

$git clone [url] 下载远程代码

$git config [-global] user.name "tsing" 设置[当前项目/全局]用户名

$git config [-global] user.email "public_tsing@163.com" 设置[当前项目/全局]邮箱

$git branch -a 查看当前全部分支

$git branch -d [branch_name] 删除本地分支

$git branch -vv 查看本地分支对应关系

$git checkout [local_branch] 切本地分支

$git checkout -b [local_branch] [origin/remote_branch] 以远程分支为基础,将本地分支切至该分支

$git pull origin 以当前分支对应的远程分支为基础,更新当前分支

$git add [file] 添加要commit的文件

$git rm [file] 在分支中删除文件

$git commit 将变更提交至本地分支

$git push origin local_branch:remote_branch 以远程服务器为目标,将本地分支推送到对应的远程分支上

$git checkout . 将当前分支所有的更改丢弃

13.GDB

$gdb (-tui) [exe] 调试可执行程序(带源代码界面)

$ulimit -a

$ulimit -c unlimited 不限制core文件生成大小
$gdb [exe] [core] 调试core文件
-r 运行程序
ctrl
+ c 暂停
-c 继续运行程序
-bt 查看堆栈
-n 单步执行
-s 单步进入
-layout (src/asm/regs) 显示可视化窗口(源代码/汇编/寄存器)

ctrl + l 刷新窗口

ctrl + x; a 关闭layout

-b [location] (if [cond]) 下断点(条件断点)

-info b [n] 查看断点信息

-delete [n] 删除断点

-p [obj] 查看变量

-dir [path] 添加源代码搜索路径

 14.linux常用软件

$apt install net-tools

$apt install tree

$apt install cmake

$apt install pstack

$apt install build-essential

$apt install vim

$apt install linux-tools-common

$apt install gdb

$apt install systemctl

$apt install tcpdump