开个帖子记录一些工作学习过程中时不时就要用到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