哈喽,大家好!又到周末了,整理了一篇Linux基础文档,包含上百个Linux基础命令及其选项,欢迎大家阅读~
1、ls:显示目录文件
-a 显示所有文件,包括隐藏文件
-l 详细信息显示
-d 查看目录属性
-h 文件大小显示为常见单位
-i 查询文件的inode号-
-R 递归显示目录及其子目录
-n 显示文件的UID和GID
2、touch:创建空文件/更新修改和访问时间
3、mkdir:创建新目录
-v 显示创建过程
-p 递归创建
4、cd:切换目录
cd 目录
cd ~ 进入当前用户的家目录
cd - 进入上次目录
cd ..返回上一级目录
cd ../..返回上两级目录
cd .进入当前目录
5、pwd:显示当前所在目录
6、tree:显示目录树
-d 只显示目录
7、pstree:查看进程树之间的关系
-A:进程树之间以ASCII码字符链接
-p:同时列出每个进程的PID
-u:同时列出每个进程的所属账号名称
8、cp:复制、复制并改名
-r 复制目录
-p 保留文件属性
-a 相当于-rp
9、mv:剪切、改名
10、rm:删除
-r 删除目录
-f 强制删除
11、rmdir:删除空目录
-p 递归删除空目录
-v 显示指令执行过程
12、cat:显示文件内容
-n :列出行号
cat 文件 文件:显示多个文件内容
cat 文件 文件 > 指定文件:将多个文件合并
13、more:分页显示文件内容
b 向上翻页
空格 向下翻页
Enter 换行
q或Q 退出
14、less:分行显示文件内容
15、tail:查看后几行文件内容
16、ln:生成链接文件
-s 创建符号链接
17、chmod:修改文件的权限
chmod u+x 文件
chmod g+w,o+w 文件
chmod u=rwx 文件
chmod 644 文件
-R 递归将权限应用于所有的子目录与子文件
chmod u+s 添加SUID权限
chmod u-s 删除SUID权限
chmod g+s 添加SGID权限
chmod g-s 删除SGID权限
18、chown:修改文件或目录的所有者、所属组
chown user1 ss
chown user1:user2 ss
chown :user1 ss
-R 递归将权限应用于所有的子目录与子文件
19、chgrp:改变文件或目录的所属组
20、umask:显示和设置掩码值
21、which:查看命令文件位置和命令可能出现的别名
22、whereis:查找命令及帮助文档所在位置
23、locate:按照文件名查找,按照数据库查找
updatedb 强制更新数据库
24、find:搜索系统中符合条件的文件
-name 根据文件名查找
-size 根据大小查找
-user 根据所有者查找
-perm 根据文件权限查找
-按时间查找:按天(ctime、atime、mtime),按分钟(cmin、amin、mmin)
-type 根据文件类型查找
-逻辑连接符:-a(逻辑与),-o(逻辑或)
-命令执行连接符:find .. -exec 命令 {} ;
-inum 根据文件i节点查询
25、grep:在文件内查找符合条件的字符串行
-A数字 #列出符合条件的行,并连续列出后续n行
-B数字 #列出符合条件的行,并连续列出前面n行
-c #统计符合条件的字符串行数
-i #忽略大小写
-n #输出行号
-v #反向查找
-o #只列出关键字
- color=auto #搜索出的关键词高亮显示
26、管道符
命令1 | 命令2 将命令1的标准输出作为命令2的标准输入
27、man:查看命令的帮助
-f 命令 查看命令有哪些级别的帮助
28、--help:查看命令的常见选项
29、info:更详细的帮助命令
回车:进入子帮助页面(带有*号标记)
u:进入上层页面
n:进入下一个帮助小节
p:进入上一个帮助小节
q:退出
30、type:查看命令类型
31、tar:文件的归档和压缩
-c create 创建文件
-x -extract [ˈekstrækt] 提取 解压还原文件
-v --verbose 显示执行详细过程
-f --file 指定备份文件
-t --list 列出压缩包中包括哪些文件,不解包,查看包中的内容
-C(大写)--directory 指定解压位置
32、zip:管理压缩文件
-r 创建文件
33、unzip:解压缩
-d 指定位置
34、file:查看文件类型
35、sort:排序
-t 指定一个用来区分键位置字符
-k 后面跟数字,指定按第几列进行排序
-r 反序排序
-n 以用户习惯的数字进行排序
36、ping:测试网络连通性
-c 指定ping次数
37、ifconfig:查询本机网络信息
38、w:查询当前登录服务器的用户
39、who:查询登录用户
40、last:列出登录系统的相关信息
41、lastlog:显示所有账号最后一次的登录时间
42、write:给在线用户写信
43、wall:为所有在线用户广播
44、mail:邮件命令
h 列出邮件列表
q 退出
45、netstat:查看网络连接状态
-t tcp协议
-u udp协议
-l 监听
-n 以IP和端口的形式显示信息
-a 显示所有选项
-p 显示PID和程序名
46、mount:查询系统中已经挂载的设备
-a 按照/etc/fstab文件,将所有磁盘进行挂载
-t 指定文件系统类型来进行挂载
-o 挂载特殊选项
47、umount:取消挂载
48、rpm:rpm软件包
-i install的意思,就是安装软件
-v 显示安装过程中的详细信息
-h 以#号显示安装的进度
-e 卸载rpm包安装的软件
-U 升级安装,若没安装则直接安装,若安装有旧版本则升级安装
-F 升级安装,若没安装则不安装,必须有旧版本才进行升级安装
-q 包名 查询包是否安装
-qa 查看系统中已安装的所有RPM软件包列表
-qi 包名 查看指定软件所安装的信息。
-ql 包名 查看指定软件所安装目录,文件列表
-qR 包名 查询指定软件的依赖文件
-qc 包名 查询指定软件的配置文件
-qpl 包全名 查询指定未安装软件所安装的目录、文件列表
-qpR 包全名 查询指定未安装软件的依赖文件
-qf 文件或目录名 查询文件或目录属于哪个rpm软件
rpm2cpio rpm包所在绝对路径全名 | cpio -idv ./命令绝对路径 提取软件包文件修复
49、yum:rpm包安装
install 安装
groupinstall 安装
remove 卸载
groupremove 卸载
update 升级
groupdate 升级
list 查询所有可以安装的软件包
list 包名 查询yum源中是否有所查询包
info 软件名 查询指定软件包的信息
grouplist 软件组名 查询所有可以安装的软件组
groupinfo 软件组名 列出软件组中包含的软件
clean all 清除原有yum缓存
makecache 建立元数据缓存
repolist 查看当前使用yum源
50、useradd:添加用户
-u 用户标识号,此标识必须唯一
-g 指定新用户登录时所属的默认组(主组)
-G 指定新用户的附加组,必须是已经存在的组
-d 指定新建用户的默认家目录
-s 指定新建用户使用默认的shell类型
-c 对新建用户添加说明信息
-f 指定账号过期多长时间后会永久停用(值为0立刻停用,值为-1关闭此功能)
-M 创建时不生成用户家目录
51、usermod:修改用户信息
-u UID 修改用户的指定UID
-g 组名 修改用户的指定初始组(尽量不修改)
-G 组名 修改用户的附加组(不管有多少附加组,全部替换;加上-a可不替换)
-c 说明 修改用户的描述信息
-d 目录 结合-m选项可以直接对原家目录进行改名实现修改家目录
-s shell类型 修改用户的登录shell类型
-L 用户名 锁定用户的密码
-U 用户名 解锁用户密码
-l 新用户名 旧用户名 修改用户名
52、userdel:删除用户
-r 删除用户时,连带家目录一起删除
53、id:查看用户UID和GID
54、passwd:修改用户密码
-l 用户名 锁定用户的密码,使之无法登陆系统
-u 用户名 解锁用户密码
-S 用户名 查看用户账号状态
55、groupadd:添加用户组
-g 指定新建用户组的GID,此GID必须唯一
-o 表示新用户组的GID可以与系统中已有的用户组的GID相同
56、newgrp:改变有效组
57、groups:查看用户所在的所有组
58、groupdel:删除用户组
59、gpasswd:设置组密码及管理组成员
-A 用户名 组名 添加组管理员
-a 用户名 组名 向指定组内添加一个成员
-d 用户名 组名 把指定用户从组内删除
-M 用户名 组名 定义组内成员列表,用户之间用“,”分隔(覆盖式)
60、su/su -:切换用户身份
61、finger:查看用户详细信息
62、lsattr:查看文件系统属性
-a 显示所有文件和目录
-d 若目标是目录,仅列出目录本身属性
63、chattr:修改文件系统属性
i:如果对文件设置i属性,那么不允许对文件进行删除、改名,也不能添加和修改数据
如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件
a:如果对文件设置a属性,那么只能在文件中增加数据,但是不能删除和修改数据
如果对目录设置a属性,那么只允许在目录中建立和修改文件,但是不允许删除
e:Linux中绝大多数的文件都默认拥有e属性,表示该文件是使用ext文件系统进行存储的
64、setfacl:设置acl权限
-b 删除所有ACL条目
-m 添加ACL条目
-x 删除指定用户的ACL权限
-R 实现目录上的ACL权限递归
-d 设置默认ACL权限
65、getfacl:查看文件访问控制列表
66、sudo:允许系统管理员让普通用户执行一些或全部的root命令的一个工具
67、fdisk:MBR分区
a:切换分区启动标记
b:编辑bsd磁盘标签
c:切换dos兼容模式
d:删除分区
l:显示分区类型
m:显示帮助菜单
o:创建新的空分区表
n:新建分区
p:显示分区表信息
q:不保存退出
s:创建新的Sun磁盘标签
v:检验分区表
w:保存并退出
x:扩展功能
t:修改分区id,可以通过l查看id
u:修改容量单位,磁柱或扇区
68、gdisk:GPT分区
69、mkfs:创建文件系统
70、blkid:查看UUID
71、partprobe:将磁盘分区变化信息通知内核,请求操作系统重新加载分区表
-d 不更新内核
-s 显示磁盘分区汇总信息
-h 显示帮助信息
-v 显示版本信息
72、fsck:文件系统修复
73、free:查看内存
-m 以MB的形式显示内存
74、pv:物理卷
pvcreate 磁盘分区或整个磁盘 创建PV
pvscan 查看物理卷
pvdisplay 列出PV的详细信息
pvmove 数据转移
75、vg:卷组
pvcreate 磁盘分区或整个磁盘 创建PV
pvscan 查看物理卷
pvdisplay 列出PV的详细信息
pvmove 数据转移
76、lv:逻辑卷
lvcreate -L 指定逻辑卷大小 -n 指定逻辑卷名称 所属卷组名称 创建lv
lvresize -L 扩展大小 /dev/vg名称/lv名称 扩展lv
lvscan 查看逻辑卷
mkfs.xfs /dev/vg名称/lv名称 格式化lv分区
xfs_growfs lv分区挂载点 为扩容后的分区格式化(动态扩容)
lvcreate -s -L 指定快照空间大小 -n 指定快照名称 指定被快照区
77、quotacheck:扫描文件系统并创建quota的配置文件
-a 扫描在/etc/fstab(/etc/mtab文件),加入quota设置的分区
-u 针对用户扫描文件与目录的使用情况,会新建aquota.user文件
-g 针对用户组扫描文件与目录的使用情况,会新建aquota.group文件
-v 显示扫描过程
-c 清除原有的配置文件,重新建立新的配置文件
-m 强制以读写的方式扫描文件系统
-f 强制扫描文件系统,并写入新的配置文件
78、edquota:设置用户和组的磁盘配额限制
-u 用户名
-g 组名
-t 设定宽限时间
-p 复制磁盘配额规则
79、quotaon:启动磁盘配额
-a 根据/etc/mtab内的文件系统设置有关的quota,如果不加-a选项则需要指定分区
-u 针对用户启动quota(aquota.user)
-g 针对组启动quota(aquota.group)
-v 显示启动过程的相关信息
80、quotaoff:关闭磁盘配额
-a 关闭全部quota根据/etc/mtab
-u 关闭用户的磁盘配额
-g 关闭组的磁盘配额
81、quota:查看用户或组的配额
-u 用户名
-g 组名
-v 显示详细信息
-s 以常见单位显示大小
82、repquota:查看文件系统配额
-a 根据/etc/mtab文件查询所有分区的磁盘配额
-u 查询用户配额
-g 查询组配额
-v 显示详情
-s 以常见单位显示
83、xfs_quota:xfs文件系统磁盘配额
-x 启用“专家模式”允许对磁盘配额进行编辑。
-c quota可以在交互模式和命令模式两种方式下执行,添加-c命令可以让quota顺序执行-c选
项后的命令
命令:print 列出所具XFS有设备标识的路径
report 列出目前的磁盘配额详细信息,需要结合ugrbi等选项
state 目前支持磁盘配额的文件系统信息
disable 临时关闭磁盘配额限制,可选项-u:用户、-g:组、-p:目录
enable 开启磁盘配额限制
remove 清空所有指定路径中磁盘配额限制。此操作必须在磁盘配额未启用时使
用,在磁盘配额启用过程中使用则报错
off 永久关闭磁盘配额
84、stat:以文字格式显示inode内容
85、dd:本地备份
dd if=“输入文件” of=“输出文件” bs=“数据块” count=“数量”
86、scp:远程备份
87、xfsdump:对xfs文件系统进行备份
-L:xfsdump会记录每次备份的说明标签
-M:指定存储媒介的说明标签
-l:指定备份的级别(0-9),0级别是完整备份。1-9是增量备份
-f:指定转储的目的地。转储的目的地可以是路径设备、常规文件等
-I:从/var/lib/xfsdump/inventory列出目前备份的信息状态
-s:只对指定的文件进行备份,路径写的是相对路径(-s可以是文件或目录)
88、xfsrestore:对xfs文件系统数据恢复
-f 指定转储的目的地
-s:对指定的文件进行恢复
89、ps:查看进程工具
a:显示跟当前终端关联的所有进程
u:基于用户的格式显示
x:显示所有进程,不以终端机来区分
-e 显示所有进程
-f 显示完整格式输出
90、uptime:查看CPU负载工具
91、top:动态地持续监听进程的运行状态
在top命令的交互模式中可以执行的快捷命令:
s:修改刷新时间,默认3s
空格:立即刷新
q:退出
P:按CPU排序
M:按内存排序
T:按时间排序
数字键 1:显示每个内核的 CPU 使用率
u/U:指定显示的用户
h:帮助
92、lsof:用于查看进程打开的文件,打开文件的进程,进程打开的端口
-i 条件:列出符合条件的进程,ipv4 或 ipv6。(4、6、协议、:端口、 @ip )
-p 进程号:列出指定进程号所打开的文件;一般用于查看进程打开了哪些文件
93、fg:将后台中的命令调至前台
94、bg:将后台暂停的命令,变成继续执行
95、kill:通过发送信号来控制进程
1) SIGHUP 重新加载配置
2) SIGINT 键盘中断 crtl+c
- SIGQUIT 退出
9) SIGKILL 强制终止
15)SIGTERM 终止(正常结束),缺省信号
18)SIGCONT 继续
19)SIGSTOP 停止
20)SIGTSTP 暂停 crtl+z
96、killall:通过进程名称进行操作
-i 交互式询问是否对进程进行操作
-I 忽略进程名的大小写
97、pkill:通过进程名称进行操作
-t 终端号:按照终端剔除用户
98、nice:设置进程优先级数值
99、renice:修改进程优先级数值
100、screen:终端复用,多窗口,会话共享软件
-S 会话名 新建一个叫xxx的会话
-ls 列出当前所有的会话
-r 会话名 回到xxx会话
101、at:一次性定时任务计划
at -l 查看未执行的计划任务
atq 查看未执行的计划任务
at -c 编号 查看计划任务内容
atrm 编号 删除计划任务
102、crontab:周期性定时任务计划
crontab -u 指定用户的cron服务
crontab -l 列出当前用户下的cron服务的详细内容
crontab -u username -l 列出指定用户下的cron服务的详细内容
crontab -r 删除 cron 服务
crontab -e 编辑 cron 服务
103、logrotate:强制进行日志的切割和轮替
-v:显示日志轮替过程。
-f:强制进行日志轮
104、chkconfig:查询已经安装的服务和区分服务
--list:列出所有RPM包默认安装服务的自启动状态。
105、ntsysv:管理服务自启动
- -level:可以指定设定自启动的运行级别
上下键:在不同服务之间移动。
空格键:选定或取消选定。*为自启动
tab键:在不同项目之间切换
F1键:服务详情
106、systemctl:管理服务
start:启动服务
stop:停止服务
restart:重启
reload:不关闭服务的情况下,重新读取服务配置文件
enable:开机启动
disable:开机不启动
status:查看指定服务状态,以及日志信息
is-enabled:查看指定服务是否为开机启动。
list-units:显示当前启动unit,添加 --all选项则列出所有启动和未启动的unit
list-unit-files:显示/usr/lib/systemd/system/的unit状态,即显示所有的单元
--type=类型:按照类型列出单元状态
*107、systemctl set-default target:设置开机默认运行级别
108、echo:输出内容
-e:支持反斜线控制的字符转换。
-n:取消输出后行末的换行符号即内容输出后不换行。
109、history:历史命令
-c 清空历史命令
-w 把缓存中的历史命令写入历史命令的保存文件中
110、tab:补全
111、alias:设定别名
112、unalias:删除别名
113、hash:查看hash表
hash -p 命令1 命令2 #添加缓存记录,指定hash表中命令1执行的路径为命令2的路径
hash -r #清空hash表缓存
114、wc:统计指定文件中的行数、单词数、字数、并将结果显示输出
-c 统计字数(字符)
-w 统计单词数(字符串,由空白、跳格或换行字符分隔的字符串。)
-l 统计行数
115、tee:读取标准输入的数据,并将其内容输出成文件
-a,--append 内容追加到指定的文件而非覆盖
--help 在线帮助
116、set:显示系统中已存在的shell变量和设置shell变量的新变量值
-u:调用未声明变量时会有提示(-u开启,+u关闭)
-x:在命令执行前会先输出一次命令(-x开启,+x关闭)
117、unset:删除变量
118、export:声明变量为环境变量
119、env:查看环境变量
120、read:接收键盘输出
-p “提示信息”:等待read输入时,输出提示信息。
-t 秒数:read命令会一直等待用户输入,使用此选项可以指定等待时间。
-n 字符数:read命令只接受指定的字符数量,然后就会执行。
-s 隐藏输入内容,适用于机密信息的输入。
121、declare:声明变量类型
-:给变量设定类型属性
+:取消变量的类型属性
-a:将变量声明为数组型
-i:将变量声明为整数型(integer)
-r:将变量声明为只读变量
-x:将变量声明为环境变量
-p:显示指定变量的被声明类
122、cut:列提取
-f 列号 提取第几列
-d 分隔符 按照指定分隔符分割列
-c 字符范围 不依赖分割符来区分列,而是通过字符范围来提取(行首为0)
-c: “n-” 从第n个字符到行尾,“n-m” 从第n个字符到第m个字符,“-m” 从第1个字符到第m个字符
123、printf:格式化输出
输出类型:
%ns:输出字符串,n是数字指右对齐的情况下格式宽度“%-ns表示左对齐”
%ni:输出整数,n是数字指右对齐的情况下格式宽度“%-ni表示左对齐”
%m.nf:输出浮点数,m和n是数字,指代输出的整数位和小数位,但整数位不会受限
输出格式:输出格式要加双引号
\n 换行
\t 水平输出退格键,就是tab键
版权归原作者 ^糊涂蛋 所有, 如有侵权,请联系我们删除。