Linux常用命令分类汇总(上)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux常用命令分类汇总(上)相关的知识,希望对你有一定的参考价值。

Linux常用命令分类汇总

(本文所有命令适用于redhatcentos发行版5.x6.x版本)

由于本篇文章整理时间比较久,篇幅比较长,博客无法一次性以一篇文章发布,请谅解!

1、文件管理和字符处理命令

命令名称及用法

选项

选项作用

ls

语法:ls 选项 文件或目录

-a

显示所有文件,包括隐藏文件

-l

以长格式显示(详细信息)

-d

查看目录属性,不显示目录下内容   -ld

-h

文件大小显示为常见大小单位

-i

显示文件inode号

cd

语法:cd 目录

~

进入当前用户的家目录

-

进入上次目录

..

进入上一级目录

pwd

语法:pwd

显示当前目录路径

mkdir

语法:mkdir 目录名

-p

递归创建目录

-v

显示创建过程

tree

语法:tree 目录

显示目录树

touch

语法:touch 文件

创建空文件

cp

语法:cp 源文件或目录 目标目录

-r

复制目录

-p

保留文件属性

-a

-a相当于-rp

mv

语法:mv 源文件或目录 目标目录

剪切、改名

rm

语法:rm  选项 文件或目录

-r

删除目录

-f

强制执行

rmdir

语法:rmdir 空目录

只能用来删除目录

cat

语法:cat 文件名

-n

显示内容并列出行号

-b

和 -n 相似,只不过对于空白行不编号。

more

语法:more 文件名

空格

向下翻页

B

向上翻页

Enter

换行

q或Q

退出

head

语法:head 选项 文件名

-n  行数

显示文件前n行

-c字节数

显示字节数显示字节数

tail

语法:tail 选项 文件名

-n  行数

显示文件最后n行

-f

实时监控文件尾部变化

less

语法:less 选项 文件名

空格

向下翻页

B

向上翻页

Enter

换行

q或Q

退出

/关键词

more能使用的四个选项less都能使用,less和more的区别在于less在 显示文件内容的时候支持查找关键词

ln

语法:ln 源文件 目标文件

不加选项,创建硬链接

-s

创建软链接

不管创建哪种链接,源文件的位置必须写绝对路径。

diff

语法:diff 选项 文件1 文件2

(文件或目录的对比命令)

-行数

指定要显示多少行的文本。此参数必须与-c或-u参数一并使用

-a

将任何文档当做文本文档处理

-b

忽略空格造成的不同

-B

忽略空白行造成的不同

-y

以并列的方式显示文件的异同之处

-w

忽略全部的空格字符

-W  列宽

指定-y时设置列的宽度,默认是130

-x文件名

不比较选项中所指定的文件或目录

-I

忽略大小写造成的不同

-r

当比较目录时,递归比较子目录

-q

仅显示有无差异,不显示详细信息,这在比较两个目录的时候很好用

-u

使用统一的输出格式

-N

当比较两个目录时,如果某个文件只在一个目录中,则在另一个目录中视作空文件

vimdiff

分成两列并排显示对比的文件不同

rename

语法:rename 要修改的字符 修改后的字符 需要修改的文件

用字符串替换的方式批量改变文件名

stat

语法:stat 选项 文件或目录

用于显示文件或文件系统的详细信息

-f

不显示文件本身的信息,显示文件所在文件系统的信息

-t

简洁模式,只显示摘要信息

md5sum

语法:md5sum 选项 文件名

(用于生成和校验文件的md5值)

-b

以二进制模式读入文件内容

-t

以文本模式读入文件内容

-c

根据已生成的md5值,对现存文件进行校验

paste

语法:paste 选项 文件1 文件2

(可以把多个文件合并  )

-d

指定两个文件的行合并后的分割符

-s

将每个文件合并为一行,而不是按行进行合并

nl

语法:nl 选项 文件名

-ba

不管是否空行都列出行号(类似 cat -n)

-bt

空的那一行不要列出行号(默认值)

-nln

行号在萤幕的最左方显示

-nrn

行号在栏位的最右方显示,且不加 0 

-nrz

行号在栏位的最右方显示,且加 0 

-w

行号栏位的占用的位数

-p

在逻辑定界符处不重新开始计算

wc

语法:wc 选项 文件名

-l

统计行数

-w

统计单词数(字符串)

-c

统计字数(字符)

-m

只统计字符数

sort

语法:sort 选项 文件名

(排序命令)

-f

忽略大小写

-b

忽略每行前的空白部分

-n

以数值型进行排序,默认使用字符串类型排序

-r

反向排序

-u

删除重复行(=下面的  uniq)

-t分隔符

指定分隔符,默认分割符是制表符

-k  n,m

按照指定字段范围排序,从 n 字段开始到 m 字段结束

uniq

语法:uniq 选项 文件名

(取消重复行)

-i

忽略大小写字符的不同

-c

进行相同行数计数

-u

只显示唯一的行

seq

语法:seq 选项  尾数

      seq 选项 首数 尾数

seq 选项  首数 增量 尾数

(用于产生从某个数到另外一个数之间的所有整数)

-f

使用printf 样式的浮点格式

-s

使用指定字符串分隔数字(默认:\n)

-w

在列前添加0 使得宽度相同

read

语法:read 选项 变量名

(接收键盘输入)

-p  提示

在 read 等待时显示的信息

-t  秒数

read  等待的秒数

-n字符数

read  最多能接收的字符数

-s

隐藏输入信息,输入密码时使用

echo

语法:echo 选项 输出内容

-e

支持反斜线控制的字符转换

-n

取消输出后行尾的换行符号

cut

语法:cut 选项 文件名

-f  列号

提取第几列

-d分隔符

按照指定的分割符进行分割

-c字符范围

不依赖分割符来分割,而是通过字符范围进行字段提取

grep

语法:grep 选项 关键词 文件名

(行提取命令)

-A  数字

列出符合条件的行和后续 n 行

-B  数字

列出符合条件的行和前面 n 行

-c

统计符合条件的字符串的个数

-i

忽略大小写

-n

输出行号

-v

反向查找(取反)

--color=auto

搜索出的关键词高亮显示

-o

只输出文件中匹配到的部分。

-E

能使用扩展正则表达式。同egrep

awk

语法:awk‘条件1{动作1} 条件 2{动作2} ……’文件名

-F

指定分隔符

-f

调用脚本

-v

定义变量

$0

表示当前读入行的整行数据

$1

每行第一个字段

$n

目前读入行的第n个字段

NF

当前行拥有的字段(列)总数

NR

 当前awk所处理的行是总数据的第几行

FS

用户定义分隔符,默认为空格,等于-F

sed

语法:sed 选项 文件名

(主要是来进行数据选取,替换,删除,新增的命令)

动作命令:a 追加   c 行替换

  i  插入   d 删除  p 打印

‘s/旧字符/新字符/g’ 字符替换

例:隔2行输出文件内容

sed -n ‘1~3p‘ 1.TXT

-n

只会把经过 sed 命令处理的行输出到屏幕

-e

允许对输入数据应用多条 sed 命令编辑

-f  脚本文件

从 sed 脚本中读入 sed 操作。和 awk 命令的-f 非常类似。

-r

在 sed 中支持扩展正则表达式。

-i

直接修改读取的文件内容

 

 

2、文本编辑器vim的使用

文本编辑器vim的使用

内部命令

命令作用

a

在光标所在字符后插入

A

在光标所在行尾插入

i

在光标所在字符前插入

I

在光标所在行首插入

o

在光标所在行下面插入新行

O

在光标所在行上面插入新行

:w

保存

:q

不保存退出

:wq

保存退出

:q!

不保存强制退出

:wq!

保存并强制退出

:w  文件名

另存为

hjkl←↑→↓

移动光标

gg

把光标移动到文件开头

G

把光标移动到文件结尾

^

把光标移动到行首

$

把光标移动到行尾

:n

把光标移动到第几行

x

删除单个字母

nx

删除n个字母

dd

删除或剪切当前行

:n1,n2d

删除或剪切指定范围的行

ndd

删除或剪切当前行至下面的n行

p(小写)

粘贴之前复制或剪切的行到当前行下面

P(大写)

粘贴之前复制或剪切的行到当前行上面

yy

复制当前行

nyy

复制当前行至下面的n行

u

撤销之前的操作

ctrl+r

反撤销操作

r

替换光标所在的字符

R

从光标所在处开始向右替换,按ESC结束

:set  nu

显示行号

:set  nonu

取消显示行号

:syntax  off

字符颜色显示关闭

:syntax  on

字符颜色显示打开

/查找的内容

n查找下一个,N查找上一个

:n1,n2s/旧字符/新字符/g

指定行范围进行字符替换

:%s/旧字符/新字符/g

整个文件范围内替换字符

:1,5s/^/#/g

给1~5行添加注释

:r  !命令

把命令输出结果写入光标所在行

:r  !date

把当前系统时间添加到光标所在行

:r  文件名

导入其他文件内容

:!命令

在vim中执行系统命令

:map  快捷键 执行的命令

设置快捷键执行命令;

当输入ctrl+p快捷键时,执行在行首加入#注释

例::map ^P I#<ESC>

:ab  源字符 替换为字符

设置替换字符方便使用

例:把163设置为我163邮箱地址

:ab  163 [email protected]

 

 

 

 

3、权限管理命令

命令名称及用法

选项

选项作用

chmod

语法:chmod 权限 文件名

权限r、w、x分别用数值表示为4、2、1

(修改文件或目录的权限)

注意:

setUID权限用数字表示为4

setGID权限用数字表示为2

Sticky BIT权限用数字表示为1

(Sticky BIT简称为SBIT)

如果使用数值给目录或文件赋予特殊权限,只需将特殊权限对应的数值加到普通权限前面即可,例如:4755就代表设置权限的文件拥有setUID权限

 

ugo+rwx

给所有者、所属组、其他人添加读、写、执行权限

-a

表示所有者、所属组和其他人

777

代表所有者、所属组、其他人都拥有所有权限

-R

递归修改目录下子选项的权限

u+s

u-s

4xxx

SetUID权限(文件)

当一个具有执行权限的文件设置SetUID权限后,用户执行这个文件时将以文件所有者的身份执行

g+s

g-s

2xxx

SetGID权限(文件和目录)

命令在执行程序的时候,组身份升级为该程序文件的属组

o+t

o-t

1xxx

Sticky  BIT权限(仅针对目录有效)

目录赋予了粘着位,除了root可以删除所有文件,普通用户就算拥有w权限,也只能删除自己建立的文件,但是不能删除其他用户建立的文件。

 

chown

语法:chmod 用户:用户组 文件名

(修改文件或目录的属主和属组)

 

-R

递归修改目录下子选项的所有者和所属组

chgrp

语法:chgrp 用户组 文件或目录

(改变文件或目录的所属组)

-R

递归修改目录下子选项的所属组

umask

语法:umask 权限值

显示和设置默认掩码值

 

setfacl

语法:setfacl 选项 {u:username:rwx} 文件或目录

 

前五个例子使用的u均可换成g,然后实现特殊组对文件的ACL权限

 

-m

添加ACL权限

例:setfacl –m u:u1:rwx a.txt

添加u1用户对a.txt文件的rwx权限

m

设置最大有效权限mask(目录)

例:setfacl -m m:rx cc

为cc目录添加默认最大权限为rx,其他ACL权限不得超出此权限

-x

删除某项ACL权限

例:setfacl -x u:u1 a.txt

删除u1用户在a.txt文件上的ACL权限

-b

清空所有ACL权限

例:setfacl -b a.txt

#清空在a.txt文件上的所有ACL权限

-R

实现目录上ACL权限的递归

例:setfacl -R –m u:u2:rwx aa

添加u1用户对aa目录以及目录内子选项的rwx权

d

设置默认ACL权限

例:setfacl -m d:u:u3:rwx bb

添加u3用户对目录bb的rwx权限,并且在bb目录里新建的文件u3用户都有rwx权限

setfacl   –m   d:u:u3:rwx  bb

setfacl   -R   –m u:u3:rwx bb

第一条设置默认权限,第二条递归设置ACL权限

visudo和/etc/sudoer

(使用visudo编辑/etc/sudoer文件)

给普通用户授予超级管理员的部分权限

zhangsan  ALL=(root) /sbin/shutdown –r now

授权zhangsan用户可以重启服务器

chattr

语法:chattr [+-=] [选项] 文件或目录

+-=i

对文件设置i属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件

+-=a

对文件设置a属性,那么只能在文件中增加数据,但是不能删除也不能修改数据;如果对目录设置a属性,那么只允许在目录中建立和修改文件,但是不允许删除

lsattr

语法:lsattr 选项 文件名

-a

显示所有文件和目录的属性

-d

若目标是目录,仅列出目录本身属性

 

 

 

 

 

4、用户管理命令

命令名称及用法

选项

选项作用

useradd

语法:useradd 选项 用户名

(创建用户)

-u  UID

指定 UID 创建用户

-g  组名

指定初始组,尽量不要手动指定

-G  组名

指定附加组,将用户加入到所指定组内。

-c  说明

添加描述信息

-d  目录

手动指定家目录,目录不需要事先创建

-s  shell 类型

指定用户是否能登录系统

-M

创建时不生成用户家目录

passwd

语法:passwd  用户名

(给用户设置密码或修改密码)

-l  用户名

锁定用户的密码,使之无法登录到系统

-u  用户名

解锁用户密码

-S  用户名 

查看用户帐号的状态(是否被锁定)

 

 

 

usermod

语法:usermod 选项 用户名

(用户信息修改)

-u  UID

修改用户的指定 UID

-g  组名 

修改用户的指定初始组(尽量不修改)

-G  组名 

修改用户的附加组(不管之前设置了多少附加组,都替换掉)

-c  说明 

修改用户的描述信息

-d  目录

结合 -m 选项直接对源家目录进行改名实现修改家目录

-s  shell 类型

修改用户的登录 shell 类型

-L  用户名

锁定用户的密码

-U  用户名

解锁用户密码

-l  新用户 旧用户名

修改用户名

userdel

语法:userdel 选项 用户名

-r

删除用户时,连带家目录一起删除

groupadd

语法:groupadd 组名

添加组

groupdel

语法:groupdel 组名

删除组

gpasswd

语法:gpasswd 选项 用户名 组名

 

-a

向指定组内添加一个成员

-d

把指定用户从组内删除

-M

定义组内成员列表,用户之间用,分隔  (覆盖式)

newgrp

语法:newgrp 组名

修改用户的有效组,切换到普通用户之后,执行命令

 

 

 

5、查找命令

命令名称及用法

选项

选项作用

which

语法:which 命令

查看命令文件位置和命令可能出现的别名

whereis

语法:whereis 命令

查找命令及帮助文档所在位置

locate

语法:locate 文件名

按照文件名在缓存数据库查找

/var/lib/mlocate 

locate命令所搜索的后台数据库

find

语法:find 查找位置 选项 文件名称

逻辑连接符:  

 -a(and 逻辑与)    

 -o(or 逻辑或) 

例:find  /etc -size +1k -a -size -10k   在etc目录下查找大于1k并且小于10k的文件

 

命令执行连接符(对查找到的文件,进一步处理)

find  ...   -exec 命令 {}  \;      

{}表示find查询的结果集    

\是转义符,不使用命令别名,直接使用命令本身    

;分号是表示语句的结束  

注意:固定格式,只能这样写。注意中间的空格。

例find ./  -inum 2310630 -exec rm {} \;

有一些文件的硬链接数量很多,有相同的i节点,查找其中一个文件的i节点号, 一次性删除。

-name

根据文件名查找

-size

根据大小查找

-user

根据所有者查找

-perm

根据文件权限查找

-ctime 

表示属性多少天之内或之外被修改过:所有者、所属组、权限

例:find /etc -ctime +7

查找7天之前属性被修改过的文件

-atime 

表示多少天之内或之外被访问过(被查看过)

-mtime

表示多少天之内或之外内容被修改过

-cmin

表示属性多少分钟之内或之外被修改过:所有者、所属组、权限

-amin

表示多少分钟之内或之外被访问过(被查看过)

-  mmin

表示多少分钟之内或之外内容被修改过

例:find /etc -mmin -120 

查找120分钟内内容被修改过的

-type

根据文件类型查找

-type  f 二进制文件(普通文件)  

 -type l 软链接文件  

 -type d 目录 

-inum

根据文件i节点查询

grep

语法:grep“字符串”文件名

-v

反向选择

-i

忽略大小写

-o

统计有几个关键字

-A  数字

列出符合条件的行,并将连续列出后续n行

-B  数字

列出符合条件的行,并将连续列出前面n行

-c

统计符合条件的字符串的个数

-n

输出行号

--color=auto

搜索出的关键词高亮显示

history

语法:history  [选项]

历史命令的查看

-c

清空历史命令

-w

把缓存中的历史命令保存到历史命令配置文件

finger

语法:finger 选项 用户名

显示指定用户信息

finger -m long

显示远程用户信息

finger -m  [email protected]

 

-l

多行显示

-s

单行显示。这个选项只显示登入名称、真实姓名、终端机名称、闲置时间、登入时间、办公室号码及电话号码。如果所查询的使用者是远端服务器的使用者,这个选项无效

-m

排除查找用户的真实姓名

-p

列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的 Shell,登入时间,转信地址,电子邮件状态,但不显示该用户的计划文件和方案文件内容。

 

6、帮助命令

命令名称及用法

选项

选项作用

man

语法:man 命令名

查看命令的帮助

-f

查看命令有哪些级别的帮助

help

语法:help 内部命令

查看内部命令的帮助信息

命令名  --help

查看命令的常见选项

info

语法:info 命令名

回车

进入子帮助页面(带有*号标记)

u

进入上层页面

n

进入下一个帮助小节

p

进入上一个帮助小节

q

退出


本文出自 “成长中的强大” 博客,转载请与作者联系!

以上是关于Linux常用命令分类汇总(上)的主要内容,如果未能解决你的问题,请参考以下文章

老男孩:Linux企业运维人员最常用150个命令汇总

(转)老男孩:Linux企业运维人员最常用150个命令汇总

Linux 系统常用命令汇总 安全设置

Linux 系统常用命令汇总 程序和资源管理

Linux运维最常用命令汇总

Linux 中最常用 150 个命令汇总