Linux 和 Windows PowerShell 常用工具/命令 记录

Linux 常用工具

  • enca: http://dl.cihar.com/enca/ 文件名编码转换

  • iconv: 文件编码转换

  • convmv: 文件名编码转换

  • ldd: 查看可执行文件或动态链接库的依赖库

  • getconf: 查看配置信息(如getconf LONG_BIT可知当前系统是32位还是64位版本)

  • tcpdump: 监视网络服务

  • sync: 将缓冲区内容写入磁盘

  • echo 3 > /proc/sys/vm/drop_caches: 手动释放缓存

  • nm: 查看符号表

  • readelf: 查看ELF信息(Executable and Linkable Format)

  • man: 文档

  • top/htop: 查看最高占用

  • perf: 性能数据采集

  • sar: 系统信息采集

  • uptime: 系统1分钟、5分钟和15分钟的系统平均负载

  • free: 内存使用情况

  • iostat: 磁盘IO使用情况

  • pidstat: 查看进程状态

  • ipcs: 查看共享内存、消息、信号量信息,如:ipcs -m 共享内存

  • objdump –CS –l [bin文件]: 不反人类的反编译

  • strace: 系统调用跟踪

  • pstack: 查看当前调用栈

  • lsof: 查看打开的文件

  • ip addr: 查看ip地址

man [章节号] 手册名称:

  1. Standard commands (标准命令)

  2. System calls (系统调用)

  3. Library functions (库函数)

  4. Special devices (设备说明)

  5. File formats (文件格式)

  6. Games and toys (游戏和娱乐)

  7. Miscellaneous (杂项)

  8. Administrative Commands (管理员命令)

export $ENV_VAR:/usr/bin (环境变量)

PATH (可执行文件目录) LD_LIBRARY_PATH (C/C++库文件目录) /etc/ld.so.conf (C/C++ 库文件目录表)

常用命令及快捷键

ps -aux: 查看进程信息 ps -o majflt minflt -C [command name] 来查看进程的majflt, minflt的值(压力测试时使用) netstat -tuanp: 查看进程占用端口, netstat -aep: 查看所有占用的网络端口信息 Ctrl+r : 最近历史命令 ! 匹配最近历史 cd - :上一次访问的目录 Ctrl + u 和 Ctrl + y: 删除当前行,恢复删除的行 Ctrl + c : 换行重新输入命令 Ctrl + d : 某些程序的中断命令 lsof: 查看被打开的文件(该指令可用于查找标记删除但未被真正删除的文件[会被标记为 deleted ], 详见 http://www.ibm.com/developerworks/cn/aix/library/au-lsof.html

常用环境变量

echo PATH (可执行文件目录) LD_LIBRARY_PATH (C/C++库文件目录) /etc/ld.so.conf (C/C++ 库文件目录表)

Bash字符串操作

  1. #, 删除左边第一个匹配串,保留右边字符串

  2. ##, 删除左边最后一个匹配串,保留右边字符串

  3. %, 删除右边第一个匹配串,保留左边字符串

  4. %, 删除右边最后一个匹配串,保留左边字符串

  5. :0:N, 保留左边第一个字符起的N个字符

  6. :X 保留左边第X个字符起的N个字符

  7. :0-X:N, 保留右边第X个字符起的N个字符

  8. :0-X, 保留左边第一个字符起的N个字符

  9. /a/b 用b替换第一个出现的a

  10. //a/b 用b替换所有出现的a

  11. /#a/b 用b替换前缀a

  12. /%a/b 用b替换后缀a

系统信息(IP等)

特殊文件

网络名称: /etc/sysconfig/network 网卡: /etc/sysconfig/network-scripts/* 网卡信息缓存: /etc/udev/rules.d/70-persistent-net.rules

KVM和网络配置

virsh:虚拟机管理 virt-install:虚拟机安装

建议还是搞个GUI工具,然后可以连接上只有命令行的宿主机管理,会方便的多。比如虚拟机里搞个GUI版本的Linux,远程连接到宿主机上。

  • CentOS的网络管理是NetworkManager和原来的network.service并存,并且NetworkManager先启动。

  • brctl:网桥管理nmcli:NetworkManager的命令行工具

  • nmtui:NetworkManager的TUI工具(和GUI比较像了)

Linux的KVM虚拟机默认是NAT网络,如果需要使用网桥可以先用brctl或者nmcli或者nmtui把virbr0网桥删了 然后再用nmcli或者nmtui添加网桥,最后把原来的网络连接桥接上来即可。 其他的网络防火墙方面的记在《关于firewalld和systemd的一些命令速记》

Bash

Vim

文本替换

分屏

关键字导航

字符相关

缩进相关

文件系统

编译器命令

Linux查看系统信息命令

工具查询地址: http://bhami.com/rosetta.html

最后记录一下我常用的软件包

Posix环境

tar zip unzip gzip lzip zlib binutils gcc gdb cmake subversion git make colorgcc colordiff diffutils automake texinfo curl wget ncurses libncurses bison rsync uuid-devel valgrind telnet cppcheck openssl-devel

开发工具&库

openssl-devel readline-devel ncurses-devel libunwind-devel python php-cli java-1.8.0-openjdk

Linux专用

yum-remove-with-leaves yum-download bleachbit yum-plugin-fastestmirror dstat sar ipcalc iotop htop atop iptraf rtorrent aria2 p7zip

Linux - LLVM - Clang 套件

llvm clang dragonegg lldb

Linux桌面

cinnamon gnome-tweak-tool numix-gtk-theme imsettings-cinnamon : 用于切换系统输入法

小工具

figlet

编辑工具

pandoc ctex/miktex

图像处理

gimg darktable GraphicsMagick

Last updated

Was this helpful?