Linux常用命令及部分全称

1.ls = list,列出文件

-a: 列出所有的文件,包括所有以.开头的隐藏文件

-d: 列出目录本身,并不包含目录中的文件

-h: 和-l一起使用,文件大小人类易读

-l详细信息

-S大小排序

-t时间排序

2.man = Manual意思是手册,可以用这个命令查询其他命令的用法。

3.pwd = print working Directory,显示出当前/活动目录的名称

4.cd = Change Directory,切换目录

cd 目录 切换目录

cd - 切换至上次所处的目录

cd .. 切换至上级目录

cd ~ 切换至家目录(或者一个cd也可以)

5.mkdir = Makedirectory,创建目录

-p 指定路径 , 根据需要创建父目录

-m 指定权限

6.echo 输出并显示一行文本

-e: 允许对列出的加反斜线转义的字符进行解释.

[root@ken ~]# echo "this is ken \nnice to meet you"

this is ken \nnice to meet you

[root@ken ~]# echo -e "this is ken \nnice to meet you"

this is ken

nice to meet you

7.touch = touch,创建,修改文件或者目录的时间属性,若文件不存在,

系统会建立一个新的文件,平时都是用来创建普通文件

8.cp = copy 复制 复制文件和目录

-p: 保持属性不变

-r: 递归复制目录

-a: 复制时,尽可能保持文件的结构和属性. 等同于 -dpR

9.mv = Move,移动文件,同目录下则为重命名

-i询问试覆盖

-f同名强制覆盖

-b备份旧文件(文件名后加~)

-u若本文件较新则覆盖旧文件

10.rm = ReMove,删除文件,

-r: 或者 -R 递归地移除目录树

-f不询问强制删除

11.rmdir = Remove directory,删除空目录

12.cat = catenate,连续,输出文件内容,用于内容较少的

-n显示行号,

-b不显示空行,

13.more = more,分页显示,在显示器上阅读文件的过滤器(查看内容较多的)

会在最下面使用百分比的形式来提示您已经阅读了多少内容

14.less = less,分页展示文件内容,less 与 more 类似,但使用 less 可以随意浏览文件,

而 more 仅能向前移动,却不能向后移动(pgup键),而且 less 在查看之前不会加载整个文件

15.head = head,查看前n行,默认前10行

-n: 指定显示行数

16.tail = tail,查看尾部n行,默认10行

-f: 当文件增长时,输出后续添加的数据(持续刷新)

-n: 指定显示行数

17.clear = clear,清屏

快捷键 ctrl+l

18.poweroff=poweroff 关机

19.reboot=Restart your computer,重启

20.alias:给命令起别名

alias "ken=ls -l" 设置别名

unalias ken 取消别名

21.uname 显示输出系统信息

-a:显示所有的信息

-r: 显示操作系统发行版本

22su = switch user,切换用户,root切任何用户不需要密码,但其他用户之间切换需要密码,

user 表示切换到用户user并将用户环境一并切换

-c执行命令再退回原用户

23.hosetname 显示并设置主机名

24.history 查看历史命令,加上上一个命令的缩写可以再次执行

25.which = which,显示命令的完整路径

26.wc = Word Count,计算文件的Byte数、字数、或是列数,

-c只显示字节数

-l只显示行数

-w只统计单词数

27.w = who,显示目前登入系统的用户信息

USER:显示登陆系统的用户的帐号名。如果用户重复登录,则该帐号名就会重复显示。

TTY:用户登录的终端代号。登录的形式不同,登录代号也不相同。

FROM:显示用户从何处登录系统。如果是本地登录,则此字段为-,若从远程登录,

便会显示远程主机的IP地址或主机名。至于“:0.0”之类的标示,代表该用户是从X Window System以文本

模式登录的。

LOGIN@:这是Login At的意思,表示该用户登录系统时的时间(不是登录后经过的时间)。

IDLE:表示用户闲置的时间。这是一个计时器,一旦用户执行任何操作,该计时器便会被重置。

JCPU:以终端的代号区分显示,表示该终端所有相关的进程(process)执行时所消耗的cpu时间。

每当进程结束就停止计时,开始新的进程则会重新计时。

PCPU:表示cpu执行程序消耗的时间。

WHAT:表示用户正在执行的程序的名称,如果正在执行文本模式命令,则会显示用户环境的名称。

28.who = who,显示当前系统所有使用者等信息,已经登录的用户

29.whoami = whoami,用于显示自身用户名称。

30.ping = Packet InterNet Grouper,测试网络,向网络主机发送ICMP(检测主机是否在线)

-c指定次数

-i指定间隔秒数,收发信息的间隔时间。

-w: 等待时间(当试图检测不可达主机时此选项很有用)

31.kill 终止进程

-9: 强制终止

-l 列出所有的信息名称

32.seq 生成数列

33.du = Disk Usage,磁盘使用情况,统计文件大小

-h以适阅读单位显示

-s仅显示总和

--max-depth n指定统计深度

34.df = Disk Free,剩余磁盘空间

-h以适阅读单位显示,后跟文件则显示其所在挂载点磁盘剩余空间

35.free = free,内存使用情况,

-s间隔N秒查询一次,

-m -k -b以M、KB、Byte为单位显示

-h以适阅读单位显示

36.date = date,日期时间,date "+option",

-d显示指定时间,

-r显示文件最后修改时间,

-s修改时间,%x日期,%X时间,%F日期,%D月日年,%Y4位年份,%y2位年份,

%m月份,%d日,%H24制时,%I12制时,%M分,%S秒

%T 时间,按 24 小时制显示(hh:mm:ss)

%F 显示 %Y-%m-%d

37.pidof 获取正在运行程序的PID

38.ps = Processes Status,进程状态 ,命令执行时刻进程信息,

-a同终端进程

-A所有进程

-u指定用户

-e同-A,-f展示所有信息

aux查看进程详细信息类似-ef

-C可跟搜索词

--sort=-pcpu,+pmem按cpu降序按mem内存升序排序

39.top = top 显示linux中的进程,实时显示系统中各个进程的资源占用状况,该命令可以按CPU使用、

内存使用和执行时间对任务进行排序

40.ip 查看和设置网络相关的内容

ip a 查看ip

ip r 查看网关

41.uptime 告知系统运行了多久时间

42.wget 用于在终端中下载网络文件

43.curl 传送或者下载数据从服务器

44.tr 转换或者删除字符

45.dd 转换和拷贝文件

if=file

从 file 中读而不是标准输入。

of=file

写到 file 里去而不是标准输出

bs=bytes

一次读和写 bytes 字节

count=blocks

只拷贝输入文件的前 blocks 块

[root@ken ~]# dd if=/dev/zero of=test.sh count=100 bs=1M

100+0 records in

100+0 records out

104857600 bytes (105 MB) copied, 0.805793 s, 130 MB/s

[root@ken ~]# ls -lh test.sh

-rw-r--r-- 1 root root 100M Jan 13 17:23 test.sh

46.tar = tape archive,打包归档文件,

-c 创建create

-C 指定解压到的目录

-x提取extract

-t 查看list

-f 指定归档文件

-m 解压时不变更文件更改时间

-P 保留原始的权限与属性

-p 使用绝对路径来压缩

-v 显示执行详情

-r 向归档文件中追加

-u 更新归档文件中文件

-z 用Gzip压缩或解压

-j 用bzip2压缩或解压

常用组合:czvf:创建压缩文件 xzvf: 解压缩

47.grep = global regular expression print,全局正则表达式打印,

强大的文本搜索工具

-c 只输出计数,只打印每个文件匹配的行数

-i 忽略大小写

-n 输出行号

-v 打印不匹配的行

-h 多文件时不显文件名

-r 递归搜索

-E 模式是扩展正则表达式

48.find = find,查找,find PATH -OPTION [-print] [-exec cmd] {} \;,

PATH为查找数据若为当前目录下则为“.”

-name文件名

-perm 匹配权限(mode为完全匹配,-mode为包含即可)

-user 匹配所有者 -nouser 匹配无所有者的文件

-group 匹配所有组 -nogroup 匹配无所有组的文件

-mtime -n +n 匹配修改内容的时间(-n指n天以内,+n指n天以前)

-atime -n +n 匹配访问文件的时间(-n指n天以内,+n指n天以前)

-ctime -n +n 匹配修改文件权限的时间(-n指n天以内,+n指n天以前)

-type b/d/c/p/l/f 匹配文件类型(后面的字幕字母依次表示块设备、目录、字符设备、

管道、链接文件、文本文件

-size 大于指定字节的文件

-exec …… {} \; 后面可跟用于进一步处理搜索结果的命令(下文会有演示)

49.useradd 用户

-d, --home HOME_DIR:指定用户家目录

-c, --comment COMMENT:用户说明信息

-e, --expiredate EXPIRE_DATE:指的账号的过期时间,时间格式 YYYY/MM/DD

-g, --gid GROUP:指的用户的基本组的组id

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指的用户的附加组列表

-u,--uid UID:指的用户的uid

-m, --create-home:创建用户的时候自动创建用户家目录(默认就已经使用)

-M:不自动创建用户家目录

-o, --non-unique:通常和-u一起使用,用来让两个用使用相同的uid

-r, --system:创建一个系统用户

-s, --shell SHELL:在创建用户的时候,指定用户的shell类型

50.passwd 密码

-l:锁定用户

-u:解锁用户

-d:删除用户密码

-e:让用户密码过期

50.userdel 删除用户

-r:在删除用户的时候,连同用户数据一并删除

51.groupadd 创建用户组

-g GID 用户组ID

-o:

52.groupdel 删除用户组

53.usermod

-g, --gid GROUP: 更 新 使 用 者 新 的 起 始 登 入 群 组 。 群 组 名 须 已 存 在 。

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]: 定 义 使 用 者 为 一 堆 groups 的 成 员 。 每 个 群 组 使 用 ,区 格 开 来

-u, --uid UID: 用 者 ID 值 。必 须 为 唯 一 的 ID 值

-s, --shell SHELL: 指 定 新 登 入 shell 。 如 此 栏 留 白 , 系 统 将 选 用 系 统 预 设 shell 。

-L, --lock: 锁定用户的密码

-U : 解锁用户的密码

-l, --login NEW_LOGIN : 变 更 使 用 者 login 时 的 名 称 为 login_name 。

-e, --expiredate EXPIRE_DATE:加 上 使 用 者 帐 号 停 止 日 期 。 日 期 格 式 为 MM/DD/YY.

-d, --home HOME_DIR:更 新 使 用 者 新 的 登 入 目 录 。

-m, --move-home:移动用户家目录至新的位置

54.id 作用:用来查看指定的用户的信息(或判断用户是否在)

-u:仅仅显示用户uid

-g:仅仅显示用户gid

-G:仅仅显示用户全部组id

55.chmod 权限设置 语法:#chmod 选项 权限模式 文档

-R:递归设置权限 (当文档类型为文件夹的时候)

权限字符: 数字形式

r:读 4

w:写 2

x:表示执行 1

-:表示没有权限 0

权限分配方式:

+:表示给具体的用户新增权限(相对当前)

-:表示删除用户的权限(相对当前)

=:表示将权限设置成具体的值(注重结果)【赋值】

56.chown 作用:更改文档的所属用户(change owner)

语法:#chown -R 新的username 文档路径

-R:表示选项 文件不需要-R ,目录需要加-R,

如果你要对目录进行操作,加参数 -R

案例:

chown user:group filename 比如:chown hr:san a.txt 把文件的属主和属组改为hr,san

chown user filename 比如:chown san a.txt 把文件的属主改为san用户

chown :group filename 比如: chown :miao a.txt 把文件的属组改为miao这个组

chown user: filename 比如:chown san: a.txt 自动继承这个用户所有的组

chgrp hr filename 比如: chgrp hr f.txt

-R :递归(目录下的所有内容都更改,否则只修改目录)

57.sudo配置文件:/etc/sudoers

默认sudo中是没有除root之外用户的规则,要想使用则先配置sudo。

a. 配置sudo文件请使用“#visudo”,打开之后其使用方法和vim一致

b. 配置普通用户的权限

Root表示用户名,如果是用户组,则可以写成“%组名”

ALL:表示允许登录的主机(地址白名单)

(ALL):表示以谁的身份执行,ALL表示root身份

ALL:表示当前用户可以执行的命令,多个命令可以使用“,”分割

在写sudo规则的时候不建议写直接形式的命令,而是写命令的完整路径

58.at 它是一个可以处理仅执行一次就结束的指令 按ctrl+d保存

atrm 删除计划任务

at -l 查看计划任务 或 atq 查看计划任务

at计划任务的特殊写法

at 20:00 2018-10-1 在某天

at now +10min 在 10分钟后执行

at 17:00 tomorrow 明天下午5点执行

at 6:00 pm +3 days 在3天以后的下午6点执行

59.crontab 定时任务的使用

-l:list,列出指定用户的计划任务列表

-e:edit,编辑指定用户的计划任务列表

-u:user,指定的用户名,如果不指定,则表示当前用户

-r:remove,删除指定用户的计划任务列表

crontab -e 编写计划任务

60.vi/vim命令模式下的常用操作

第一类操作:复制、移动删除文件内容

yy:复制光标所在的行

nyy:复制光标所在的行开始向下的N行

dd:剪切光标所在的行

ndd:剪切光标所在的行开始向下的N行

p(小):粘贴到光标所在行的下面

P(大):粘贴到光标所在行的上面

D:删除光标所在位置到行尾的内容

dG:删除光标所在的行到末尾全部的行

第二类操作:撤销和重复执行的相关操作

u:撤销上次所指向的操作(相当于windows中ctrl+z)

nu:撤销n次操作(n的值最大是50)

ctrl+r:撤销刚刚所撤销的那个操作(相当于windows中ctrl+y)

. :重复执行上一次所做的操作

第三类操作:跳转相关的操作

nG:跳转到第n行

G:直接跳转到最后一行

0:跳转到行首(会认为空格也是内容,此时会跳转到空格的最前面)

^:跳转到行首(不认为空格是内容,此时会跳转到第一个非空字符)

$:跳转到行尾

ctrl+f:向下翻一屏

ctrl+b:向上翻一屏

第四类操作:替换相关操作

r:替换一个字符(替换完成之后,自动返回到编辑模式)

R:进入替换模式(要想退出替换模式,按esc)

第五类操作:查找

/string:在文件中搜索指定的字符串

n:正向查找

N:反向查找

61.vi/vim末行模式下的常用操作

^:表示行首

$:表示行位

第一类命令:行号

set nu:显示行号

set nonu:关闭行号

第二类命令:跳转

num:直接跳转到第num行

$:直接跳转到最后一行

第三类命令:取消匹配到的内容的高亮

nohl

第四类命令:替换

start,end s/原始内容/替换内容/g

(分隔符不一定是/,只要是三个相同的符号即可)

第五类命令:保存和退出

w:执行保存操作(保存到原始文件中)

w /path/to/file:实现文件另存为

q:退出

!:强制执行操作

第六类命令:高级操作

!命令:在vi中直接执行命令

r /path/to/file:将file中的内容导入到当前文件中

set tabstop=4:将tab缩进的字符数设置为4个

set ai:设置自动缩进

set noai:取消自动缩进

第七类命令:复制、移动、删除多行的操作

start,end d:删除多行

start,end m dest:将多行移动到指定行的下面

start,end co dest:将多个复制到指定行的下面