常用的50条linux 命令
从今天起,咱开始正式学习python了,于是遍整理了50条linux的常用命令。
1 线上查询帮助命令 :man 遇到什么不会的命令可以 man +你想要查询的命令 (需要有网),因为是英文的所以身边最好再准备一个词典
2 目录操作命令:ls ls命令就是list directory的缩写,缺省下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 显示当前的工作路径
5 目录操作命令: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 |
多一个重试的功能 |
|
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 可以改所有用户密码
普通用户只能更改自己的时间
企业场景:用户管理
- 密码要复杂8位以上字母数字特殊字符
- 大的企业用户和密码统一管理(相当于活动目录,openldap)
- 动态密码:动态口令,第三方提供自己开发也很简单
关于密码的时效
设置用户密码有利有弊,优点是可以防止运维人员离职一段时间后发现用户还可以登陆(也可能不是自己的用户),如果设置了账户有效期,即使用户未被清理,那么,一段时间内也会因为密码时效而被自动锁定。密码时效还可以强制系统管理人员修改定期密码,提交系统安全性。缺点是有一些本来应该保留的用户也因为过期而无法登陆了。另外在服务器数量很多的情况,更改密码也是很大的工作量。所以,对于用户密码的时效的功能,我们根据实际的工作需求,综合运用。在大规模的运维环境中,使用LDAP服务(微软的活动目录)对linux账户统一认证,批量管理,也是不错的方法
企业场景处理办法:
删除经验
- vi /etc/passwd注释掉用户观察一个月,
- 把登陆shell改成/sbin/nologin
- ldap(类似活动目录)账号统一管理的,库里干掉用户