Linux命令总结:
一.基础命令:
1.man 男人,查找命令的功能 参数 等帮助工具。
man 命令
2.help 查内置命令的帮助
help 命令
3.shutdown、reboot 重启 推荐reboot
shutdown -r now 立刻重启
shutdown -h now 立刻关机
======================================
4.halt、poweroff 关机 推荐halt
5.pwd print working directory 显示当前目录
6.cd change directory 改变目录
cd — 去上一次所在的目录
cd ~ 或cd 去当前用户的家目录, ~ 表示家目录
cd . 去当前目录, .表示当前目录
cd .. 去上一级目录。 ..表示上一级目录
======================================
7.tree 大树 以树形结构显示目录
-L(level) 指定层数 例如:tree -L 1 /
-d (directory) 只显示目录*
目录 文件
8.mkdir make directory 创建目录
-p 根据需要创建所有目录 包括父目录子目录,递归创建
======================================
9.touch 摸的意思 创建文件,重复的文件忽视。
touch {1..5}.txt 等价touch 1.txt 2.txt 3.txt 4.txt 5.txt
{}生成数字序列,字母序列。
linux一切皆文件,目录也是文件,目录和文件不同重名。
10.ls list显示目录下的内容
-l, (long) 以长格式显示目录下的内容
-a, 显示所有文件,包含隐藏文件(以.开头的文件)
-d, directory显示目录
11. cp copy 复制文件和目录
cp [OPTION] ... SOURCE ... DIRECTORY
选项 源 目录
-r (递归 recursive ) 复制目录
-p 保持文件属性 (人的身高、体重就是人的属性)
文件大小、创建时间=权限、属主这都是文件的属性。
-a 保持文件属性和连接。
-i 确认
======================================
12.alias 查看或设置别名
alias cp='cp -i'
复制的时候如何不提示直接覆盖?
默认执行cp相当于执行cp -i,这是系统默认的别名在作怪。
不用别名直接覆盖的方法:
[]# \cp {1..10}.txt /opt/
[]# /bin/cp {1..10}.txt /opt/
13. rm remove删除文件或目录
-f (force) 强制删除
-r (recusive)递归删除,删除目录和文件
-i 确认
alias rm='rm -i'
14.unalias 取消别名
unalias cp
======================================
注意:
如何防止rm 误删数据?
1.放弃使用rm,用mv 或find 替代
2.不删除,只是移动到回收站(/tmp)
3.一定要删,要先备份。
4.不要这样用 rm -fr /opt/*,要切到指定目录下再删除。
rm -fr / opt /*, cd /opt;rm -fr *
5.为rm设置别名,提醒自己和组员。
[]# alias rm='echo 不允许使用rm命令,谢谢'
[]# touch b.txt
[]#ls
b.txt
[]# rm -f b.txt
不允许使用rm命令,谢谢 -f b.txt
======================================
15.mv move移动目录或文件
mv是移动,当前下面就没了,剪切。 默认也会提示覆盖,可以取消别名
cp是复制,当前下面依然有,复制。
-t mv [OPTION] -t DIRECTORY SOURCE..
mv [OPTION] SOURCE DIRECTORY..
mv -t /opt/ c.txt ===mv c.txt /opt
-i 确认
16.echo 输出和打印(help)
-n 不换行输出
-e 支持转义字符
\t 代表tab
\n 回车换行
[root@test /opt]# echo -e "student\t\student"
student student
[root@test /opt]# echo -e "student\nostudent"
student
student
17.printf 格式化打印
[root@test /opt]# printf "student\n"
student
======================================
二.关于文件的命令:
1.vi/vim :纯文本编辑器
vi : 记事本
vim notepad++
-------------------------
2.cat 查看文件内容
-n 显示行号
-------------------------
3.more : 分页显示文本内容
-------------------------
4.less : 分页显示文件内容
-------------------------
5.head : 显示文件内容头部
默认显示前10行,显示前N行,-n 数字 n 可以省略 -数字
-------------------------
6.tail : 显示文件尾部内容
默认显示后10行,显示后N行,-n 数字 n 可以省略 -数字
-f 跟踪显示文件尾部的信息
-------------------------
7.chattr 设置文件属性:
chattr +i : 锁定文件
-i :解锁文件
+a :只能追加不能删除
-a :解锁
[root@test ~]# chattr -i /etc/passwd #<==解锁文件
8.文件属性:
chmod change mode 修改文件权限 -R 递归修改
chown change owner 改变文件用户和组 -R 递归修改
chgrp change group 修改用户组
9.tr --translate or delete characters
替换 或 删除 字符
10.cut 按列切割
cut -d :指定分隔符
cut -f :指定那列.多列可用逗号或-
cut -c :按字符取内容
======================================
三.关于磁盘管理的命令:
1.df : 查看文件系统
df -i(inode)信息
df -h(human)以人类可读的形式查看block信息
2.fdisk :查看磁盘信息
fdisk命令参数介绍:
p、打印分区表。
n、新建一个新分区。
d、删除一个分区。
q、退出不保存。
w、把分区写进分区表,保存并退出。
fdisk /dev/sda 对磁盘/dev/sda进行分区操作
fdisk -l 查看当前的磁盘分区信息(主要是分区表信息)
3.parted :规划大小超过2T的分区,也可用于小分区的规划。
parted [选项]... [设备 [命令 [参数]...]...]
[root@test ~]# parted /dev/vdb
4.dd :创建一个虚拟文件系统
5.partprobe :将分区信息通知内核,真正生效
6.mkfs 格式化(本质创建文件系统)
mkfs -t 指定类型 -t ext4(mkfs.ext4)
7.mount挂载文件系统
mount -t(type)指定文件类型
mount -o挂载的选项 mount -o rw,remount /
mount -a all挂载所有磁盘
8.umount 卸载文件系统 -lf 强制卸载
9.blkid 查看块设备属性(UUID,FSTPE)
10.dumpe2fs 查看ext文件系统细节
11.xfs_info 查看xfs文件系统细节
12.fsck 磁盘检查
======================================
四.关于网络命令:
1.ifconfig 查看设置IP
2.ip查看和设置网络IP
3. ping 检查网络是否通畅
4.traceroute 查看到达主机的网络路由信息
traceroute -d 不做反向解析
5.route 查看设置网关,路由
route -host 主机路由, -net 网络路由 默认网关default gw
add 添加
del 删除
6.telnet 检测远程端口是否通畅
======================================
五.正则表达式:
(1)基本正则:(BRE):
^尖角号,以...开头.^linux 以linux开头
-----------------------------------------------------------------
$美元符 以...结尾。linux$,以linux结尾
-----------------------------------------------------------------
^$ 空行
-----------------------------------------------------------------
. 匹配任意一个且只有一个字符,和通配符? 一样
-----------------------------------------------------------------
\ 让有意义的字符 脱掉马甲,还原本义
-----------------------------------------------------------------
* 重复前面字符0次或多次
-----------------------------------------------------------------
.*表示所有内容
-----------------------------------------------------------------
^.* 组合符 匹配以任意0个多个字符开头的内容
ifconfig eth0|sed -rn '2s#^.*addr(.*)Bc.*$#\1#gp'
-----------------------------------------------------------------
.*$ 以任意0个或者多个字符结尾
-----------------------------------------------------------------
[abc]匹配[]集合内的任意一个字符a或b或c;[abc]也可以写成[a-c]
--------------------------------------------------------------------------
^[abc]匹配不包含^后的任意字符a或b或c
-----------------------------------------------------------------
(2)扩展正则(ERE):
+ 匹配前一个字符1次或者多次
-----------------------------------------------------------------
[:/]+ 匹配括号内的:或 /字符1次或1次以上
-----------------------------------------------------------------
? 匹配前一个字符0次或者1次
-----------------------------------------------------------------
| 或者 同时过滤多个字符串
-----------------------------------------------------------------
() 分组过滤被括号起来的东西表示一个整体
-----------------------------------------------------------------
\n 引用前面()小括号里的内容,例如:(aa)\1,匹配aaa
-----------------------------------------------------------------
a{n,m} 匹配前一个字符最少n次,最多m次
-----------------------------------------------------------------
a{n,} 匹配前一个字符最少n次
-----------------------------------------------------------------
a{n} 匹配前一个字符正好n次
-----------------------------------------------------------------
a{,m} 匹配前一个字符最多m次
-----------------------------------------------------------------
es? 匹配e es
-----------------------------------------------------------------
es* 匹配e es ess esss es...
-----------------------------------------------------------------
(3)特殊中括号:
[:dight:] 匹配任意一个数字字符,相当于[0-9]
[:lower:] 匹配小写字母,相当于[a-z]
[:upper:] 匹配大写字母,相当于[A-Z]
(4)元字符:
\b 匹配单词边界 类似grep -w
\d 匹配单个数字字符 需用grep -p
(5)sed 用法:
sed [选项] [sed内置命令字符] [文件]
选项:
-n 取消默认sed的输出,常与sed内置命令的p连用。
-i 直接修改文件内容,而不是输出到终端
如果不使用-i选项sed 只是修改在内存中的数据,并不会影响磁盘上的文件。
sed 的内置命令字符说明:
s 替换
g 全局global
p 打印print
d 删除delete
======================================
(6)awk 用法:
awk [option] 'pattern{action}' file ...
awk [参数] '条件{动作}' 文件...
常用命令选项
-F:指定分隔符,可省略(默认空格或Tab位)
-V:调用外部Shell变量 variable
变量列表:
$0 :当前整行记录
$n :当前记录的第n个列,字段间由FS或-F参数指定分隔符
NF :当前记录中的列的个数,就是有多少列
NR :已经读出的记录数,就是行号,从1开始
$(NF-n) :倒数第n列,n为数字
======================================
(7)命令语法
grep [选项] [参数]
命令描述
grep(global search regular expression(RE) and print out the line,
全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,
它能使用正则表达式搜索文本,并把匹配的行打印出来。
命令选项
-c 表示打印符合要求的行数
-i 表示忽略大小写;
-n 表示输出符合要求的行及其行号;
-v 表示打印不符合要求的行;
-r 表示遍历所有的子目录;
-A 后面跟一个数字(有无空格都可以) 例如-A2表示打印符合要求的行以及下面两行;
-B 后面跟一个数字(有无空格都可以) 例如-A2表示打印符合要求的行以及上面两行;
-C 后面跟一个数字(有无空格都可以) 例如-A2表示打印符合要求的行以及上下各两行;
-E‘grep -E’ = egrep
======================================
六.Bash内置命令:
(1)history 历史命令
history -c 清除所有
history -d 指定数字清除
(2)ulimit 命令:
ulimit :显示(或设置)用户可以使用的资源的限制
ulimit -a 来显示当前的各种用户进程限制。
======================================
七.主机命令:
hostname : 查看设置主机名
hostnamectl C7 永久修改主机名
uname -n 主机名
uname -r 查看内核信息
uname -a 查看所有
网友评论