Linux常用命令大全

基本命令操作

 

目录

基本命令操作

1 ls命令 

1.1 含义                

1.2 ls 常用选项

1.3 ls -l 长格式输出字段说明

2 文件查找命令find

2.1 find

2.2 根据文件名  

2.3 根据属主属组查找

2.4 根据文件类型查找

2.5 根据文件大小查找

2.6 根据时间戳来查找

2.7 查询条件逻辑运算选项

2.8 查到后处理动作选项

2.9 查询属性信息(类似ls -l)

2.10 删除 

2.11 后接命令

2.12 让find命令支持管道

3 文件内容命令

3.1 查看

3.1.1cat

3.1.2 more

3.1.3 less

3.1.4 tail

3.1.5 head

3.2 编辑

3.2.1 gedit

3.2.2 vim

3.3 重定向

3.3.1 用途

3.3.2 符号

3.3.3 输入重定向

3.3.4 输出重定向

3.3.5 使用文件描述符重定向

3.3.6 shell使用混合输出符:& 可以将标出输出和错误输出一起重定向

3.3.7 黑洞

4 文本内容命令

4.1 grep文本内容查找

4.1.1 查找方式

4.1.2 语法格式

4.1.3 相关命令

4.2 wc文本内容处理

4.2.2 作用

4.2.2 语法格式

4.2.3 统计用户键盘输入的数据

4.3 tr文本内容处理

4.3.1 作用

4.3.2 用法

4.3.3 管道符用法

4.4 cut文本内容处理

4.4.1 作用

4.4.2 语法

4.4.3 作用

4.5 sort文本内容处理

4.5.1 作用

4.5.2 语法

5 系统管理类命令(不重要)

5.1 shutdown

5.2 reboot(重启) 和Poweroff

5.3 Init 7个启动级别

7 Linux帮助命令

7.1 对于内部命令

7.2 对于外部命令

7.3 man命令

7.4 info命令

8 bash通配符

8.1 介绍

8.2 示例

9 正则表达式Regular Expressions

9.1 定义

9.2 分类

9.2.1 分类

9.2.2 元字符

9.2.3 两种正则区别

9.2.4 常用元字符

10 其他命令  du  which  lscpu  service echo命令


1 ls命令 

1.1 含义                

ls:list  打印清单(指定目录)

1.2 ls 常用选项

ls -l   列出的文件以长格式输出,一个文件显示一行

ls -a  显示以 “.”开头的文件,“.”开头的为隐藏文件,默认不显示

ls -d  显示目录本身而不显示目录下的文件

默认ls 后面的参数如果是目录,则会显示目录下的文件,如:ls /root

如果不想查看目录下的内容,只显示目录本身添加-d选项

如:ls -d /root或ls -dl /root

 

ls -lh 长格式输出的文件字节数转换为K,M,G的形式方便人来阅读

ls -t  列出的文件按照修改时间的晚和早排序(最近修改的先显示)

ls -tr 列出的文件按照修改时间的早和晚排序(最近修改的后显示)

ls -R 列出当前目录下的所有文件,如果有目录遍历所有目录及其子目录下的文件

1.3 ls -l 长格式输出字段说明

ls -l /root/install.log

-rw-r--r--. 1 root root 46478 8月13 2018 install.log

 

第一字段第一位:代表文件类型

-rw-r--r--. 1 root root 46478 8月13 2018 install.log

 “-”:代表普通文件

“d”:代表目录

“l”:链接文件(符号链接;小写的L)或软连接

“c”:字符设备文件

“b”:块设备文件

“s”:套接字文件

“p”:命名管道文件

第一字段第后9位:代表相关用户、组、其他用户的权限

-rw-r--r--. 1 root root 46478 8月13 2018 install.log

第二字段:

-rw-r--r--. 1 root root 46478 8月 13 2018 install.log

如果文件是普通文件:硬链接的个数(访问该文件的路径数)

dr-xr-xr-x. 25 root root 4096 8月 13 2018 /

如果文件是目录:目录下的一级子目录的个数

第三字段:文件的属主(文件所属的用户名)

-rw-r--r--. 1 root root 46478 8月 13 2018 install.log

第四字段:文件的属组(文件所属的用户组名)

-rw-r--r--. 1 root root 46478 8月13 2018 install.log

第五字段:文件的字节数(大小)

-rw-r--r--. 1 root root 46478 8月 13 2018 install.log

第六字段:文件最近一次的修改日期

-rw-r--r--. 1 root root 46478 813 2018 install.log

第七字段:文件名称

-rw-r--r--. 1 root root 46478 8月 13 2018 install.log

2 文件查找命令find

2.1 find

find命令字用来从系统层级目录中查找文件

2.2 根据文件名  

-name

-iname (文件名忽略大小写)

2.3 根据属主属组查找

-user  username        按照指定的属主查找

-group  grpname       按照指定的属组查找

2.4 根据文件类型查找

-type  文件类型

    f:普通文件

    d:目录文件

    l:符号链接文件

    s:套接字文件

    b:块设备文件

    c:字符设备文件

    p:管道文件

2.5 根据文件大小查找

-size  (+大于,-小于)

sudo find ./ -size +2M -size -10M

2.6 根据时间戳来查找

(1)以天为单位

       -atime     按照文件访问时间

       -mtime    按照文件修改时间        

           例如:1天内 mtime -1;1天以前 mtime +1

       -ctime     按照文件属性变更时间

(2)以分钟为单位

    -amin      按照文件访问时间

    -mmin     按照文件修改时间

    -cmin      按照文件属性变更时间

find /home/yuan -mmin -50 -ls

2.7 查询条件逻辑运算选项

-a 而且

如果find命令有多个查找条件,默认条件之间的是逻辑与的关系

-o 或者

如果find命令有多个查找条件,在添加间使用-o选项可以实现逻辑或的关系

找出(60分钟之内修改的或者文件名是a的)而且 文件类型为普通文件的文件

sudo find ./ \( -mmin -60 -o -iname "a" \) -type f

2.8 查到后处理动作选项

查到后处理动作选项

打印 -print (默认打印到屏幕) -fls (结果输出到指定文件)

例如:find ./ \( -mmin -60 –o –iname “a” \) –type f –fls ./info.txt

2.9 查询属性信息(类似ls -l)

-ls

2.10 删除 

-delete

2.11 后接命令

后接命令(交互) -ok COMMAND {} \;

后接命令(不交互)-exec COMMAND {} \;

2.12 让find命令支持管道

find命令本身是不支持管道的,但是可以使用xargs命令字使find可以使用管道

等价写法:

touch TEst test TESt

sudo find ./ -iname “test” -ls

sudo find ./ -iname “test” -exec ls -l {} \;

sudo find ./ -iname “test”|xargs ls -l

ls -l $(sudo find ./ -iname "test")

3 文件内容命令

3.1 查看

3.1.1cat

cat:一次性显示文件的内容

cat [option] file

-n: 查看并输出行号

-E:并输出结尾符号

3.1.2 more

more:分屏查看文本内容

more [option] file

空格往下翻屏、B键往上翻屏、回车往下翻行,q键退出

3.1.3 less

less:分屏查看,操作方法同上,但上下箭头翻行,”/”可以搜索相关内容

3.1.4 tail

tail [-#]:查看文本文件尾部信息,默认10行

3.1.5 head

head [-#]:查看文本文件头部信息,默认10行

3.2 编辑

3.2.1 gedit

文本编辑器:gedit(只能在图形使用,字符界面不可使用)

Nano:ctrl+o  回车 保存   ctrl+x   退出

3.2.2 vim

(1)简介

vi是Linux系统常用功能强大的文本编辑器

(2)用法

vi [options] /path/to/file

(3)三种常用模式

一般模式(normal mode )(默认)

插入模式(insert mode)

末行模式(last line mode)

(4)使用帮助

模式切换

一般模式 --> 插入模式

i:当前光标处输入内容

I:  在当前光标所在行的行首

a:在当前光标所在处的后面

A: 在当前光标所在行的行尾输入

o:在光标所在行的下方新增一行空白行

O:在光标所在行的上方新增一行空白行

插入模式 --> 一般模式

ESC键

一般模式 --> 末行模式

:键

末行模式-->一般模式

ESC键

 

 一般模式操作

删除当前一行:dd

从当前行一直删除到行尾:   :.,$d 回车

复制当前一行:yy

复制15到17行:      :15,17y  回车

当前行下一行粘贴:p

当前行上一行粘贴:P

删除光标所在一个字符:x

跳转到第一行:gg

跳转到第末行:G

跳转到第100行:100gg

/或?关键字 查找关键字;n/N上下翻

 

可视化模式:v

进入可视化模式后可以,移动光标选择文本,键入y可以选择复制,键入d可以删除选择内容。再次键入v回到一般模式

撤销之前操作:u

末行模式操作

退出vi:

:q!强制退出,不保存并退出

:wq 保存修改并退出

:x    保存并退出

一般模式:ZZ,保存退

替换字符::s

注意事项:vi编辑器不能同时打开两次或以上,否则会出现交换文件。

 

3.3 重定向

3.3.1 用途

Linux默认输入设备:键盘

Linux默认输出设备:显示器

可以使用重定向操作符,根据需要改变默认的输入和输入设备

3.3.2 符号

输入重定向符 < 和 <<

输出重定向符 > 和 >>

EOF(意思为end of file)为自定义的起止标识符,可以写为其他文字。<<符号后紧跟着EOF,命令字wc开始接收一段文本,再次遇到EOF时将停止接收,wc将开始处理2个EOF之间的数据

3.3.3 输入重定向

例如:把默认输入或输出设备改为文件

输入重定向符 < 和 <<

< file  

cat</bin/ls>x

 

<<

将键盘录入的一段文本(不在文件中保存)重新定向输入给一个命令字

必须自定义一个文本标记来标识录入内容的开始和结束

例如:

wc <<EOF

data.......  

data.......

EOF

3.3.4 输出重定向

> file

输出的内容放到file中,file中原来的内容被覆盖

文件不存在,会自动创建

如果文件有内容,会把内容清空以后,重新写入

>> file

输出的内容追加到file的行尾,file中原来的内容不覆盖

文件不存在,会自动创建

如果文件有内容,不会把内容清空,会把新数据附加到文件末尾

示例:

date>/root/file.txt 将date命令字输出重定向到/root/file.txt中

cal>>/root/file.txt 将cal命令字输出重定向到/root/file.txt的尾部

3.3.5 使用文件描述符重定向

命令字执行时通常会涉及/dev目录下的三个设备文件,分别是:

/dev/stdin,标准输入,对应文件描述符0

/dev/stdout,标准输出,对应文件描述符1

/dev/stderr,错误输出,对应文件描述符2

输出重定向时,可以与标准输出文件描述符1,和错误输出文件描述符2结合使用

如果命令字正常运行,默认返回的结果发送给标准输出设备(默认是屏幕)

如果命令字运行遇到错误,默认返回的结果发送给错误输出设备(默认是屏幕)

3.3.6 shell使用混合输出符:& 可以将标出输出和错误输出一起重定向

此两种写法均可

&> filename

>filename 2>&1

3.3.7 黑洞

/dev/null是Linux系统的特殊设备,俗称黑洞

有时我们关心的是命令是否执行成功了,而不关注命令执行后输出的结果,此时可以把输出结果丢弃到黑洞设备里,这样屏幕和文件都不保留命令的输出结果

4 文本内容命令

4.1 grep文本内容查找

4.1.1 查找方式

grep命令对文本的内容按照指定的匹配模式基于行来进行筛选

4.1.2 语法格式

grep [选项]  模式  文件

常用选项:

--color:匹配的文本颜色高亮显示

-v:反向匹配,显示不能被模式匹配到的行

-o:仅显示被模式匹配到的字符串,而非所匹配的整行内容

-q:静默模式

-i:不区分大小写,ignore-case

-E:支持扩展(相当于egrep命令)(  grep -E  等价于  egrep)

4.1.3 相关命令

grep   egrep (文本过滤)   fgrep (不支持正则)

4.2 wc文本内容处理

4.2.2 作用

wc用于统计文本文件中的行数、单词数和字节数word count,还可以统计用户键盘输入的数据

4.2.2 语法格式

wc [option] [file]...

默认输出

    行数 单词数 字节数  (单词数对西文有效,西文按照空格区分单词)

常用选项

-l:仅统计行数

-c:仅统计字节数

-w:仅统计单词数

4.2.3 统计用户键盘输入的数据

wc回车 进行键盘录入  录入完成ctrl+d 提交查看统计结果

4.3 tr文本内容处理

4.3.1 作用

tr命令字用来转换或删除字符,必须与管道符连用

4.3.2 用法

(1)用法1:转换字符

命令字 | tr  '字符1'  '字符2'

会把管道符左侧命令输出内容中的'字符1'用'字符2'来替换

(2)用法2:删除字符,使用-d选项

命令字 | tr  -d '字符1'

会把管道符左侧命令输出内容中的所有'字符1'删除

4.3.3 管道符用法

管道符“|”可以用来将任务单一的小程序组合起来使用

管道符的使用形式:

命令字1 | 命令字2 | 命令字3 

“|” 左边命令字的输出作为 “|” 后边命令字的输入

Linux 中不是所有命令字都支持管道

不支持管道的命令:cd  rm  find  .....

 

4.4 cut文本内容处理

4.4.1 作用

cut命令字根据指定的分隔符对字符串切片,并显示需要显示的片

4.4.2 语法

常用选项

-d字符:指定分隔符,不能为空格

-f (field)   数字:指定要显示的字段

       单个数字:一个字段

       多个离散字段:逗号分隔

       多个连续字段:-分隔

4.4.3 作用

4.5 sort文本内容处理

4.5.1 作用

文本文件中的行排序

4.5.2 语法

sort [options] FILE

常用选项

-f:忽略大小写

-n:对数字进行排序

-t:指定分隔符

-k 数字:指定分隔后进行排序的列的列号

-u:重复的行,只显示一行

-r:倒序排列

 

5 系统管理类命令(不重要)

5.1 shutdown

shutdown [参数]...时间(详细请见详细命令解释文档)

-r 重启计算机

-h 关机

 

Shutdown -h now 立刻关机

Shutdown -h +10 10分钟关机

Shutdown -r 22:22 在22:22之后重启

5.2 reboot(重启) 和Poweroff

   例如 reboot

5.3 Init 7个启动级别

0 系统停机模式,系统默认不可以是停机模式,否则不能正常启动,通常用init 0关机

1 单用户模式,root权限,禁止远程登录,类似windows安全模式

2 多用户模式,没有NFS和网络支持

3 完整的多用户文本模式,命令行模式

4 系统未使用,保留一般不用,比如笔记本电脑电池用尽,可以切到该模式下进行一些配置。

5 图形化模式

6 重新启动

6 shell的快捷操作

历史命令信息:history命令

Ctrl+c:取消正在执行的命令

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

Ctrl+a:跳至命令行首

Ctrl+e:跳至命令行尾

Ctrl+u:光标处删除至最左侧

Ctrl+k:光标删除至最右侧

Ctrl+z:将当前命令送至后台(fg调回命令)

!!执行上一次操作  !加命令开头关键字执行之前的那条命令(也可以接数字,例如!100)

 

TAB:命令和参数关键字补全   (有时候按两下)

前提条件,输入关键字要唯一

7 Linux帮助命令

7.1 对于内部命令

help 命令字,例如:help cd

help可以查看Bash内部命令的帮助信息

help本身就是内部命令,help可以列出所有内部命令

7.2 对于外部命令

使用命令字的“--help” 选项,例如:ls --help

 

适用于大多数外部命令,列出命令使用的简要帮助信息

7.3 man命令

使用man命令阅读命令手册页,例如:man ls

“b”键,后翻页,”f”前翻页键,”q”键退出阅读环境、按“/”键后跟关键字,可以查找关键字相关内容,不区分大小写

7.4 info命令

使用info命令阅读信息页(不常用),例如:info  ls

Redhat官方文档

http://www.redhat.com/docs提供详细操作文档

8 bash通配符

8.1 介绍

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

? : 匹配任意单个字符

[] : 匹配指定字符范围内的任意单个字符,简化写法[a-z]不区分大小写

[[:upper:]] : 大写字母 

[[:lower:]] : 小写字母

[[:alpha:]] : 大小写所有字母

[[:digit:]] :匹配数字,可以写成[0-9]

[[:alnum:]] : 字母+数字 

[[:space:]] : 空格

[[:punct:]] : 标点符号 特殊字符

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

8.2 示例

touch abc ABC xyz XYZ a123 b456 c789

列出a开头的所有文件

ls a*

列出a开头一共3个字母的文件

ls a??

列出三个大写字母文件名的文件

ls [[:upper:]][[:upper:]][[:upper:]]

列出一个字母后跟三个数字的文件

ls [a-z][0-9][0-9][0-9]

列出不以a字母开头后跟三个数字的文件

ls [^a][0-9][0-9][0-9]

9 正则表达式Regular Expressions

9.1 定义

用来查找、替换那些符合某种模式的文本

提供多种元字符来描述特定文本的特征

9.2 分类

 

9.2 POSIX正则表达式

9.2.1 分类

分为基本正则表达式(BRE)和扩展正则表达式(ERE)

9.2.2 元字符

类似于通配符,用于描述文本的特征,不表示字符本身的意义

元字符需要用双引号引起来

9.2.3 两种正则区别

基本正则表达式要求( )和{ }写成\(\), \{\}

扩展正则表达式不要求对( )和{ }用“\”来转义

9.2.4 常用元字符

.    : 任意单个字符

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

数字0到9:[0-9], ,  匹配任意单个数字

数字0到9:[[:digit:]]

字母a到z:[a-z];[[:lower:]]

字母A到Z:[A-Z];[[:upper:]]

所有的字母:[[:alpha:]];[a-z][A-Z]

字母+数字:[[:alnum:]]

空格:[[:space:]](空格不等同于空行)

标点符号字符:[[:punct:]]

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

次数匹配:用来指定匹配其前面的字符的次数,扩展正则表达式不用”\”

*  :*前面的单个字符出现0次或者任意次(0次或n次)

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

\? :前面字符出现0次或者1次的任意字符

\+ :前面字符至少1次  (1次到n次)

\{m\}  : 匹配m次

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

\{m,\}  :  至少m次

\{,n\}  :  至少0次,至多n次 

位置锚定:用于指定字符出现的位置

^  :锚定行首 ^char

$   : 锚定行尾 char$

^$  :空白行

\<char :锚定单词词首

char\> :锚定单词词尾

10 其他命令  du  which  lscpu  service echo命令

(1)du [-sh]:查看文件所占的磁盘空间

(2)which:查询指令文件所在的目录

(3)lscpu:调用CPU的信息文本

(4)service(重要)

语法:service 服务名 start/stop/restart/reload/status

(5)echo可以将命令字后面的一个或多个参数打印到标准输出,默认输出后面跟有一个新行回车符

常用选项:

-n  不输出为新行

比较 echo hello world 和 echo -n hello world

-e  允许echo后面参数中的转义符输出时进行转义

常用的转义符

\n     new line    换行且光标移至行首

\t     horizontal tab  插入tab;

如果不用-e选项,\n \t等转义符将按照普通字符输出

如果使用-e选项,\n \t等转义符将体现其特殊的含义

比较 echo 'a\nb\nc' 和 echo -e 'a\nb\nc'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值