常用的50条linux 命令

时间:2022-10-01 08:49:32

从今天起,咱开始正式学习python了,于是遍整理了50条linux的常用命令。

1 线上查询帮助命令 :man   遇到什么不会的命令可以 man +你想要查询的命令 (需要有网),因为是英文的所以身边最好再准备一个词典

2 目录操作命令:ls   ls命令就是list directory的缩写,缺省下ls用来打印出当前目录的清单

【语法格式】:ls -参数
【选项参数】:

参数

参数说明

其他说明

d

显示目录

 

a

显示全部

包括.开头的隐藏文件

l

长格式显示

每一列只显示一个文件 (显示的是修改时间)

h

显示文件大小

以人类可读显示需同时有l

S

文件大小排序

 

t

修改时间排序

-0

H

显示连接符号真正目的地

 

f

对输出文件不进行排序

 

R

同时列出子目录层

 

F

给不不同文件结尾加表示

 

p

给目录结尾加/

 

r

倒叙

 

i

显示inode信息

 

version

显示版本信息

 

3目录操作命令:tree   显示目录树  (需先安装 yum install tree -y)

【功能说明】:显示目录树  (需先安装 yum install tree -y)

【语法格式】:tree -参数

【选项参数】:

参数

参数说明

其他说明

a

显示所有文件

 

d

只显示目录

 

L

目录的层级

L + 数字

f

显示完整的目录结构

 

i

取消输出的--

 

F

 

 

4 目录操作命令:pwd 显示当前的工作路径

目录操作命令:mkdir 创建文件夹

【语法格式】:mkdir -参数 文件夹名字

【选项参数】:

参数

参数说明

其他说明

p

递归创建多层文件夹

 

v

显示创建进度

 

6 目录操作命令:rmdir 删除文件夹 (需要文件夹为空)

【语法格式】:cat -参数 文件

【选项参数】:

参数

参数说明

其他说明

p

递归删除

 

v

显示删除进度

 

7 目录操作命令:cd 切换目录

【语法格式】:cd -参数 要切换的目录

【选项参数】:

参数

参数说明

其他说明

-

切换到上一次的目录

 

.

切换的当前目录

 

..

切换到上一层目录

 

8 文件操作命令:touch 创建文件(修改文件的时间戳)

【语法格式】:touch -参数 文件名

【选项参数】:

参数

参数说明

其他说明

a

修改存取时间

 

d

指定时间

 

m

只改变修改时间

 

9 文件操作命令:ln 创建链接

【语法格式】:ln -参数  源文件 链接文件

【选项参数】:

参数

参数说明

其他说明

s

创建软链接

 

提示 :关于链接

硬链接:相当于超市的多个门 都属于超市(一个文件)

软链接:相对于指示牌(本身就是一个文件)

10 文件操作命令:rm 删除文件

【语法格式】:rm -参数 文件

【选项参数】:

参数

参数说明

其他说明

f

强制

!!!操作时要先备份

r

递归删除

 

i

交互式删除

 

v

显示进度

 

提示:

一般不直接使用rm 命令 删除前先备份 一般先用find 找到然后执行删除

find /log -type f -mtile +15 -name "*.log " |xargs rm -f

find /root  -type f -exec rm -f  {} \;

11 文件操作命令:cp 复制文件或目录

【语法格式】:cp -参数 文件或目录

【选项参数】:

参数

参数说明

其他说明

a

相当于cp -drp

 

r

递归复制

 

f

强制复制

 

d

复制符号链接

 

b

覆盖前先备份

 

v

显示复制进度

 

i

覆盖时提示

 

12 文件操作命令:移动文件或目录  也可以重命名文件

【语法格式】:mv -参数 文件夹(文件)

【选项参数】:

参数

参数说明

其他说明

b

覆盖前先备份

 

f

强制覆盖

 

13文件操作命令: find 查找文件或者目录

【语法格式】:find  查找路径 -参数

【选项参数】:

参数

参数说明

其他说明

-type

f/d/c/b/s/l

普通文件/目录/字符串/块设备/socket/链接

-name

 

 

-mtime

 

还有atime  ctime

-exec

处理方式

{} \;

|xargs

 

 

size

 

 

perm

+数字权限

按照文件

maxdepth

+数字 查找深度

 

a

and

 

o

or

 

14 文件查看及处理命令:cat 查看文件

【语法格式】:cat -参数 文件

【选项参数】:

参数

参数说明

其他说明

n

显示行号

 

b

显示行号

对于空白不显示行号

s

显示行号

两个以上的空白行替换为一行

v

显示非打印字符

 

T

区分tab 和空格

 

15 文件查看及处理命令:head 输出文件的头几行  默认前10行

【语法格式】:head -参数 文件

【选项参数】:

参数

参数说明

其他说明

n

+数字 显示头几行

可以省略n参数

16 文件查看及处理命令:tail 输出文件的后几行  默认前10行

【语法格式】:tail -参数 +文件

【选项参数】:

参数

参数说明

其他说明

n

+数字 从文件尾部开始查看

-n参数可以省略

f

实时观察一个文件尾部的变化

等同于 tailf

F

多一个重试的功能

 

17 文件查看及处理命令:diff/vimdiff  比较文件内容

18 文件打包压缩命令:tar  文件打包或者解包命令

【语法格式】:head -参数 文件

【选项参数】:

【语法格式】:tar +选项 + 文件名(筐)+要打包的文件

【选项参数】:

参数

参数说明

其他说明

v

显示过程

压缩和解压都适用

z

gzip 属性

一般是tar.gz 格式

x

解包

 

c

创建

 

f

使用档案名字

这个参数是最后一个参数,后面只能接档案名。

19 信息显示命令:free  显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer

【语法格式】:free  -参数

【选项参数】:

参数

参数说明

其他说明

b

以Byte为单位显示内存使用情况。

 

k

以KB为单位显示内存使用情况。

 

m

以MB为单位显示内存使用情况。

 

g

以GB为单位显示内存使用情况。

 

o

不显示缓冲区调节列。

 

t

显示内存总和列。

 

s

持续观察内存使用状况。

 

20 信息显示命令:top 查看系统实时信息

【语法格式】:top -参数

【选项参数】:

参数

参数说明

其他说明

d

指定更新的间隔,以秒计算。

也可以top -s

q

没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行

 

c

显示进程完整的路径与名称。

 

S

累积模式,会将己完成或消失的子行程的CPU时间累积起来。

 

20 信息显示命令:hostname 设置主机名

【语法格式】:hostname -参数 主机名

【选项参数】:

参数

参数说明

其他说明

i

显示主机的ip

 

d

显示dns 域名

 

21 信息显示命令:date  查看系统时间

22 信息显示命令:file 查看文件的类型

【语法格式】:file -参数 +文件名

【选项参数】:

参数

参数说明

其他说明

b

不输出文件名

 

f

查看文件中的文件名的文件类型

 

23 磁盘显示命令:df 查看系统磁盘使用信息

【语法格式】:df -参数 指定的挂载点

【选项参数】:

参数

参数说明

其他说明

i

 inode信息

 

h

以人类可读的方式显示

 

a

显示全部的

 

T

顺便输出文件系统

 

24 磁盘显示命令:du 对文件和目录磁盘使用的空间的查看

【语法格式】:du -参数

【选项参数】:

参数

参数说明

其他说明

c

显示所有目录或文件的总和

 

s

仅显示总计,只列出最后加总的值。

 

h

人类可读

 

25 搜索命令:which whereis locate + 命令 显示命令的完整位置

26 用户管理命令:useradd 添加用户

【语法格式】:useradd -参数 用户名

【选项参数】:

参数

参数说明

其他说明

c

为用户添加一段描述

 

d

指定用户家目录

和m一起使用

m

用户目录如不存在则自动建立

 

M

不建立用户家目录,优先于login.defs 。一般创建虚拟用户时不建立家目录,部署服务时需要创建虚拟用户

 

s shell

指定用户的shell

Bash 或者nologin 默认设定在/etc/default/useradd

e

账号终止日期(过期时间)

日期指定格式MM/DDYY

f

账号过期后几日后永久停权

为0的时候账号立即停权。当值-1关闭此关闭此功能。预设为-1

g

指定用户属组

必须是系统现有的用户组(预设用户组数字为1

G

指定此用户为多个不同的用户组

多个用户组用 ,分隔

u

指定用户uid

 

n

不会生成和用户和同名的用户组了

 

r

用来建立系统账号

 

D

修改配置文件

 

删除用userdel  +用户名  -r 参数连同用户家目录一起删除

27 用户管理命令:chmod 改变文件/目录属性 (只有文件属主和root 可以修改)

【语法格式】:chmod 数字组合 文件名(常用)   chown 用户名.组名 /文件

【选项参数】:

参数

参数说明

其他说明

R

递归修改

讲目录和其子目录都修改权限

v

 

 

28 用户管理命令:chown 改变文件/目录 属主/属组

【语法格式】:chown  用户  +文件或者目录 仅仅授权用户

chown  :组   +文件或者目录 仅仅授权组

chown  用户:(.) 组 +文件或者目录 授权用户和组

【选项参数】:

参数

参数说明

其他说明

R

 递归修改

 

29 用户管理命令:su/sudo

【语法格式】:su -参数 +用户名

【选项参数】:

参数

参数说明

其他说明

 -

加载环境变量

 

c

以指定用户身份执行任务

 

sudo +命令 以root 的权限执行某些命令 提高安全性  ,但需要提前配置 。用visudo 修改/etc/sudoers 文件

30 基本网络操作命令:ping 

【语法格式】:ping -参数 目标ip 或者主机名

【选项参数】:

参数

参数说明

其他说明

f

极限检测。大量且快速地送网络封包给一台机器

 

c

指定次数

 

R

纪录路由过程

 

31 基本网络操作命令:ifconfig   查看网卡的相关信息

32 基本网络操作命令:ssh

【语法格式】:ssh -参数 用户名@主机

【选项参数】:

参数

参数说明

其他说明

p

指定其他端口

 

o

指定文件系统

 

33 基本网络操作命令:scp

【语法格式】:scp -参数 本地文件 远程用户名@主机:远程文件夹

【选项参数】:

参数

参数说明

其他说明

p

保留原文件的修改时间,访问时间和访问权限。

 

r

递归复制整个目录。

 

q

不显示传输进度条。

 

34 基本网络操作命令:wget 从网络上下载文件 wget +文件的路径

35 基本网络操作命令:netstat 

【语法格式】:netstat -参数

【选项参数】:

参数

参数说明

其他说明

a

显示所有选项,默认不显示LISTEN相关

 

t

仅显示tcp相关选项

 

u

仅显示udp相关选项

 

n

拒绝显示别名,能显示数字的全部转化成数字。

 

l

仅列出有在 Listen (监听) 的服务状态

 

p

显示建立相关链接的程序名

 

r

显示路由信息,路由表

 

e

显示扩展信息,例如uid

 

s

按各个协议进行统计

 

35 进程相关命令:ps  显示进程信息

【语法格式】:ps -选项

【选项参数】:

参数

参数说明

其他说明

A

显示所有进程

 

U

指定用户

 

E

显示环境变量

 

F

显示程序之间的关系

 

36 进程相关命令:kill +pid 杀死进程

37 程序相关命令:chkconfig 程序启动级别 配置开机启动等

【语法格式】:chkconfig -参数

【选项参数】:

参数

参数说明

其他说明

--list

查看所有服务的状态

后面可以直接加服务名称查询  不需要grep

--level n on/off

指定特定服务在某处on或off

 n 可以是多个数字

--add

添加自己的脚本

脚本必须已经放到/etc/init.d

ckcconfig 的原理

在chkconfig工具服务列表中增加此服务,此时服务会被在/etc/rc.d/rcN.d中赋予K/S入口了;

38 定时任务命令:crontab  -l 显示配置的定时任务 -e 编辑

定时任务的设置格式

用户的定时任务一般分为6个段(每个段通过空格来分隔。系统的定时任务为/etc/crontab,分为7段,空格来分隔),前5段位时间的设定段,第6段为所要执行的命令或脚本任务段。

含义

取值范围(整数)

第一段

代表分钟

00—59(00也可以是0)

第二段

代表小时

00-23

第三段

代表日、天

01-31

第四段

代表月份

01-12

第五段

代表星期,周几

0-7(0和7都代表星期日)

提示:时间记忆口诀:分时日月周。

crontab语法格式中特殊符号含义如下表

*

*号,表示任意时间都,实际上就是“每”的意思。举例

如 00 23 * * * cmd 表示的是每月每周每天每日 23;00都执行cmd任务。需要注意的是:每个时间位上的*表示每,如果位上*就是该位上时间的取值范围,例如:小时上的*等价于00-23.

经验技巧:定时任务规则如果到小时,口述时最多提每天。分位上的*就等价于0-59,表示每分。

-

减号,表示分隔符,表示一个时间范围,区间段,如17-19点,每天的17,18,19的00分执行任务。00 17-19 * * * cmd. 就是17 18 19点整点分别执行的意思

逗号,表示分隔时间段的意思。30 17,18,19 * * * /bin/sh /scripts/oldboy.sh 表示 每天17、18、19点的半点时刻执行/scripts/oldboy.sh脚本。也可以和”-” 结合使用,例如:30 3-5,17-19 * * * /bin/sh/scripts/oldboy.sh

/n

n代表数字,即“每隔n单位时间”,例如:每10分钟执行一次任务可以写成

*/10 * * * * cmd 其中,*/10,*的范围是0-59 因此,也可以写成0-59/10

39 系统操作命令:shudown 关机 -h now 立刻关机   -r now 立即重启

40 系统操作命令:exit 退出登录的linux   也可以用ctrl +d 快捷键代替

41 系统操作命令:clear 清屏   也可以用ctrl +l 快捷键代替 

42 时间相关命令:ntpdate   通过网络校准时间

【语法格式】:ntpdate   网络上的时间服务器地址

43 定时任务命令:crontab 

44 yum

45 其他 命令:alias 设置命令别名  重启后失效

【语法格式】:alias -(参数)   想要设置的命令 =”设置的别名”

【选项参数】:

参数

参数说明

其他说明

p

打印所有别名

 

46 其他命令:unalia取消别名

【语法格式】:unalias  +  已经设置过别名的命令

47 磁盘相关命令: mount

【语法格式】:mount -参数 +设备+挂载点

【选项参数】:

参数

参数说明

其他说明

o

挂载

 

t

指定挂载的类型

不常用

48 软件包相关命令:rpm  管理 安装 升级 删除软件包

【语法格式】:rpm -参数 软件包名

【选项参数】:

参数

参数说明

其他说明

ivh

安装显示进度

 

Uvh

升级软件包

 

qpl

列出RPM软件包内的文件信息

 

Qpi

列出RPM软件包的描述信息

 

qf

查找指定文件属于哪个RPM软件包

 

Va

校验所有的RPM软件包,查找丢失的文件

 

e

删除包

 

49 其他linux 命令:history 查看历史输入的命令纪录

【语法格式】:history

【选项参数】:

参数

参数说明

其他说明

c

清除所有历史纪录

 

d

清除指定的历史纪录

 

!+数字

执行某条历史命令

 

n

列出最近n笔历史纪录

 

a

将纪录写入文件

 

历史纪录文件~ .bash_history 文件

export HISFILESIZE= 数字  临时修改历史纪录的长的

永久修改在profile 文件

50组管理命令:groupadd 添加组

【功能说明】:添加组

【语法格式】:groupadd -参数 组名

【选项参数】:

参数

参数说明

其他说明

g

指定组id

 

f

加入其他组

 

删除组用groupdel 用户组

51用户管理命令:passwd

【功能说明】:修改密码

【语法格式】:passwd  用户

【选项参数】:

参数

参数说明

其他说明

passwd

修改当前用户密码

 

--stdin

非交互式设定密码

 

root 可以改所有用户密码

普通用户只能更改自己的时间

企业场景:用户管理

  1. 密码要复杂8位以上字母数字特殊字符
  2. 大的企业用户和密码统一管理(相当于活动目录,openldap)
  3. 动态密码:动态口令,第三方提供自己开发也很简单

关于密码的时效

设置用户密码有利有弊,优点是可以防止运维人员离职一段时间后发现用户还可以登陆(也可能不是自己的用户),如果设置了账户有效期,即使用户未被清理,那么,一段时间内也会因为密码时效而被自动锁定。密码时效还可以强制系统管理人员修改定期密码,提交系统安全性。缺点是有一些本来应该保留的用户也因为过期而无法登陆了。另外在服务器数量很多的情况,更改密码也是很大的工作量。所以,对于用户密码的时效的功能,我们根据实际的工作需求,综合运用。在大规模的运维环境中,使用LDAP服务(微软的活动目录)对linux账户统一认证,批量管理,也是不错的方法

企业场景处理办法:

删除经验

  1. vi /etc/passwd注释掉用户观察一个月,
  2. 把登陆shell改成/sbin/nologin
  3. ldap(类似活动目录)账号统一管理的,库里干掉用户