Linux 命令笔记

文件,路径操作:

增:

cp: 拷贝文件或目录

  • cp [-r] oldPath newPath
    • -r: 递归拷贝, 拷贝目录时用  
    • -p: 连同档案属性一起复制过去  
    • -f: 不询问而强制复制  
    • -s: 生成快捷方式  
    • -a: 将档案的所有特性都一起复制  

touch: 创建新文件或更新文件时间

  • touch [-*] fileName
    • -a: 只修改存取时间  
    • -m: 只修改变动时间  
    • -r: (touch -r a b)使b的时间和a相同  
    • -t: 指定指定的时间(touch -t 201211142234.50 log.log )  
      • -t [[CC]YY]MMDDhhmm[.SS] fileName    
        • C:年前两位      

mkdir: 创建目录

  • mkdir [-*] pathName
    • -p: 递归创建目录,若父目录不存在则依次创建  
    • -m: 自定义创建目录的权限, eg:mkdir -m 777 hehe  
    • -v: 显示创建目录的详细信息  

删:

rm: 删除文件或目录

  • rm [-d][-f][-r][-v] path
    • -d: 彻底删除  
    • -f: 强制删除  
    • -r: 递归删除  
    • -v: 显示执行过程  
    • -i: 删除提示  

rmdir: 删除空目录

  • rmdir [-*] path
    • -v: 显示执行过程  
    • -p: 若删除后父目录为空则一并删除  

改:

cd: 进入目录

  • cd ..: 返回上级目录HuJing1997
  • cd: 进入用户的主目录

mv: 移动或重命名文件或目录

  • mv [-*] [oldPath] [newPath]
    • -b: 覆盖前做备份  
    • -f: 如存在不询问而强制覆盖  
    • -i: 如存在则询问是否覆盖  
    • -u: 较新才覆盖  
    • -t: 将多个源文件移动到统一目录下,目录参数在前,文件参数在后  

查:

ls: 查看目录列表, 相当于 Windows 的 dir

参数:

  • -l: 显示详细信息
  • -h: 以容易阅读的方式显示大小
  • -a: 显示隐藏文件
  • -c: 根据ctime排序显示
  • -t: 根据文件修改时间排序
  • ---color[=WHEN]: 用色彩辨别文件类型
    • WHEN: 可以是'never'、'always'或'auto'其中之一  
    • 文件颜色:  
      • 白色:表示普通文件    
      • 蓝色:表示目录    
      • 绿色:表示可执行文件    
      • 红色:表示压缩文件    
      • 浅蓝色:链接文件    
      • 红色闪烁:表示链接的文件有问题    
      • 黄色:表示设备文件    
      • 灰色:表示其它文件    

df: 显示磁盘相关信息

  • -a: 显示全部文件系统
  • -l: 仅显示本地的
  • -h: 以容易阅读的方式显示大小
  • -k: 以字节数显示快占用情况

pwd: 查看当前的工作目录
cat: 查看文件内容,一次性读取

  • cat [-*] filePath
    • -n: 编号文件内容再输出  
    • -E: 在结束行提示$  

tac: 与 cat 相反,最后一行最先显示
more: 查看文件内容, 翻页显示,加载整个文件

  • +n: 从第n行开始显示
  • -n: 每次查看n行数据
  • +/String: 搜寻String字符串位置,从其前两行开始查看
  • -c: 清屏再显示
  • -p: 换页时清屏

less: 查看文件内容, 与 more 相似,不会加载整个文件
nl: 查看文件内容,加上行号

  • -b a: 空行也标识行号
  • -b t: 空行不列入行号(默认)

tail: 查看文件内容, 默认显示最后十行

  • tail [-20] filePath
    • filePath: 文件路径  
    • -20: 显示最后20行  

head: 查看文件内容,默认显示开头十行

  • -20: 显示20行

find: 在指定目录下查找文件

  • find path [-name][-iname] "str"
    • path: 在指定的目录下查找  
    • str: 字符串  
    • -name: 将字符串作为查找的标准  
    • -iname: 与-name相同,忽略字母大小写  

whereis: 搜索程序, 显示路径

  • whereis [-*] name
    • -b: 只查找二进制文件  
    • -m: 定位帮助文件  
    • -s: 定位源代码文件  
    • -u: 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件  
    • -B: 指定搜索可执行文件的路径  
    • -M: 指定搜索帮助文件的路径  
    • -S: 指定搜索源代码文件的路径  
    • name: 程序名  

grep: 文件搜索工具

  • grep [-v] matchPattern [-n][-o][-c] filePath
    • matchPattern: 正则表达式, 会显示匹配的行  
    • -n: 在前边标出行数  
    • -o: 只输出匹配部分  
    • -c: 统计匹配到的行数  
    • -v: 反向查找,即匹配的不显示  
    • -I: 不区分大小写(只适用于单字符)。  
    • -l: 只显示文件名  
    • filePath: 文件路径,可以有多个(file1 file2 ...)  

tar: 将文件和目录打包

  • tar [-c][-v][-f][-x]
    • -c: 建立新的备份文件  
    • -v: 显示操作过程  
    • -f file: 指定备份文件或目录  
    • -x: 解包  

系统:

users: 显示当前登陆的用户
last: 查看用户登录日志
lastlog: 查看每个用户最后的登陆时间
useradd: 添加用户

  • useradd [-u UID] [-g 初始群组] [-G 次要群组] [-c 说明栏] [-d 家目录绝对路径] [-s shell] 使用者账号名 | 新增用户
    • -M: 不建立用户家目录!(系统账号默认值)  
    • -m: 建立用户家目录!(一般账号默认值)  
    • -r: 建立一个系统的账号,这个账号的 UID 会有限制  
    • -e: 账号失效日期,格式为『YYYY-MM-DD』  
    • -D: 查看useradd的各项默认值  

userdel: 删除用户

  • userdel [-*] userName
    • -r: 删除用户相关的文件  
    • -f: 强制删除  

passwd: 修改用户密码

  • passwd [-*] userName
    • -l: 使密码失效  
    • -u: 与-l相对,用户解锁  
    • -S: 列出登陆用户passwd文件内的相关参数,系统管理员才能使用  
    • -n: 后面接天数,多久不可修改密码天数  
    • -x: 后面接天数,多久内必须要更动密码  
    • -w: 后面接天数,密码过期前的警告天数  
    • -i: 后面接日期,密码失效日期  

groups: 查看用户组
ps: 查看当前进程状态

  • ps [-a][-e][-f][u]
    • -a: 显示所有进程  
    • -e: 显示所有进程  
    • -f: 显示UID,PPID等  
    • -p pid: 指定程序pid  
    • u: 以用户为主的格式显示  
    • x: 显示所有程序,不以终端机来区分  

pstack PID: 查看进程的线程堆栈情况
kill: 终止进程
top: 查看系统的运行情况

  • top [-d 5][-s][-S][-u<root>][-p<pid>][-n<num>]
    • -d 5: 屏幕刷新间隔时间  
    • -s: 保密模式  
    • -S: 积累模式  
    • -u<root>: 制定用户名  
    • -p<pid>: 制定进程  
    • -n<num>: 循环显示此时  
  • top交互界面:
    • q: 退出程序  
    • h: 显示帮助画面,给出一些简短的命令总结说明  
    • k: 终止一个进程  
    • i: 忽略闲置和僵死进程,这是一个开关式命令  
    • r: 重新安排一个进程的优先级别  
    • o/O: 改变显示项目的顺序  
    • l: 切换显示平均负载和启动时间信息  
    • m: 切换显示内存信息  
    • t: 切换显示进程和CPU状态信息  
    • c: 切换显示命令名称和完整命令行  
    • M: 根据驻留内存大小进行排序  
    • P: 根据CPU使用百分比大小进行排序  
    • T: 根据时间/累计时间进行排序  
    • w: 将当前设置写入~/.toprc文件中  

mount: 加载与查看挂载情况
umount: 取消挂载
dmesg: 查看系统日志,与 tail /var/log/messages 内容相同
ulimit: 查看与修改系统并发限制(当前shell有效)

  • ulimit [-a][-s 100][-m 5000][-v 5000][-n 1000]
    • -a: 显示所有当前设定  
    • -s 100: 修改堆栈的限制大小  
    • -m 5000: 修改内存上限(KB)  
    • -v 5000: 修改虚拟内存上限(KB)  
    • -n 1000: 同时最多打开的文件数  

free: 显示系统内存情况
service: 管理并查看服务
apt-get: 更新系统,安装软件等
dpkg: 安装,管理软件包

  • dpkg [-i package.deb][-r package][-P package][-L package][-l package][-l]
    • -i package.deb: 安装包  
    • -r package: 删除包  
    • -P package: 删除包(删除配置文件)  
    • -L package: 显示与该包关联的文件  
    • -l package: 显示该包版本(无参则列出已安装的包)  

halt: 关机

网络命令:

ifconfig: 配置与查看网络信息(临时配置)

  • ifconfig [name [down|up][ip][netmask **][broadcast **] ]
    • name: 指定网络设备名  
    • down: 关闭指定的网络设备  
    • up: 启动指定的网络设备  
    • ip: 设置指定网卡的IP  
    • netmask: 指定子网掩码
    • broadcast: 指定网关  

macchanger: 配置mac地址(临时配置)

  • macchanger -m 00:11:11:11:11:11 eth0: 修改指定网卡的mac地址

netstat: 查看网络状态信息

  • netstat [-a][-n][-t][-u][-p]
    • -a: 显示连接的所有Socket  
    • -n: 直接使用ip地址  
    • -t: 显示TCP协议的连线状况  
    • -u: 显示UDP协议的连线状况  
    • -p: 显示使用Socket的程序识别码和程序名称  

route: 显示和操作IP路由表

其他命令:

clear: 清屏
man: 可以显示命令的帮助手册

  • man command
    • command: 指定命令  

info: 查看命令的帮助手册

  • info command

watch: 循环执行指定命令, 后面跟命令

  • watch [-n 2] command
    • -n 2: 每隔2s循环执行  

sort: 进行排序

  • -n: 依照数值大小排序
  • -r: 以相反顺序排序

echo: 显示字符串

  • echo [-e][-n] "str"
    • -e: 激活转义字符  
    • -n: 显示后光标不换行  
    • str: 字符串  

vim: Linux下字符界面的文本编辑器

  • shell命令:
    • vim file: 打开vim并编辑文件  
    • vim file1 file2...: 同时打开多个文件  
  • vim窗口命令:
    • 文件窗口:  
      • :open file --在当前窗口打开新文件    
      • :split file --在新窗口打开文件    
      • :new file --用新窗口打开文件,同 :split file    
      • :bn --切换到下一个文件    
      • :bp --切换到上一个文件    
      • :args --查看当前打开的文件列表(当前正在编辑的文件会用[]括起来)    
      • :e ftp://192.168.10.76/abc.txt    
      • :e \qadrive est1.txt --打开远程文件    
      • :split --打开一个新窗口,光标停在顶层的窗口上    
      • :new --打开一个新窗口,光标停在顶层的窗口上    
      • :vsplit --横向打开窗口。    
      • Ctrl+ww --移动到下一个窗口    
      • Ctrl+wj --移动到下方的窗口    
      • Ctrl+wk --移动到上方的窗口    
    • 其他命令:    
      • Esc/Ctrl+[ -- 键入命令    
      • :!command --执行shell命令    
      • :suspend/Ctrl+Z --挂起vim,回到shell,fg 返回vim    
      • :!perl -c script.pl --检查perl脚本语法,不用退出vim    
      • :!perl script.pl --执行perl脚本, 不用退出vim    
      • :help --显示帮助文档    
      • :help i --显示i的帮助文档(<Esc>:特殊键用<    >, -t:启动参数用-)
      • :set number --显示行号    
      • :set nonumber --关闭行号显示    
      •     
    • 编辑命令:  
      • 插入:    
        • i --在当前位置插入      
        • A --在当前行尾插入      
        • I --在当前行首插入      
        • o --在当前行后插入一行      
        • O --在当前行前插入一行      
      • 拷贝粘贴剪切:    
        • yy --拷贝当前行      
        • 2yy --拷贝当前行开始的2行      
        • p --在当前光标后粘贴      
        • P --在当前行前粘贴      
        • :1,10 co 20 --将1-10行插入到第20行之后。      
        • :1,$ co $ --将整个文件复制一份并添加到文件尾部      
        • v --进入选择模式,相当于在Windows下按住 Shift选择      
        • V --进入选择模式,整行选择      
        • ddp --交换当前行和其下一行      
        • 2dd --剪切当前行之后的2行      
        • :1,10d --将1-10行剪切      
        • :1, 10 m 20 --将第1-10行移动到第20行之后      
      • 替换:    
        • ra --将当前光标所在字符替换为a      
        • s/old/new/ --用old替换new,替换当前行的第一个匹配      
        • s/old/new/g --用old替换new,替换当前行的所有匹配      
        • %s/old/new/ --用old替换new,替换所有行的第一个匹配      
        • %s/old/new/g --用old替换new,替换所有匹配      
        • :10,20 s/^/text/g --在第10行到第20行每行前面加上text(:3,5 s/^/#/g --注释3-5行, :3,5 s/^#//g --解除3-5行的注释, :1,$ s/^/#/g --注释整个文档, :%s/^/#/g --注释整个文档)      
        • ddp --交换光标所在行和下一行      
      • 移动:    
        • h --左移一个字符(5h --左移5个字符)      
        • l --右移一个字符(5l --右移5个字符)      
        • k --上移一个字符(5k --上移5个字符)      
        • j --下移一个字符(5j --下移5个字符)      
        • w --向后移动一个单词(5w --向后移动5个单词)      
        • b --向前移动一个单词(5b --向前移动5个单词)      
        • e --同 w ,光标停在单词尾部      
        • ge --同 e ,光标停在单词尾部      
        • ^ --移动到本行第一个非空白字符      
        • 0 --移动到本行第0个字符      
        • <HOME> --同0      
        • $ --移动到行尾(3$ --移动到下面3行的行尾)      
        • gg --移动到文件头(10gg --移动到第10行首)      
        • [[ --同 gg      
        • G --移动到文件尾(10G --移动到第10行尾)      
        • ]] --同 G      
        • fx --移动到本行光标后第一个为x的字符(3fx --移动到本行光标后第3个为x的字符)      
        • Fx --同 fx ,反向查找      
        • :20 --跳到20行行首      
        • Ctrl+e --向下滚动一行      
        • Ctrl+y --向上滚动一行      
        • Ctrl+d --向下滚动半屏      
        • Ctrl+u --向上滚动半屏      
        • Ctrl+f --向下滚动一屏      
        • Ctrl+b --向上滚动一屏      
      • 查找:      
        • /text --查找text, 按n查找下一个, N查找上一个      
        • ?text --查找text(反向查找), 按n查找下一个, N查找上一个      
        • */# --查找光标当前的单词,相当于/text      
        • :set ignorecase --查找忽略大小写      
        • :set noignorecase --查找不忽略大小写      
        • :set hlsearch --高亮显示查找结果      
        • :set nohlsearch --取消高亮显示查找结果      
        • :nohlsearch --关闭当前的高亮显示,当再次查找时恢复高亮      
        • :set incsearch --逐步搜索模式,对当前键入的字符进行查找,不必等输入完成      
        • :set wrapscan --重新搜索,当搜索到文件头或尾时,返回重新搜索      
      • 撤销:    
        • u --撤销      
        • U --撤销对整行的操作      
        • Ctrl+r --撤销刚才的撤销      
      • 删除:    
        • x --删除当前字符(3x --删除当前光标开始向后三个字符)      
        • X --删除当前字符的前一个字符, 同 dh      
        • dl --删除当前字符, 同 x      
        • dh --删除前一个字符      
        • dd --删除当前行      
        • dj --删除上一行      
        • dk --删除下一行      
        • 10d --删除当前行开始的10行。      
        • D --删除当前字符至行尾, 同 d$      
        • d$ --删除本行当前字符之后的所有字符      
        • kdgg --删除当前行之前所有行(不包括当前行)      
        • jdG --删除当前行之后所有行(不包括当前行)      
        • :1,10d --删除1-10行      
        • :11,$d --删除11行及以后所有的行      
        • :1,$d --删除所有行      
        • J --删除两行之间的空行, 合并两行      
      • 退出    
        • :wq --保存并退出      
        • ZZ --保存并退出      
        • :q! --强制退出并忽略所有更改      
        • :e! --放弃所有修改,并打开原来文件      
        • :close --关闭窗口,最后一个窗口不能使用此命令,可以防止意外退出vim      
        • :q --如果是最后一个被关闭的窗口,那么将退出vim      

---------------------------------------------------bash快捷键---------------------------------------------------
编辑命令:

  • Ctrl+a:移到命令行首
  • Ctrl+e:移到命令行尾
  • Ctrl+f:右移
  • Ctrl+b:左移
  • Alt+f:按单词右移
  • Alt+b:按单词左移
  • Ctrl+xx:在命令行首和光标之间移动
  • Ctrl+u:从光标处删除至命令行首
  • Ctrl+k:从光标处删除至命令行尾
  • Ctrl+w:从光标处删除至字首
  • Alt+d:从光标处删除至字尾
  • Ctrl+d:删除光标处的字符
  • Ctrl+h:删除光标前的字符
  • Ctrl+y:粘贴至光标后
  • Alt+c:从光标处更改为首字母大写的单词
  • Alt+u:从光标处更改为全部大写的单词
  • Alt+l :从光标处更改为全部小写的单词
  • Ctrl+t :交换光标处和之前的字符
  • Alt+t:交换光标处和之前的单词
  • Alt+Backspace:与 Ctrl+w 类似, 分隔符有些差别

重新执行命令

  • Ctrl+r:逆向搜索命令历史
  • Ctrl+g:从历史搜索模式退出
  • Ctrl+p:上一条命令
  • Ctrl+n:下一条命令
  • Alt+.:使用上一条命令的最后一个参数

控制命令

  • Ctrl+l:清屏
  • Ctrl+o:执行当前命令,并选择上一条命令
  • Ctrl+s:阻止屏幕输出
  • Ctrl+q:允许屏幕输出
  • Ctrl+c:终止命令
  • Ctrl+z:挂起命令
原文地址:https://www.cnblogs.com/hujingnb/p/10465093.html