Linux常用命令记录

简介:
Bash命令行编辑模式
1. 两种模式: emacs vi ,默认是 emacs.
2. 可以通过 set -o vi/emacs 切换模式
3. 可以通过 set -o 查看当前是什么模式,即是vi on还是emacs on。
4.  set 命令可以通过 help set 来查看具体用法;通过 set -o [option] 打开某个属性,通过 set +o [option] 关闭某个属性值。

emacs命令行编辑模式
对字符 ctrl ):
    前移一个字符: ctrl+f
    后移一个字符: ctrl+b
    删除前一字符: ctrl+h/del/backspace
    删除后一字符: ctrl+d

对单词 esc ):
    前移一个单词: esc+f
    后移一个单词: esc+b
    删除前一单词: esc+ctrl+h ,或 ctrl+w/esc+del/esc+backspace
    删除后一单词: esc+d
    恢复最后删除的项: ctrl+y (目前知道的:对使用ctrl+h、ctrl+d、backspace、delete等删除的字符无效,对使用ctrl+w、esc+ctrl+h、esc+d等键删除的字符有用)

对于行 ctrl ):
    移动到行首: ctrl+a
    移动到行尾: ctrl+e
    从光标所在删除直到行首: ctrl+u
    从光标所在删除直到行尾: ctrl+k

对历史命令:     
    移动到前一历史命令: ctrl+p
    移动到后一历史命令: ctrl+n
    移动到第一个历史命令: esc+<
    移动到最后一个历史命令: esc+>
    在历史命令中反向搜索: ctrl+r(若找到的一个不符合,可以继续按ctrl+r,会一直以查找的字符串向上找)

命令行补齐:
     通用热键
        补齐命令行: tab
        列出所有可能的备选项: esc+?
     补齐文件名:
        补齐文件名: esc+/
        列出所有备选文件名: ctrl+x+/
     补齐用户名:
        补齐用户名: esc+~
        列出所有备用用户名: ctrl+x+~
     补齐主机名:
        补齐主机名: esc+@
        列出所有备选主机名: ctrl+x+@
     补齐内置变量:
        补齐变量名: esc+$
        列出所有备选变量名: ctrl+x+$
     补齐命令名
        补齐命令名: esc+!
        列出所有备选命令名: ctrl+x+!
      补齐历史列表中的命令名 esc+tab

杂项命令:
    清屏: ctrl+l
    反转光标所在字符及其前面的字符: ctrl+t (并且光标向前移动,若一直按,可以将光标前的一个字符向前移动到某个需要的位置)
    从光标开始的整个单词大写: esc+u
    从光标开始的整个单词小写: esc+l
    将光标处的单词首字母大写: esc+c

Vi模式下的编辑命令
常用命令:
    删除前面的字符: Del/Backspace/ctrl+h
    删除前面的单词,即删除至空格: ctrl+w
    输入结束: ctrl+d /回车
    进入控制模式: esc

控制模式下的命令:
     向左移动一个字符 :h
     向右移动一个字符 :l
     向左移动一个单词 :b
     向右移动一个单词 :w
      移到上一个非空字符的开始 :B
      移到下一个非空字符的开始 :W
     移到当前单词的结尾 :e
     移到当前非空单词的结尾 :E
     移到行首 :0
     移到行内第一个字符 :^
     移到行尾 :$
    
输入控制
     在当前字符前插入文本 :i
     在当前字符后插入文本 :a
     在行首插入文本 :I
    在行尾插入文本 :A
     用文本覆盖已存在的文本 :R

删除命令(所有将d换成c,即删除后进入输入模式)
    向后删除一个字符: dh/x
    向前删除一个字符: dl/X
    向后删除一个单词: db
    向前删除一个单词: dw
    向后删除一个非空单词: dB
    向前删除一个非空单词: dW
    删除到行尾: d$/D
    删除到行首: d0
    删除整行: 0d$/dd
    删除到行尾,并进入输入模式: c$/C
    删除整行,并进入输入模式: 0c$/cc
    
     恢复删除:u

历史了命令搜索
    向后移动一条记录: k/-
    向前移动一条记录: j/+
     移动到重复计数指定的行 :G
    向后搜索字符串: /字符串
    向前搜索字符串: ?字符串
     在前一条搜索命令同一方向的下一条记录 :n
     在前一条搜索命令相反反向的上一条记录 :N

字符查找
    向右移到字符x下一次出现的位置: fx
    向左移到字符x前一次出现的位置: Fx
    向右移到字符x下一次出现的位置,并后退一格: tx
    向左移到字符x前一次出现的位置,并前进一格: Tx
    重复上一次查询命令 :;
    以相反方向重复上一次查询命令 :,

杂项命令
    转换当前字符大小写 :_
    清屏: ctrl+l
    给当前行前加#字符 :#

ubuntu添加组、新用户、密码、删除、修改登陆属性
sudo groupadd hadoop 
sudo useradd -s /bin/bash -d /home/hadoop -g hadoop -G sudo hadoop
sudo passwd hadoop

sudo userdel hadoop
sudo groupdel hadoop

sudo usermod <option> <username>
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

ubuntu切换用户、添加用户到sudoers
su <username>
sudo adduser <username> sudo
sudo usermod -a -G sudo <username>

历史命令记录文件: $HISTFILE ,一般为用户目录下的.bash_history文件,可以通过设置 $HISTFILE 变量修改。 

只查看zip文件中的内容:
unzip -l filename.zip
zipinfo filename.zip 

复制路径:
cp -r sourceDir destDir

查看文件、目录大小:
du -sh file/directory 

vi命令:

整页翻页 ctrl-f ctrl-b
f就是forword b就是backward

翻半页
ctrl-d ctlr-u
d=down u=up

滚一行
ctrl-e ctrl-y

zz 让光标所杂的行居屏幕中央
zt 让光标所杂的行居屏幕最上一行 t=top
zb 让光标所杂的行居屏幕最下一行 b=bottom

vi/vim 中可以使用 :s 命令来替换字符串。

:s/vivian/sky/ 替换当前行第一个 vivian 为 sky

:s/vivian/sky/g 替换当前行所有 vivian 为 sky

:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky

:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky

n 为数字,若 n 为 .,表示从当前行开始到最后一行

:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky

:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符

:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/

:%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1


awk去其中某几列数据:
awk -F '|' '{OFS="|"; print $34, $44, $20, $21, $24, $25, $39, $3}' fileName > newFile
-F为原始文件列分隔符,OFS指定新文件列分隔符
awk去重复列:
awk -F '|' '{print $9}' fileName | sort | awk '!a[$0]++'
awk找到一列中值等于match的行:
awk -F '|' '{if ($9 == "match") print $0;}' fileName > newFile

相关文章
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
161 8
|
2月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
640 6
|
2月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
110 3
|
2月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
92 2
|
1月前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
61 14
Linux 10 个“who”命令示例
|
12天前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
38 8
|
21天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
116 20
|
22天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
52 7
|
2月前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
40 9
|
2月前
|
监控 网络协议 Linux
Linux netstat 命令详解
Linux netstat 命令详解