linux 命令精简实用版

说明

此文列出的是最基本的、程序员需要知道的 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>

相关推荐