Linux常用命令和快捷键

简介:

一.bash的快捷键:

        Ctrl+a: 跳至命令行首

        Ctrl+e: 跳至命令行尾

        Ctrl+u: 删除命令行首至当前光标所在处的内容

        Ctrl+k: 删除当前光标所有处至命令行尾的内容

        Ctrl+l: 清屏,相当于clear命令

        Ctrl+c: 取消或终止;

        Ctrl+z: 将当前命令送至后台


        Ctrl+Shift+t: 创建新的标签页

        Ctrl+PageUp/PageDown: 切换标签页

        Ctrl+Shift+c: 复制选中的内容

        Ctrl+Shift+v: 粘贴

        Shift+PageUp/PageDown: 上下翻动屏幕


       空格键:向后翻一屏;

        b: 向前翻一屏;

       回车键:向后翻一行;

        k: 向前翻一行;

        Ctrl+d: 向后翻半屏;

        Ctrl+u: 向前翻半屏;

        G: 跳转至文件尾;

        1G: 跳转至文件首;

        q: 退出;

bash的快捷键:

        Ctrl+a: 跳至命令行首

        Ctrl+e: 跳至命令行尾

        Ctrl+u: 删除命令行首至当前光标所在处的内容

        Ctrl+k: 删除当前光标所有处至命令行尾的内容

        Ctrl+l: 清屏,相当于clear命令

        Ctrl+c: 取消或终止;

        Ctrl+z: 将当前命令送至后台


二.

       Ifconfig    显示登录地址,广播地址等信息                                        

startx & 切换到图形界面    startx -- :1 &

# basename PATH

例如#. basename /usr/share/doc显示基名 doc

# dirname PATH

例如 dirname /usr/share/doc  显示路径 /usr/share

# logout: 登出

# passwd修改用户密码   /etc/passwd可以查看所有用户的属性信息

# which COMMAND

# type COMMAND   查看命令类型是内建命令还是外部命令

# echo ${VAR_NAME}变量引用

# hash

# history 显示此前的命令

!#: 执行历史中的第#条;

!-#: 执行历史中的倒数第#条;

!!: 命令历史中的最后一条命令;

!string: 执行命令历史中最近一条以“string”开头的命令;

[]:可省略之内容

<>: 必须提供的内容

a|b: 二者选择一个

...: 前面的内容可重复出现多次

三.如何获取命令帮助:

内建命令:help COMMAND

外部命令:

1manual: 使用手册,   man COMMAND

2info: 信息页,  info COMMAND

3、简要使用帮助: COMMAND --help

4、官方文档:google

5、额外的文档:READMEINSTALLChangeLog 、/usr/share/doc/ls-VERSION

6、发行版官方文档,http://www.redhat.com/docs/

四.ls: 列出指定目录下的文件

-l:以长格式显示文件的详细属性 分别是(文件类型/属主、属组及其它用户的权限/文件被硬链接的次数/属主/属组/文件的大小/文件最近一次被修改的时间/文件名)

-a:显示所有文件,包括隐藏文件

-A:跟-a功能相同,但不显示...

.: 当前目录;

..: 上级目录;

-n: 以用户及组的id号排序;

-h: 文件大小会自动进行单位换算;

-r:文件名逆序显示;

-R:递归显示;

date: date +%s

显示天    -d

显示月    -m

显示年    -Y

显示小时   -H

显示年--  -F

显示小时:分钟:秒   -T

date mmddHHMM[CC[YY]][.SS]

hwclock

-w: 以系统时钟为准,将硬件时钟修改为系统时间

-s:以硬件时钟为准,将系统时间修改为硬件时间

目录相关命令:

cd /usr/share

家目录:cd ~

 cd

 cd ~USERNAME: 切换至USERNAME的家目录;

 cd -: 在上个目录和当前目录之间切换;

pwd: 显示当前目录;

dirname:显示指定路径的目录;

mkdir 创建新目录

-p:没有错误,如果现有的,根据需要父目录

-v: 显示创建过程

bash支持命令行展开:{}

例如a_b, a_dc_b, c_d

mkdir a_b a_d c_b c_d

mkdir {a,c}_{b,d}

五.文本文件相关的命令:

查看:

cat, tac

more: 向后翻,在翻至文件尾部之前允许向前翻

less: 向前翻

head: 文件的前n行;

tail: 文件的后n行;-n #  或   -#

文本查找:查找单词

/keyword: 从当前光标所在行开始,向文件尾部查找;

?keyword: 从当前光标所在行开始,向文件首部查找;

n: 跟当前查找命令相同方向的下一个匹配;

N:跟当前查找命令相反方向的下一个匹配;

tail -f: 查看一个文件尾部内容后,不退出,等待并显示新增的行;退出使用Ctrl+C

创建文本:

nano  

touch: 修改文件时间戳;

-a: 访问时间

-m: 修改时间

-t STAMP: 指定时间,格式[CC]YYMMDDhhmm.ss

复制:

cp 要复制的文件路径 ...  目标

-r: 递归复制

-a: 递归复制

-i: 交互式,覆盖前提醒确认

             -v:解释要做什么

移动:

mv 要移动的文件 ... 目标

-i: 覆盖前提醒确认;

删除:

rm

-i: 提醒

-f: 强行删除;

-r: 递归删除目录及其内部的所有文件;

-rf 删除目录及其内部的所有文件不会提醒确认

文本处理命令:

wc [options] FILE

-l: 只显示行数;

-w  只显示单词数

-c  只显示字符数

tr: translate

tr [options] '原来的字符集合' '转换为的字符集合'

-d '字符集合':把出现的文件中的,属于字符集合中的字符统统删除;

cut: 文本切割,

cut [options] FILE

-d: 默认分隔符为空白,-d:

-f 后面直接写所要取得段数

join: cut相反。组合内容

通配符:

*:任意长度的任意字符;

?: 任意单个字符;

[]: 指定范围内的任意单个字符;

[^]:脱字符,取反,指定范围外的任意单个字符,

字符集合:

[:digit:] : 所有数字相当于0-9

[:lower:]:所有的小写字母相当于a-z

[:upper:]:所有的大写字母相当于A-Z

[:alpha:]: 所有的字母相当于a-zA-Z

[:alnum:]:所有的字母和数字。 相当于[0-9a-zA-Z]

[:space:]: 空白字符

[:punct:]:所有标点符号

判断普通文件的内容的类型,使用file命令;

# file FILE

文件相关:

touch:

access time: -a   最后一次的访问时间

modify time: -m   最后一次的修改时间

change time       最后一次的改变时间

stat FILE    查看文件的一次的访问时间一次的修改时间一次的改变时间等内容

-t [CC]YYMMDDhhmm.ss     修改为指定时间

六.添加用户:

useradd, adduser

# useradd USERNAME

定制用户属性:

-u UID,

-g GID, 有效范围已有的GID

-G GID, 有效范围为已有的GID;可以有多个,用逗号分隔;

-c COMMENT    注释信息

-d /path/to/somewhere    指定路径

-s /path/to/shell_command

-r: 创建系统用户, ID号范围为1-499之间的用户;系统用户的家目录不会被真正创建;

-M: 不为用户创建家目录;

-m: 必须为用户创建家目录;

转换用户:

su (switch user)

su USERNAME

su - USERNAME

管理员su到普通用户,不需要密码;反之,不可以

创建组:groupadd

groupadd GRPNAME

/etc/group:

组名:密码占位符:GID:以此组为额外组的用户列表,用户间用逗号分隔;

-g GID: 创建组的时候为其指定GID

-r: 创建系统组;

修改用户属性:

usermod:

-u UID

-g GID

-a -G GID: -G修改额外组时会覆盖原有的额外组,同时使用则能保留原有的额外组;

-c COMMENT     注释信息

-s /PATH/TO/SHELL

-l NEW_NAME: 改用户的登录名称;

-m -d /path/to/somewhere-d只修改家目录指向,同时使用-m选项则可实现将原来家目录移动为新的家目录;

密码管理:

passwd: 修改自己的密码;

passwd USERNAME: 修改指定用户的密码

-l: 锁定用户帐号

-u: 解锁

groupmod: 修改组属性

-g GID

-n NEW_NAME

useradd密钥属性的修改:

passwd

-e

-n: 密码最短使用天数;

-x:最长使用天数;

-w: 警告天数;

-i: 非活动时长;

chage

-d: 修改密码的最近一次修改时间

-m, --mindays MIN_DAYS:最短使用期限;

-M, --maxdays MAX_DAYS:最长使用期限;

-W, --warndays WARN_DAYS:警告天数;

-I, --inactive INACTIVE:非活动天数;

-E, --expiredate EXPIRE_DATE:过期时间;

usermod

-e YYYY-MM-DD: 指定帐号过期期限;

-i #: 非活动天数;

gpasswd: 为组设定密码;

newgrp GROUP: 临时设定指定的组为自己的基本组;

权限:

r: read,     文件可读

w: write,   文件可写

x: execute, 文件可发起为进程,目录表示可ls -l, cd

改变文件权限:属主 u       属组 g     其它 o     所有的a

chmod: change mode

权限定义方式:

1、同时修改三类用户的权限: 8进制数字方式

2、修改某一类或某些类用户的权限:u=,g=  

3、只操作某类用户的某位或某些位权限:u+x ,u-x

选项:

-R: 递归修改权限;

--refernce=/path/to/somefile FILE

修改文件的属主和属组:

chown [选项用户 文件

chgrp [选项组 文件

-R: 递归修改权限;

--refernce=/path/to/somefile FILE

chown 用户:组 文件

chown 用户.组 文件

删除用户:

userdel:

userdel [options] USERNAME

-r 不保留用户的家目录

删除组:

groupdel

groupdel GRPNAME

命令补齐:

Tab会搜索PATH环境变量所指定的路径下的所有可执行文件,如果“命令的部分字符”能惟一表示某命令,则直接补全为那个命令;

如果不能惟一表示,则再敲一次tab键,会显示所有以“命令的部分字符”开头的命令

七.基本正则表达式:

^:锚定行首的符合条件的内容,用法格式“^pattern”;

$: 锚定行尾的符合条件的内容,用法格式“pattern$”;

^pattern$:

^$: 空白行

.: 匹配任意单个字符

*:匹配紧挨在其前面的字符任意次;

.*: 匹配任意长度的任意字符

[]:匹配指定范围内的任意单个字符

[^]:匹配指定范围外的任意单个字符

[:lower:]

[:upper:]

[:digit:]

[:alpha:]

[:alnum:]

[:space:]

[:punct:]

\?: 匹配紧挨在其前面的字符0次或1次;

\{m,n\}: 匹配其前面的字符至少m次,至多n次;

\{0,n\}: 至多n次;0-n次;

\{m,\}:至少m

\{m\}: 精确匹配m次;

\<: 锚定词首,用法格式:\<pattern

\>: 锚定词尾,用法格式:pattern\>

\<pattern\>:锚定单词

\(\): 分组,用法格式: \(pattern\)

ab任意字符abab.*ab

a.b任意字符a.b: \(a.b\).*\1

grep的选项:

--color=auto 有颜色显示

-v: 反向选取,只显示不符合模式的行;

-o: 只显示被模式匹配到的字串,而不是整个行;

-i: 不区分字符大小写;

-A #:显示匹配到的行时,顺带显示其后面的#个行;

-B #:前面的#行;

-C #:前后的#行;

-E: 使用扩展的正则表达式grep -E = egrep

扩展正则表达式: egrep

.: 任意单个字符

[]: 匹配指定范围内的任意单个字符

[^]:匹配指定范围外的任意单个字符

*

+: 匹配其前面的字符至少1次;

?:

{m,n}: 至少m次,至多n次;

():分组,支持引用\1, \2;

a|b: 二选一;

\<:锚定词首

\>:锚定词尾

^  锚定行首的符合条件的内容

$  锚定行尾的符合条件的内容

    | :表示或者的意思

sort: 排序

-f: 忽略字符大小写;

-n: 以数值大小进行排序;

-r: 降序;

-u: 移除重复的行,具有相同内容的行只保留一个;

-R: 随机排序;

uniq:

-c:统计每行重复的次数;

-u:只显示没有重复的行

-d: 只显示重复过的行;

八.输出重定向:

>:覆盖重定向;

set -C: 避免覆盖已经存在的文件中的内容;

强制覆盖:>|

set +C: 关闭上述功能;

>>:追加重定向;

/dev/null: 数据黑洞,bit bucket

错误输出重定向:

2>: 覆盖重定向;

2>>: 追加重定向;

同时重定标准输出和错误输出:

例如:COMMAND > /path/to/stdout  2> /path/to/error

标准输出和错误输出定向至一个文件:

   COMMAND &> /path/to/somewhere

   COMMAND > /path/to/somewhere 2>&1

输入重定向:

<COMMAND < /from/somewhere

<<Here Document,此处创建文档

cat > /path/to/somefile << EOF

abc

hello

EOF

通常用于脚本中生成文档

cat << EOF

abc

hello

EOF

通常用于脚本中向用户输出大段信息;

管道:|

COMMAND1 | COMMAND2 | COMMAND3 | ...




本文转自 宋鹏超 51CTO博客,原文链接:http://blog.51cto.com/qidian510/1248779,如需转载请自行联系原作者

相关文章
|
9月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
991 1
二、Linux文本处理与文件操作核心命令
|
9月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
607 137
|
9月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
1553 58
|
8月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
1415 2
|
9月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
776 16
|
9月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
878 0
Linux内存问题排查命令详解
|
10月前
|
Linux 网络安全 开发工具
技术栈:这50条最常用的 Linux 命令你一定要会!
建议多在终端中实践,遇到不懂的命令就用 man 或 --help 了解详情!
1951 0
|
10月前
|
安全 Linux Shell
Linux系统中sudo命令的高效运用技巧。
用户可以通过sudo -l来列出自己目前可执行的命令列表,这有助于用户了解自己的权限范围。
393 0
|
10月前
|
监控 Linux Shell
linux命令
常用 Linux 命令汇总
|
11月前
|
Linux C++
每天一个linux命令(8):cp 命令
cp 命令是 Linux 中用于复制文件或目录的命令。它的名字来源于英文单词 copy。这个命令非常常用,特别是在需要备份文件或创建文件副本时。
698 0