说明
此文列出的是最基本的、程序员需要知道的 linux 命令,大神勿踩。
基本命令
cd 切换工作目录
pwd 当前工作目录 pwd -P 显示实际路径而非链接路径
ls -lht 列出文件,以长列表形式,以 kb,mb 等显示大小,以修改时间排序,最新的显示在最前面
rm -rf 强制删除目录或文件
mkdir mdir 创建目录 mkdir -pv 创建多级目录并显示创建的目录 mkdir -pv /manager/{service,mapper,controller}
cp 复制文件或目录
file 显示文件类型
history 显示最近使用过的命令 history 10 显示最近 10 条
!ps 执行最近执行过的 ps 命令
文本操作基本用于看日志
tail -f 以滚动形式查看日志
less 查看日志 less -N 查看的时候显示行数 , 快捷键见文章末尾
grep <match> 文件列表可用通配符
grep --color=auto 对于查找到的信息以高亮标出
grep -C rownum 显示查找到的附近多少行 grep -A rownum 后面多少行 grep -B rownum 前面多少行
grep -v <match> 排除匹配的行
grep -E "a|b" 匹配 a 或者 b -E 表示扩展正则 a/b 可使用正则
sed -n '/09:00:00/,/10:[0-9][0-9]:[0-9][0-9]/p' jvm-default.log | less 打印 9. 到 10 点的日志, 并使用 less 查看 // 里面包含的是正则
网络信息相关
ping ip
hostname -i 显示本机 ip
telnet ip port 测试 ip port 是否可通
netstat -tlnp | grep port 查看端口进程号
查找文件或命令或端口
locate filename 常用于查找某个文件位置配合 grep 可以方便的查找文件位置
which cmd 查找命令位置或 type cmd
# 我们的项目的目录层级一般者比较深, 使用 cd 一层一层进会很累, 这里可以使用 find 来查找文件
find . -name filename*
# 使用端口找到程序位置 netstat 配合 ps 即可快速找到, 前提你有权限
netstat -tlnp | grep port
ps -o 'cmd' --width=10000 pid
# 当然你可以可以直接用 ps 来查找位置
ps -ef | grep port
# 看当前目录是被什么程序占用
ps -ef | grep `pwd`
常用压缩解压缩命令
tar -zx -f file.tar.gz 解压缩 tgz 包
tar -zc -f fileordir target.tar.gz 打包并压缩
unzip -o file.zip 解压并覆盖文件,用于解压 zip 压缩包
一些系统相关参数查询
# 看当前系统是多少位的
getconf LONG_BIT
# 查看当前 CPU 核心数
cat /proc/cpuinfo | grep 'core id' | uniq | wc -l
# 也可以这样看 CPU 核心数, 使用 top 命令 , 然后按数字 1 , 即可知道 cpu 核心数
# 查看内存, 以 M 显示, 目前都是以 G 为单位 , 所以用 m 显示最好
free -m
# 查看磁盘使用
df -h
df -h path 可以显示路径所在磁盘空间使用
# 查询内核信息
uname -a
附录
less 快捷键, 基本和 vi 差不多
- gg 跳到开头
- G 到结尾
- /<match> 向后搜索
- /?<match> 向前搜索
top 快捷键
- M 以内存排序
- P 以 cpu 排序
- 1 显示 cpu 内核数
- T 根据累记时间排序
linux 的快捷键
- ctrl+l 相当于 clear 命令, 清除屏幕
- ctrl+w 住前删除一个单词, 比退格好用
- ctrl+a 回到开头, 当写一个很长的命令, 发现前面写错了可快速回到开头
- ctrl+c 取消执行
- ctrl+z 丢到后台执行
- ctrl+s crt 的锁定模式, 使用 ctrl+q 解锁; 其它工具不清楚
- shift+insert 粘贴
<TAB>