#查看帮助
man ins
ins --help
info ins

vim

set nu|nonu		--行号
#一般模式[default]
	#dd/d5d			删除当前行/删除当前行[包含] 后5行
	#u				撤销上一步
	#yy/y2y			复制当前行/复制当前行[包含]后5行
	#x/X			del/backspace
	#dw/yw			删除一个词[光标放在首字母]/复制一个单词
	#shift+^/$		移动到行头/尾
    #(1)+shift+g				移动到页头/尾-->数字+操作==>移动到数字行
#编辑模式[从一般模式进入,按esc回到一般模式]
	#i/a[after]/o				当前光标处/后/下一行插入
	
#命令模式[从一般模式进入]
	#:---->w,q,!, (%s/old/new/g)
	#/----[查找]--->	n/N[shift+n]	下/上 一个
	#?----[查找]--->	N[shift+n]/n	下/上 一个
##-----------vim补充
快速跳转行首/尾:
	0,^【是否带空格】
	$ 【行尾】
跳转指定行:
	1. 88G[88 shift g] 
	2. :88
跳转文件首/尾:
	gg:首          G尾
格式化:
	gg=G
括号对应:
	命令模式 %
删除:
	x和X【命令模式】--->单个字符
	dw---删除一个单词
	D【shift+D】删除光标之后所有  或 d $ 
	d0-----删除光标之前的
替换:
	r  + 字符
删除指定区域:
	v[visual]-->选择区域->d
删除指定行数:
	dNd  或者 Ndd
复制行:
	yy
	yNy  或者 Nyy
粘贴:
	p/P
实际上vim中无删除,只有剪切[结合 p]查找:
	1. 光标到指定字符 按 * / #
    2. / 或者 ?
替换:
	单行:选中行 :/ /define/new 
	通篇: 	: %s /println/print[每一行首个]	或者	:/ %s/old/new/g
	指定行替换: :起始行号,终止行号s /old/new
末行模式: ctrl + p显示上次命令
撤销/反撤销:u   ctrl + r
取消高亮:nohl
分屏:
	:sp	上下屏切换:ctrl ww 
	:vsp
	退出所有:qall
临时退出:
	ctrl + N---->fg
man page:
	3K
查看宏定义:
	[d
vim中执行shell命令:
	!命令
vim打造IDE:
	/etc/vim/vimrc
	~/.vimrc--->优先级大于↑

用户/用户组

useradd 创建

userdel [-r] li4 删除 用户(存档一并删除)

passwd 用户名 修改密码

id li4 用户是否存在

whoami 查看当前用户

su - idN/root 切换用户#,$


groupadd 组名

groupdel 组名

cat /etc/passwd 用户名,密码,id,组id,描述,主目录,登录shell

cat /etc/shadow

cat /etc/group

时间日期类

date
cal
#----具体参考man手册

文件目录类

  • pwd 当前目录
    • pwdx—-根据进程pid查看路径
  • ls——>文件类型与权限 链接数 文件属主 文件属组 文件大小[byte] 建立或最近修改时间 名字
    • -l 【ll】 列表形式展示
    • -d DircName 列出目录
    • -a -l
    • -R 查看目录下文件[递归查看]
    • -h human
  • mkdir 创建目录
    • -p /a/b/c 按需创建
  • rmdir 删除一个空目录
  • touch 创建一个文件
  • cd -,~ 相对目录,绝对目录./.. —->pushd popd
  • cp 复制
  • rm 删除
  • mv 移动文件/重命名
  • cat 查看文件
    • -A 列出特殊字符
    • -b 显示行号
  • tac 类似cat
  • more 按页查看
    • 空格 下一页
    • 回车 下一行
    • b 上一页
    • q 退出
  • less 类似more
    • 空格 下一页
    • pagedown/pageup 上/下 一页
    • / &? 向下/上搜寻字符串 —n/shift + n[N]
  • head/tail 按行查看
    • -n 数字
  • history 查看历史命令[history >a.txt]

网络配置

  • ifconfig

磁盘分区类

  • fdisk -l 查看硬盘逻辑分区
  • mount/unmount
  • df 路径 查看目录挂载分区
    • df -h 查看文件系统整体的磁盘使用量用人类可阅读的
    • df -k 以kbytes为单位
    • df -m 以mbytes
    • df -H M=1000k的方式
    • df -T 包括文件系统
  • free 查看内存情况

搜索查找类

  • find . -name a.conf

    find ./ -type ’l’ —软连接 find ./ -maxdepth 1 -name “*”—搜索目录深度 find ./ -size +20M -size -50M —20M 到50M

  • grep 在文件中搜索查找[管道符]

    • -n this jwhois.conf
  • whereis/which

进程线程类

  • ps 查看进程,常和grep使用
    • -ef
    • -aux
    • -Lf 查询线程
    • ajx 父进程/组进程等
  • pwdx
  • kill 杀掉进程
    • -9 强制杀掉进程
  • netstat 查看网络统计相关命令[配合grep]
    • -pan 可查看TCP状态
  • wc [ctrl D]
  • top

压缩解压类

  • gzip 压缩文件为.gz,不打包为一个文件
    • 只能压缩文件
    • 不保留原文件
  • gunzip 解压
  • tar
    • -zcvf xxx.tar.gz n1.txt n2.txt n3.txt
    • -zxvf xxx.tar.gz
  • zip
    • -r 压缩目录
  • unzip

杂项

  • uname -a
  • ulimit -a
  • lscpu 查看CPU信息
  • watch -n0.5 (-d) “命令”
  • nice值-20 —19 PR(优先级)
  • curl -I 看协议头
  • stat fileName 查看文件信息
  • . /etc/profile // source etc/profile

文件目录及权限

  1. 树状结构

    1. bin							最常用的二进制文件
    2. boot							内核启动相关,镜像
    3. dev							设备
    4. etc							配置
    5. home							
    6. root							
    7. lib							动态链接库
    7. media
    8. mnt							外部挂载
    9. opt							额外的软件安装目录
    10. proc						内存映射
    11. srv							服务相关
    12. sys							Linux2.6改变
    13. tmp							临时文件
    14. usr							program files
    15. var							经常改变的文件
    
    1. 文件类型

      ls -l

      0 :

      d:目录

      c:字符流,装置文件里的串行端口设备,如键盘,鼠标(一次性读取装置)

      s:socket

      p:管道

      l:链接文件

      b:设备文件,装置文件里可供储存的接口设备(可随机存取设备)

      1-3:属主权限 r:可读 w:可写[删除] x:可执行[可进入]

      4-6:属组权限

      7-9:其它用户权限

      rwx—存在为1,不存在为0.—->0-7 !不要写000

      chmod 707 t1

      chown 最终用户:落地用户组 文件

      chgrp


      文件默认权限:666 - umask

      目录默认权限:777- umask

rpm

rpm -qa 查询所安装的所有软件包

rpm -q nginx 查询软件包是否安装

rpm -qi 查询软件包信息

rpm -ivh [install,verbose[提示信息],hash[进度条]]安装

rpm -e nginx卸载

rpm -e –nodeps nginx 卸载软件包及其链式依赖

man的使用

例如:man ls

 查看时需要翻屏:

    向后翻一屏:space(空格键)      向前翻一屏:b

    向后翻一行:Enter(回车键)       向前翻一行:k

查看时需要查找:

/关键词      向后查找    n:下一个

?关键词     向前查找    N:前一个

whatis

wget

wget可以用来从网络上下载一个文件

-b 后台执行

-c 断点续传

-P 下载到指定路径

wget -bc -P ~/java URL 在后台从URL下载到~/java文件夹下

nohup

nohup commond >/dev/null 2>&1 & 不保存任何信息

nohup commond >/dev/null 2>log & 只输出错误信息到日志文件

注释: 先使用 >dev/null 将标准输出重定向到空,然后将标准错误重定向到fd1log文件中

​ 注:关于此命令重定向相关请参考 Linux Shell编程中的重定向部分,如果还没明白,请参考Linux文件描述符相关。

管道符和xargs

管道符

​ 使用管道操作符“|”可以把一个命令的标准输出传送到另一个命令的标准输入中,连续的|意味着第一个命令的输出为第二个命令的输入,第二个命令的输入为第一个命令的输出,依次类推。最常用的就是结合grep使用:

ps -ef |grep app:这条命令将查询结果中带有 app关键字的内容

对于有些命令,需要接收的是命令行参数而不是来自标准输入,因此管道符并不能直接使用,需要将标准输入转换为命令行参数。这时就会用到 xargs命令

xargs

xargs - build and execute command lines from standard input

例如我们想结束一个名为 app的进程

首先我们需要获取app的pid: ps aux|grep app

再获取结果中的第一行中的第二列: ps aux|grep app|head -1|awk '{print $2}'

然后将PID传递给kill命令并结束掉此进程: ps aux|grep app|head -1|awk '{print $2}'|kill -9

很遗憾这样并不能成功,相当于执行了kill -9但没有pid参数,因为kill命令接收命令行参数而不是标准输入

因此正确的应该是:ps aux|grep bluebell|head -1|awk '{print $2}'|xargs kill -9

awk,sed,grep等文本处理相关可参考 Linux Shell编程和相关书籍